-
Notifications
You must be signed in to change notification settings - Fork 6
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
fixes for the build process #9
Conversation
@@ -1,3 +1,9 @@ | |||
Makefile | |||
Makefile.old |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.gitignore should also contain MANIFEST
and META.yml
and META.json
if you want to discourage somebody accidentally re-adding them to tree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I've removed MANIFEST I've got a error like:
$ rm MANIFEST && perl Makefile.PL && make dist
Writing Makefile for g-cpan
Writing MYMETA.yml and MYMETA.json
rm -rf g-cpan-0.16.5
/usr/bin/perl5.18.2 "-MExtUtils::Manifest=manicopy,maniread"
-e "manicopy(maniread(),'g-cpan-0.16.5', 'best');"
Problem opening MANIFEST: No such file or directory at /usr/lib64/perl5/5.18.2/ExtUtils/Manifest.pm line 347.
mkdir g-cpan-0.16.5
Generating META.yml
Generating META.json
Could not add META.yml to MANIFEST:
Could not add META.json to MANIFEST:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
META.* do not generated (inside a workidir) by 'make dist' but by 'make'
but ok I'll add them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ rm MANIFEST && perl Makefile.PL && make dist
Yes, that's because the workflow is
perl Makefile.PL && make manifest && make dist
The only benefit of not deleting 'MANIFEST' is you don't have to call that first when generating a dist.
But people miss that out frequently enough to bust the dist ( Because deleted files stay in the manifest, and new files get missed ), and you must call it prior to make dist
anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ls -lah
# total 56K
# rwxr-xr-x 10 kent kent 4.0K Aug 21 13:41 ..
# -rw-r--r-- 1 kent kent 25 Aug 21 13:41 .gitignore
# -rw-r--r-- 1 kent kent 24K Aug 21 13:41 ChangeLog
# -rw-r--r-- 1 kent kent 1.1K Aug 21 13:41 Makefile.PL
# drwxr-xr-x 2 kent kent 4.0K Aug 21 13:41 bin
# drwxr-xr-x 3 kent kent 4.0K Aug 21 13:41 lib
# drwxr-xr-x 2 kent kent 4.0K Aug 21 13:41 t
perl Makefile.PL
# Warning: prerequisite Log::Agent 0 not found.
# Warning: prerequisite Shell::EnvImporter 0 not found.
# Warning: NAME must be a package name
# Generating a Unix-style Makefile
# Writing Makefile for g-cpan
# Writing MYMETA.yml and MYMETA.json
make manifest
# /home/kent/perl5/perlbrew/perls/5.21.1-sdbm/bin/perl5.21.1 "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
# Added to MANIFEST: bin/g-cpan
# Added to MANIFEST: ChangeLog
# Added to MANIFEST: lib/Gentoo.pm
# Added to MANIFEST: lib/Gentoo/CPAN.pm
# Added to MANIFEST: lib/Gentoo/Portage.pm
# Added to MANIFEST: lib/Gentoo/UI/Console.pm
# Added to MANIFEST: Makefile.PL
# Added to MANIFEST: MANIFEST
# Added to MANIFEST: t/00Gentoo.t
# Added to MANIFEST: t/01config.t
# Added to MANIFEST: t/02ebuilds_read.t
# Added to MANIFEST: t/10cpan_packages.t
make dist
# make dist
# rm -rf g-cpan-0.16.5
# /home/kent/perl5/perlbrew/perls/5.21.1-sdbm/bin/perl5.21.1 "-MExtUtils::Manifest=manicopy,maniread" \
# -e "manicopy(maniread(),'g-cpan-0.16.5', 'best');"
# mkdir g-cpan-0.16.5
# mkdir g-cpan-0.16.5/t
# mkdir g-cpan-0.16.5/lib
# mkdir g-cpan-0.16.5/lib/Gentoo
# mkdir g-cpan-0.16.5/bin
# mkdir g-cpan-0.16.5/lib/Gentoo/UI
# Generating META.yml
# Generating META.json
# tar cvf g-cpan-0.16.5.tar g-cpan-0.16.5
# g-cpan-0.16.5/
# g-cpan-0.16.5/lib/
# g-cpan-0.16.5/lib/Gentoo.pm
# g-cpan-0.16.5/lib/Gentoo/
# g-cpan-0.16.5/lib/Gentoo/UI/
# g-cpan-0.16.5/lib/Gentoo/UI/Console.pm
# g-cpan-0.16.5/lib/Gentoo/CPAN.pm
# g-cpan-0.16.5/lib/Gentoo/Portage.pm
# g-cpan-0.16.5/Makefile.PL
# g-cpan-0.16.5/t/
# g-cpan-0.16.5/t/10cpan_packages.t
# g-cpan-0.16.5/t/02ebuilds_read.t
# g-cpan-0.16.5/t/00Gentoo.t
# g-cpan-0.16.5/t/01config.t
# g-cpan-0.16.5/META.yml
# g-cpan-0.16.5/ChangeLog
# g-cpan-0.16.5/bin/
# g-cpan-0.16.5/bin/g-cpan
# g-cpan-0.16.5/META.json
# g-cpan-0.16.5/MANIFEST
# rm -rf g-cpan-0.16.5
# gzip --best g-cpan-0.16.5.tar
# Created g-cpan-0.16.5.tar.gz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right. Thanks for the point.
But people are so lazy :)
So I'm not sure is a good idea to do it (remove MANIFEST) in the such case.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But people are so lazy :)
So I'm not sure is a good idea to do it (remove MANIFEST) in the such case.
Yeah, but letting them not update the manifest means they'll be lazy and forget to do it ;)
Manifests should either be a) 100% automatic or b) 100% manual.
Anything in between is going to basically be hoping somebody remembers to do it when its required, which, they wont.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Granted, if your manifest is out of date, I think EUMM tries to remind you to do manifest these days, but that's a problem enough on its own that I have to report "Files missing from your kit" issues infreqeuently.
so don't forget to do 'make manifest' before 'make dist' see a big disscussion at github pr gentoo-perl#9
Can you, please, rebase your PR against current master? Thanks in advance! |
add files to skip during the build process helps to resolve gentoo-perl#8
so don't forget to do 'make manifest' before 'make dist' see a big disscussion at github pr gentoo-perl#9
1 similar comment
@Civil done |
ping |
See #8