Subject: Re: making 'make replace' safer
To: Peter Schuller <>
From: Greg Troxel <>
List: tech-pkg
Date: 07/16/2006 16:50:05
Content-Transfer-Encoding: quoted-printable

Peter Schuller <> writes:

>> >   tsort the set of installed packages by dependencies
>> >   find the set of packages that are out of date
>> >   find the set of packages that have unsafe_depends set
>> >   choose the first package from the union of those sets
>> >   do make replace on the chosen package
>> >   repeat
>> How does that differ from what wip/pkgmanager already does?
> One difference would be the checking of the unsafe_depends flag. I
> am not sure how to interpret the original description, but if the
> intent it to only set unsafe_depends when needed (as opposed to for
> all packages with dependencies), that would be a significant
> difference in that it would lessen the amount of rebuilding
> necessary to perform the upgrade.

make replace sets the flag on all packages that depend on the one
replaced.  Later, we could add markup so that we could be sure the
replace didn't change the ABI and not set it.

A big point is that the unsafe_depends flag should be integrated into
pkgsrc, so the manual make replace causes the cleanup rebuilds to
happen later when you run the tool.  And, partial tool runs just do
partial work, and one can just run again.  With the metadata in
a private tool area, things are harder than they need to be.

> Of course if that flag is adopted pkgmanager could have a look at it
> too, if needed.


        Greg Troxel <>

Content-Type: application/pgp-signature

Version: GnuPG v1.4.4 (NetBSD)