Skip Menu |

This queue is for tickets about the MARC-Transform CPAN distribution.

Report information
The Basics
Id: 125307
Status: open
Priority: 0/
Queue: MARC-Transform

People
Owner: Nobody in particular
Requestors: gregoa [...] cpan.org
Cc:
AdminCc:

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



From: gregoa [...] cpan.org
Subject: libmarc-transform-perl: FTBFS with libyaml-perl >= 1.25-1 (test failures)
We have the following bug reported to the Debian package of MARC-Transform (https://bugs.debian.org/898561): It doesn't seem to be a bug in the packaging, so you may want to take a look. Thanks! ------8<-----------8<-----------8<-----------8<-----------8<----- Source: libmarc-transform-perl Version: 0.003006-2 Severity: serious Tags: upstream buster sid Justification: fails to build from source -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 libmarc-transform-perl's testsuite fails, both during build and autopkgtest, with libyaml-perl >= 1.25-1: perl Build test --verbose 1 Hexadecimal number > 0xffffffff non-portable at (eval 28) line 1. Number found where operator expected at (eval 29) line 8, near ""I want) {$boolcond=1;$boolcondint=1; eval{ create("605" (Missing operator before 605?) String found where operator expected at (eval 29) line 8, near "605",{"" (Missing operator before ",{"?) Bareword found where operator expected at (eval 29) line 8, near "",{"a" (Missing operator before a?) String found where operator expected at (eval 29) line 8, near "a"=>"" Hexadecimal number > 0xffffffff non-portable at (eval 58) line 1. Number found where operator expected at (eval 59) line 8, near ""I want) {$boolcond=1;$boolcondint=1; eval{ create("605" (Missing operator before 605?) String found where operator expected at (eval 59) line 8, near "605",{"" (Missing operator before ",{"?) Bareword found where operator expected at (eval 59) line 8, near "",{"a" (Missing operator before a?) String found where operator expected at (eval 59) line 8, near "a"=>"" Number found where operator expected at (eval 179) line 8, near ""I want) {$boolcond=1;$boolcondint=1; eval{ create("604" (Missing operator before 604?) String found where operator expected at (eval 179) line 8, near "604",{"" (Missing operator before ",{"?) Bareword found where operator expected at (eval 179) line 8, near "",{"a" (Missing operator before a?) String found where operator expected at (eval 179) line 8, near "a"=>"" Hexadecimal number > 0xffffffff non-portable at (eval 198) line 1. Hexadecimal number > 0xffffffff non-portable at (eval 219) line 1. Hexadecimal number > 0xffffffff non-portable at (eval 228) line 1. t/test.t .. ok 1 - use MARC::Transform; not ok 2 - ok 3 - ok 4 - ok 5 - ok 6 - ok 7 - ok 8 - ok 9 - ok 10 - ok 11 - ok 12 - ok 13 - ok 14 - ok 15 - ok 16 - not ok 17 - ok 18 - ok 19 - ok 20 - ok 21 - ok 22 - ok 23 - ok 24 - ok 25 - ok 26 - ok 27 - ok 28 - 1..28 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/28 subtests Test Summary Report - ------------------- t/test.t (Wstat: 512 Tests: 28 Failed: 2) Failed tests: 2, 17 Non-zero exit status: 2 Files=1, Tests=28, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.15 cusr 0.01 csys = 0.18 CPU) Result: FAIL Failed 1/1 test programs. 2/28 subtests failed. Cheers, gregor -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAlr4URZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qga4mg/8Cocx2cLQ4RXgGiTX7BIZri3ll/sVaWZGhMw8PCQ79qM3YndVQnH+bE0K TZfQsEPEylDqLI4HGaoGb9bLoEducKAF4Hh5rB3El0Eon83cszy607dsMzSyzwer mQWL/NFa3mi+ltbq6WYaMxa1Jwq0Oix+o+3Ky9ivog/GeHpCNnRjY2OMoA0dz3z6 7i/EWPvoGHtUKwaZGlGY6GMzcuF8mWP7bkyjQo5MBAgIO1B2p+EXSUsbw6Q0hz8K FVCNPk/nZpC2shjCcNowGU0+W6TVrBIvYse6CL2UJsYQVo9wb7kq8bD4Czhi7maA aBDq4mrVlJc2CAWRBq/bvq43rLFzQAPpmuSsQj9lVx0UhCWjS2+56iAILhNr4h1Y KLIecJ/1EFhxBYuagrUabqYcrtL28qJG0tUbp0DkWpRLT7vdullAu9yn3RQlAVfZ 9agNcOzDZvMuVTs6CNf+zrOtb08E+SrD63mv+J1SMu7pHlvDe+f2zpbJBJD5Kytf dxMjn52wLZ8UZOstfPlbBc/vY/VyU0WwFcNrb4dCUFvi4+BKHP8hP0DFlF5hA0CN afCqHoCPGysSsrux/4LLbwRoYsgjbrWzWawyropxMg3tbRmUdT+zb+wNdsZXyCmL dZHk5VLYAbeNOo/lzw8SmmEKQ5g/H1iNu1bxEsYYRRYZgB4WdC4= =sMGJ -----END PGP SIGNATURE----- ------8<-----------8<-----------8<-----------8<-----------8<----- Thanks for considering, gregor herrmann, Debian Perl Group
It seems that only the test suite and the documentation needs a little patch; otherwise, the code is fine. I attached a patch. Ideally the documentation should explicitly mention that strings containing '#' must be quoted, though.
Subject: libmarc-transform-perl2.patch
diff --git a/lib/MARC/Transform.pm b/lib/MARC/Transform.pm index 8fd7d02..3a0e0cf 100644 --- a/lib/MARC/Transform.pm +++ b/lib/MARC/Transform.pm @@ -1993,7 +1993,7 @@ In YAML, these characters are interpreted differently. To use them in string con . Example: --- - condition : $f501a eq "I want #_dbquote_##_dollars_##_dbquote_#" + condition : '$f501a eq "I want #_dbquote_##_dollars_##_dbquote_#"' create : f604a : "#_dbquote_#$f501a#_dbquote_# contain a #_dollars_# sign" @@ -3284,7 +3284,7 @@ Dans le YAML, ces caractères sont interprétés différemment. Pour les utilise . Exemple: --- - condition : $f501a eq "I want #_dbquote_##_dollars_##_dbquote_#" + condition : '$f501a eq "I want #_dbquote_##_dollars_##_dbquote_#"' create : f604a : "#_dbquote_#$f501a#_dbquote_# contain a #_dollars_# sign" diff --git a/t/test.t b/t/test.t index d742771..387c668 100644 --- a/t/test.t +++ b/t/test.t @@ -97,7 +97,7 @@ create : b : the 600b value execute : \&reencodeRecordtoUtf8() --- -condition : $f502a eq "I want #_dbquote_##_dollars_##_dbquote_#" +condition : \'$f502a eq "I want #_dbquote_##_dollars_##_dbquote_#"\' create : f605a : "#_dbquote_#$f502a#_dbquote_# contain a #_dollars_# sign" --- @@ -549,7 +549,7 @@ $record17->insert_fields_ordered( MARC::Field->new( '501', '', '', 'a' => 'I wan #print "--init record--\n". $record17->as_formatted; my $yaml17 = ' --- -condition : $f501a eq "I want #_dbquote_##_dollars_##_dbquote_#" +condition : \'$f501a eq "I want #_dbquote_##_dollars_##_dbquote_#"\' create : f604a : "#_dbquote_#$f501a#_dbquote_# contain a #_dollars_# sign" ';