Subject: Re: CVS commit: pkgsrc/pkgtools/pkg_rolling-replace
To: None <>
From: Greg Troxel <>
List: tech-pkg
Date: 08/06/2007 13:38:29

Tobias Nygren <> 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:
> 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/, 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.

So instead, perhaps pkg_rr should assert that the tags are gone after
replacing, and make replace should be fixed to unset these tags.  I
gather it used to lose all tags, and now preserves them.

Later, I'd like to have unsafe_depends and unsafe_depends_strict, with
both being set for ABI-changing updates and only the latter if the
package claims not to have an ABI change.  This way pkg_rolling-replace
can avoid much rebuilding, but take a flag to clean the
unsafe_depends_strict flags if something is broken.

> - Introduce ${PKG_ADMIN}, ${PKG_INFO}, ${PKG_CHK} variables instead of
>   calling the tools directly by name.

That's of course fine.

Thanks for working on pkg_rolling-replace - it's great to see both
someone else using it and it getting improved.

Content-Type: application/pgp-signature

Version: GnuPG v1.4.7 (NetBSD)