Subject: | 1.59 release contains 1.58 versioned files |
I just tried installing the latest version of FindBin::libs. When I
submitted my previous patch I hadn't realised you had multiple files.
Installing 1.59 give me:
[522][chisel@shell:development]➔ cpanm FindBin::libs
--> Working on FindBin::libs
Fetching
http://search.cpan.org/CPAN/authors/id/L/LE/LEMBARK/FindBin-libs-1.59.tar.gz
... OK
Configuring FindBin-libs-1.59 ... OK
Building and testing FindBin-libs-1.59 ... OK
Successfully installed FindBin-libs-1.59
Found conflicting versions for package 'FindBin::libs'
FindBin/libs.pm (1.58)
FindBin/libs_curr.pm (v1.58)
1 distribution installed
[523][chisel@shell:development]➔ cpanm FindBin::libs
FindBin::libs is up to date. (1.58)
[523][chisel@shell:development]➔ perlversion FindBin::libs
[FindBin::libs] 1.58
[524][chisel@shell:development]➔
Looking through the modules, everythign in
https://metacpan.org/source/LEMBARK/FindBin-libs-1.59/lib/FindBin has:
our $VERSION = v1.58
Because you're not using VERSION_FROM in Makefile.PL:
https://metacpan.org/source/LEMBARK/FindBin-libs-1.59/Makefile.PL
you've fallen foul of file versions and meta-data getting out of sync.
You're also still insonsistently using '1.58' and 'v1.58':
[584][chisel@shell:FindBin-libs-1.55][FindBin-libs-1.59⚡]➔ grep -Prh
'1.5\d' lib/
our $VERSION = v1.58;
our $VERSION=1.58;
our $VERSION = v1.58
Now that you've split out to multiple files with versions, can I propose:
* being super careful with releases
* doing something simliar to Parley::Version
** http://cpansearch.perl.org/src/CHISEL/Parley-1.2.1/lib/Parley/Version.pm
** http://cpansearch.perl.org/src/CHISEL/Parley-1.2.1/lib/Parley.pm
* switching to Dist::Zilla (this is worth the initial effort IMO)
I think the sanest fix for this current would be to:
for f in Makefile.PL META.yml $(grep -Prl '1.5\d' lib/); do perl -i -pe
's{v?1\.5\d}{v1.60}' $f; done