Subject: Re: CVS commit: pkgsrc/pkgtools/pkg_rolling-replace
To: Greg Troxel <firstname.lastname@example.org>
From: Tobias Nygren <tnn@NetBSD.org>
Date: 08/06/2007 20:28:06
On Mon, 06 Aug 2007 13:38:29 -0400
Greg Troxel <email@example.com> wrote:
> Tobias Nygren <firstname.lastname@example.org> writes:
> > Module Name: pkgsrc
> > Committed By: tnn
> > Date: Mon Aug 6 15:07:56 UTC 2007
> > Modified Files:
> > pkgsrc/pkgtools/pkg_rolling-replace: Makefile
> > pkgsrc/pkgtools/pkg_rolling-replace/files: pkg_rolling-replace.sh
> > Log Message:
> > Update to pkg_rolling-replace-0.6:
> > - Explicitly unset 'unsafe_depends' and 'rebuild' tags after replacing.
> > Needed after changes in pkgsrc/mk/flavor/pkg/replace.mk, fixes PR 36378.
> I think this is the wrong fix - doing "make replace" should clear those
> tags. While pkg_rolling-replace is the primary (and now only) consumer
> of the tags, I wanted the system to be such that all the basic
> operations respected the invariants on tags. This enables one to 'make
> replace' and later run pkg_rolling-replace, and not lose the information
> that dependencies need updating. So, make replace, run independently of
> pkg_rr should do the right thing, which is to clear both those tags.
I don't really have a strong opinion about this and the fix I
implemented was suggested by jlam@, so I'll let you two battle it
One possible concern is that while pkg_rr enforces the "safe" order in
which to update packages, some random make replace here and there does
not. In other words, it is possible to build a package that does
not have unsafe_depends=YES, but where some of the dependencies used to
build it had unsafe_depends=YES. I think as a safety measure we should
make unsafe_depends=YES propagate to the package being built if any of
the dependencies were unsafe.
If that is done we can remove the unsafe_depends in the replace
target iff all of the dependencies are safe.