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

Porting/sync-with-cpan not working properly #261

Open
jkeenan opened this issue Sep 2, 2020 · 4 comments
Open

Porting/sync-with-cpan not working properly #261

jkeenan opened this issue Sep 2, 2020 · 4 comments
Labels
blead-dependent Resolution requires action in Perl 5 blead bug Something isn't working

Comments

@jkeenan
Copy link
Collaborator

jkeenan commented Sep 2, 2020

Today in Perl 5 I synched blead with ExtUtils-Install-2.16. Once that finished, I wanted to do the same for our current branch. This is what I got:

$ p7 Porting/sync-with-cpan ExtUtils::Install
Fetching https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-Install-2.16.tar.gz
Cleaning out old directory
Unpacking ExtUtils-Install-2.16.tar.gz
Could not open 'ExtUtils-Install-2.16.tar.gz' for reading: No such file or directory at Porting/sync-with-cpan line 366.
Can't stat ExtUtils-Install-2.16: No such file or directory
 at Porting/sync-with-cpan line 201.
Renaming directories
Creating new package directory
Populating new package directory
Can't stat ExtUtils-Install-2.16: No such file or directory
 at Porting/sync-with-cpan line 201.
git rm -f ExtUtils-Install/t/can_write_dir.t
git rm -f ExtUtils-Install/t/Packlist.t
git rm -f ExtUtils-Install/t/Install.t
git rm -f ExtUtils-Install/t/InstallWithMM.t
git rm -f ExtUtils-Install/t/Installapi2.t
git rm -f ExtUtils-Install/t/Installed.t
git rm -f ExtUtils-Install/t/lib/TieOut.pm
git rm -f ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm
git rm -f ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Packlist.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Installed.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Install.pm
Hit return to continue; ^C to abort 
rm 'cpan/ExtUtils-Install/t/can_write_dir.t'
rm 'cpan/ExtUtils-Install/t/Packlist.t'
rm 'cpan/ExtUtils-Install/t/Install.t'
rm 'cpan/ExtUtils-Install/t/InstallWithMM.t'
rm 'cpan/ExtUtils-Install/t/Installapi2.t'
rm 'cpan/ExtUtils-Install/t/Installed.t'
rm 'cpan/ExtUtils-Install/t/lib/TieOut.pm'
rm 'cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm'
rm 'cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm'
rm 'cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm'
rm 'cpan/ExtUtils-Install/lib/ExtUtils/Installed.pm'
rm 'cpan/ExtUtils-Install/lib/ExtUtils/Install.pm'
Fixing MANIFEST
Running a make and saving its output to make.log ... Running make failed, see make.log at Porting/sync-with-cpan line 232.

This is obviously not what is supposed to happen. Needs investigation.

Thank you very much.
Jim Keenan

@jkeenan jkeenan added the bug Something isn't working label Sep 2, 2020
@jkeenan
Copy link
Collaborator Author

jkeenan commented Sep 2, 2020

I have pushed a branch upstream, jkeenan/porting-sync-cpan-20200902, which hacks up Porting/sync-with-cpan in at attempt to diagnose the problem. Current output is:

$ ./perl -Ilib Porting/sync-with-cpan ExtUtils::Install
AAA: lib /usr/local/lib/perl7/site_perl/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/site_perl/7.0.0 /usr/local/lib/perl7/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/7.0.0
BBB1: lib/HTTP/Tiny.pm found
BBB2: lib/Archive/Tar.pm found
BBB3: lib/autodie/exception.pm found
package_url, package_file: http://www.cpan.org/modules/02packages.details.txt	/tmp/02packages.details.txt
Fetching https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-Install-2.16.tar.gz
QQQ: Entering sub wget
RRR1: Error eval-ing HTTP::Tiny: Can't locate HTTP/Tiny.pm in @INC (you may need to install the HTTP::Tiny module) (@INC contains: lib /usr/local/lib/perl7/site_perl/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/site_perl/7.0.0 /usr/local/lib/perl7/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/7.0.0) at Porting/sync-with-cpan line 315, <$_[...]> line 245869.

RRR2: Unable to require HTTP::Tiny; trying wget
SSS: wget returned 0
new_file: ExtUtils-Install-2.16.tar.gz
Cleaning out old directory
Unpacking ExtUtils-Install-2.16.tar.gz
TTT: Archive::Tar->extract_archive returned 36
Renaming directories
Failed to load 'autodie::exception'.
This may be a typo in the 'autodie->exception_class' method,
or the 'autodie::exception' module may not exist.

 Can't locate autodie/exception.pm in @INC (you may need to install the autodie::exception module) (@INC contains: lib /usr/local/lib/perl7/site_perl/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/site_perl/7.0.0 /usr/local/lib/perl7/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/7.0.0) at lib/Fatal.pm line 1484.
 at Porting/sync-with-cpan line 400.

