Skip to content
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

Merged
merged 3 commits into from
Oct 6, 2015
Merged

fixes for the build process #9

merged 3 commits into from
Oct 6, 2015

Conversation

bor
Copy link
Collaborator

@bor bor commented Aug 20, 2014

See #8

@@ -1,3 +1,9 @@
Makefile
Makefile.old
Copy link
Member

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.

Copy link
Collaborator Author

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:

Copy link
Collaborator Author

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

Copy link
Member

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.

Copy link
Member

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

Copy link
Collaborator Author

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?

Copy link
Member

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.

Copy link
Member

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.

bor added a commit to bor/g-cpan that referenced this pull request Aug 21, 2014
so don't forget to do 'make manifest' before 'make dist'
see a big disscussion at github pr gentoo-perl#9
@Civil
Copy link
Collaborator

Civil commented Feb 11, 2015

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
@coveralls
Copy link

Coverage Status

Coverage remained the same at 46.87% when pulling 7f5f99a on bor:fix/make into bb59e5c on gentoo-perl:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage remained the same at 46.87% when pulling 7f5f99a on bor:fix/make into bb59e5c on gentoo-perl:master.

@bor
Copy link
Collaborator Author

bor commented Feb 13, 2015

@Civil done
and remind you about a proper setup travis & coveralls ;)

@bor
Copy link
Collaborator Author

bor commented Oct 6, 2015

ping

Civil added a commit that referenced this pull request Oct 6, 2015
fixes for the build process
@Civil Civil merged commit 76fd051 into gentoo-perl:master Oct 6, 2015
@bor bor deleted the fix/make branch October 7, 2015 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants