Bug#601116: liburi-perl: FTBFS in squeeze: test failed

gregor herrmann gregoa at debian.org
Sat Oct 23 16:21:26 UTC 2010


tag 601116 + confirmed
tag 601116 + patch
thanks

On Sat, 23 Oct 2010 17:02:29 +0200, Lucas Nussbaum wrote:

> Package: liburi-perl
> Version: 1.54-1
> Severity: serious
> Tags: squeeze sid

> During a rebuild of all packages in a squeeze chroot, your package failed
> to build on amd64.

Confirmed with 1.54-1 in a squeeze cowbuilder i386 chroot.
Confirmed with 1.54-1 in a sid cowbuilder i386 chroot.

Confirmed with 1.55-1 in a squeeze cowbuilder i386 chroot.
Confirmed with 1.55-1 in a sid cowbuilder i386 chroot.

(Hm, how has this package ever built?)

Unreproducible with 1.56-1 in a squeeze cowbuilder i386 chroot.
Unreproducible with 1.56-1 in a sid cowbuilder i386 chroot.

Versions:

1.54-1 - testing
1.55-1 - unstable
1.55-1 - svn

Upstream changelog:

2010-10-06   Gisle Aas <gisle at ActiveState.com>
   Release 1.56
   Don't depend on DNS for the heuristics test

Relevant diff between 1.55 and 1.56:

#v+
Index: t/heuristic.t
===================================================================
--- t/heuristic.t	(revision 62303)
+++ t/heuristic.t	(working copy)
@@ -1,8 +1,15 @@
 #!perl -w
 
-if (-f "OFFLINE") {
-   print "1..0";
-   exit;
+BEGIN {
+    # mock up a gethostbyname that always works :-)
+    *CORE::GLOBAL::gethostbyname = sub {
+	my $name = shift;
+	#print "# gethostbyname [$name]\n";
+	die if wantarray;
+	return 1 if $name =~ /^www\.perl\.(com|org|ca|su)\.$/;
+	return 1 if $name eq "www.perl.co.uk\.";
+	return 0;
+    };
 }
 
 print "1..20\n";
@@ -41,90 +48,72 @@
 }
 print "ok 5\n";
 
