tech-pkg archive

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

Re: pkg-config-0.26



"OBATA Akio" <obache%netbsd.org@localhost> writes:

> On Wed, 25 Jan 2012 21:37:52 +0900, Greg Troxel <gdt%ir.bbn.com@localhost> 
> wrote:
>
>>
>> "OBATA Akio" <obache%netbsd.org@localhost> 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