Hello community, here is the log from the commit of package perl-version for openSUSE:Factory checked in at 2016-02-25 22:03:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-version (Old) and /work/SRC/openSUSE:Factory/.perl-version.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-version" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-version/perl-version.changes 2015-04-15 16:27:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-version.new/perl-version.changes 2016-02-26 00:40:36.000000000 +0100 @@ -1,0 +2,229 @@ +Fri Feb 19 11:18:13 UTC 2016 - [email protected] + +- updated to 0.9913 + see /usr/share/doc/packages/perl-version/Changes + + 2016-02-16 John Peacock <[email protected]> + + * .hgtags: + Added tag 0.9913 for changeset f5eda39012f8 + [acfb12d302c3] [tip] + + * flow: Merged <release> '0.9913' to <master> ('default'). + [f5eda39012f8] [0.9913] + + * flow: Merged <release> '0.9913' to <develop> ('develop'). + [8dcd1df93adb] <develop> + + * flow: Closed <release> '0.9913'. + [b27dba2c01a1] <release/0.9913> + + * .hgignore, MANIFEST.SKIP: + Ignore ctags file + [c0f9aca57284] <release/0.9913> + + 2016-02-01 John Peacock <[email protected]> + + * vutil/vutil.c: + Perl uses more strict C flags + [12902d257437] <release/0.9913> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for release + [8f24755b6f11] <release/0.9913> + + * flow: Created branch 'release/0.9913'. + [f189d92b9db1] <release/0.9913> + + 2016-01-21 John Peacock <[email protected]> + + * flow: Merged <hotfix> '0.9912_03' to <develop> ('develop'). + [4159ccbf8bb3] <develop> + + * .hgtags: + Added tag 0.9912_03 for changeset c0117603b8ff + [0d12dbfef4e2] + + * flow: Merged <hotfix> '0.9912_03' to <master> ('default'). + [c0117603b8ff] [0.9912_03] + + * flow: Closed <hotfix> '0.9912_03'. + [8df7847932f0] <hotfix/0.9912_03> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Prep for release + [02821023f2e7] <hotfix/0.9912_03> + + * vutil/Makefile.PL, vutil/vutil.c, vutil/vutil.h, vutil/vxs.inc, + vutil/vxs.xs: + Apply pull request from bulk88: vutil.c and vxs.inc/vxs.xs must be + combined to be the same .o file for static to work. Previously there + was a vutil.o and a vxs.o which were combined by the linker. + Combining the 2 .o files and making all symbols static removes + plt/got indirection on ELF OSes. On Win32 vxs.dll exports nothing + except boot_version__vxs, the linux version shouldn't export + anything either. + [187bfa1881be] <hotfix/0.9912_03> + + * t/00impl-pp.t, t/01base.t, t/02derived.t, t/03require.t: + Use portable options so Windows does not fail + [03b91e2c0ef5] <hotfix/0.9912_03> + + 2016-01-07 John Peacock <[email protected]> + + * flow: Created branch 'hotfix/0.9912_03'. + [9cd0e1255aac] <hotfix/0.9912_03> + + * flow: Merged <hotfix> '0.9912_02' to <develop> ('develop'). + [bd6f13c85dac] <develop> + + * .hgtags: + Added tag 0.9912_02 for changeset 7a3f1ac2d502 + [523da51cfeeb] + + * flow: Merged <hotfix> '0.9912_02' to <master> ('default'). + [7a3f1ac2d502] [0.9912_02] + + * flow: Closed <hotfix> '0.9912_02'. + [02758f2cf016] <hotfix/0.9912_02> + + 2016-01-03 John Peacock <[email protected]> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for release + [620f6585a091] <hotfix/0.9912_02> + + * t/07locale.t: + Wrong skip offset and more generous locale possibilities for comma + locale + [3ef6df5d370a] <hotfix/0.9912_02> + + * flow: Created branch 'hotfix/0.9912_02'. + [840b1c8ec916] <hotfix/0.9912_02> + + 2016-01-02 John Peacock <[email protected]> + + * .hgtags: + Added tag 0.9912_01 for changeset 18591196a1ff + [2458e15f2559] + + * flow: Merged <release> '0.9912_01' to <master> ('default'). + [18591196a1ff] [0.9912_01] + + * flow: Merged <release> '0.9912_01' to <develop> ('develop'). + [cfb4d643f07d] <develop> + + * flow: Closed <release> '0.9912_01'. + [35fe333646f7] <release/0.9912_01> + + * t/10_lyon.t: + Magic v-string introduced in 5.8.1 + [d9fc86689acc] <release/0.9912_01> + + 2015-12-31 John Peacock <[email protected]> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + t/10_lyon.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for alpha CPAN release + [6ea02663b047] <release/0.9912_01> + + 2016-01-01 John Peacock <[email protected]> + + * flow: Created branch 'release/0.9912_01'. + [f6c197863de6] <release/0.9912_01> + + * t/07locale.t, vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=102272 + [353b8d985519] <develop> + + * t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=98744 + [498a66726d64] <develop> + + * t/coretests.pm: + Lyon Compromise resolves + https://rt.cpan.org/Ticket/Display.html?id=93340 + [5a035f18e9ff] <develop> + + * lib/version/Internals.pod: + Resolve https://rt.cpan.org/Ticket/Display.html?id=107114 + [9d032859e53a] <develop> + + * lib/version.pod: + Resolve https://rt.cpan.org/Ticket/Display.html?id=107113 + [ae087294fa7d] <develop> + + * Makefile.PL: + Resolve https://rt.cpan.org/Ticket/Display.html?id=106782 + [b0b4ec7a38c4] <develop> + + * vperl/vpp.pm: + Resolve https://rt.cpan.org/Ticket/Display.html?id=105315 + [4326618b03a6] <develop> + + * vperl/vpp.pm: + Resolve https://rt.cpan.org/Ticket/Display.html?id=101841 + [52e06b6a200a] <develop> + + * vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=101647 + [268ca104b457] <develop> + + * flow: Merged <feature> 'lyon_compromise' to <develop> ('develop'). + [0e41e5282422] <develop> + + * flow: Closed <feature> 'lyon_compromise'. + [59ceec2dde96] <feature/lyon_compromise> + + * .hgignore, t/coretests.pm, vutil/vutil.c: + Restore skip leading zeros for qv + [c55cfae045cd] <feature/lyon_compromise> + + 2015-12-31 John Peacock <[email protected]> + + * t/10_lyon.t: + Fix up TODO test + [98c6a366f9a0] <feature/lyon_compromise> ++++ 32 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/perl-version/perl-version.changes ++++ and /work/SRC/openSUSE:Factory/.perl-version.new/perl-version.changes Old: ---- version-0.9912.tar.gz New: ---- cpanspec.yml version-0.9913.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-version.spec ++++++ --- /var/tmp/diff_new_pack.CBeJwX/_old 2016-02-26 00:40:37.000000000 +0100 +++ /var/tmp/diff_new_pack.CBeJwX/_new 2016-02-26 00:40:37.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-version # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,15 @@ Name: perl-version -Version: 0.9912 +Version: 0.9913 Release: 0 %define cpan_name version Summary: Perl extension for Version Objects License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/version/ -Source: http://www.cpan.org/authors/id/J/JP/JPEACOCK/%{cpan_name}-%{version}.tar.gz +Source0: http://www.cpan.org/authors/id/J/JP/JPEACOCK/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros @@ -44,7 +45,7 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 +find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #description: |- # override description from CPAN #summary: override summary from CPAN #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_build: |- # rm unused.files #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag #custom_test: |- #startserver && make test #ignore_requires: Bizarre::Module ++++++ version-0.9912.tar.gz -> version-0.9913.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/Changes new/version-0.9913/Changes --- old/version-0.9912/Changes 2015-01-21 03:40:45.000000000 +0100 +++ new/version-0.9913/Changes 2016-02-17 04:43:55.000000000 +0100 @@ -1,3 +1,226 @@ +2016-02-16 John Peacock <[email protected]> + + * .hgtags: + Added tag 0.9913 for changeset f5eda39012f8 + [acfb12d302c3] [tip] + + * flow: Merged <release> '0.9913' to <master> ('default'). + [f5eda39012f8] [0.9913] + + * flow: Merged <release> '0.9913' to <develop> ('develop'). + [8dcd1df93adb] <develop> + + * flow: Closed <release> '0.9913'. + [b27dba2c01a1] <release/0.9913> + + * .hgignore, MANIFEST.SKIP: + Ignore ctags file + [c0f9aca57284] <release/0.9913> + +2016-02-01 John Peacock <[email protected]> + + * vutil/vutil.c: + Perl uses more strict C flags + [12902d257437] <release/0.9913> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for release + [8f24755b6f11] <release/0.9913> + + * flow: Created branch 'release/0.9913'. + [f189d92b9db1] <release/0.9913> + +2016-01-21 John Peacock <[email protected]> + + * flow: Merged <hotfix> '0.9912_03' to <develop> ('develop'). + [4159ccbf8bb3] <develop> + + * .hgtags: + Added tag 0.9912_03 for changeset c0117603b8ff + [0d12dbfef4e2] + + * flow: Merged <hotfix> '0.9912_03' to <master> ('default'). + [c0117603b8ff] [0.9912_03] + + * flow: Closed <hotfix> '0.9912_03'. + [8df7847932f0] <hotfix/0.9912_03> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Prep for release + [02821023f2e7] <hotfix/0.9912_03> + + * vutil/Makefile.PL, vutil/vutil.c, vutil/vutil.h, vutil/vxs.inc, + vutil/vxs.xs: + Apply pull request from bulk88: vutil.c and vxs.inc/vxs.xs must be + combined to be the same .o file for static to work. Previously there + was a vutil.o and a vxs.o which were combined by the linker. + Combining the 2 .o files and making all symbols static removes + plt/got indirection on ELF OSes. On Win32 vxs.dll exports nothing + except boot_version__vxs, the linux version shouldn't export + anything either. + [187bfa1881be] <hotfix/0.9912_03> + + * t/00impl-pp.t, t/01base.t, t/02derived.t, t/03require.t: + Use portable options so Windows does not fail + [03b91e2c0ef5] <hotfix/0.9912_03> + +2016-01-07 John Peacock <[email protected]> + + * flow: Created branch 'hotfix/0.9912_03'. + [9cd0e1255aac] <hotfix/0.9912_03> + + * flow: Merged <hotfix> '0.9912_02' to <develop> ('develop'). + [bd6f13c85dac] <develop> + + * .hgtags: + Added tag 0.9912_02 for changeset 7a3f1ac2d502 + [523da51cfeeb] + + * flow: Merged <hotfix> '0.9912_02' to <master> ('default'). + [7a3f1ac2d502] [0.9912_02] + + * flow: Closed <hotfix> '0.9912_02'. + [02758f2cf016] <hotfix/0.9912_02> + +2016-01-03 John Peacock <[email protected]> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for release + [620f6585a091] <hotfix/0.9912_02> + + * t/07locale.t: + Wrong skip offset and more generous locale possibilities for comma + locale + [3ef6df5d370a] <hotfix/0.9912_02> + + * flow: Created branch 'hotfix/0.9912_02'. + [840b1c8ec916] <hotfix/0.9912_02> + +2016-01-02 John Peacock <[email protected]> + + * .hgtags: + Added tag 0.9912_01 for changeset 18591196a1ff + [2458e15f2559] + + * flow: Merged <release> '0.9912_01' to <master> ('default'). + [18591196a1ff] [0.9912_01] + + * flow: Merged <release> '0.9912_01' to <develop> ('develop'). + [cfb4d643f07d] <develop> + + * flow: Closed <release> '0.9912_01'. + [35fe333646f7] <release/0.9912_01> + + * t/10_lyon.t: + Magic v-string introduced in 5.8.1 + [d9fc86689acc] <release/0.9912_01> + +2015-12-31 John Peacock <[email protected]> + + * Makefile.PL, README, lib/version.pm, lib/version/regex.pm, t/00impl- + pp.t, t/01base.t, t/02derived.t, t/03require.t, t/05sigdie.t, + t/06noop.t, t/07locale.t, t/08_corelist.t, t/09_list_util.t, + t/10_lyon.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm: + Bump version for alpha CPAN release + [6ea02663b047] <release/0.9912_01> + +2016-01-01 John Peacock <[email protected]> + + * flow: Created branch 'release/0.9912_01'. + [f6c197863de6] <release/0.9912_01> + + * t/07locale.t, vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=102272 + [353b8d985519] <develop> + + * t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=98744 + [498a66726d64] <develop> + + * t/coretests.pm: + Lyon Compromise resolves + https://rt.cpan.org/Ticket/Display.html?id=93340 + [5a035f18e9ff] <develop> + + * lib/version/Internals.pod: + Resolve https://rt.cpan.org/Ticket/Display.html?id=107114 + [9d032859e53a] <develop> + + * lib/version.pod: + Resolve https://rt.cpan.org/Ticket/Display.html?id=107113 + [ae087294fa7d] <develop> + + * Makefile.PL: + Resolve https://rt.cpan.org/Ticket/Display.html?id=106782 + [b0b4ec7a38c4] <develop> + + * vperl/vpp.pm: + Resolve https://rt.cpan.org/Ticket/Display.html?id=105315 + [4326618b03a6] <develop> + + * vperl/vpp.pm: + Resolve https://rt.cpan.org/Ticket/Display.html?id=101841 + [52e06b6a200a] <develop> + + * vutil/vutil.c: + Resolve https://rt.cpan.org/Ticket/Display.html?id=101647 + [268ca104b457] <develop> + + * flow: Merged <feature> 'lyon_compromise' to <develop> ('develop'). + [0e41e5282422] <develop> + + * flow: Closed <feature> 'lyon_compromise'. + [59ceec2dde96] <feature/lyon_compromise> + + * .hgignore, t/coretests.pm, vutil/vutil.c: + Restore skip leading zeros for qv + [c55cfae045cd] <feature/lyon_compromise> + +2015-12-31 John Peacock <[email protected]> + + * t/10_lyon.t: + Fix up TODO test + [98c6a366f9a0] <feature/lyon_compromise> + + * lib/version.pm, vperl/vpp.pm: + Clean up pure-Perl implementation + [d43308467dad] <feature/lyon_compromise> + +2015-07-17 Leon Timmermans <[email protected]> + + * MANIFEST, lib/version.pm, t/10_lyon.t, t/coretests.pm, vperl/vpp.pm, + vutil/vutil.c: + Apply lyon-compromise patch from Leon Timmermans + [a644337cfb8d] <feature/lyon_compromise> + +2015-12-31 John Peacock <[email protected]> + + * .hgignore, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: + Revert leading zeros change + [e03d04d5bd44] <feature/lyon_compromise> + + * flow: Created branch 'feature/lyon_compromise'. + [7cd41e636d45] <feature/lyon_compromise> + +2015-10-18 John Peacock <[email protected]> + + * .hgtags: + Added tag 0.9912 for changeset 00927ca7d355 + [ed92b0de01fe] + + * .hgtags: + Manual merge from develop + [00927ca7d355] [0.9912] + 2015-01-20 John Peacock <[email protected]> * .hgtags, Makefile.PL, README, lib/version.pm, lib/version/regex.pm, @@ -6,14 +229,14 @@ t/09_list_util.t, t/coretests.pm, vperl/vpp.pm, vutil/lib/version/vxs.pm, vutil/vutil.c: flow: Merged <hotfix> '0.9912' to <develop> ('develop'). - [646e8c5c4769] [tip] <develop> + [646e8c5c4769] <develop> * .hgtags: Added tag 0.9912 for changeset d95ec600e4b8 [d0a8bd97c2d8] * flow: Merged <hotfix> '0.9912' to <master> ('default'). - [d95ec600e4b8] [0.9912] + [d95ec600e4b8] * flow: Closed <hotfix> '0.9912'. [d4a3dc59d496] <hotfix/0.9912> @@ -35,14 +258,14 @@ * .shipit, t/coretests.pm, vperl/vpp.pm, vutil/vutil.c: Finish reverting the ill-advised alpha->normal code - [468d3b498d58] <hotfix/0.9912> + [468d3b498d58] [default/development] <hotfix/0.9912> * flow: Created branch 'hotfix/0.9912'. [a9f6f567d387] <hotfix/0.9912> * vperl/vpp.pm, vutil/vutil.c: Ignore leading zeros when parsing qv versions - [7e36d3c46d88] [default/development] <release/0.9912> + [7e36d3c46d88] <release/0.9912> * t/coretests.pm: Add test before fixing behavior. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/MANIFEST new/version-0.9913/MANIFEST --- old/version-0.9912/MANIFEST 2015-01-21 03:40:44.000000000 +0100 +++ new/version-0.9913/MANIFEST 2016-02-17 04:43:54.000000000 +0100 @@ -18,6 +18,7 @@ t/07locale.t t/08_corelist.t t/09_list_util.t +t/10_lyon.t t/coretests.pm t/survey_locales vperl/vpp.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/MANIFEST.SKIP new/version-0.9913/MANIFEST.SKIP --- old/version-0.9912/MANIFEST.SKIP 2015-01-18 23:49:27.000000000 +0100 +++ new/version-0.9913/MANIFEST.SKIP 2016-02-17 04:43:54.000000000 +0100 @@ -6,6 +6,7 @@ .+\.orig .hg .shipit +tags Makefile$ MYMETA.yml version-.+\.tar\.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/META.json new/version-0.9913/META.json --- old/version-0.9912/META.json 2015-01-21 03:40:44.000000000 +0100 +++ new/version-0.9913/META.json 2016-02-17 04:43:54.000000000 +0100 @@ -4,7 +4,7 @@ "John Peacock <[email protected]>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.143240", + "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150005", "license" : [ "perl_5" ], @@ -17,6 +17,9 @@ "directory" : [ "t", "inc" + ], + "package" : [ + "charstar" ] }, "prereqs" : { @@ -51,5 +54,6 @@ "url" : "https://bitbucket.org/jpeacock/version" } }, - "version" : "0.9912" + "version" : "0.9913", + "x_serialization_backend" : "JSON::PP version 2.27203" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/META.yml new/version-0.9913/META.yml --- old/version-0.9912/META.yml 2015-01-21 03:40:44.000000000 +0100 +++ new/version-0.9913/META.yml 2016-02-17 04:43:54.000000000 +0100 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.143240' +generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150005' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -17,6 +17,8 @@ directory: - t - inc + package: + - charstar requires: ExtUtils::MakeMaker: '6.17' File::Temp: '0.13' @@ -26,4 +28,5 @@ resources: bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=version repository: https://bitbucket.org/jpeacock/version -version: '0.9912' +version: '0.9913' +x_serialization_backend: 'CPAN::Meta::YAML version 0.012' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/Makefile.PL new/version-0.9913/Makefile.PL --- old/version-0.9912/Makefile.PL 2015-01-21 03:37:28.000000000 +0100 +++ new/version-0.9913/Makefile.PL 2016-02-17 04:43:54.000000000 +0100 @@ -52,7 +52,7 @@ 'parent' => 0.221, ); - WriteMakefile( VERSION => '0.9912', + WriteMakefile( VERSION => '0.9913', NAME => 'version', LICENSE => 'perl', MIN_PERL_VERSION=> 5.006002, @@ -106,6 +106,9 @@ mailto => '[email protected]', }, }, + no_index => { + package => ['charstar'], + }, }, ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/README new/version-0.9913/README --- old/version-0.9912/README 2015-01-21 03:37:57.000000000 +0100 +++ new/version-0.9913/README 2016-02-17 04:43:54.000000000 +0100 @@ -1,4 +1,4 @@ -version 0.9912 +version 0.9913 ================================== Object oriented versions for all Perl releases from 5.6.2 onward. Replaces @@ -26,6 +26,34 @@ 5.10.0 to segfault. As long as some module calls 'use version', then the replacement code will take effect and Perl will not crash. +Major Changes in 0.9912_03 - 2016-01-21 +========================================= +Apply two pull requests from bitbucket: +https://bitbucket.org/jpeacock/version/pull-requests/1/fix-test-failures-due-to-hard-coded/diff +https://bitbucket.org/jpeacock/version/pull-requests/2/static-all-symbols/diff + +Major Changes in 0.9912_02 - 2016-01-03 +========================================= + +Fix stupid mistake in locale tests, resolves: + https://rt.cpan.org/Ticket/Display.html?id=110852 + +Major Changes in 0.9912_01 - 2015-12-31 +========================================= + +Apply patch to implement Lyon Consensus: + https://gist.github.com/dagolden/9559280 + +Also resolve the following tickets: + https://rt.cpan.org/Ticket/Display.html?id=101647 + https://rt.cpan.org/Ticket/Display.html?id=101841 + https://rt.cpan.org/Ticket/Display.html?id=105315 + https://rt.cpan.org/Ticket/Display.html?id=106782 + https://rt.cpan.org/Ticket/Display.html?id=107113 + https://rt.cpan.org/Ticket/Display.html?id=107114 + https://rt.cpan.org/Ticket/Display.html?id=98744 + https://rt.cpan.org/Ticket/Display.html?id=102272 + Major Changes in 0.9912 - 2015-01-20 ===================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/lib/version/Internals.pod new/version-0.9913/lib/version/Internals.pod --- old/version-0.9912/lib/version/Internals.pod 2015-01-18 23:49:27.000000000 +0100 +++ new/version-0.9913/lib/version/Internals.pod 2016-01-02 15:44:39.000000000 +0100 @@ -21,14 +21,14 @@ =over 4 -=item Decimal Versions +=item Decimal versions Any version which "looks like a number", see L<Decimal Versions>. This also includes versions with a single decimal point and a single embedded underscore, see L<Alpha Versions>, even though these must be quoted to preserve the underscore formatting. -=item Dotted-Decimal Versions +=item Dotted-Decimal versions Also referred to as "Dotted-Integer", these contains more than one decimal point and may have an optional embedded underscore, see L<Dotted-Decimal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/lib/version/regex.pm new/version-0.9913/lib/version/regex.pm --- old/version-0.9912/lib/version/regex.pm 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/lib/version/regex.pm 2016-02-17 04:43:54.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw($VERSION $CLASS $STRICT $LAX); -$VERSION = 0.9912; +$VERSION = 0.9913; #--------------------------------------------------------------------------# # Version regexp components diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/lib/version.pm new/version-0.9913/lib/version.pm --- old/version-0.9912/lib/version.pm 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/lib/version.pm 2016-02-17 04:43:54.000000000 +0100 @@ -10,7 +10,7 @@ use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv); -$VERSION = 0.9912; +$VERSION = 0.9913; $CLASS = 'version'; # !!!!Delete this next block completely when adding to Perl core!!!! @@ -34,6 +34,7 @@ *version::stringify = \&version::vpp::stringify; *{'version::(""'} = \&version::vpp::stringify; *{'version::(<=>'} = \&version::vpp::vcmp; + *{'version::(cmp'} = \&version::vpp::vcmp; *version::parse = \&version::vpp::parse; } } @@ -52,6 +53,7 @@ *version::stringify = \&version::vxs::stringify; *{'version::(""'} = \&version::vxs::stringify; *{'version::(<=>'} = \&version::vxs::VCMP; + *{'version::(cmp'} = \&version::vxs::VCMP; *version::parse = \&version::vxs::parse; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/lib/version.pod new/version-0.9913/lib/version.pod --- old/version-0.9912/lib/version.pod 2015-01-21 02:54:36.000000000 +0100 +++ new/version-0.9913/lib/version.pod 2016-01-02 15:44:39.000000000 +0100 @@ -12,8 +12,8 @@ # Declaring a dotted-decimal $VERSION (keep on one line!) use version; our $VERSION = version->declare("v1.2.3"); # formal - use version; our $VERSION = qv("v1.2.3"); # shorthand - use version; our $VERSION = qv("v1.2_3"); # alpha + use version; our $VERSION = qv("v1.2.3"); # deprecated + use version; our $VERSION = qv("v1.2_3"); # deprecated # Declaring an old-style decimal $VERSION (use quotes!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/00impl-pp.t new/version-0.9913/t/00impl-pp.t --- old/version-0.9912/t/00impl-pp.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/00impl-pp.t 2016-02-17 04:43:54.000000000 +0100 @@ -5,11 +5,14 @@ ######################### use Test::More qw/no_plan/; +use File::Spec; BEGIN { - (my $coretests = $0) =~ s'[^/]+\.t'coretests.pm'; + my $coretests = File::Spec->catpath( + (File::Spec->splitpath($0))[0,1], 'coretests.pm' + ); require $coretests; - use_ok('version::vpp', 0.9912); + use_ok('version::vpp', 0.9913); } BaseTests("version::vpp","new","qv"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/01base.t new/version-0.9913/t/01base.t --- old/version-0.9912/t/01base.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/01base.t 2016-02-17 04:43:54.000000000 +0100 @@ -5,11 +5,14 @@ ######################### use Test::More qw/no_plan/; +use File::Spec; BEGIN { - (my $coretests = $0) =~ s'[^/]+\.t'coretests.pm'; + my $coretests = File::Spec->catpath( + (File::Spec->splitpath($0))[0,1], 'coretests.pm' + ); require $coretests; - use_ok('version', 0.9912); + use_ok('version', 0.9913); } BaseTests("version","new","qv"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/02derived.t new/version-0.9913/t/02derived.t --- old/version-0.9912/t/02derived.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/02derived.t 2016-02-17 04:43:54.000000000 +0100 @@ -5,12 +5,15 @@ ######################### use Test::More qw/no_plan/; +use File::Spec; use File::Temp qw/tempfile/; BEGIN { - (my $coretests = $0) =~ s'[^/]+\.t'coretests.pm'; + my $coretests = File::Spec->catpath( + (File::Spec->splitpath($0))[0,1], 'coretests.pm' + ); require $coretests; - use_ok("version", 0.9912); + use_ok("version", 0.9913); # If we made it this far, we are ok. } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/03require.t new/version-0.9913/t/03require.t --- old/version-0.9912/t/03require.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/03require.t 2016-02-17 04:43:54.000000000 +0100 @@ -5,16 +5,19 @@ ######################### use Test::More qw/no_plan/; +use File::Spec; BEGIN { - (my $coretests = $0) =~ s'[^/]+\.t'coretests.pm'; + my $coretests = File::Spec->catpath( + (File::Spec->splitpath($0))[0,1], 'coretests.pm' + ); require $coretests; } # Don't want to use, because we need to make sure that the import doesn't # fire just yet (some code does this to avoid importing qv() and delare()). require_ok("version"); -is $version::VERSION, 0.9912, "Make sure we have the correct class"; +is $version::VERSION, 0.9913, "Make sure we have the correct class"; ok(!"main"->can("qv"), "We don't have the imported qv()"); ok(!"main"->can("declare"), "We don't have the imported declare()"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/05sigdie.t new/version-0.9913/t/05sigdie.t --- old/version-0.9912/t/05sigdie.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/05sigdie.t 2016-02-17 04:43:54.000000000 +0100 @@ -14,7 +14,7 @@ } BEGIN { - use version 0.9912; + use version 0.9913; } pass "Didn't get caught by the wrong DIE handler, which is a good thing"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/06noop.t new/version-0.9913/t/06noop.t --- old/version-0.9912/t/06noop.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/06noop.t 2016-02-17 04:43:54.000000000 +0100 @@ -7,7 +7,7 @@ use Test::More qw/no_plan/; BEGIN { - use_ok('version', 0.9912); + use_ok('version', 0.9913); } my $v1 = version->new('1.2'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/07locale.t new/version-0.9913/t/07locale.t --- old/version-0.9912/t/07locale.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/07locale.t 2016-02-17 04:43:54.000000000 +0100 @@ -7,11 +7,11 @@ use File::Basename; use File::Temp qw/tempfile/; use POSIX qw/locale_h/; -use Test::More tests => 7; +use Test::More tests => 8; use Config; BEGIN { - use_ok('version', 0.9912); + use_ok('version', 0.9913); } SKIP: { @@ -38,7 +38,7 @@ $loc = setlocale( LC_ALL, $_); last if $loc && localeconv()->{decimal_point} eq ','; } - skip 'Cannot test locale handling without a comma locale', 5 + skip 'Cannot test locale handling without a comma locale', 6 unless $loc and localeconv()->{decimal_point} eq ','; setlocale(LC_NUMERIC, $loc); @@ -50,6 +50,11 @@ ok ($v eq "1.23", "Locale doesn't apply to version objects"); ok ($v == $ver, "Comparison to locale floating point"); + TODO: { # Resolve https://rt.cpan.org/Ticket/Display.html?id=102272 + local $TODO = 'Fails for Perl 5.x.0 < 5.19.0'; + $ver = version->new($]); + is "$ver", "$]", 'Use PV for dualvars'; + } setlocale( LC_ALL, $orig_loc); # reset this before possible skip skip 'Cannot test RT#46921 with Perl < 5.008', 1 if ($] < 5.008); @@ -77,169 +82,243 @@ __DATA__ af_ZA af_ZA.utf8 +af_ZA.UTF-8 an_ES an_ES.utf8 +an_ES.UTF-8 az_AZ.utf8 +az_AZ.UTF-8 be_BY be_BY.utf8 +be_BY.UTF-8 bg_BG bg_BG.utf8 +bg_BG.UTF-8 br_FR br_FR@euro br_FR.utf8 +br_FR.UTF-8 bs_BA bs_BA.utf8 +bs_BA.UTF-8 ca_ES ca_ES@euro ca_ES.utf8 +ca_ES.UTF-8 cs_CZ cs_CZ.utf8 +cs_CZ.UTF-8 da_DK da_DK.utf8 +da_DK.UTF-8 de_AT de_AT@euro de_AT.utf8 +de_AT.UTF-8 de_BE de_BE@euro de_BE.utf8 +de_BE.UTF-8 de_DE de_DE@euro de_DE.utf8 +de_DE.UTF-8 +de_DE.UTF-8 de_LU de_LU@euro de_LU.utf8 +de_LU.UTF-8 el_GR el_GR.utf8 +el_GR.UTF-8 en_DK en_DK.utf8 +en_DK.UTF-8 es_AR es_AR.utf8 +es_AR.UTF-8 es_BO es_BO.utf8 +es_BO.UTF-8 es_CL es_CL.utf8 +es_CL.UTF-8 es_CO es_CO.utf8 +es_CO.UTF-8 es_EC es_EC.utf8 +es_EC.UTF-8 es_ES es_ES@euro es_ES.utf8 +es_ES.UTF-8 es_PY es_PY.utf8 +es_PY.UTF-8 es_UY es_UY.utf8 +es_UY.UTF-8 es_VE es_VE.utf8 +es_VE.UTF-8 et_EE et_EE.iso885915 et_EE.utf8 +et_EE.UTF-8 eu_ES eu_ES@euro eu_ES.utf8 +eu_ES.UTF-8 fi_FI fi_FI@euro fi_FI.utf8 +fi_FI.UTF-8 fo_FO fo_FO.utf8 +fo_FO.UTF-8 fr_BE fr_BE@euro fr_BE.utf8 +fr_BE.UTF-8 fr_CA fr_CA.utf8 +fr_CA.UTF-8 fr_CH fr_CH.utf8 +fr_CH.UTF-8 fr_FR fr_FR@euro fr_FR.utf8 +fr_FR.UTF-8 fr_LU fr_LU@euro fr_LU.utf8 +fr_LU.UTF-8 gl_ES gl_ES@euro gl_ES.utf8 +gl_ES.UTF-8 hr_HR hr_HR.utf8 +hr_HR.UTF-8 hu_HU hu_HU.utf8 +hu_HU.UTF-8 id_ID id_ID.utf8 +id_ID.UTF-8 is_IS is_IS.utf8 +is_IS.UTF-8 it_CH it_CH.utf8 +it_CH.UTF-8 it_IT it_IT@euro it_IT.utf8 +it_IT.UTF-8 ka_GE ka_GE.utf8 +ka_GE.UTF-8 kk_KZ kk_KZ.utf8 +kk_KZ.UTF-8 kl_GL kl_GL.utf8 +kl_GL.UTF-8 lt_LT lt_LT.utf8 +lt_LT.UTF-8 lv_LV lv_LV.utf8 +lv_LV.UTF-8 mk_MK mk_MK.utf8 +mk_MK.UTF-8 mn_MN mn_MN.utf8 +mn_MN.UTF-8 nb_NO nb_NO.utf8 +nb_NO.UTF-8 nl_BE nl_BE@euro nl_BE.utf8 +nl_BE.UTF-8 nl_NL nl_NL@euro nl_NL.utf8 +nl_NL.UTF-8 nn_NO nn_NO.utf8 +nn_NO.UTF-8 no_NO no_NO.utf8 +no_NO.UTF-8 oc_FR oc_FR.utf8 +oc_FR.UTF-8 pl_PL pl_PL.utf8 +pl_PL.UTF-8 pt_BR pt_BR.utf8 +pt_BR.UTF-8 pt_PT pt_PT@euro pt_PT.utf8 +pt_PT.UTF-8 ro_RO ro_RO.utf8 +ro_RO.UTF-8 ru_RU ru_RU.koi8r ru_RU.utf8 +ru_RU.UTF-8 ru_UA ru_UA.utf8 +ru_UA.UTF-8 se_NO se_NO.utf8 +se_NO.UTF-8 sh_YU sh_YU.utf8 +sh_YU.UTF-8 sk_SK sk_SK.utf8 +sk_SK.UTF-8 sl_SI sl_SI.utf8 +sl_SI.UTF-8 sq_AL sq_AL.utf8 +sq_AL.UTF-8 sr_CS sr_CS.utf8 +sr_CS.UTF-8 sv_FI sv_FI@euro sv_FI.utf8 +sv_FI.UTF-8 sv_SE sv_SE.iso885915 sv_SE.utf8 +sv_SE.UTF-8 tg_TJ tg_TJ.utf8 +tg_TJ.UTF-8 tr_TR tr_TR.utf8 +tr_TR.UTF-8 tt_RU.utf8 +tt_RU.UTF-8 uk_UA uk_UA.utf8 +uk_UA.UTF-8 vi_VN vi_VN.tcvn wa_BE wa_BE@euro wa_BE.utf8 +wa_BE.UTF-8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/08_corelist.t new/version-0.9913/t/08_corelist.t --- old/version-0.9912/t/08_corelist.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/08_corelist.t 2016-02-17 04:43:54.000000000 +0100 @@ -5,7 +5,7 @@ ######################### use Test::More tests => 3; -use_ok("version", 0.9912); +use_ok("version", 0.9913); # do strict lax tests in a sub to isolate a package to test importing SKIP: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/09_list_util.t new/version-0.9913/t/09_list_util.t --- old/version-0.9912/t/09_list_util.t 2015-01-21 03:37:58.000000000 +0100 +++ new/version-0.9913/t/09_list_util.t 2016-02-17 04:43:54.000000000 +0100 @@ -4,7 +4,7 @@ ######################### use strict; -use_ok("version", 0.9912); +use_ok("version", 0.9913); use Test::More; BEGIN { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/10_lyon.t new/version-0.9913/t/10_lyon.t --- old/version-0.9912/t/10_lyon.t 1970-01-01 01:00:00.000000000 +0100 +++ new/version-0.9913/t/10_lyon.t 2016-01-02 15:44:39.000000000 +0100 @@ -0,0 +1,45 @@ +#! perl + +use Test::More qw/no_plan/; + +use version; + +# These values are from the Lyon consensus, as taken from +# https://gist.github.com/dagolden/9559280 + +ok(version->new(1.0203) == version->new('1.0203')); +ok(version->new(1.02_03) == version->new('1.02_03')); +ok(version->new(v1.2.3) == version->new('v1.2.3')); +if ($] >= 5.008_001) { + ok(version->new(v1.2.3_0) == version->new('v1.2.3_0')); +} + +cmp_ok(version->new(1.0203), '==', version->new('1.0203')); +cmp_ok(version->new(1.02_03), '==', version->new('1.02_03')); +cmp_ok(version->new(v1.2.3), '==', version->new('v1.2.3')); +if ($] >= 5.008_001) { + cmp_ok(version->new(v1.2.3_0), '==', version->new('v1.2.3_0')); +} + +cmp_ok(version->new('1.0203')->numify, '==', '1.0203'); +is(version->new('1.0203')->normal, 'v1.20.300'); + +cmp_ok(version->new('1.02_03')->numify, '==', '1.0203'); +is(version->new('1.02_03')->normal, 'v1.20.300'); + +cmp_ok(version->new('v1.2.30')->numify, '==', '1.002030'); +is(version->new('v1.2.30')->normal, 'v1.2.30'); +cmp_ok(version->new('v1.2.3_0')->numify, '==', '1.002030'); +is(version->new('v1.2.3_0')->normal, 'v1.2.30'); + +is(version->new("1.0203")->stringify, "1.0203"); +is(version->new("1.02_03")->stringify, "1.02_03"); +is(version->new("v1.2.30")->stringify, "v1.2.30"); +is(version->new("v1.2.3_0")->stringify, "v1.2.3_0"); +is(version->new(1.0203)->stringify, "1.0203"); +is(version->new(1.02_03)->stringify, "1.0203"); +is(version->new(v1.2.30)->stringify, "v1.2.30"); +TODO: { + local $TODO = 'Stringification of dotted decimal alpha versions is ambiguous'; + is(version->new(v1.2.3_0)->stringify, "v1.2.30"); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/t/coretests.pm new/version-0.9913/t/coretests.pm --- old/version-0.9912/t/coretests.pm 2015-01-21 03:38:16.000000000 +0100 +++ new/version-0.9913/t/coretests.pm 2016-01-02 15:44:39.000000000 +0100 @@ -10,7 +10,7 @@ *main::use_ok = sub ($;@) { my ($pkg, $req, @args) = @_; eval "use $pkg $req ".join(' ',@args); - is ${"$pkg\::VERSION"}, $req, 'Had to manually use version'; + is ${"$pkg\::VERSION"}, eval($req), 'Had to manually use version'; # If we made it this far, we are ok. }; } @@ -132,8 +132,8 @@ ok ( $version != $new_version, '$version != $new_version' ); $version = $CLASS->$method("1.2.4"); - ok ( $version > $new_version, '$version > $new_version' ); - ok ( $new_version < $version, '$new_version < $version' ); + ok ( $version < $new_version, '$version < $new_version' ); + ok ( $new_version > $version, '$new_version > $version' ); ok ( $version != $new_version, '$version != $new_version' ); # now test with alpha version form with object @@ -146,24 +146,22 @@ ok ( $new_version->is_alpha, '$new_version->is_alpha'); $version = $CLASS->$method("1.2.4"); - ok ( $version > $new_version, '$version > $new_version' ); - ok ( $new_version < $version, '$new_version < $version' ); + ok ( $version < $new_version, '$version < $new_version' ); + ok ( $new_version > $version, '$new_version > $version' ); ok ( $version != $new_version, '$version != $new_version' ); - $version = $CLASS->$method("1.2.3.4"); + $version = $CLASS->$method("1.2.34"); $new_version = $CLASS->$method("1.2.3_4"); - ok ( $version > $new_version, '$version > $new_version' ); - ok ( $new_version < $version, '$new_version < $version' ); - ok ( $version != $new_version, '$version != $new_version' ); + ok ( $version == $new_version, '$version == $new_version' ); - $version = $CLASS->$method("v1.2.3"); - $new_version = $CLASS->$method("1.2.3.0"); + $version = $CLASS->$method("v1.2.30"); + $new_version = $CLASS->$method("1.2.30.0"); ok ( $version == $new_version, '$version == $new_version' ); $new_version = $CLASS->$method("1.2.3_0"); ok ( $version == $new_version, '$version == $new_version' ); - $new_version = $CLASS->$method("1.2.3.1"); + $new_version = $CLASS->$method("1.2.30.1"); ok ( $version < $new_version, '$version < $new_version' ); - $new_version = $CLASS->$method("1.2.3_1"); + $new_version = $CLASS->$method("1.2.30_1"); ok ( $version < $new_version, '$version < $new_version' ); $new_version = $CLASS->$method("1.1.999"); ok ( $version > $new_version, '$version > $new_version' ); @@ -348,6 +346,7 @@ skip 'Cannot test bare alpha v-strings with Perl < 5.8.1', 2 if $] lt 5.008_001; $version = $CLASS->$method(v1.2.3_4); + $DB::single = 1; is($version, "v1.2.3_4", '"$version" eq "v1.2.3_4"'); $version = $CLASS->$method(eval "v1.2.3_4"); is($version, "v1.2.3_4", '"$version" eq "v1.2.3_4" (from eval)'); @@ -626,6 +625,14 @@ is $v->normal, "v1.1.10", 'Ignore leading zeros'; unlike $warning, qr/Integer overflow in version/, 'No overflow warning'; } + { # https://rt.cpan.org/Ticket/Display.html?id=93340 + $v = $CLASS->parse(q[2.6_01]); + is $v->normal, 'v2.601.0', 'Normal strips underscores from alphas' + } + { # https://rt.cpan.org/Ticket/Display.html?id=98744 + $v = $CLASS->new("1.02_003"); + is $v->numify, '1.020030', 'Ignore underscores for numify'; + } } 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vperl/vpp.pm new/version-0.9913/vperl/vpp.pm --- old/version-0.9912/vperl/vpp.pm 2015-01-21 03:38:38.000000000 +0100 +++ new/version-0.9913/vperl/vpp.pm 2016-02-17 04:43:54.000000000 +0100 @@ -123,7 +123,7 @@ use Config; use vars qw($VERSION $CLASS @ISA $LAX $STRICT $WARN_CATEGORY); -$VERSION = 0.9912; +$VERSION = 0.9913; $CLASS = 'version::vpp'; if ($] > 5.015) { warnings::register_categories(qw/version/); @@ -500,7 +500,7 @@ $$rv->{width} = $width; } - while (isDIGIT($pos)) { + while (isDIGIT($pos) || $pos eq '_') { $pos++; } if (!isALPHA($pos)) { @@ -521,6 +521,7 @@ if ( !$qv && $s > $start && $saw_decimal == 1 ) { $mult *= 100; while ( $s < $end ) { + next if $s eq '_'; $orev = $rev; $rev += $s * $mult; $mult /= 10; @@ -540,6 +541,7 @@ } else { while (--$end >= $s) { + next if $end eq '_'; $orev = $rev; $rev += $end * $mult; $mult *= 10; @@ -561,14 +563,7 @@ last; } elsif ( $pos eq '.' ) { - $pos++; - if ($qv) { - # skip leading zeros - while ($pos eq '0') { - $pos++; - } - } - $s = $pos; + $s = ++$pos; } elsif ( $pos eq '_' && isDIGIT($pos+1) ) { $s = ++$pos; @@ -584,7 +579,7 @@ last; } if ( $qv ) { - while ( isDIGIT($pos) ) { + while ( isDIGIT($pos) || $pos eq '_') { $pos++; } } @@ -704,7 +699,7 @@ my $s = scan_version($value, \$self, $qv); if ($s) { # must be something left over - warn("Version string '%s' contains invalid data; " + warn(sprintf "Version string '%s' contains invalid data; " ."ignoring: '%s'", $value, $s); } @@ -719,7 +714,6 @@ require Carp; Carp::croak("Invalid version object"); } - my $width = $self->{width} || 3; my $alpha = $self->{alpha} || ""; my $len = $#{$self->{version}}; my $digit = $self->{version}[0]; @@ -729,28 +723,12 @@ warnings::warn($WARN_CATEGORY, 'alpha->numify() is lossy'); } - for ( my $i = 1 ; $i < $len ; $i++ ) { + for ( my $i = 1 ; $i <= $len ; $i++ ) { $digit = $self->{version}[$i]; - if ( $width < 3 ) { - my $denom = 10**(3-$width); - my $quot = int($digit/$denom); - my $rem = $digit - ($quot * $denom); - $string .= sprintf("%0".$width."d_%d", $quot, $rem); - } - else { - $string .= sprintf("%03d", $digit); - } + $string .= sprintf("%03d", $digit); } - if ( $len > 0 ) { - $digit = $self->{version}[$len]; - if ( $alpha && $width == 3 ) { - $string .= "_"; - } - $string .= sprintf("%0".$width."d", $digit); - } - else # $len = 0 - { + if ( $len == 0 ) { $string .= sprintf("000"); } @@ -763,28 +741,16 @@ require Carp; Carp::croak("Invalid version object"); } - my $alpha = $self->{alpha} || ""; - my $qv = $self->{qv} || ""; my $len = $#{$self->{version}}; my $digit = $self->{version}[0]; my $string = sprintf("v%d", $digit ); - for ( my $i = 1 ; $i < $len ; $i++ ) { + for ( my $i = 1 ; $i <= $len ; $i++ ) { $digit = $self->{version}[$i]; $string .= sprintf(".%d", $digit); } - if ( $len > 0 ) { - $digit = $self->{version}[$len]; - if ( $alpha ) { - $string .= sprintf("_%0d", $digit); - } - else { - $string .= sprintf(".%0d", $digit); - } - } - if ( $len <= 2 ) { for ( $len = 2 - $len; $len != 0; $len-- ) { $string .= sprintf(".%0d", 0); @@ -808,7 +774,6 @@ } sub vcmp { - require UNIVERSAL; my ($left,$right,$swap) = @_; my $class = ref($left); unless ( UNIVERSAL::isa($right, $class) ) { @@ -838,20 +803,6 @@ $i++; } - # tiebreaker for alpha with identical terms - if ( $retval == 0 - && $l == $r - && $left->{version}[$m] == $right->{version}[$m] - && ( $lalpha || $ralpha ) ) { - - if ( $lalpha && !$ralpha ) { - $retval = -1; - } - elsif ( $ralpha && !$lalpha) { - $retval = +1; - } - } - # possible match except for trailing 0's if ( $retval == 0 && $l != $r ) { if ( $l < $r ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/Makefile.PL new/version-0.9913/vutil/Makefile.PL --- old/version-0.9912/vutil/Makefile.PL 2015-01-18 23:49:27.000000000 +0100 +++ new/version-0.9913/vutil/Makefile.PL 2016-02-16 02:40:18.000000000 +0100 @@ -6,6 +6,5 @@ NAME => 'version::vxs', AUTHOR => 'John Peacock <[email protected]>', VERSION_FROM => 'lib/version/vxs.pm', - OBJECT => q/$(O_FILES)/, depend => { qw< vxs.c vxs.inc > }, ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/lib/version/vxs.pm new/version-0.9913/vutil/lib/version/vxs.pm --- old/version-0.9912/vutil/lib/version/vxs.pm 2015-01-21 03:38:39.000000000 +0100 +++ new/version-0.9913/vutil/lib/version/vxs.pm 2016-02-17 04:43:54.000000000 +0100 @@ -5,7 +5,7 @@ use strict; use vars qw(@ISA $VERSION $CLASS ); -$VERSION = 0.9912; +$VERSION = 0.9913; $CLASS = 'version::vxs'; eval { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/vutil.c new/version-0.9913/vutil/vutil.c --- old/version-0.9912/vutil/vutil.c 2015-01-21 03:39:01.000000000 +0100 +++ new/version-0.9913/vutil/vutil.c 2016-02-17 04:43:54.000000000 +0100 @@ -1,19 +1,9 @@ /* This file is part of the "version" CPAN distribution. Please avoid editing it in the perl core. */ -#ifndef PERL_CORE -# define PERL_NO_GET_CONTEXT -# include "EXTERN.h" -# include "perl.h" -# include "XSUB.h" -# define NEED_my_snprintf -# define NEED_newRV_noinc -# define NEED_vnewSVpvf -# define NEED_newSVpvn_flags_GLOBAL -# define NEED_warner -# include "ppport.h" +#ifdef PERL_CORE +# include "vutil.h" #endif -#include "vutil.h" #define VERSION_MAX 0x7FFFFFFF @@ -315,7 +305,7 @@ if ( !qv && width < 3 ) (void)hv_stores(MUTABLE_HV(hv), "width", newSViv(width)); - while (isDIGIT(*pos)) + while (isDIGIT(*pos) || *pos == '_') pos++; if (!isALPHA(*pos)) { I32 rev; @@ -335,6 +325,8 @@ if ( !qv && s > start && saw_decimal == 1 ) { mult *= 100; while ( s < end ) { + if (*s == '_') + continue; orev = rev; rev += (*s - '0') * mult; mult /= 10; @@ -353,7 +345,10 @@ } else { while (--end >= s) { - int i = (*end - '0'); + int i; + if (*end == '_') + continue; + i = (*end - '0'); if ( (mult == VERSION_MAX) || (i > VERSION_MAX / mult) || (i * mult > VERSION_MAX - rev)) @@ -400,7 +395,7 @@ break; } if ( qv ) { - while ( isDIGIT(*pos) ) + while ( isDIGIT(*pos) || *pos == '_') pos++; } else { @@ -606,35 +601,45 @@ char tbuf[64]; SV *sv = SvNVX(ver) > 10e50 ? newSV(64) : 0; char *buf; + +#if PERL_VERSION_GE(5,19,0) + if (SvPOK(ver)) { + /* dualvar? */ + goto VER_PV; + } +#endif + #ifdef USE_LOCALE_NUMERIC - const char * const cur_numeric = setlocale(LC_NUMERIC, NULL); - assert(cur_numeric); + { + const char * const cur_numeric = setlocale(LC_NUMERIC, NULL); + assert(cur_numeric); - /* XS code can set the locale without us knowing. To protect the - * version number parsing, which requires the radix character to be a - * dot, update our records as to what the locale is, so that our - * existing macro mechanism can correctly change it to a dot and back - * if necessary. This code is extremely unlikely to be in a loop, so - * the extra work will have a negligible performance impact. See [perl - * #121930]. - * - * If the current locale is a standard one, but we are expecting it to - * be a different, underlying locale, update our records to make the - * underlying locale this (standard) one. If the current locale is not - * a standard one, we should be expecting a non-standard one, the same - * one that we have recorded as the underlying locale. If not, update - * our records. */ - if (strEQ(cur_numeric, "C") || strEQ(cur_numeric, "POSIX")) { - if (! PL_numeric_standard) { - new_numeric(cur_numeric); - } - } - else if (PL_numeric_standard - || ! PL_numeric_name - || strNE(PL_numeric_name, cur_numeric)) - { - new_numeric(cur_numeric); - } + /* XS code can set the locale without us knowing. To protect the + * version number parsing, which requires the radix character to be a + * dot, update our records as to what the locale is, so that our + * existing macro mechanism can correctly change it to a dot and back + * if necessary. This code is extremely unlikely to be in a loop, so + * the extra work will have a negligible performance impact. See [perl + * #121930]. + * + * If the current locale is a standard one, but we are expecting it to + * be a different, underlying locale, update our records to make the + * underlying locale this (standard) one. If the current locale is not + * a standard one, we should be expecting a non-standard one, the same + * one that we have recorded as the underlying locale. If not, update + * our records. */ + if (strEQ(cur_numeric, "C") || strEQ(cur_numeric, "POSIX")) { + if (! PL_numeric_standard) { + new_numeric(cur_numeric); + } + } + else if (PL_numeric_standard + || ! PL_numeric_name + || strNE(PL_numeric_name, cur_numeric)) + { + new_numeric(cur_numeric); + } + } #endif { /* Braces needed because macro just below declares a variable */ STORE_NUMERIC_LOCAL_SET_STANDARD(); @@ -665,9 +670,7 @@ } #endif else if ( SvPOK(ver))/* must be a string or something like a string */ -#if PERL_VERSION_LT(5,17,2) VER_PV: -#endif { STRLEN len; version = savepvn(SvPV(ver,len), SvCUR(ver)); @@ -815,7 +818,6 @@ { SSize_t i, len; I32 digit; - int width; bool alpha = FALSE; SV *sv; AV *av; @@ -830,14 +832,6 @@ /* see if various flags exist */ if ( hv_exists(MUTABLE_HV(vs), "alpha", 5 ) ) alpha = TRUE; - { - SV ** svp = hv_fetchs(MUTABLE_HV(vs), "width", FALSE); - if ( svp ) - width = SvIV(*svp); - else - width = 3; - } - if (alpha) { Perl_ck_warner(aTHX_ packWARN(WARN_NUMERIC), @@ -860,30 +854,14 @@ digit = SvIV(tsv); } sv = Perl_newSVpvf(aTHX_ "%d.", (int)PERL_ABS(digit)); - for ( i = 1 ; i < len ; i++ ) + for ( i = 1 ; i <= len ; i++ ) { SV * tsv = *av_fetch(av, i, 0); digit = SvIV(tsv); - if ( width < 3 ) { - const int denom = (width == 2 ? 10 : 100); - const div_t term = div((int)PERL_ABS(digit),denom); - Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, term.quot, term.rem); - } - else { - Perl_sv_catpvf(aTHX_ sv, "%0*d", width, (int)digit); - } + Perl_sv_catpvf(aTHX_ sv, "%03d", (int)digit); } - if ( len > 0 ) - { - SV * tsv = *av_fetch(av, len, 0); - digit = SvIV(tsv); - if ( alpha && width == 3 ) /* alpha version */ - sv_catpvs(sv,"_"); - Perl_sv_catpvf(aTHX_ sv, "%0*d", width, (int)digit); - } - else /* len == 0 */ - { + if ( len == 0 ) { sv_catpvs(sv, "000"); } return sv; @@ -914,7 +892,6 @@ { I32 i, len, digit; bool alpha = FALSE; - bool qv = FALSE; SV *sv; AV *av; @@ -927,8 +904,6 @@ if ( hv_exists(MUTABLE_HV(vs), "alpha", 5 ) ) alpha = TRUE; - if ( hv_exists(MUTABLE_HV(vs), "qv", 2) ) - qv = TRUE; av = MUTABLE_AV(SvRV(*hv_fetchs(MUTABLE_HV(vs), "version", FALSE))); @@ -942,23 +917,12 @@ digit = SvIV(tsv); } sv = Perl_newSVpvf(aTHX_ "v%"IVdf, (IV)digit); - for ( i = 1 ; i < len ; i++ ) { + for ( i = 1 ; i <= len ; i++ ) { SV * tsv = *av_fetch(av, i, 0); digit = SvIV(tsv); Perl_sv_catpvf(aTHX_ sv, ".%"IVdf, (IV)digit); } - if ( len > 0 ) - { - /* handle last digit specially */ - SV * tsv = *av_fetch(av, len, 0); - digit = SvIV(tsv); - if ( alpha ) - Perl_sv_catpvf(aTHX_ sv, "_%"IVdf, (IV)digit); - else - Perl_sv_catpvf(aTHX_ sv, ".%"IVdf, (IV)digit); - } - if ( len <= 2 ) { /* short version, must be at least three */ for ( len = 2 - len; len != 0; len-- ) sv_catpvs(sv,".0"); @@ -1072,19 +1036,6 @@ i++; } - /* tiebreaker for alpha with identical terms */ - if ( retval == 0 && l == r && left == right && ( lalpha || ralpha ) ) - { - if ( lalpha && !ralpha ) - { - retval = -1; - } - else if ( ralpha && !lalpha) - { - retval = +1; - } - } - if ( l != r && retval == 0 ) /* possible match except for trailing 0's */ { if ( l < r ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/vutil.h new/version-0.9913/vutil/vutil.h --- old/version-0.9912/vutil/vutil.h 2015-01-21 02:54:36.000000000 +0100 +++ new/version-0.9913/vutil/vutil.h 2016-02-16 02:40:18.000000000 +0100 @@ -131,16 +131,16 @@ # define VUTIL_REPLACE_CORE 1 -const char * Perl_scan_version2(pTHX_ const char *s, SV *rv, bool qv); -SV * Perl_new_version2(pTHX_ SV *ver); -SV * Perl_upg_version2(pTHX_ SV *sv, bool qv); -SV * Perl_vstringify2(pTHX_ SV *vs); -SV * Perl_vverify2(pTHX_ SV *vs); -SV * Perl_vnumify2(pTHX_ SV *vs); -SV * Perl_vnormal2(pTHX_ SV *vs); -SV * Perl_vstringify2(pTHX_ SV *vs); -int Perl_vcmp2(pTHX_ SV *lsv, SV *rsv); -const char * Perl_prescan_version2(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha); +static const char * Perl_scan_version2(pTHX_ const char *s, SV *rv, bool qv); +static SV * Perl_new_version2(pTHX_ SV *ver); +static SV * Perl_upg_version2(pTHX_ SV *sv, bool qv); +static SV * Perl_vstringify2(pTHX_ SV *vs); +static SV * Perl_vverify2(pTHX_ SV *vs); +static SV * Perl_vnumify2(pTHX_ SV *vs); +static SV * Perl_vnormal2(pTHX_ SV *vs); +static SV * Perl_vstringify2(pTHX_ SV *vs); +static int Perl_vcmp2(pTHX_ SV *lsv, SV *rsv); +static const char * Perl_prescan_version2(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha); # define SCAN_VERSION(a,b,c) Perl_scan_version2(aTHX_ a,b,c) # define NEW_VERSION(a) Perl_new_version2(aTHX_ a) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/vxs.inc new/version-0.9913/vutil/vxs.inc --- old/version-0.9912/vutil/vxs.inc 2015-01-21 02:54:36.000000000 +0100 +++ new/version-0.9913/vutil/vxs.inc 2016-02-16 02:40:18.000000000 +0100 @@ -12,7 +12,12 @@ /* proto member is unused in version, it is used in CORE by non version xsubs */ # define VXSXSDP(x) #endif -#define VXS(name) XS(VXSp(name)); XS(VXSp(name)) + +#ifndef XS_INTERNAL +# define XS_INTERNAL(name) static XSPROTO(name) +#endif + +#define VXS(name) XS_INTERNAL(VXSp(name)); XS_INTERNAL(VXSp(name)) /* uses PUSHs, so SP must be at start, PUSHs sv on Perl stack, then returns from xsub; this is a little more machine code/tailcall friendly than mPUSHs(foo); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/version-0.9912/vutil/vxs.xs new/version-0.9913/vutil/vxs.xs --- old/version-0.9912/vutil/vxs.xs 2015-01-18 23:49:27.000000000 +0100 +++ new/version-0.9913/vutil/vxs.xs 2016-02-16 02:40:18.000000000 +0100 @@ -3,8 +3,16 @@ #include "perl.h" #include "XSUB.h" #define NEED_sv_2pv_nolen_GLOBAL +/* for vutil.c */ +#define NEED_my_snprintf +#define NEED_newRV_noinc +#define NEED_vnewSVpvf +#define NEED_newSVpvn_flags_GLOBAL +#define NEED_warner +/* end vutil.c */ #include "ppport.h" #include "vutil.h" +#include "vutil.c" /* -------------------------------------------------- * $Revision: 2.5 $