-if (gethostbyname("www.perl.com") && gethostbyname("www.perl.co.uk") && !gethostbyname("www.perl.bv")) {
-    # DNS works, let's run tests 6..12
+{
+    local $ENV{LC_ALL} = "";
+    local $ENV{LANG} = "";
+    local $ENV{HTTP_ACCEPT_LANGUAGE} = "";
 
-    {
-        local $ENV{LC_ALL} = "";
-        local $ENV{LANG} = "";
-        local $ENV{HTTP_ACCEPT_LANGUAGE} = "";
+    $ENV{LC_ALL} = "en_GB.UTF-8";
+    undef $URI::Heuristic::MY_COUNTRY;
+    print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
+    print "ok 6\n";
 
-        $ENV{LC_ALL} = "en_GB.UTF-8";
-        undef $URI::Heuristic::MY_COUNTRY;
-        print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
-        print "ok 6\n";
+    use Net::Domain;
+    $ENV{LC_ALL} = "C";
+    { no warnings; *Net::Domain::hostfqdn = sub { return 'vasya.su' } }
+    undef $URI::Heuristic::MY_COUNTRY;
+    print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.su/camel\.gif$,;
+    print "ok 7\n";
 
-        use Net::Domain;
-        $ENV{LC_ALL} = "C";
-        { no warnings; *Net::Domain::hostfqdn = sub { return 'vasya.su' } }
-        undef $URI::Heuristic::MY_COUNTRY;
-        print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.su/camel\.gif$,;
-        print "ok 7\n";
-
-        $ENV{LC_ALL} = "C";
-        { no warnings; *Net::Domain::hostfqdn = sub { return '' } }
-        undef $URI::Heuristic::MY_COUNTRY;
-        print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(com|org)/camel\.gif$,;
-        print "ok 8\n";
-
-        $ENV{HTTP_ACCEPT_LANGUAGE} = "en-ca";
-        undef $URI::Heuristic::MY_COUNTRY;
-        print "not " unless uf_urlstr("perl/camel.gif") eq "http://www.perl.ca/camel.gif";
-        print "ok 9\n";
-    }
-
-    $URI::Heuristic::MY_COUNTRY = "bv";
+    $ENV{LC_ALL} = "C";
+    { no warnings; *Net::Domain::hostfqdn = sub { return '' } }
+    undef $URI::Heuristic::MY_COUNTRY;
     print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(com|org)/camel\.gif$,;
-    print "ok 10\n";
+    print "ok 8\n";
 
-    # Backwards compatibility; uk != United Kingdom in ISO 3166
-    $URI::Heuristic::MY_COUNTRY = "uk";
-    print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
-    print "ok 11\n";
+    $ENV{HTTP_ACCEPT_LANGUAGE} = "en-ca";
+    undef $URI::Heuristic::MY_COUNTRY;
+    print "not " unless uf_urlstr("perl/camel.gif") eq "http://www.perl.ca/camel.gif";
+    print "ok 9\n";
+}
 
-    $URI::Heuristic::MY_COUNTRY = "gb";
-    print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
-    print "ok 12\n";
+$URI::Heuristic::MY_COUNTRY = "bv";
+print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(com|org)/camel\.gif$,;
+print "ok 10\n";
 
-    $ENV{URL_GUESS_PATTERN} = "www.ACME.org www.ACME.com";
-    print "not " unless uf_urlstr("perl") eq "http://www.perl.org";
-    print "ok 13\n";
+# Backwards compatibility; uk != United Kingdom in ISO 3166
+$URI::Heuristic::MY_COUNTRY = "uk";
+print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
+print "ok 11\n";
 
-} else {
-    # don't make the innocent worry
-    print "Skipping test 6-12 because DNS does not work\n";
-    for (6..13) { print "ok $_\n"; }
+$URI::Heuristic::MY_COUNTRY = "gb";
+print "not " unless uf_urlstr("perl/camel.gif") =~ m,^http://www\.perl\.(org|co)\.uk/camel\.gif$,;
+print "ok 12\n";
 
-}
+$ENV{URL_GUESS_PATTERN} = "www.ACME.org www.ACME.com";
+print "not " unless uf_urlstr("perl") eq "http://www.perl.org";
+print "ok 13\n";
 
 {
-local $ENV{URL_GUESS_PATTERN} = "";
-print "not " unless uf_urlstr("perl") eq "http://perl";
-print "ok 14\n";
+    local $ENV{URL_GUESS_PATTERN} = "";
+    print "not " unless uf_urlstr("perl") eq "http://perl";
+    print "ok 14\n";
 
-print "not " unless uf_urlstr("http:80") eq "http:80";
-print "ok 15\n";
+    print "not " unless uf_urlstr("http:80") eq "http:80";
+    print "ok 15\n";
 
-print "not " unless uf_urlstr("mailto:gisle\@aas.no") eq "mailto:gisle\@aas.no";
-print "ok 16\n";
+    print "not " unless uf_urlstr("mailto:gisle\@aas.no") eq "mailto:gisle\@aas.no";
+    print "ok 16\n";
 
-print "not " unless uf_urlstr("gisle\@aas.no") eq "mailto:gisle\@aas.no";
-print "ok 17\n";
+    print "not " unless uf_urlstr("gisle\@aas.no") eq "mailto:gisle\@aas.no";
+    print "ok 17\n";
 
-print "not " unless uf_urlstr("Gisle.Aas\@aas.perl.org") eq "mailto:Gisle.Aas\@aas.perl.org";
-print "ok 18\n";
+    print "not " unless uf_urlstr("Gisle.Aas\@aas.perl.org") eq "mailto:Gisle.Aas\@aas.perl.org";
+    print "ok 18\n";
 
-print "not " unless uf_url("gopher.sn.no")->scheme eq "gopher";
-print "ok 19\n";
+    print "not " unless uf_url("gopher.sn.no")->scheme eq "gopher";
+    print "ok 19\n";
 
-print "not " unless uf_urlstr("123.3.3.3:8080/foo") eq "http://123.3.3.3:8080/foo";
-print "ok 20\n";
+    print "not " unless uf_urlstr("123.3.3.3:8080/foo") eq "http://123.3.3.3:8080/foo";
+    print "ok 20\n";
 }
-
-#
-#print "not " unless uf_urlstr("some-site") eq "http://www.some-site.com";
-#print "ok 15\n";
-#
-#print "not " unless uf_urlstr("some-site.com") eq "http://some-site.com";
-#print "ok 16\n";
-#
#v-


