Bug#871934: libfile-userconfig-perl: FTBFS when debhelper does not export PERL_USE_UNSAFE_INC

Dominic Hargreaves dom at earth.li
Sat Aug 12 18:13:11 UTC 2017


Source: libfile-userconfig-perl
Version: 0.06-2
Severity: normal
User: debian-perl at lists.debian.org
Usertags: debhelper-use-unsafe-inc-removal

This package FTBFS when debhelper is changed to not export
PERL_USE_UNSAFE_INC to the build environment. This export was added in
2016 at the same time that '.' was removed from INC by default, to
avoid breakage, but was a temporary change.

As well as allowing us to (eventually) remove this export from debhelper,
fixing this bug in your package will also help upstream, since this
change has been made in perl 5.26 upstream.

Additionally, it's possible that the problem may also exist at runtime
for your package (though from experience this is less likely).

Note that the rebuild testing was against a locally-modified version
of debhelper, but you can get the same effect by setting debhelper
compat level 11 in your package, which also removes the same
export.

For information about how to fix this class of issues, please refer
to the upstream release notes (in particular, 'Script authors' and
'Module Authors'):

http://perldoc.perl.org/perldelta.html#Removal-of-the-current-directory-(%22.%22)-from-%40INC

The relevant build failure logs are below:

PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/01_compile.t .. 
1..2
ok 1 - Perl version is 5.004 or newer
ok 2 - require File::UserConfig;
ok

#   Failed test 'Could get the REAL data dir'
#   at t/02_main.t line 38.
# Looks like you failed 1 test of 27.
t/02_main.t ..... 
1..27

Note that when dh compat is bumped to 11, it fails like this instead:

  dh_auto_configure
    perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
Can't locate inc/Module/Install.pm in @INC (you may need to install the inc::Module::Install module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.0 /usr/local/share/perl/5.26.0 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.

Please feel feel free to get in touch with the Debian Perl team at              debian-perl at lists.debian.org if you need any more information or                assistance to fix this issue.              

Cheers,
Dominic.



More information about the pkg-perl-maintainers mailing list