@jkeenan
Copy link
Collaborator Author

jkeenan commented Sep 2, 2020

A substantial part of the problem is that I'm trying to run Porting/sync-with-cpan with an uninstalled perl. The program chdirs several times, which means that when I say ./perl -Ilib on the command-line, the program loses its bearings as to what is meant by lib at the start of @INC.

When I specify an absolute path on the command-line, I get farther but still don't succeed.

$ ./perl -I/home/jkeenan/gitwork/perl-atoomic-2/lib Porting/sync-with-cpan ExtUtils::Install
AAA: /home/jkeenan/gitwork/perl-atoomic-2/lib /usr/local/lib/perl7/site_perl/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/site_perl/7.0.0 /usr/local/lib/perl7/7.0.0/x86_64-linux-thread-multi /usr/local/lib/perl7/7.0.0
BBB1: /home/jkeenan/gitwork/perl-atoomic-2/lib/HTTP/Tiny.pm found
BBB2: /home/jkeenan/gitwork/perl-atoomic-2/lib/Archive/Tar.pm found
BBB3: /home/jkeenan/gitwork/perl-atoomic-2/lib/autodie/exception.pm found
PPP: orig_pwd: /home/jkeenan/gitwork/perl-atoomic-2
package_url, package_file: http://www.cpan.org/modules/02packages.details.txt	/tmp/02packages.details.txt
Fetching https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-Install-2.16.tar.gz
QQQ: Entering sub wget
SSS: wget returned 
new_file: ExtUtils-Install-2.16.tar.gz
Cleaning out old directory
Unpacking ExtUtils-Install-2.16.tar.gz
Could not open 'ExtUtils-Install-2.16.tar.gz' for reading: No such file or directory at Porting/sync-with-cpan line 386.
TTT: Archive::Tar->extract_archive returned undefined value
Can't stat ExtUtils-Install-2.16: No such file or directory
 at Porting/sync-with-cpan line 210.
Renaming directories
Creating new package directory
Populating new package directory
Can't stat ExtUtils-Install-2.16: No such file or directory
 at Porting/sync-with-cpan line 210.
git rm -f ExtUtils-Install/t/can_write_dir.t
git rm -f ExtUtils-Install/t/Packlist.t
git rm -f ExtUtils-Install/t/Install.t
git rm -f ExtUtils-Install/t/InstallWithMM.t
git rm -f ExtUtils-Install/t/Installapi2.t
git rm -f ExtUtils-Install/t/Installed.t
git rm -f ExtUtils-Install/t/lib/TieOut.pm
git rm -f ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm
git rm -f ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Packlist.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Installed.pm
git rm -f ExtUtils-Install/lib/ExtUtils/Install.pm
Hit return to continue; ^C to abort 

@jkeenan
Copy link
Collaborator Author

jkeenan commented Sep 2, 2020

A substantial part of the problem is that I'm trying to run Porting/sync-with-cpan with an uninstalled perl. The program chdirs several times, which means that when I say ./perl -Ilib on the command-line, the program loses its bearings as to what is meant by lib at the start of @INC.

This supposition was correct, but insufficient.

I installed a perl from the alpha-dev-02-strict branch and called it with alias tperl. I revised the debugging statements inside Porting/sync_with_cpan and got the following output:

$ tperl Porting/sync-with-cpan ExtUtils::Install
PPP: orig_pwd: /home/jkeenan/gitwork/perl-atoomic
BBB: package_url, package_file: http://www.cpan.org/modules/02packages.details.txt	/tmp/02packages.details.txt
Fetching https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-Install-2.16.tar.gz
LLL: Entering sub wget
MMM2: HTTP::Tiny response apparently unsuccessful
MMM3: 599 Internal Exception
RRR0: sub wget() used HTTP::Tiny
SSS: sub wget() returned 1
new_file: ExtUtils-Install-2.16.tar.gz
Cleaning out old directory
Unpacking ExtUtils-Install-2.16.tar.gz
Could not open 'ExtUtils-Install-2.16.tar.gz' for reading: No such file or directory at Porting/sync-with-cpan line 394.
Archive::Tar->extract_archive() failed: No such file or directory at Porting/sync-with-cpan line 394.

In Porting/sync-with-cpan in blead, the network calls are not checked for failures. Once you do that, problems become apparent.

@jkeenan jkeenan added the blead-dependent Resolution requires action in Perl 5 blead label Sep 2, 2020
@jkeenan
Copy link
Collaborator Author

jkeenan commented Sep 2, 2020

The problem is inherited from Perl 5 blead's sync-with-cpan.
See: Perl/perl5#18109

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blead-dependent Resolution requires action in Perl 5 blead bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant