From owner-dev-commits-ports-main@freebsd.org Sun Jul 25 04:49:07 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E3D7A6527C2 for ; Sun, 25 Jul 2021 04:49:07 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GXVvR14llz4fBj for ; Sun, 25 Jul 2021 04:49:06 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: by mail-yb1-xb2b.google.com with SMTP id f26so5504801ybj.5 for ; Sat, 24 Jul 2021 21:49:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=h1AtGubo2A2Y3qXU4jk5NHHtm49R7/ZcUotiu6i9Uyw=; b=p01h72pC++GgHooFuOboQ2ejHiRFoE3fS5bZF7nb83C/uumn7YfcbuMCj4qZt1e0UH Xst/J2cMHYS0Q3oCfxwWT21z3aed9xrwb6yqTc+eWanp+4wKuJ9VpM6Z/L8eO4cH66Nc CYlxp1+XQzPfXG1ml0zK7UOUPTjl2JrsFvdYQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=h1AtGubo2A2Y3qXU4jk5NHHtm49R7/ZcUotiu6i9Uyw=; b=iW9OERWI3/FlpqIGEr0bTQGmS8EWlmgDUsY+5M4E+o8hxmztK/hg93+E+xZAXJIWmo CsPq8mJ7hYfEWQ6f8EQrUzz2jRH2Pp+3Y38uFf+hkm3gYtog4TFSmvtVNkyzQxUVFfK5 BFl92Fn12zMitSxre0O5a/YqMLTUEPB+xB6HFLifdp78aNTcn8srR+tguJQT8X3CTXpX 05rpRGSpTECBUlqnbUNjCDBggKx/ra+HuP5jQQtJ8KBuZjVPkS6+85BnmHzA8PMC9Nzp B/xAO1O0KTq2PkjBZTTjCw4esNjRY9GO/n5sQnHvRsJRU9z9Gg7gY/k8Dc4+k3B01wpS cZVQ== X-Gm-Message-State: AOAM5324OvjeLO0OuqO8G/9K/PEmz8D0Y1VOLU3qlDz1fCO8lUNs/P1W 62xwm630TCwLBBvLKyOWZY8lJkian7Skjb0hblewyQ== X-Google-Smtp-Source: ABdhPJyYdx9wqyLekyYukDM3rn4HbuLmMsJYSt9f4tPPVtMFPEWp3gk5nzLQAEs7ddhfElsY/rJ7lp6yr1krZgqgKSs= X-Received: by 2002:a25:d758:: with SMTP id o85mr14927993ybg.429.1627188546231; Sat, 24 Jul 2021 21:49:06 -0700 (PDT) MIME-Version: 1.0 References: <202107220806.16M862GC052436@gitrepo.freebsd.org> In-Reply-To: From: Kevin Bowling Date: Sat, 24 Jul 2021 21:48:52 -0700 Message-ID: Subject: Re: git: e497a16a2869 - main - ports-mgmt/pkg*: Release 1.17.0 To: Bryan Drewery Cc: Baptiste Daroussin , ports-committers , dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4GXVvR14llz4fBj X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=kev009.com header.s=google header.b=p01h72pC; dmarc=none; spf=pass (mx1.freebsd.org: domain of kevin.bowling@kev009.com designates 2607:f8b0:4864:20::b2b as permitted sender) smtp.mailfrom=kevin.bowling@kev009.com X-Spamd-Result: default: False [-0.30 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-ports-main@freebsd.org]; DMARC_NA(0.00)[kev009.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[kev009.com:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b2b:from]; R_DKIM_PERMFAIL(0.00)[kev009.com:s=google]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[dev-commits-ports-main]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jul 2021 04:49:08 -0000 On Sat, Jul 24, 2021 at 1:36 PM Bryan Drewery wrote: > > On 7/22/2021 1:06 AM, Baptiste Daroussin wrote: > > The branch main has been updated by bapt: > > > > URL: https://cgit.FreeBSD.org/ports/commit/?id=e497a16a286972bfcab908209b11ee6a13d99dc9 > > > > commit e497a16a286972bfcab908209b11ee6a13d99dc9 > > Author: Baptiste Daroussin > > AuthorDate: 2021-07-22 07:54:38 +0000 > > Commit: Baptiste Daroussin > > CommitDate: 2021-07-22 08:05:59 +0000 > > > > ports-mgmt/pkg*: Release 1.17.0 > > > > TL;DR: new uniq package file extension: '.pkg' > > > > Full changelog for pkg: > > - add a new "snap" prefix, to deal with pkg base snapshots > > - pkg repo now accepts packages with different compression formats > > - pkg now have a single extension: ".pkg" and a backward compatible > > symlink is created when the package is created to help transitioning > > - Default compression level for zstd is now set to 19 > > - the default compression level is now a configuration option > > - plenty of portability fixes > > - fix plenty of typos > > - expose the name of the package to lua and shell scripts > > - plist: > > remove internal support for @*exec (this is now in the ports tree) > > remove support for @ignore > > remove support for @dirrm/@dirrmtry > > remove support for @pkgdep > > remove stub support for @stopdaemon > > remove stub support for @display > > remove stub support for @mtree > > remove stub support for @conflict > > - VUXML: fetch .xz compressed version of the file by default > > - triggers are deferred to later command (firstboot is planned) if run > > with pkg -r > > - pkg triggers commands has been added and can execute the deferred > > triggers for example at firstboot > > > > Changes in the framework: > > - Add a backward compatibility layer, so people are not forced to move > > to pkg 1.17 yet (new quarter we will enforce the switch for triggers > > anyway, but it gives time to people to switch) > > - Introduce a new PKG_COMPRESSION_FORMAT for users to specify the > > compression format they are willing to use when creating packages: > > txz, tar, tgz, tbz, tzst are the valid ones (note that tzst is only > > usable on FreeBSD 13 and 14) > > - Add a backward compatibility for people who specified the compression > > format already via PKG_SUFX and issue a warning to tell them about the > > deprecation of PKG_SUFX > > --- > > Mk/bsd.port.mk | 58 +++++++++++++++++++++++-------------------- > > ports-mgmt/pkg-devel/Makefile | 4 +-- > > ports-mgmt/pkg-devel/distinfo | 6 ++--- > > ports-mgmt/pkg/Makefile | 2 +- > > ports-mgmt/pkg/distinfo | 6 ++--- > > 5 files changed, 40 insertions(+), 36 deletions(-) > > > > diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk > > index 228644a1845f..5eba5d89da95 100644 > > --- a/Mk/bsd.port.mk > > +++ b/Mk/bsd.port.mk > > @@ -1211,6 +1211,14 @@ _OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/} > > .if !defined(_PKG_VERSION) > > _PKG_VERSION!= ${PKG_BIN} -v > > .endif > > +# XXX hack for smooth transition towards pkg 1.17 > > +_PKG_BEFORE_PKGEXT!= ${PKG_BIN} version -t ${_PKG_VERSION:C/-.*//g} 1.17.0 > > +.if ${_PKG_BEFORE_PKGEXT} == "<" > > +_PKG_TRANSITIONING_TO_NEW_EXT= yes > > +_EXPORTED_VARS+= _PKG_TRANSITIONING_TO_NEW_EXT > > +.warning "It is strongly recommanded to upgrade to a newer vertion of pkg first" > > +.endif > > +# XXX End of hack > > _PKG_STATUS!= ${PKG_BIN} version -t ${_PKG_VERSION:C/-.*//g} ${MINIMAL_PKG_VERSION} > > .if ${_PKG_STATUS} == "<" > > IGNORE= pkg(8) must be version ${MINIMAL_PKG_VERSION} or greater, but you have ${_PKG_VERSION}. You must upgrade the ${PKG_ORIGIN} port first > > @@ -2227,23 +2235,29 @@ _PKGMESSAGES+= ${PKGMESSAGE} > > > > TMPPLIST?= ${WRKDIR}/.PLIST.mktmp > > > > -.if ${WITH_PKG} == devel > > -PKG_SUFX?= .pkg > > +# backward compatibility for users > > +.if defined(_PKG_TRANSITIONING_TO_NEW_EXT) > > .if defined(PKG_NOCOMPRESS) > > -PKG_OLDSUFX?= .tar > > +PKG_SUFX?= .tar > > .else > > -#.if ${OSVERSION} > 1400000 > > -#PKG_OLDSUFX?= .tzst > > -#.else > > -PKG_OLDSUFX?= .txz > > -#.endif > > +PKG_SUFX?= .txz > > .endif > > +PKG_COMPRESSION_FORMAT?= ${PKG_SUFX:S/.//} > > .else > > +.if defined(PKG_SUFX) > > +PKG_COMPRESSION_FORMAT?= ${PKG_SUFX:S/.//} > > +.warning PKG_SUFX is defined, if should be replace with PKG_COMPRESSION_FORMAT > > +.endif > > +PKG_SUFX= .pkg > > +.endif > > I love the idea here but can this be reverted for now please? Poudriere > is not prepared for a default PKG_EXT change. > > 1. Now that it finds a new PKG_EXT of .pkg, it cannot find the existing > bootstrap pkg.txz because it looks for Latest/pkg.pkg -> > ../All/pkg-*.pkg even though the *existing* one is .txz. I'm not sure > how this symlink is added before pkg is even built but it's not done in > a compatible way. I haven't seen an issue on my end with the symlinks for pkg which seems to bootstrap ok and I don't fully understand the problem statement. I'd like to see what bapt has to say for this one. > 2. The new PKG_EXT makes Poudriere now find no existing packages so > everything is rebuilt. Not a deal breaker in itself but a problem for > future builds... See below, maybe this is an acceptable transition hammer whenever someone changes it. > 3. The rebuild won't remove all the .txz files. I assume once `pkg repo` > runs it will find both .txz and .pkg files and cause duplicate version > problems in `pkg repo` This one is poudriere specific, do you think an acceptable solution would be to detect changes to the variable from the config versus the repo by storing a canary in the repo and run the pkgclean module if it changes? I can try and do that tomorrow with your design approval or guidance. > I see something creates a .txz -> .pkg symlink. What deles that symlink > if Poudriere only deletes/rebuilds the .pkg? Unsure. > *** > "all those .txz entries are actually _duplicates_ in packagesite.yaml" > seen on IRC just now by someone. > I can confirm that looking in a packagesite.yaml I just generated. Both > the older .txz version of a port and a new revision-bumped one appear in > the yaml. > *** > > 4. I've seen reports of packagesite.pkg which is concerning because > Poudriere manages packagesite.txz with its own symlinks for > hardlink-copied repositories. It does not use PKG_EXT there as they > weren't packages, but I suspect we need special handling even with > PKG_EXT added there. > > -- > Regards, > Bryan Drewery >