The beginning of this diff also shows a potential fix for the
problem in squeeze: Touch an OFFLINE file.

Quick debdiff:

#v+
diff -Nru liburi-perl-1.54/debian/changelog liburi-perl-1.54/debian/changelog
--- liburi-perl-1.54/debian/changelog   2010-04-01 22:12:40.000000000 +0200
+++ liburi-perl-1.54/debian/changelog   2010-10-23 18:13:51.000000000 +0200
@@ -1,3 +1,9 @@
+liburi-perl (1.54-2) UNRELEASED; urgency=low
+
+  * Don't run online tests (closes: #601116).
+
+ -- gregor herrmann <gregoa at debian.org>  Sat, 23 Oct 2010 18:13:39 +0200
+
 liburi-perl (1.54-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru liburi-perl-1.54/debian/control liburi-perl-1.54/debian/control
--- liburi-perl-1.54/debian/control     2010-04-01 22:11:18.000000000 +0200
+++ liburi-perl-1.54/debian/control     2010-10-23 18:14:36.000000000 +0200
@@ -1,7 +1,7 @@
 Source: liburi-perl
 Section: perl
 Priority: optional
-Build-Depends: debhelper (>= 7)
+Build-Depends: debhelper (>= 7.0.50~)
 Build-Depends-Indep: perl, libbusiness-isbn-perl
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Uploaders: Stefan Hornburg (Racke) <racke at linuxia.de>,
diff -Nru liburi-perl-1.54/debian/rules liburi-perl-1.54/debian/rules
--- liburi-perl-1.54/debian/rules       2010-03-15 16:38:38.000000000 +0100
+++ liburi-perl-1.54/debian/rules       2010-10-23 18:14:17.000000000 +0200
@@ -2,3 +2,8 @@
 
 %:
        dh $@
+
+override_dh_auto_test:
+       touch OFFLINE
+       dh_auto_test
+       $(RM) OFFLINE
#v-

Output from build:

#v+
   debian/rules override_dh_auto_test
make[1]: Entering directory `/tmp/buildd/liburi-perl-1.54'
touch OFFLINE
dh_auto_test
make[2]: Entering directory `/tmp/buildd/liburi-perl-1.54'
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/abs.t .......... ok
t/clone.t ........ ok
t/cwd.t .......... ok
t/data.t ......... ok
t/escape.t ....... ok
t/file.t ......... ok
t/ftp.t .......... ok
t/generic.t ...... ok
t/gopher.t ....... ok
t/heuristic.t .... skipped: (no reason given)
t/http.t ......... ok
t/idna.t ......... ok
t/iri.t .......... ok
t/ldap.t ......... ok
t/mailto.t ....... ok
t/mix.t .......... ok
t/mms.t .......... ok
t/news.t ......... ok
t/num_eq.t ....... ok
t/old-absconf.t .. ok
t/old-base.t ..... ok
t/old-file.t ..... ok
t/old-relbase.t .. ok
t/pop.t .......... ok
t/punycode.t ..... ok
t/query-param.t .. ok
t/query.t ........ ok
t/rel.t .......... ok
t/rfc2732.t ...... ok
t/roy-test.t ..... ok
t/rsync.t ........ ok
t/rtsp.t ......... ok
t/sip.t .......... ok
t/split.t ........ ok
t/storable.t ..... ok
t/urn-isbn.t ..... ok
t/urn-oid.t ...... ok
t/utf8.t ......... ok
All tests successful.
Files=38, Tests=589,  4 wallclock secs ( 0.42 usr  0.11 sys +  2.42 cusr  0.33 csys =  3.28 CPU)
Result: PASS
make[2]: Leaving directory `/tmp/buildd/liburi-perl-1.54'
rm -f OFFLINE
make[1]: Leaving directory `/tmp/buildd/liburi-perl-1.54'
#v-


Proposal:
- upload 1.56-1 to unstable
- upload 1.54-2 to t-p-u


Cheers,
gregor

-- 
 .''`.   http://info.comodo.priv.at/ -- GPG key IDs: 0x8649AA06, 0x00F3CFE4
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: Don McLean: Vincent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20101023/9ce69253/attachment.pgp>


More information about the pkg-perl-maintainers mailing list