Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jul 2021 19:07:15 -0700
From:      Kevin Bowling <kevin.bowling@kev009.com>
To:        Bryan Drewery <bdrewery@freebsd.org>
Cc:        Baptiste Daroussin <bapt@freebsd.org>, dev-commits-ports-all@freebsd.org,  dev-commits-ports-main@freebsd.org,  ports-committers <ports-committers@freebsd.org>
Subject:   Re: git: e497a16a2869 - main - ports-mgmt/pkg*: Release 1.17.0
Message-ID:  <CAK7dMtDwk1n=Y4aXSyuhkZK7W2EqFmekRmB0gadyB=Hp=yfUdQ@mail.gmail.com>
In-Reply-To: <e86c9567-afd0-3ec0-8118-0d3143f8c36e@FreeBSD.org>
References:  <202107220806.16M862GC052436@gitrepo.freebsd.org> <f5d0be1a-7f7c-7dd5-61d0-f88328847722@FreeBSD.org> <CAK7dMtC%2BGgQmWaGOBK434h_zHhrt=5=G1CwV7dBpE0wxBJcaNw@mail.gmail.com> <e86c9567-afd0-3ec0-8118-0d3143f8c36e@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 24, 2021 at 3:24 PM Bryan Drewery <bdrewery@freebsd.org> wrote:
>
> We have a storm brewing on the package builders right now. They will
> soon be serving repositories with duplicated/multiple versions of package=
s.
>
> Frankly your response only angered me as it was dismissive and focus
> stealing top-post. The details I gave are backed up by many reports
> coming in on IRC and github. If you look into your packagesite.yaml and
> inspect for both .txz and .pkg you may find duplicates.

I'm sorry for upsetting you.  I asked a technical question to you and
the entire CC line and triggered you, I don't see a causal link so
you'll have to forgive me for top posting.

> I have a life and work priorities of my own. I can't drop everything to
> fix this right now. I am skeptical of any fix that does not meticulously
> handle the transition and simply tosses in an unlink. Meaning I will
> want to see or do my own testing. If I had known the default PKG_EXT was
> changing I would have thrown up my arms and blocked this and asked for a
> migration period. Poudriere isn't even all there is.

You have my solidarity.  Times get better and worse for everyone each
day and committing to FreeBSD as a volunteer (which I assume we both
are) is not always easy nor possible.

I'm not seeing where anyone asked you to do any work.  If you give it
a couple days you probably wont have to, thanks for raising the issues
to bapt and the entire ports community.

> I think users would appreciate having a tool that does the right thing
> when the change comes in rather than being forced to go through the
> wrong broken thing to get the fixed tool. The longer this is in the
> bigger the damage is.

Ok.  There are always unknown unknowns.  I don't know all the details
here but I saw bapt lay out very good reasoning for these changes,
they are working for some including me, and I support him in resolving
the matter.  I'll take a look tonight and see if I can help.  I
support pkg and ports, and I like anyone that wants to make things
better.

Regards,
Kevin

