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>