Eric Haszlakiewicz <erh%nimenees.com@localhost> writes:
> On Mon, Jan 05, 2009 at 08:17:43AM -0500, Greg Troxel wrote:
>
>> Why is this any different that any other change, like base system
>> openssl bump? If we revbump every package, should we be doing this for
>> every incompatible change in every OS pkgsrc runs on? I don't think
>> we've ever (or certainly not usually) done this.
>>
>> One does need to build new packages when the OS changes, at least
>> sometimes. But a revbump won't fix that, because people who rebuild
>> during the bump and then update to current won't get a rebuild.
>>
>> Probably we need to treat the base system as a virtual package with an
>> ABI version and do some sort of unsafe_depends marking when updating the
>> base.
>
> I'm not familiar with what you mean by unsafe_depends. How does it work?
> I found a few mentions of how it gets set (by "make replace" apparently)
> but I'm not seing much regarding what it actually does.
unsafe_depends is a per-package variable (manipulated by pkg_admin set)
that records that a dependency was changed out from under a package.
Thus, make replace sets it, and pkg_add -u should also but I think
doesn't yet. pkg_rolling-replace will tsort all the packages that are
out of date w.r.t. pkgsrc or have unsafe_depends set and do make replace
on each.
My view is that unsafe_depends is a core pkgsrc feature to keep track of
what's happened, and that pkg_rolling-replace is an optional program to
do something useful about resolving issues.