Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 89436
Status: rejected
Priority: 0/
Queue: CPAN

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

Bug Information
Severity: (no value)
Broken in: 2.03-TRIAL
Fixed in: (no value)



Subject: Missing files in distribution
From the HEAD of the master branch in github (commit 531d18bede84f3ec9d1496e144ad6a8258b7d89f): : [ether@tequila git/cpanpm].9$; perl Makefile.PL Importing PAUSE public key into your GnuPG keychain... gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u done! (You may wish to trust it locally with 'gpg --lsign-key 450F89EC') ####-Note-for-repository-users-#### Please try make touchtestdistros before running 'make test' It should build NotInChecksums-0.000.tar.gz and correct timestamps for tarballs from the repository and thus enable a smooth 'make test' experience ####-Note-for-repository-users-#### Checking if your kit is complete... Warning: the following files are missing in your kit: META.json META.yml SIGNATURE t/CPAN/authors/id/A/AN/ANDK/NotInChecksums-0.000.tar.gz Please inform the author. Generating a GNU-style Makefile Writing Makefile for CPAN Writing MYMETA.yml and MYMETA.json
What's your point? Did you read the diagnostics? What would you expect? Please spell out your point.
On 2013-10-13 23:23:46, ANDK wrote: Show quoted text
> What's your point? Did you read the diagnostics? What would you > expect? Please spell out your point.
My point is the listing in the MANIFEST does not match what is actually produced by the Makefile.PL: "Warning: the following files are missing in your kit: META.json META.yml SIGNATURE t/CPAN/authors/id/A/AN/ANDK/NotInChecksums-0.000.tar.gz Please inform the author."
On Mon Oct 14 12:49:20 2013, ETHER wrote: Show quoted text
> My point is the listing in the MANIFEST does not match what is > actually produced by the Makefile.PL:
It agree it's mildly annoying, but the MANIFEST only needs to match what's shipped, so running it out of the repo doesn't surprise me that it happens. The META* and SIGNATURE are generated at "make dist" time. And 'make touchtestdistros' makes the tarball one. If you do that and then delete Makefile and run perl Makefile.Pl again, you'll see it only complains about the META & SIGNATURE. If you think back to the pre-dzil days, that's how things worked. :-) It's possible someone taught EUMM to add META/SIGNATURE to MANIFEST in the distdir at the right time, but this sort of mismatch is familiar to me. Maybe Module::Signature expects them? I don't remember the details anymore. Once I got dzil, I deleted MANIFEST* and never looked back.
Subject: Re: [rt.cpan.org #89436] Missing files in distribution
Date: Mon, 14 Oct 2013 20:15:32 +0200
To: bug-CPAN [...] rt.cpan.org
From: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
"David Golden via RT" <bug-CPAN@rt.cpan.org> writes: Show quoted text
> Queue: CPAN > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=89436 > > > On Mon Oct 14 12:49:20 2013, ETHER wrote:
>> My point is the listing in the MANIFEST does not match what is >> actually produced by the Makefile.PL:
> > [...]
Thanks, David, for jumping in, highly appreciated. I'll add a few words that spring to my mind. What it boils down to is that we have no convention about what kind of contract there might be when people use stuff from a repo and not from a release. That's often annoing but fixing that looks like a *complex* problem. Just think of a repo that contains a dzil.ini file and you don't know what dzil.ini stands for. You may write the author a kind note if she could explain to you how to work with that distro. (But I think it would not be appropriate to write a bugreport about it. At least I never did.) And once you have done that you realize there is another one, so what do you do now? Is there a guarantee that all repos in the world that contain a dzil.ini file behave the same? Remember, the CPAN has a convention (I mean the {Makefile,Build}.PL mantras) and this is one of the secrets why CPAN worked so well up to now. But the convention is for released tarballs, not for the repositories they come from. Suggestions how to fix it for every case of all repos referenced in CPAN META files welcome, but this is better placed on a future hackathon agenda than on a bug tracker for CPAN.pm. -- andreas
Though FWIW, I tried removing META* and SIGNATURE from MANIFEST and the doing "make distdir" and it all worked fine and they were added back in the MANIFEST in the dist directory. (I did have to hack Makefile.PL because my cpansign binary is in a local lib and not my perl binary directory, but that doesn't change the point.) So with a modern EU:MM, it looks safe to remove those files (but not the one generated by make touchtestdistros), and then the helpful message from Makefile.Pl is sufficient.
Subject: Re: [rt.cpan.org #89436] Missing files in distribution
Date: Mon, 14 Oct 2013 21:55:55 +0200
To: bug-CPAN [...] rt.cpan.org
From: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
"David Golden via RT" <bug-CPAN@rt.cpan.org> writes: Show quoted text
> Though FWIW, I tried removing META* and SIGNATURE from MANIFEST and > the doing "make distdir" and it all worked fine and they were added > back in the MANIFEST in the dist directory. > > (I did have to hack Makefile.PL because my cpansign binary is in a > local lib and not my perl binary directory, but that doesn't change > the point.) > > So with a modern EU:MM, it looks safe to remove those files (but not > the one generated by make touchtestdistros), and then the helpful > message from Makefile.Pl is sufficient.
But if I'm not mistaken, after the next 'make dist' we have a dirty repo, right? How would you suggest to cope with that? -- andreas
On Mon Oct 14 15:56:21 2013, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote: Show quoted text
> But if I'm not mistaken, after the next 'make dist' we have a dirty > repo, right? How would you suggest to cope with that?
I think that's because Makefile.PL is copying them up out of the dist dir. I'll post a PR with an experiment at removing it.