On Sat, Mar 21, 2020 at 02:57:39AM +0100, Jeremie Courreges-Anglas wrote: > On Fri, Mar 20 2020, Marc Espie <es...@nerim.net> wrote: > > On Fri, Mar 20, 2020 at 05:16:12PM +0000, Stuart Henderson wrote: > >> On 2020/03/20 17:41, Jeremie Courreges-Anglas wrote: > >> > >> only rc[N], beta[N], pre[N], and pl[N]. Would it makes sense to add a > >> > >> alpha[N]? We could of course also use EPOCH here. > >> > > > >> > > adding support for alpha[N] would be in suffix_compare in > >> > > PackageName.pm > >> > > (and from_string), but that would only work (afaik) if the suffix was > >> > > directly near the version, ie 5.13.2alpha3 (not 5.13.2-alpha3). > >> > > >> > I suspect that the lack of support for alpha[N] is intentional, as in > >> > "You should not put alpha-quality software in the ports tree." > >> > >> Yes, I think so too. > >> > >> > The current situation is that we have ports using alpha releases in the > >> > tree, and I see no reason to arbitrarily draw a line between alpha and > >> > beta releases. > >> > Diff below, not tested much yet. Thoughts? > >> > >> I agree with adding it. > >> > >> It wants to go in /usr/src/regress/usr.sbin/pkg_add/check-name and > >> packages-specs(7) too, > > Bah, I should have mentioned that the diff was not intended as complete. > Thanks for the pointers, I did not find other places to tweak. > > www/faq/ports/guide.html says: > > "* Do not use alpha or beta code when preparing a port. Use the latest > regular or patch release." > > but I don't think it needs changing. > > >> and I think anything currently using "alpha" will > >> need an EPOCH bump. > > Hmm this indeed raises a point... I'm not sure why they would need an > EPOCH bump. The packages contents won't change, only the way the > pkg_* tools handle them, right? > > There are three affected ports: > > ritchie ~$ sqlite3 /usr/local/share/sqlports 'select fullpkgpath, fullpkgname > from ports where fullpkgname like "%alpha%";' > archivers/libmspack|libmspack-0.10.1alphav1 > lang/squeak/funsqueak|squeak-funsqueak-3.10alpha7 > net/py-tlslite-ng,python3|py3-tlslite-ng-0.8.0alpha37p1 > > - the version of funsqueak hasn't changed since import > - net/py-tlslite-ng has been imported weeks ago and has had no version > bump > - the last update of archivers/libmspack came with an EPOCH bump so > I don't see how its version could be considered lower than any > previous version available in the tree > > Even though I can't find a reason for adding/bumping EPOCH in those > ports, I'll do it anyway to resolve any concern, unless I hear > objections. > > > Definitely wants tests. > > The diff below: > - implements the changes as pointed by landry@ > - documents "alpha" in packages-specs(7) > - adds "alpha" to the tests in regress/usr.sbin/pkg_add/check-name, as > suggested by sthen@; ''make pkgnames'' still succeeds > > ok?
Thank you. I am in favor of this change. I had to look in PackageName.pm when I was trying to figure out how to deal with tlslite-ng's alpha version. The diff reads fine, but I don't feel qualified okaying it. I'm of course fine with bumping EPOCH in tlslite-ng if people think it's needed. > > > Index: usr.sbin/pkg_add/OpenBSD/PackageName.pm > =================================================================== > RCS file: /d/cvs/src/usr.sbin/pkg_add/OpenBSD/PackageName.pm,v > retrieving revision 1.53 > diff -u -p -r1.53 PackageName.pm > --- usr.sbin/pkg_add/OpenBSD/PackageName.pm 7 Nov 2019 15:35:23 -0000 > 1.53 > +++ usr.sbin/pkg_add/OpenBSD/PackageName.pm 21 Mar 2020 01:47:15 -0000 > @@ -153,7 +153,7 @@ sub from_string > my ($class, $string) = @_; > my $o = bless { deweys => [ split(/\./o, $string) ], > suffix => '', suffix_value => 0}, $class; > - if ($o->{deweys}->[-1] =~ m/^(\d+)(rc|beta|pre|pl)(\d*)$/) { > + if ($o->{deweys}->[-1] =~ m/^(\d+)(rc|alpha|beta|pre|pl)(\d*)$/) { > $o->{deweys}->[-1] = $1; > $o->{suffix} = $2; > $o->{suffix_value} = $3; > @@ -193,10 +193,13 @@ sub suffix_compare > if ($a->{suffix} gt $b->{suffix}) { > return -suffix_compare($b, $a); > } > - # order is '', beta, pre, rc > + # order is '', alpha, beta, pre, rc > # we know that a < b, > if ($a->{suffix} eq '') { > return 1; > + } > + if ($a->{suffix} eq 'alpha') { > + return -1; > } > if ($a->{suffix} eq 'beta') { > return -1; > Index: regress/usr.sbin/pkg_add/check-name > =================================================================== > RCS file: /d/cvs/src/regress/usr.sbin/pkg_add/check-name,v > retrieving revision 1.11 > diff -u -p -r1.11 check-name > --- regress/usr.sbin/pkg_add/check-name 27 Jan 2010 15:41:58 -0000 > 1.11 > +++ regress/usr.sbin/pkg_add/check-name 21 Mar 2020 01:47:15 -0000 > @@ -119,5 +119,5 @@ ok(check_list(["correct order is pNvM"], > "mixed up vp"); > ok(check_list([], check_name("pkgname-1.0p0v0")), "correct name"); > > -ok(check_order(qw(speex-1.2beta3 speex-1.2rc1 speex-1.2 speex-1.2pl1 > - speex-1.3beta1)), 'check order'); > +ok(check_order(qw(speex-1.2alpha3 speex-1.2beta3 speex-1.2rc1 speex-1.2 > + speex-1.2pl1 speex-1.3beta1)), 'check order'); > Index: share/man/man7/packages-specs.7 > =================================================================== > RCS file: /d/cvs/src/share/man/man7/packages-specs.7,v > retrieving revision 1.25 > diff -u -p -r1.25 packages-specs.7 > --- share/man/man7/packages-specs.7 27 Oct 2014 22:45:30 -0000 1.25 > +++ share/man/man7/packages-specs.7 21 Mar 2020 01:47:15 -0000 > @@ -109,6 +109,7 @@ Other parts are compared alphabetically. > .It > The last part may contain an extra suffix matching > .Ar rc[N] , > +.Ar alpha[N] , > .Ar beta[N] , > .Ar pre[N] , > or > @@ -118,12 +119,14 @@ with > an optional number. > These correspond to traditional notations for > .Sq release candidate , > +.Sq alpha version , > .Sq beta version , > .Sq pre-release , > .Sq patch-level , > and are ordered accordingly, e.g., > -.Ar beta > -is oldest, > +.Ar alpha > +is oldest, then > +.Ar beta , > .Ar rc > and > .Ar pre > @@ -137,6 +140,8 @@ then normal version, and finally > "foo-1.001" is older than "foo-1.002", which in turns is older than > "foo-1.0010" > .It > "foo-1.0rc2" is not comparable to "foo-1.0pre3" > +.It > +"bar-1.0alpha5" is older than "bar-1.0beta3" > .It > "bar-1.0beta3" is older than "bar-1.0rc1" > .It > > > -- > jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE >