-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Semantic versioning may cause downstream problems in Perl core distribution #29
Comments
Thanks, in retrospect I should have realized I needed to raise this as well once I realized that all the Perl tooling wants to copy the v into the distribution name (and that appears to be the practice on CPAN as well for modules using v-strings as versions). I'll raise this on P5P and start the yackfest. I would really like to standardize on semantic versioning for all the software I maintain, and am willing to submit PRs to Perl to fix the scripts. |
I just ran |
I don't really see this as something that has to be preemptively fixed. If there are problems with things like the |
Ongoing discussion in perl core: Perl/perl5#22101 |
Since I've green-lit the patch found in the core pull request cited above, this ticket is moot. Thanks. |
In the course of reviewing your response to #27 and the ancestor ticket in the Perl core distribution, Perl/perl5#22062, I had occasion to download the
main
branch of the podlators repository and update my local checkout. I ran the code through the customaryperl Makefile.PL && make && make test
sequence, then calledmake dist
. I was surprised that the last command created a tarball namedpodlators-v6.0.0.tar.gz
.By calling
git diff -w release/5.01..HEAD
, I see that in the as-yet-unreleased version 6.0.0 you are moving to "semantic versioning." Further, by usinggit blame
I can see that at least one relevant commit in this movement was:I have heard of semantic versioning but have never used it myself and have no strong opinion about it, in general.
However, I would like to raise a yellow Caution flag about this with respect to the fact that podlators is distributed with the Perl core distribution. The most recent version is 5.01, and that version number is derived, per instruction in
cpan/podlators/Makefile.PL
, fromcpan/podlators/lib/Pod/Man.pm
. This version number is currently consistent with the way the$VERSION
numbers of all other.pm
files shipped with the Perl core are expressed, i.e.,, as\d+\.\d+(_\d+)?
2-part decimal numbers (with possible_
to indicate a divergence from the CPAN version). A command like this:... will give you a feel for how these version numbers are spelled.
In 6.0.0, your
Makefile.PL
now has a subroutinedist_version
which returns a string which starts with av
and has 3 decimal parts rather than just 2. In the core distribution we have a number of programs underPorting/
which are tooling to, inter alia, identify CPAN distributions which have a different$VERSION
on CPAN from that found in the core; and "synch" a more recent version of a distribution from CPAN into core. I am one of the Perl committers who typically runs these programs before a development or production release.My hunch is that the first time one of these
Porting/
programs seespodlators-v6.0.0
, it will gag and have to be rewritten. I am not sure whether such a program will gag on thev
, on the 3-decimal parts, or on the combination of both. I believe that aWhile I am sure that you have probably spent some time pondering this and I know that
N.N.N
distributions exist on CPAN -- though I'm not sure yet as tovN.N.N
distributions -- I'd like to ask if you really need to move away fromN.N
versioning. Moving tovN.N.N.
is definitely going to lead to a long yackfest on P5P and several hours of work for core committers.Thank you very much.
Jim Keenan
The text was updated successfully, but these errors were encountered: