Skip Menu |

This queue is for tickets about the ExtUtils-Install CPAN distribution.

Report information
The Basics
Id: 132152
Status: new
Priority: 0/
Queue: ExtUtils-Install

People
Owner: Nobody in particular
Requestors: jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.14
Fixed in: (no value)



Subject: META.* and MYMETA.* files mishandled in MANIFEST and MANIFEST.SKIP
In the ExtUtils-Install distribution, MANIFEST unnecessarily includes 'META.json' and 'META.yml', while MANIFEST.SKIP fails to list 'MYMETA.json' and 'MYMETA.yml' as files to be skipped when the tarball is generated by 'make dist'. The consequences are two-fold. First, we get a misleading warning during configuration: ##### $ perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: META.json META.yml Please inform the author. Generating a Unix-style Makefile Writing Makefile for ExtUtils::Install Writing MYMETA.yml and MYMETA.json ##### Second, if I call 'make manifest', the MYMETA.* files are added to MANIFEST and subsequently added to the tarball -- unnecessarily so. ##### [perlmonger: ExtUtils-Install] $ make cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm Manifying 3 pod documents [perlmonger: ExtUtils-Install] $ make manifest "/usr/local/bin/perl5" "-Ilib" "-MExtUtils::Manifest=mkmanifest" -e mkmanifest Added to MANIFEST: MYMETA.json Added to MANIFEST: MYMETA.yml ##### Assisted on #toolchain by comments from leont_, ether and Grinnz, I suggest the following patch (which I'll submit via p.r.): Revisions: ##### [perlmonger: ExtUtils-Install] $ gitdstag |cat diff --git a/MANIFEST b/MANIFEST index f6f49a3..e96117b 100644 --- a/MANIFEST +++ b/MANIFEST @@ -6,8 +6,6 @@ lib/ExtUtils/Packlist.pm Makefile.PL MANIFEST MANIFEST.SKIP -META.json -META.yml README t/can_write_dir.t t/Install.t diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP index d44642a..13441b4 100644 --- a/MANIFEST.SKIP +++ b/MANIFEST.SKIP @@ -16,6 +16,7 @@ make_from_core.sh \bpm_to_blib\.ts$ \bpm_to_blib$ \.gz$ +\b\bMYMETA.*$ \bblibdirs\.ts$ # 6.18 through 6.25 generated this # Avoid Module::Build generated and utility files. ##### After revisions in MANIFEST and MANIFEST.SKIP ##### $ perl Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for ExtUtils::Install Writing MYMETA.yml and MYMETA.json $ make cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm Manifying 3 pod documents $ make dist rm -rf ExtUtils-Install-2.14 "/usr/local/bin/perl5" "-Ilib" "-MExtUtils::Manifest=manicopy,maniread" -e "manicopy(maniread(),'ExtUtils-Install-2.14', 'best');" mkdir ExtUtils-Install-2.14 ... mkdir ExtUtils-Install-2.14/t/lib/MakeMaker/Test/Setup Generating META.yml Generating META.json tar cvf ExtUtils-Install-2.14.tar ExtUtils-Install-2.14 a ExtUtils-Install-2.14 a ExtUtils-Install-2.14/README a ExtUtils-Install-2.14/META.yml a ExtUtils-Install-2.14/lib a ExtUtils-Install-2.14/INSTALL.SKIP a ExtUtils-Install-2.14/MANIFEST.SKIP a ExtUtils-Install-2.14/Changes a ExtUtils-Install-2.14/MANIFEST a ExtUtils-Install-2.14/Makefile.PL a ExtUtils-Install-2.14/META.json a ExtUtils-Install-2.14/t ... a ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm rm -rf ExtUtils-Install-2.14 gzip -9f ExtUtils-Install-2.14.tar Created ExtUtils-Install-2.14.tar.gz # Verify that 'make dist' has re-generated MANIFEST within tarball to include META.json and META.yml [perlmonger: ExtUtils-Install] $ mv ExtUtils-Install-2.14.tar.gz /tmp [perlmonger: ExtUtils-Install] $ cd /tmp [perlmonger: tmp] $ tar xzvf ExtUtils-Install-2.14.tar.gz x ExtUtils-Install-2.14/ x ExtUtils-Install-2.14/README x ExtUtils-Install-2.14/META.yml x ExtUtils-Install-2.14/lib/ x ExtUtils-Install-2.14/INSTALL.SKIP x ExtUtils-Install-2.14/MANIFEST.SKIP x ExtUtils-Install-2.14/Changes x ExtUtils-Install-2.14/MANIFEST x ExtUtils-Install-2.14/Makefile.PL x ExtUtils-Install-2.14/META.json x ExtUtils-Install-2.14/t/ ... x ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm [perlmonger: tmp] $ grep META ExtUtils-Install-2.14/MANIFEST META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) ##### The p.r. will consist of two separate commits. One reflecting the revisions above; the second reflecting the re-ordering of files in MANIFEST once 'make manifest' is run. Thank you very much. Jim Keenan
On Sat Mar 14 20:11:43 2020, JKEENAN wrote: Show quoted text
> In the ExtUtils-Install distribution, MANIFEST unnecessarily includes > 'META.json' and 'META.yml', while MANIFEST.SKIP fails to list > 'MYMETA.json' and 'MYMETA.yml' as files to be skipped when the tarball > is generated by 'make dist'. > > The consequences are two-fold. First, we get a misleading warning > during configuration: > > ##### > $ perl Makefile.PL > Checking if your kit is complete... > Warning: the following files are missing in your kit: > META.json > META.yml > Please inform the author. > Generating a Unix-style Makefile > Writing Makefile for ExtUtils::Install > Writing MYMETA.yml and MYMETA.json > ##### > > Second, if I call 'make manifest', the MYMETA.* files are added to > MANIFEST and subsequently added to the tarball -- unnecessarily so. > > ##### > [perlmonger: ExtUtils-Install] $ make > cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm > cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm > cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm > Manifying 3 pod documents > [perlmonger: ExtUtils-Install] $ make manifest > "/usr/local/bin/perl5" "-Ilib" "-MExtUtils::Manifest=mkmanifest" -e > mkmanifest > Added to MANIFEST: MYMETA.json > Added to MANIFEST: MYMETA.yml > ##### > > Assisted on #toolchain by comments from leont_, ether and Grinnz, I > suggest the following patch (which I'll submit via p.r.): > > Revisions: > ##### > [perlmonger: ExtUtils-Install] $ gitdstag |cat > diff --git a/MANIFEST b/MANIFEST > index f6f49a3..e96117b 100644 > --- a/MANIFEST > +++ b/MANIFEST > @@ -6,8 +6,6 @@ lib/ExtUtils/Packlist.pm > Makefile.PL > MANIFEST > MANIFEST.SKIP > -META.json > -META.yml > README > t/can_write_dir.t > t/Install.t > diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP > index d44642a..13441b4 100644 > --- a/MANIFEST.SKIP > +++ b/MANIFEST.SKIP > @@ -16,6 +16,7 @@ make_from_core.sh > \bpm_to_blib\.ts$ > \bpm_to_blib$ > \.gz$ > +\b\bMYMETA.*$ > \bblibdirs\.ts$ # 6.18 through 6.25 generated this > > # Avoid Module::Build generated and utility files. > ##### > > After revisions in MANIFEST and MANIFEST.SKIP > ##### > $ perl Makefile.PL > Checking if your kit is complete... > Looks good > Generating a Unix-style Makefile > Writing Makefile for ExtUtils::Install > Writing MYMETA.yml and MYMETA.json > > $ make > cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm > cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm > cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm > Manifying 3 pod documents > > $ make dist > rm -rf ExtUtils-Install-2.14 > "/usr/local/bin/perl5" "-Ilib" "- > MExtUtils::Manifest=manicopy,maniread" -e > "manicopy(maniread(),'ExtUtils-Install-2.14', 'best');" > mkdir ExtUtils-Install-2.14 > ... > mkdir ExtUtils-Install-2.14/t/lib/MakeMaker/Test/Setup > Generating META.yml > Generating META.json > tar cvf ExtUtils-Install-2.14.tar ExtUtils-Install-2.14 > a ExtUtils-Install-2.14 > a ExtUtils-Install-2.14/README > a ExtUtils-Install-2.14/META.yml > a ExtUtils-Install-2.14/lib > a ExtUtils-Install-2.14/INSTALL.SKIP > a ExtUtils-Install-2.14/MANIFEST.SKIP > a ExtUtils-Install-2.14/Changes > a ExtUtils-Install-2.14/MANIFEST > a ExtUtils-Install-2.14/Makefile.PL > a ExtUtils-Install-2.14/META.json > a ExtUtils-Install-2.14/t > ... > a ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm > rm -rf ExtUtils-Install-2.14 > gzip -9f ExtUtils-Install-2.14.tar > Created ExtUtils-Install-2.14.tar.gz > > # Verify that 'make dist' has re-generated MANIFEST within tarball to > include META.json and META.yml > [perlmonger: ExtUtils-Install] $ mv ExtUtils-Install-2.14.tar.gz /tmp > [perlmonger: ExtUtils-Install] $ cd /tmp > [perlmonger: tmp] $ tar xzvf ExtUtils-Install-2.14.tar.gz > x ExtUtils-Install-2.14/ > x ExtUtils-Install-2.14/README > x ExtUtils-Install-2.14/META.yml > x ExtUtils-Install-2.14/lib/ > x ExtUtils-Install-2.14/INSTALL.SKIP > x ExtUtils-Install-2.14/MANIFEST.SKIP > x ExtUtils-Install-2.14/Changes > x ExtUtils-Install-2.14/MANIFEST > x ExtUtils-Install-2.14/Makefile.PL > x ExtUtils-Install-2.14/META.json > x ExtUtils-Install-2.14/t/ > ... > x ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm > [perlmonger: tmp] $ grep META ExtUtils-Install-2.14/MANIFEST > META.yml Module YAML meta-data (added > by MakeMaker) > META.json Module JSON meta-data (added > by MakeMaker) > ##### > > The p.r. will consist of two separate commits. One reflecting the > revisions above; the second reflecting the re-ordering of files in > MANIFEST once 'make manifest' is run. > > Thank you very much. > Jim Keenan
Please review https://github.com/Perl-Toolchain-Gang/ExtUtils-Install/pull/16
On Sat Mar 14 20:28:47 2020, JKEENAN wrote: Show quoted text
> On Sat Mar 14 20:11:43 2020, JKEENAN wrote:
> > In the ExtUtils-Install distribution, MANIFEST unnecessarily includes > > 'META.json' and 'META.yml', while MANIFEST.SKIP fails to list > > 'MYMETA.json' and 'MYMETA.yml' as files to be skipped when the > > tarball > > is generated by 'make dist'. > > > > The consequences are two-fold. First, we get a misleading warning > > during configuration: > > > > ##### > > $ perl Makefile.PL > > Checking if your kit is complete... > > Warning: the following files are missing in your kit: > > META.json > > META.yml > > Please inform the author. > > Generating a Unix-style Makefile > > Writing Makefile for ExtUtils::Install > > Writing MYMETA.yml and MYMETA.json > > ##### > > > > Second, if I call 'make manifest', the MYMETA.* files are added to > > MANIFEST and subsequently added to the tarball -- unnecessarily so. > > > > ##### > > [perlmonger: ExtUtils-Install] $ make > > cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm > > cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm > > cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm > > Manifying 3 pod documents > > [perlmonger: ExtUtils-Install] $ make manifest > > "/usr/local/bin/perl5" "-Ilib" "-MExtUtils::Manifest=mkmanifest" -e > > mkmanifest > > Added to MANIFEST: MYMETA.json > > Added to MANIFEST: MYMETA.yml > > ##### > > > > Assisted on #toolchain by comments from leont_, ether and Grinnz, I > > suggest the following patch (which I'll submit via p.r.): > > > > Revisions: > > ##### > > [perlmonger: ExtUtils-Install] $ gitdstag |cat > > diff --git a/MANIFEST b/MANIFEST > > index f6f49a3..e96117b 100644 > > --- a/MANIFEST > > +++ b/MANIFEST > > @@ -6,8 +6,6 @@ lib/ExtUtils/Packlist.pm > > Makefile.PL > > MANIFEST > > MANIFEST.SKIP > > -META.json > > -META.yml > > README > > t/can_write_dir.t > > t/Install.t > > diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP > > index d44642a..13441b4 100644 > > --- a/MANIFEST.SKIP > > +++ b/MANIFEST.SKIP > > @@ -16,6 +16,7 @@ make_from_core.sh > > \bpm_to_blib\.ts$ > > \bpm_to_blib$ > > \.gz$ > > +\b\bMYMETA.*$ > > \bblibdirs\.ts$ # 6.18 through 6.25 generated this > > > > # Avoid Module::Build generated and utility files. > > ##### > > > > After revisions in MANIFEST and MANIFEST.SKIP > > ##### > > $ perl Makefile.PL > > Checking if your kit is complete... > > Looks good > > Generating a Unix-style Makefile > > Writing Makefile for ExtUtils::Install > > Writing MYMETA.yml and MYMETA.json > > > > $ make > > cp lib/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm > > cp lib/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm > > cp lib/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm > > Manifying 3 pod documents > > > > $ make dist > > rm -rf ExtUtils-Install-2.14 > > "/usr/local/bin/perl5" "-Ilib" "- > > MExtUtils::Manifest=manicopy,maniread" -e > > "manicopy(maniread(),'ExtUtils-Install-2.14', 'best');" > > mkdir ExtUtils-Install-2.14 > > ... > > mkdir ExtUtils-Install-2.14/t/lib/MakeMaker/Test/Setup > > Generating META.yml > > Generating META.json > > tar cvf ExtUtils-Install-2.14.tar ExtUtils-Install-2.14 > > a ExtUtils-Install-2.14 > > a ExtUtils-Install-2.14/README > > a ExtUtils-Install-2.14/META.yml > > a ExtUtils-Install-2.14/lib > > a ExtUtils-Install-2.14/INSTALL.SKIP > > a ExtUtils-Install-2.14/MANIFEST.SKIP > > a ExtUtils-Install-2.14/Changes > > a ExtUtils-Install-2.14/MANIFEST > > a ExtUtils-Install-2.14/Makefile.PL > > a ExtUtils-Install-2.14/META.json > > a ExtUtils-Install-2.14/t > > ... > > a ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm > > rm -rf ExtUtils-Install-2.14 > > gzip -9f ExtUtils-Install-2.14.tar > > Created ExtUtils-Install-2.14.tar.gz > > > > # Verify that 'make dist' has re-generated MANIFEST within tarball to > > include META.json and META.yml > > [perlmonger: ExtUtils-Install] $ mv ExtUtils-Install-2.14.tar.gz /tmp > > [perlmonger: ExtUtils-Install] $ cd /tmp > > [perlmonger: tmp] $ tar xzvf ExtUtils-Install-2.14.tar.gz > > x ExtUtils-Install-2.14/ > > x ExtUtils-Install-2.14/README > > x ExtUtils-Install-2.14/META.yml > > x ExtUtils-Install-2.14/lib/ > > x ExtUtils-Install-2.14/INSTALL.SKIP > > x ExtUtils-Install-2.14/MANIFEST.SKIP > > x ExtUtils-Install-2.14/Changes > > x ExtUtils-Install-2.14/MANIFEST > > x ExtUtils-Install-2.14/Makefile.PL > > x ExtUtils-Install-2.14/META.json > > x ExtUtils-Install-2.14/t/ > > ... > > x ExtUtils-Install-2.14/lib/ExtUtils/Installed.pm > > [perlmonger: tmp] $ grep META ExtUtils-Install-2.14/MANIFEST > > META.yml Module YAML meta-data (added > > by MakeMaker) > > META.json Module JSON meta-data (added > > by MakeMaker) > > ##### > > > > The p.r. will consist of two separate commits. One reflecting the > > revisions above; the second reflecting the re-ordering of files in > > MANIFEST once 'make manifest' is run. > > > > Thank you very much. > > Jim Keenan
> > Please review https://github.com/Perl-Toolchain-Gang/ExtUtils- > Install/pull/16
That p.r. has been merged, so I'm closing this ticket.