>
>
>
> On 7/24/2021 2:50 PM, Kevin Bowling wrote:
> > It=E2=80=99s all working fine for me on main and 13.0.  Which of these =
issues
> > cannot be solved in the next few days?
> >
> > On Sat, Jul 24, 2021 at 1:36 PM Bryan Drewery <bdrewery@freebsd.org
> > <mailto:bdrewery@freebsd.org>> 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=3De497a16a286972bfcab9082=
09b11ee6a13d99dc9
> >     <https://cgit.FreeBSD.org/ports/commit/?id=3De497a16a286972bfcab908=
209b11ee6a13d99dc9>
> >     >
> >     > commit e497a16a286972bfcab908209b11ee6a13d99dc9
> >     > Author:     Baptiste Daroussin <bapt@FreeBSD.org>
> >     > AuthorDate: 2021-07-22 07:54:38 +0000
> >     > Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
> >     > 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 fo=
rmats
> >     >     - 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 port=
s
> >     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 force=
d
> >     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 the=
m
> >     about the
> >     >       deprecation of PKG_SUFX
> >     > ---
> >     >  Mk/bsd.port.mk <http://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 <http://bsd.port.mk>; b/Mk/bsd.port.mk
> >     <http://bsd.port.mk>;
> >     > index 228644a1845f..5eba5d89da95 100644
> >     > --- a/Mk/bsd.port.mk <http://bsd.port.mk>;
> >     > +++ b/Mk/bsd.port.mk <http://bsd.port.mk>;
> >     > @@ -1211,6 +1211,14 @@ _OSVERSION_MAJOR=3D
> >     ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/}
> >     >  .if !defined(_PKG_VERSION)
> >     >  _PKG_VERSION!=3D       ${PKG_BIN} -v
> >     >  .endif
> >     > +# XXX hack for smooth transition towards pkg 1.17
> >     > +_PKG_BEFORE_PKGEXT!=3D ${PKG_BIN} version -t
> >     ${_PKG_VERSION:C/-.*//g} 1.17.0
> >     > +.if ${_PKG_BEFORE_PKGEXT} =3D=3D "<"
> >     > +_PKG_TRANSITIONING_TO_NEW_EXT=3D       yes
> >     > +_EXPORTED_VARS+=3D     _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!=3D        ${PKG_BIN} version -t
> >     ${_PKG_VERSION:C/-.*//g} ${MINIMAL_PKG_VERSION}
> >     >  .if ${_PKG_STATUS} =3D=3D "<"
> >     >  IGNORE=3D              pkg(8) must be version
> >     ${MINIMAL_PKG_VERSION} or greater, but you have ${_PKG_VERSION}. Yo=
u
> >     must upgrade the ${PKG_ORIGIN} port first
> >     > @@ -2227,23 +2235,29 @@ _PKGMESSAGES+=3D        ${PKGMESSAGE}
> >     >
> >     >  TMPPLIST?=3D   ${WRKDIR}/.PLIST.mktmp
> >     >
> >     > -.if ${WITH_PKG} =3D=3D devel
> >     > -PKG_SUFX?=3D   .pkg
> >     > +# backward compatibility for users
> >     > +.if defined(_PKG_TRANSITIONING_TO_NEW_EXT)
> >     >  .if defined(PKG_NOCOMPRESS)
> >     > -PKG_OLDSUFX?=3D        .tar
> >     > +PKG_SUFX?=3D   .tar
> >     >  .else
> >     > -#.if ${OSVERSION} > 1400000
> >     > -#PKG_OLDSUFX?=3D       .tzst
> >     > -#.else
> >     > -PKG_OLDSUFX?=3D        .txz
> >     > -#.endif
> >     > +PKG_SUFX?=3D   .txz
> >     >  .endif
> >     > +PKG_COMPRESSION_FORMAT?=3D     ${PKG_SUFX:S/.//}
> >     >  .else
> >     > +.if defined(PKG_SUFX)
> >     > +PKG_COMPRESSION_FORMAT?=3D     ${PKG_SUFX:S/.//}
> >     > +.warning PKG_SUFX is defined, if should be replace with
> >     PKG_COMPRESSION_FORMAT
> >     > +.endif
> >     > +PKG_SUFX=3D    .pkg
> >     > +.endif
> >
> >     I love the idea here but can this be reverted for now please? Poudr=
iere
> >     is not prepared for a default PKG_EXT change.
> >
> >     1. Now that it finds a new PKG_EXT of .pkg, it cannot find the exis=
ting
> >     bootstrap pkg.txz because it looks for Latest/pkg.pkg ->
> >     ../All/pkg-*.pkg even though the *existing* one is .txz. I'm not su=
re
> >     how this symlink is added before pkg is even built but it's not don=
e in
> >     a compatible way.
> >
> >     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 f=
or
> >     future builds...
> >
> >     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 vers=
ion
> >     problems in `pkg repo`
> >
> >     I see something creates a .txz -> .pkg symlink. What deles that sym=
link
> >     if Poudriere only deletes/rebuilds the .pkg?
> >
> >     ***
> >     "all those .txz entries are actually _duplicates_ in packagesite.ya=
ml"
> >     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 appe=
ar 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
> >
>
>
> --
> Regards,
> Bryan Drewery
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAK7dMtDwk1n=Y4aXSyuhkZK7W2EqFmekRmB0gadyB=Hp=yfUdQ>