Bug#796890: libtest-distmanifest-perl: FTBFS with perl 5.22: test failures

gregor herrmann gregoa at debian.org
Tue Aug 25 15:31:03 UTC 2015


Control: tag -1 + confirmed

On Tue, 25 Aug 2015 15:34:40 +0200, Dominic Hargreaves wrote:

> Source: libtest-distmanifest-perl
> Version: 1.014-1
> Severity: important
> User: debian-perl at lists.debian.org
> Usertags: perl-5.22-transition
> Tags: sid stretch
> 
> This package FTBFS with perl 5.22 (currently in experimental):
> 
> # Unable to parse MANIFEST.SKIP file:
> # No such file or directory
> # Using default skip data from ExtUtils::Manifest 1.70
> # Distribution files are missing in MANIFEST:
> # .pc/applied-patches
> # .pc/.quilt_series
> # .pc/.version
> # .pc/.quilt_patches
> # debian/compat
> # debian/libtest-distmanifest-perl.examples
> # debian/rules
> # debian/libtest-distmanifest-perl.docs
> # debian/watch
> # debian/control
> # debian/changelog
> # debian/copyright
> # debian/libtest-distmanifest-perl.debhelper.log
> # debian/source/format
> # debian/upstream/metadata
> 
> #   Failed test 'All files are listed in MANIFEST or skipped'
> #   at t/02manifest.t line 24.
> # Looks like you failed 1 test of 4.
> t/02manifest.t ......... 

Interesting that this builds in unstable. - Ah, that's why:

t/02manifest.t ......... skipped: ExtUtils::Manifest not new enough - your configuration requires version 1.69

There's something interesting in the POD:

#pod =head1 NON-FATAL ERRORS
#pod
#pod By default, errors in the B<MANIFEST> or B<MANIFEST.SKIP> files are treated
#pod as fatal, which really is the purpose of using C<Test::DistManifest> as part
#pod of your author test suite.
#pod
#pod In some cases this is not desirable behaviour, such as with the Debian Perl
#pod Group, which runs all tests - including author tests - as part of its module
#pod packaging process. This wreaks havoc because Debian adds its control files  
#pod in C<debian/> downstream, and that directory or its files are generally not 
#pod in B<MANIFEST.SKIP>.
#pod
#pod By setting the environment variable B<MANIFEST_WARN_ONLY> to a true value,
#pod errors will be non-fatal - they show up as diagnostic messages only, but all
#pod tests pass from the perspective of C<Test::Harness>.
#pod
#pod This can be used in a test script as:
#pod
#pod   $ENV{MANIFEST_WARN_ONLY} = 1;
#pod
#pod or from other shell scripts as:
#pod
#pod   export MANIFEST_WARN_ONLY=1
#pod
#pod Note that parsing errors in B<MANIFEST> and circular dependencies will
#pod always be considered fatal. The author is not aware of any cases where
#pod other behaviour would be useful.


The following attempt to handle this situation works:

#v+
--- a/debian/rules
+++ b/debian/rules
@@ -2,3 +2,6 @@

 %:
        dh $@
+
+override_dh_auto_test:
+       MANIFEST_WARN_ONLY=1 dh_auto_test
#v-

Not sure if it's the best way ...


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Dire Straits: Tunnel Of Love
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: Digital Signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20150825/52e6f4e1/attachment.sig>


More information about the pkg-perl-maintainers mailing list