tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg-config-0.26

"OBATA Akio" <> writes:

> On Wed, 25 Jan 2012 21:37:52 +0900, Greg Troxel <> 
> wrote:
>> "OBATA Akio" <> writes:
>>> Are you just talking about pkg_rolling-replace (and `replace' target)?
>>> Yes, it it insufficient and should be fixed instead.
>>>  (I've just killed `pkg_admin set unsafe_depends=YES' locally).
>> Well, you're welcome to implement logic to set unsafe_depends_loose,
>> which is only true if there was an ABI change, and do
>> pkg_rolling-replace -l.  The tricky part is choosing when to se
>> unsafe_depends_loose, because it seems telling if there is an ABI change
>> is very hard.  But it would be a good experiment.  But please don't
>> change what unsafe_depends means, since that's a useful definition
>> (package was rebuilt and was different before), which surely is a
>> superset of "package ABI changed".
> There are two types of ABI change(shlib bump, new dependency on other
> library, and so on):
> 1. by updating package itself
> 2. by changing users' PKG_OPTIONS settings and rebuild the package.
> About which type, are you talking about?

I meant type 1, but indeed type 2 is an issue as well.  Currently,
unsafe_depends isn't set when one does 'make replace' and the new
options differ from the installed options, but that's a bug.

My larger point is that setting up a scheme to be able to say "the ABI
changed" vs "the ABI did not change" is hard to get right, and the
current "unsafe_depends" variable is meant to capture "the ABI might
have changed, and "unsafe_depends_strict" (without unsafe_depends)
captures "the ABI should not have changed, but the package was replaced
so you never really know".

> And do you want to care manual `make replace' with pkg_rolling-replace?

The bookkeeping of unsafe_depends variables is done by make replace;
pkg_rolling-replace just looks at them.
This is a core part of the design, so that pkg_rolling-replace (or any
tool that anyone else wants to write) interworks with manual replacing.
(e.g, make replace on jpeg, and then pkg_rolling-replace to rebuild all
packages which depend on it, and so on).

But that's not the issue.  The real issue is having a way to know if a
particular replace changes the ABI.

Attachment: pgp38yn7mKb6b.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index