From owner-svn-ports-head@FreeBSD.ORG Sun Aug 10 20:10:09 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7C5297BC; Sun, 10 Aug 2014 20:10:09 +0000 (UTC) Received: from h.highsecure.ru (h.highsecure.ru [144.76.31.167]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01A26296B; Sun, 10 Aug 2014 20:10:08 +0000 (UTC) Received: from [172.24.172.195] (global-2-11.nat.csx.cam.ac.uk [131.111.185.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: vsevolod@highsecure.ru) by h.highsecure.ru (Postfix) with ESMTPSA id EA0BF300198; Sun, 10 Aug 2014 22:09:49 +0200 (CEST) Message-ID: <53E7D193.3090305@FreeBSD.org> Date: Sun, 10 Aug 2014 21:09:55 +0100 From: Vsevolod Stakhov User-Agent: Mutt/1.5.22 (2013-10-16) MIME-Version: 1.0 To: Bryan Drewery Subject: Re: svn commit: r364287 - head/ports-mgmt/pkg-devel 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> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-ports-head@freebsd.org, Tijl Coosemans , Matthias Andree , svn-ports-all@freebsd.org, ports-committers@freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Aug 2014 20:10:09 -0000 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