Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 26664
Status: open
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: Marek.Rouchal [...] gmx.net
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.9101
Fixed in: (no value)



Subject: test failure on Solaris 8 perl-5.8.8
See the attached log; here, on Solaris 8 (Sparc) and perl-5.8.8 and all the latest modules from CPAN, the 30shell test shows failures. On Linux (RedHat Enterprise 3.0), with the identical setup, everything is fine. My apologies, from the test output I did not find what could be wrong... any pointer is appreciated. Likewise, if you need more debugging information, please let me know. Cheers, -Marek
Subject: cpantest.log
Download cpantest.log
application/octet-stream 312.5k

Message body not shown because it is not plain text.

Thanks much, I found the culprit, the patch program on your sun has a different API than we're used to on Linux. From the output you sent me the following stands out: # Going to apply 1 patch: # /home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt # /usr/bin/patch -N --fuzz=3 -p1 # patch: Invalid options. # patch: Usage: patch [-blNR] [-c|-e|-n] [-d dir] [-D define] [-i patchfile]\ # [-o outfile] [-p num] [-r rejectfile] [file] # Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt'; cannot continue # Failed during this command: # ANDK/CPAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz: unwrapped NO -- Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt' The question is: would it work without "--fuzz=3" ? If you could try to change line ~6094 of CPAN.pm from my $stdpatchargs = "-N --fuzz=3"; to my $stdpatchargs = "-N"; would that solve the problem?
Subject: RE: [rt.cpan.org #26664] test failure on Solaris 8 perl-5.8.8
Date: Mon, 30 Apr 2007 09:49:51 +0200
To: <bug-CPAN [...] rt.cpan.org>
From: <marek.rouchal [...] infineon.com>
Hi Andreas, thank you for looking into this - and my apologies, I could have found the issue myself :-/ However, your suggestion does not (yet) fully solve the problem: removing the --fuzz=3 allows Solaris' /usr/bin/patch to start, but it bails out when trying to apply the patch on the read-only file t/00_load.t: # Checksum for /home/hwadm/.cpan/build/CPAN-1.9101-ncLqcY/t/CPAN/authors/id/A/AN/ANDK/C PAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz ok # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/t, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/t/00_load.t, 423 bytes, 1 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/MANIFEST, 95 bytes, 1 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/META.yml, 430 bytes, 1 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/Changes, 213 bytes, 1 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN/Test, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN/Test/Dummy, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN/Test/Dummy/Perl5, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN/Test/Dummy/Perl5/Build, 0 bytes, 0 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/lib/CPAN/Test/Dummy/Perl5/Build/F ails.pm, 692 bytes, 2 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/README, 260 bytes, 1 tape blocks # x CPAN-Test-Dummy-Perl5-Build-Fails-1.03/Build.PL, 455 bytes, 1 tape blocks # Going to apply 1 patch: # /home/hwadm/.cpan/build/CPAN-1.9101-ncLqcY/t/CPAN/TestPatch.txt # /usr/bin/patch -N -p1 # Looks like a unified context diff. # patch: 't/00_load.t': Permission denied # Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9101-ncLqcY/t/CPAN/TestPatch.txt'; cannot continue I tried to build a containder for the test distro with "u+w" permissions, but then the checksum is wrong and test stops after 175 tests. I could easily switch to a GNU patch program, which AFAIK does not care about file permissions, but I think that during the test my own CPAN preferences are disabled, right? I think it should work ok when the test distro contains the files with user write permissions - can you prepare that, or tell me where to adapt the checksum? Cheers, Marek Show quoted text
-----Original Message----- From: Andreas Koenig via RT [mailto:bug-CPAN@rt.cpan.org] Sent: Sunday, April 29, 2007 5:57 PM To: MAREKR@cpan.org Subject: [rt.cpan.org #26664] test failure on Solaris 8 perl-5.8.8 <URL: http://rt.cpan.org/Ticket/Display.html?id=26664 > Thanks much, I found the culprit, the patch program on your sun has a different API than we're used to on Linux. From the output you sent me the following stands out: # Going to apply 1 patch: # /home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt # /usr/bin/patch -N --fuzz=3 -p1 # patch: Invalid options. # patch: Usage: patch [-blNR] [-c|-e|-n] [-d dir] [-D define] [-i patchfile]\ # [-o outfile] [-p num] [-r rejectfile] [file] # Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt'; cannot continue # Failed during this command: # ANDK/CPAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz: unwrapped NO -- Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9101-SW7TPG/t/CPAN/TestPatch.txt' The question is: would it work without "--fuzz=3" ? If you could try to change line ~6094 of CPAN.pm from my $stdpatchargs = "-N --fuzz=3"; to my $stdpatchargs = "-N"; would that solve the problem?
Subject: Re: [rt.cpan.org #26664] test failure on Solaris 8 perl-5.8.8
Date: Mon, 30 Apr 2007 19:07:03 +0200
To: bug-CPAN [...] rt.cpan.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
Show quoted text
>>>>> On Mon, 30 Apr 2007 03:50:22 -0400, "marek.rouchal@infineon.com via RT" <bug-CPAN@rt.cpan.org> said:
Show quoted text
> Queue: CPAN > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=26664 >
Show quoted text
> Hi Andreas,
Show quoted text
> thank you for looking into this - and my apologies, I could have found > the issue myself :-/
Nono, there's really no need to apologize, this is my business. It's definitely hard to read the output of my test scripts:( Show quoted text
> However, your suggestion does not (yet) fully solve the problem: > removing the --fuzz=3 allows Solaris' /usr/bin/patch to start, > but it bails out when trying to apply the patch on the > read-only file t/00_load.t:
I see. Show quoted text
> [...]
Show quoted text
> I could easily switch to a GNU patch program, which AFAIK does not > care about file permissions, but I think that during the test my > own CPAN preferences are disabled, right?
Yes, but if the GNU 'patch' comes before the Solaris 'patch' in your PATH, then it will be selected instead. Show quoted text
> I think it should work ok when the test distro contains the files > with user write permissions - can you prepare that, or tell me > where to adapt the checksum?
Well, we have to find two solutions: a workaround for you right now immediately, and a real fix for the next release. For you I would suggest (apart from skipping testing:) that you install GNU patch and put it before Solaris patch in the PATH. For the long term solution I have no plan yet. I suppose either a perl module to delegate the responsibility, or better probing. -- andreas
1.9102 is out and hopefully does the right thing: it probes for the output of 'patch --version'. If it does not work for you, please reopen ticket. Thanks,
Subject: RE: [rt.cpan.org #26664] test failure on Solaris 8 perl-5.8.8
Date: Thu, 10 May 2007 15:35:41 +0200
To: <bug-CPAN [...] rt.cpan.org>
From: <marek.rouchal [...] infineon.com>
1.9102 does the right thing in detecting whether we have GNU patch or some other. However, it does not solve the problem that the Solaris 8 patch utility refuses to patch a file with 444 (r--r--r--) permissions: # Going to apply 1 patch: # /home/hwadm/.cpan/build/CPAN-1.9102-3BJnXy/t/CPAN/TestPatch.txt # /usr/bin/patch -N -p1 # Looks like a unified context diff. # patch: 't/00_load.t': Permission denied # Could not apply patch '/home/hwadm/.cpan/build/CPAN-1.9102-3BJnXy/t/CPAN/TestPatch.txt'; cannot continue When I prepend to $PATH a directory containing a "patch" script that calls GNU patch, then everything works fine. I am wondering whether CPAN could apply a recursive chmod -R u+w on the build directory before applying the patch - then also my initial problem would be solved, and users might also appreciate being able to edit the files without having to chmod before. Thank you very much for your support! Cheers, Marek