On Thu, Mar 26, 2020 at 10:34:24AM +0100, Paco Esteban wrote:
> Attached the 3 modified diffs again, and some comments inline.
>
> On Thu, 26 Mar 2020, Jeremie Courreges-Anglas wrote:
>
> > > Index: bsd.port.mk.5
> > > ===================================================================
> > > RCS file: /home/cvs/src/share/man/man5/bsd.port.mk.5,v
> > > retrieving revision 1.528
> > > diff -u -p -r1.528 bsd.port.mk.5
> > > --- bsd.port.mk.5 24 Mar 2020 14:59:52 -0000 1.528
> > > +++ bsd.port.mk.5 25 Mar 2020 20:07:07 -0000
> > > @@ -1650,6 +1650,10 @@ If set to
> > > will not open changed files in an editor.
> > > .It Ev EPOCH
> > > Epoch number of the current package.
> > > +Used when the port version is changed but the new version is not regarded by
> > > +.Xr packages-specs 5
> >
> > 5 -> 7
>
> fixed.
>
> > > Defaults to empty (no need for numbering changes), then
> > > numbering starts at 0.
> > > Gets automatically incorporated into
> > > @@ -1658,6 +1662,12 @@ as
> > > .Sq v${EPOCH}
> > > to form a full package-name conforming to
> > > .Xr packages-specs 7 .
> > > +If there are dependent packages that use a version spec, this has to be
> > > +adjusted for each one or
> > > +.Ev PKGSPEC
> > > +changed on the affected package and
> > > +.Ev REVISION
> > > +bumped for all the dependencies.
> >
> > Hmm, like Marc said this is not the place to mention PKGSPEC.
>
> Yup, I misunderstood his message. I've removed it.
>
> > > A version style marker, of the form
> > > .Sq v0 ,
> > > .Sq v1 ...
> > > can be appended to the version number (after the patch level)
> > > to denote the new numbering scheme.
> > > +This is added by setting
> > > +.Ev EPOCH
> > > +in the port Makefile.
> > > +Combined with
> > > +.Ev REVISION ,
> > > +this leaves the version ordering as follows:
> > > +.Bl -dash
> > > +.It
> > > +"0.1" is older than "0.1p0"
> > > +.It
> > > +"0.1p0" (or
> > > +.Sq p1 ,
> > > +.Sq p2 ... )
> > > +is older than "0.2"
> > > +.It
> > > +"0.2" is older than "0.1v0" (or any other version number without
> > > +.Sq v )
> > > +.It
> > > +"0.1v0" is older than "0.1p0v0".
> > > +Just as showed in the first point.
> > > +.It
> > > +"0.1p0v0" is older than "0.2v0".
> > > +The same as the second point.
> > > +.It
> > > +"0.2v0" is older than "0.1v1" (or any other version with a lower
> > > +.Sq v
> > > +value)
> > > +.El
> > > +.El
> > > +.Pp
> >
> > I find this a bit too chatty. Can we find a single sentence that
> > explains what happens?
> >
> > ...
> > A version style marker, of the form 'v0', 'v1 ...' can be appended to the
> > version number (after the patch level) to denote the new numbering
> > scheme.
> > +This marker takes precedence over the regular package version.
> >
> > Thoughts?
>
> Take a look at the new diff. I removed the chatty list and merged your
> sentence with the last part of mine. I think is clear now. It reads
> like this:
>
> In some rare cases, a change to a port would cause the version number to
> compare as older than the previous version. This happens if an update is
> reverted, if upstream's numbering scheme changes completely, or if their
> usual scheme does not align with the one used by OpenBSD. A version
> style marker, of the form 'v0', 'v1 ...' can be appended to the version
> number (after the patch level) to denote the new numbering scheme. This
> marker is added by setting EPOCH in the port Makefile and it takes
> precedence over the regular package version. See bsd.port.mk(5).
>
> > > Index: faq/ports/guide.html
> > > ===================================================================
> > > RCS file: /home/cvs/www/faq/ports/guide.html,v
> > > retrieving revision 1.89
> > > diff -u -p -r1.89 guide.html
> > > --- faq/ports/guide.html 28 Sep 2019 21:35:05 -0000 1.89
> > > +++ faq/ports/guide.html 14 Mar 2020 14:39:36 -0000
> > > @@ -1131,6 +1131,8 @@ changes to patches or build flags.
> > > If the upstream version has not changed, the package name bump is done
> > > by incrementing <code>REVISION</code> if already present, otherwise adding
> > > <code>REVISION = 0</code> towards the top of the Makefile.
> > > +This will add <code>p${REVISION}</code> to <code>FULLPKGNAME</code> to form a full
> > > +package-name conforming to packages-specs(7).
>
> This is wrong, not sure how it get there. I removed it.
>
> > > <li>
> > > Version numbers always go forward.
> > > @@ -1138,6 +1140,8 @@ If something unexpected happens and you
> > > upstream numbering changes completely so that the version number appears
> > > to go backwards, you must use <code>EPOCH</code> to make sure pkg_add(1) sees
> > > the package as a newer package.
> > > +This will add <code>v${EPOCH}</code> to <code>FULLPKGNAME</code> to form a full
> > > +package-name conforming to packages-specs(7).
> > >
> > > <li>
> > > If the package does not build, no bump is needed: changes to restore a port
> > > @@ -1153,6 +1157,11 @@ The package system uses a signature mech
> > > is fully identified by its package names, plus the dependencies against
> > > which it was built, plus the version numbers of all shared libraries it
> > > contains.
> >
> > I'd be tempted to leave this as is, or only add something like what you
> > propose below. I'm not objecting though. :)
>
> I've kept it for now, but not sure it adds much ...
>
> >
> > > +
> > > +<li>
> > > +The version comparison ordering can be summarized as:
> > > +<code>0.1 < 0.1p0 < 0.2 < 0.1v0 < 0.1p0v0 < 0.2v0 < 0.1v1</code>.
> > > +Check packages-specs(7) for more detailed information.
> > > </ul>
>
> This is the sentence that triggered all this. I kind of like how visual
> it is, so I would keep it.
>
> Cheers,
>
> --
> Paco Esteban.
> 0x5818130B8A6DBC03
> Index: bsd.port.mk.5
> ===================================================================
> RCS file: /home/cvs/src/share/man/man5/bsd.port.mk.5,v
> retrieving revision 1.528
> diff -u -p -r1.528 bsd.port.mk.5
> --- bsd.port.mk.5 24 Mar 2020 14:59:52 -0000 1.528
> +++ bsd.port.mk.5 26 Mar 2020 09:06:35 -0000
> @@ -1650,6 +1650,10 @@ If set to
> will not open changed files in an editor.
> .It Ev EPOCH
> Epoch number of the current package.
> +Used when the port version is changed but the new version is not regarded by
> +.Xr packages-specs 7
> +as being newer.
> +Once added, it cannot be removed or go backwards.
> Defaults to empty (no need for numbering changes), then
> numbering starts at 0.
> Gets automatically incorporated into
> Index: packages-specs.7
> ===================================================================
> RCS file: /home/cvs/src/share/man/man7/packages-specs.7,v
> retrieving revision 1.25
> diff -u -p -r1.25 packages-specs.7
> --- packages-specs.7 27 Oct 2014 22:45:30 -0000 1.25
> +++ packages-specs.7 26 Mar 2020 09:20:10 -0000
> @@ -144,15 +144,20 @@ then normal version, and finally
> .El
> .El
> .Pp
> -In some rare cases, version numbering changes completely upstream.
> +In some rare cases, a change to a port would cause the version number to
> +compare as older than the previous version.
> +This happens if an update is reverted, if upstream's numbering scheme changes
> +completely, or if their usual scheme does not align with the one used by
> +.Ox .
> A version style marker, of the form
> .Sq v0 ,
> .Sq v1 ...
> can be appended to the version number (after the patch level)
> to denote the new numbering scheme.
> -See
> +This marker is added by setting
> .Ev EPOCH
> -in
> +in the port Makefile and it takes precedence over the regular package version.
> +See
> .Xr bsd.port.mk 5 .
> .Pp
> Flavored packages will also contain a list of flavors after the version
> Index: faq/ports/guide.html
> ===================================================================
> RCS file: /home/cvs/www/faq/ports/guide.html,v
> retrieving revision 1.89
> diff -u -p -r1.89 guide.html
> --- faq/ports/guide.html 28 Sep 2019 21:35:05 -0000 1.89
> +++ faq/ports/guide.html 26 Mar 2020 09:15:43 -0000
> @@ -1138,6 +1138,8 @@ If something unexpected happens and you
> upstream numbering changes completely so that the version number appears
> to go backwards, you must use <code>EPOCH</code> to make sure pkg_add(1) sees
> the package as a newer package.
> +This will add <code>v${EPOCH}</code> to <code>FULLPKGNAME</code> to form a full
> +package-name conforming to packages-specs(7).
>
> <li>
> If the package does not build, no bump is needed: changes to restore a port
> @@ -1153,6 +1155,11 @@ The package system uses a signature mech
> is fully identified by its package names, plus the dependencies against
> which it was built, plus the version numbers of all shared libraries it
> contains.
> +
> +<li>
> +The version comparison ordering can be summarized as:
> +<code>0.1 < 0.1p0 < 0.2 < 0.1v0 < 0.1p0v0 < 0.2v0 < 0.1v1</code>.
> +Check packages-specs(7) for more detailed information.
> </ul>
>
> Part of the work will happen before the update itself.
Good enough for me, go for it.
There will probably be minor tweaks after the fact by our native speaker. :)
No comments:
Post a Comment