Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Apr 2003 14:58:32 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        Sergey Matveychuk <sem@ciam.ru>
Cc:        kris@obsecurity.org
Subject:   Re: [kris@freebsd.org: cvs commit: ports/Mk bsd.port.mk]
Message-ID:  <20030420215832.GC78660@rot13.obsecurity.org>
In-Reply-To: <000b01c3074d$d189c890$0a2da8c0@sem>
References:  <000b01c3074d$d189c890$0a2da8c0@sem>

next in thread | previous in thread | raw e-mail | index | archive | help

--JWEK1jqKZ6MHAcjA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Apr 20, 2003 at 07:02:09PM +0400, Sergey Matveychuk wrote:
> Kris Kennaway wrote:
> > The 'deinstall' improvement is particularly interesting.  It should
> > not be a huge amount of work to make a decent 'make upgrade' and 'make
> > recursive-upgrade' target that does a portupgrade-like sequence of
> > backup/deinstall/build/install on the current port (and its
> > dependencies).  I'd love it if someone felt like working on this!
>=20
> I'v had this idea. And I'll plan to work for it within next week.
>=20
> Has somebody comments or suggestion for it?

I gave it a try, but the recursive-upgrade target is not so easy.  I
wrote a modified ALL-DEPENDS-LIST that recurses into children and
sorts their dependencies in topological order, but it is very slow
(~10 minutes for gnome2).  Instead the way to do this would be to
parse the dependencies listed in INDEX, which is what portupgrade does
(like portupgrade, this would assume you have an up-to-date INDEX).

I came to the conclusion that this wouldn't really fit inside
bsd.port.mk, and it would be best to create a standalone pkg_upgrade
tool that mirrors portupgrade.  Writing it in sh might be possible,
but it would probably get very complicated.  As a first step I was
thinking about writing some C code that wrote INDEX into a binary DB
file, and which could read that into a tree structure in memory to
discover the dependency graphs.  I don't know when I'll get time to
work on this though.

Kris


--JWEK1jqKZ6MHAcjA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+oxgHWry0BWjoQKURAsZgAKDIL14W1elBfEfasO2Lxo702MfN5wCcCFJM
nvR105eucmMCsRDx9tC6m38=
=cgKs
-----END PGP SIGNATURE-----

--JWEK1jqKZ6MHAcjA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030420215832.GC78660>