Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Aug 2014 21:09:55 +0100
From:      Vsevolod Stakhov <vsevolod@FreeBSD.org>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, Tijl Coosemans <tijl@freebsd.org>, Matthias Andree <matthias.andree@gmx.de>, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r364287 - head/ports-mgmt/pkg-devel
Message-ID:  <53E7D193.3090305@FreeBSD.org>
In-Reply-To: <b1c74ebef13a04a7198ed4a34134d63a@shatow.net>
References:  <53e39939.55bc.4ca5432c@svn.freebsd.org> <20140807172841.58633e63@kalimero.tijl.coosemans.org> <53E3A468.5050603@FreeBSD.org> <53E3AC0C.5020904@gmx.de> <53E3AD09.2050000@FreeBSD.org> <53E3B3B5.9000104@gmx.de> <53E3B6D8.9080101@FreeBSD.org> <53E590AC.4020105@FreeBSD.org> <53E7A512.8050008@FreeBSD.org> <b1c74ebef13a04a7198ed4a34134d63a@shatow.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10.08.2014 20:40, Bryan Drewery wrote:
> On 2014-08-10 12:00, Vsevolod Stakhov wrote:
>> Bryan,
>>
>> On 09/08/14 04:08, Bryan Drewery wrote:
>>> On 8/7/2014 12:26 PM, Vsevolod Stakhov wrote:
>>>> On 07/08/14 18:13, Matthias Andree wrote:
>>>>> Am 07.08.2014 um 18:44 schrieb Vsevolod Stakhov:
>>>>>
>>>>>> On 07/08/14 17:40, Matthias Andree wrote:
>>>>>>> Am 07.08.2014 um 18:08 schrieb Vsevolod Stakhov:
>>>>>>>
>>>>> [skipped]
>>>
>>> I'm not convinced about this change. We have fixed the wine-devel-i386
>>> which was unrelated to soname version.
>>>
>>> Will stripping .so.* break automatic reinstalling when shlibs change?
>>> That is a critical feature.
>>>
>>
>> I think, I've described in details the current issue with that at
>> #pkgng@freenode. Briefly, this change does not break "automatic
>> reinstalling when shlibs change" as it doesn't work now.
>
> If it "does't work now" it needs to be fixed. This is a regression over
> 1.2. Not automatically reinstalling packages when dependent shlibs
> change breaks a lot of packages. Port revision bumps do not always
> occur. Auto reinstalling for changed SHLIBS and OPTIONS is very important.

See below.

> Poudriere will automatically rebuild packages if their dependencies are
> updated regardless of a revision bump. If no bump occurs, yet a shlib is
> bumped, the package is updated. Pkg 1.2 would detect this and reinstall
> the packages depending on that shlib. If we are now ignoring the
> version, and it doesn't work otherwise, then we are leaving people with
> broken systems where the only way to handle it is 'pkg upgrade -f' every
> time.
>
> I understand the problem you describe of .so.X vs .so.X.Y, but this
> functionality was present during most of the RC and 1.3 releases right?
> It was changed due to wine? The wine issue is unrelated and is now
> fixed. I would think the more safe route would be to strip .X.* and keep
> .X rather than strip the entire version.

The problem with .so was *not* related to wine. It was related to 
inconsistency between provides and requires. And as far as I see it is 
*not* fixed yet.

Regarding auto install...
I would like to repeat here what I have written prior to 1.3 release:


> Let me explain the situation with pkg. Pkg needs to find so called
> ``upgrade chains'' that are used to upgrade packages. To find out
> packages that are suitable for upgrade we use origins in pkg 1.2 and
> name~origin in pkg 1.3.
>
> However, each package is identified by a special field called
> `manifestdigest'. In pkg 1.2, this field is just sha256(manifest).
> Unfortunately, this means that if *any* field of a package is changed a
> version bump is required. By fields I mean files and directories as well
> which leads thus to a policy where we need to bump a revision even if we
> have meaningless changes in the files a package provides (that happens
> after this particular change).
>
> With pkg 1.3 this behaviour has been changed to recognize the following
> fields only:
>
> *  name
> *  origin
> *  version
> *  arch
> *  maintainer
> *  www
> *  message
> *  comment
> *  options
>
> Hence, I think that with the release 1.3 of pkg we should define
> revision bump policy to reflect this change.

So I asked *many* times (in irc, mailing lists, private conversations) 
what fields are considered to be significant, but got only few good 
suggestion. And now, after 1.3 is released, changing that requires more 
testing:

https://github.com/freebsd/pkg/pull/911

This patch, for example, does this. But I haven't tested it yet and I 
don't know what side effects could it cause.

Nonetheless, doesn't our ports policy defines to bump PORTREVISION in 
all cases that modifies a resulting package? Shlib provides/requires 
changing is definitely such a change. So you blame now pkg that it 
follows the current policy, don't you?

-- 
Vsevolod Stakhov



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53E7D193.3090305>