Skip Menu |

This queue is for tickets about the XML-Twig CPAN distribution.

Report information
The Basics
Id: 18655
Status: resolved
Priority: 0/
Queue: XML-Twig

People
Owner: Nobody in particular
Requestors: cpan [...] pjedwards.co.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 3.23
Fixed in: 3.24



Subject: XML-Twig-3.23 PATCH for build,compile,test on VMS
XML-Twig-3.23 Perl 5.87 on VMS Please find attached a diff to get this to build and pass all tests on VMS. Summary of changes: "echo" not a VMS command. Twig.pm.slow not a valid VMS filename (only one period allowed). Used File::Spec->catfile in a few places where / was being used. quote on VMS is " Get perl path from Config. Use vmsish hushed on one-liner system call to supress VMS warnings. Added -Mblib to version check one-liner. No support for "fork" on VMS, one test case edited because of this. If VMS check for symbol "xmlwf" before trying to use it. pushing $Bin onto @INC in a BEGIN block did not work on VMS, so I opted for a "use lib". Thanks, Peter (Stig) Edwards
Subject: XML-Twig-3.23.diff

Message body is not shown because it is too large.

Subject: Re: [rt.cpan.org #18655] XML-Twig-3.23 PATCH for build,compile,test on VMS
Date: Tue, 11 Apr 2006 18:12:56 +0200
To: bug-XML-Twig [...] rt.cpan.org
From: Michel Rodriguez <mirod [...] xmltwig.com>
Guest via RT wrote: Show quoted text
> Please find attached a diff to get this to build and pass all tests on VMS.
Hi, I must be a little thick today, but applying the patch with 'patch -p1 < XML-Twig-3.23.diff' gives me a 'patch: **** malformed patch at line 5' error message. Am I missing something? Great job though, thanks a lot. -- Michel Rodriguez Perl &amp; XML xmltwig.com
From: cpan [...] pjedwards.co.uk
Show quoted text
> I must be a little thick today, but applying the patch with 'patch -p1
< XML-Twig-3.23.diff' gives me a 'patch: **** malformed patch at line 5' Show quoted text
> error message. Am I missing something?
Sorry it's a bit tricky creating patches on VMS (filename non case preservation, and limited tools). I just tested the patch on a RH Linux box, using patch version 2.5.4 patch --dry-run --verbose -p0 < XML-Twig-3.23.diff I'm in the directory above the folder XML-Twig-3.23, and I'm using "-p0", not "-p1". I guess this is not how patches are normally created. Anyway it seems to work: Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- XML-Twig-3.23/Makefile.PL 2006-04-08 19:21:43.1144524103 -0400 |+++ XML-Twig-3.23/Makefile.PL 2006-04-08 22:50:06.1144536606 -0400 -------------------------- Patching file XML-Twig-3.23/Makefile.PL using Plan A... Hunk #1 succeeded at 19. Hunk #2 succeeded at 34. ...etc...etc... Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |--- XML-Twig-3.23/Twig.pm 2006-04-08 19:21:43.1144524103 -0400 |+++ XML-Twig-3.23/Twig.pm 2006-04-08 22:50:06.1144536606 -0400 -------------------------- Patching file XML-Twig-3.23/Twig.pm using Plan A... Hunk #1 succeeded at 732. Hunk #2 succeeded at 740. Hunk #3 succeeded at 763. done If it still does not work I can create a new diff. Thanks, Peter (Stig) Edwards
Hi, I went through the patch and integrated the changes to the development version. The one thing I did not do is to rename Twig.pm.slow. Is this really necessary? (the file is not used in installing the module, Twig.pm is generated from it, and it is there for people who want to send patches as they should be done on Twig.pm.slow instead of Twig.pm). What does having this file in the distribution cause on VMS? __ mirod
From: cpan [...] pjedwards.co.uk
Hello, Show quoted text
> The one thing I did not do is to rename Twig.pm.slow. Is this really > necessary? (the file is not used in installing the module, Twig.pm is > generated from it, and it is there for people who want to send > patches as they should be done on Twig.pm.slow instead of Twig.pm). > What does having this file in the distribution cause on VMS? > mirod
Valid charcacters for VMS filenames are /[A-Z0-0$_-]/, they are of the format name.extension;version (max length for name and extension are 39 characters). perlport also mentions the 8.3 convention, for maximum portability, onerous a burden though this may appear. I can't actually remember why I changed Twig.pm.slow, it's likely it was just because I wanted to 'fix' the manifest errors. It's also likely that I know if any file in a dist is an invalid filename on VMS, I know that 99% of the time I'm going to need to change the filename to get things to build and test. I just downloaded 3.24, and it's failing a couple of tests, (nothing to do with Twig.pm.slow). t/test_errors....................... %DCL-W-IVVERB, unrecognized command verb - check validity and spelling \}\ -e syntax OK cannot slurp 't/error.log': no such file or directory %RMS-E-FNF, file not found dubious Test returned status 98962 (wstat 512, 0x200) (VMS status is 98962) DIED. FAILED test 110 Failed 1/110 tests, 99.09% okay From line 290 of test_errors.t 290 { my $error="t/error.log"; I edited this to: { my $error=File::Spec->catfile('t','error.log'); use Config; my $secure_perl_path = $Config{perlpath}; if ($^O ne 'VMS') { $secure_perl_path .= $Config{_exe} unless $secure_perl_path =~ m/$Config{_exe}$/i; } my $q= ( ($^O eq "MSWin32") || ($^O eq 'VMS') ) ? '"' : "'"; my $cmd; if ($^O eq 'VMS') { $cmd = "$secure_perl_path ${q}-CSDAL${q} ${q}- MXML::Twig${q} -e $q close STDERR; open( STDERR, qq{>$error}) or die qq {cannot open $error (for STDERR)}; open( FH, qq{$secure_perl_path -p - e 1 t/test_new_features_3.22_xml |}) or die qq($!); XML::Twig->nparse( \\*FH); die qq{OK};$q"; } else { $cmd = "$^X -CSDAL -MXML::Twig -e'close STDERR; open( STDERR, qq{>$error}) or die qq{cannot open $error (for STDERR)}; open( FH, qq{$^X -p -e1 t/test_new_features_3.22.xml |}) or die $!; XML::Twig->nparse( \\*FH); die qq{OK\n};'"; } system $cmd; matches( slurp( $error), "^cannot parse the output of a pipe", 'parse a pipe with perlIO layer set to UTF8 (RT #17500)'); NOTE the filename change: test_new_features_3.22_xml due to only one period being allowed. I've only tested this on VMS. After this change test 110 fails thus: not ok 110 parse a pipe with perlIO layer set to UTF8 (RT #17500): expected to match /^cannot parse the output of a pipe/, got 'OK at -e line 1. ' I've not had a chance to read and fully understand http://rt.cpan.org/Public/Bug/Display.html?id=17500 yet. But thought I'd let you know. Thanks, Peter (Stig) Edwards
From: cpan [...] pjedwards.co.uk
Show quoted text
> I can't actually remember why I changed Twig.pm.slow
Just remembered. It's because of this line the Makefile.PL 'depend' => { 'Twig.pm' => "FORCE\n\t\$(ECHO) \"building Twig.pm\"\n\t\$(PERL) speedup Twig.pm.slow > Twig.pm\n\t\$(PERL) check_optional_modules", I also dicovered a bug in the previous PATCH I supplied to you. On the line above echo should be: \$(ECHO) and not echo or $echo sorry about that. Show quoted text
> I just downloaded 3.24, and it's failing a couple of tests, (nothing > to do with Twig.pm.slow).
Show quoted text
> I've not had a chance to read and fully understand > http://rt.cpan.org/Public/Bug/Display.html?id=17500 yet.
So I read the bug above and I think the problem is fixed in 5.87 ??? (Or maybe it is not a problem on VMS) So I edited line 287 of test_errors.t from: { if( $] <= 5.008) to: { if( ( $] <= 5.008) || ($] >= 5.008007) ) this skips the test (for me) and now all test cases pass. Thanks, Peter (Stig) Edwards
Subject: Re: [rt.cpan.org #18655] XML-Twig-3.23 PATCH for build,compile,test on VMS
Date: Fri, 21 Apr 2006 17:42:06 +0200
To: bug-XML-Twig [...] rt.cpan.org
From: Michel Rodriguez <mirod [...] xmltwig.com>
Guest via RT wrote: Show quoted text
> Queue: XML-Twig > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=18655 > >
>> I can't actually remember why I changed Twig.pm.slow
> > Just remembered. It's because of this line the Makefile.PL > > 'depend' => { 'Twig.pm' => "FORCE\n\t\$(ECHO) \"building > Twig.pm\"\n\t\$(PERL) speedup Twig.pm.slow > Twig.pm\n\t\$(PERL) > check_optional_modules", > > I also dicovered a bug in the previous PATCH I supplied to you. > On the line above echo should be: > \$(ECHO) > and not > echo > or > $echo > sorry about that.
I removed the echo altogether Show quoted text
> So I read the bug above and I think the problem is fixed in 5.87 ??? > (Or maybe it is not a problem on VMS) > So I edited line 287 of test_errors.t from: > { if( $] <= 5.008) > to: > { if( ( $] <= 5.008) || ($] >= 5.008007) ) > > this skips the test (for me) and now all test cases pass.
The bug is still there on my machine, so I replaced it with if( ( $] <= 5.008) || ($^O eq 'VMS') ) The new version is at the usual place, let me know if you find anything else, thanks. -- Michel Rodriguez Perl &amp; XML xmltwig.com