Bug#704480: dh-make-perl: Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debian/Dependency.pm line 157.

Oleg Gashev oleg at gashev.net
Mon Apr 1 17:34:07 UTC 2013


Package: dh-make-perl
Version: 0.76-1
Severity: normal

# dh-make-perl --cpan cpan-outdated
Going to read '/root/.cpan/Metadata'
   Database was generated on Mon, 01 Apr 2013 16:07:28 GMT
CPAN: Digest::SHA loaded ok (v5.61)
Checksum for 
/root/.cpan/sources/authors/id/T/TO/TOKUHIROM/cpan-outdated-0.28.tar.gz ok
cpan-outdated-0.28/.gitignore
cpan-outdated-0.28/Build.PL
cpan-outdated-0.28/Changes
cpan-outdated-0.28/LICENSE
cpan-outdated-0.28/META.json
cpan-outdated-0.28/README.md
cpan-outdated-0.28/cpanfile
cpan-outdated-0.28/lib/App/cpanoutdated.pm
cpan-outdated-0.28/script/cpan-outdated
cpan-outdated-0.28/t/00_compile.t
cpan-outdated-0.28/t/01_compare_version.t
cpan-outdated-0.28/xt/02_perlcritic.t
cpan-outdated-0.28/xt/06_version.t
cpan-outdated-0.28/Build.PL
cpan-outdated-0.28/LICENSE
cpan-outdated-0.28/META.json
cpan-outdated-0.28/META.yml
cpan-outdated-0.28/MANIFEST
CPAN: File::Temp loaded ok (v0.22)
CPAN: Time::HiRes loaded ok (v1.972101)
Using META.json
Found: cpan-outdated 0.28 (libcpan-outdated-perl arch=all)
Using cached Contents from Mon Apr  1 12:18:13 2013
+ Module::Metadata >= 1.000007 found in perl-modules (>= 1.000007)
= IO::Zlib  is in core since 5.9.3
= version  is in core since 5.9.0
+ CPAN::DistnameInfo >= 0.1 found in libcpan-distnameinfo-perl (>= 0.1)
= perl >= 5.008001 is in core
= Module::CoreList  is in core since 5.8.9
+ local::lib >= 1.006008 found in liblocal-lib-perl (>= 1.006008)
+ LWP  found in libwww-perl

Needs the following debian packages: perl-modules (>= 1.000007), perl 
(>= 5.9.3), libcpan-distnameinfo-perl (>= 0.1), liblocal-lib-perl (>= 
1.006008), libwww-perl
= CPAN::Meta  is in core since 5.13.10
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
+ Module::Build >= 0.4 found in libmodule-build-perl ( 0.4) | 
perl-modules ( 0.4)
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.

Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157.
Needs the following debian packages during building: perl (>= 5.13.10), 
libmodule-build-perl ( 0.4) | perl-modules ( 0.4)
Using maintainer: Oleg Gashev <oleg at gashev.net>
Found docs: README.md
Using rules: /usr/share/dh-make-perl/rules.dh7.tiny
Module::Build needs perl
--- Done
Switched to a new branch 'master'
pristine-tar: committed libcpan-outdated-perl_0.28.orig.tar.gz.delta to 
branch pristine-tar
Reading package lists... Done
Building dependency tree
Reading state information... Done

Backtrace:
Use of uninitialized value in concatenation (.) or string at 
/usr/share/perl5/Debian/Dependency.pm line 157
	Debian::Dependency::_stringify('Debian::Dependency=HASH(0xc671c40)', 
undef, '') called at /usr/share/perl5/Debian/Dependency.pm line 152
	Debian::Dependency::_stringify('Debian::Dependency=HASH(0xc6720b8)', 
undef, '') called at /usr/share/perl5/Debian/Control/FromCPAN.pm line 291
	Debian::Control::FromCPAN::find_debs_for_modules('Debian::Control::FromCPAN=HASH(0x11083b0)', 'HASH(0xc671da8)', 'Debian::AptContents=HASH(0xc4e1930)', 1) called at /usr/share/perl5/Debian/Control/FromCPAN.pm line 183
	Debian::Control::FromCPAN::discover_dependencies('Debian::Control::FromCPAN=HASH(0x11083b0)', 'HASH(0xc57a790)') called at /usr/share/perl5/DhMakePerl/Command/Packaging.pm line 1384
	DhMakePerl::Command::Packaging::discover_dependencies('DhMakePerl::Command::make=HASH(0x1102790)') called at /usr/share/perl5/DhMakePerl/Command/make.pm line 121
	DhMakePerl::Command::make::execute('DhMakePerl::Command::make=HASH(0x1102790)') called at /usr/share/perl5/DhMakePerl.pm line 85
	DhMakePerl::run('DhMakePerl') called at /usr/bin/dh-make-perl line 11

/usr/share/perl5/Debian/Dependency.pm line 157:

149 sub _stringify {
150     my $self = shift;
151
152     if( $self->alternatives ) {
153         return join( ' | ', @{ $self->alternatives } );
154     }
155
156     return (
157           $self->ver
158         ? $self->pkg . ' (' . $self->rel . ' ' . $self->ver . ')'
159         : $self->pkg
160     );
161 }

A warning displayed when $self->pkg is libmodule-build-perl and 
$self->rel is not defined here.

Dumper value of $self is
$VAR1 = bless( {
                  'pkg' => 'libmodule-build-perl',
                  'ver' => bless( {
                                    'no_revision' => 1,
                                    'revision' => 0,
                                    'epoch' => 0,
                                    'version' => '0.4',
                                    'no_epoch' => 1
                                  }, 'Dpkg::Version' )
                }, 'Debian::Dependency' );

The Debian::Dependency object created in 
/usr/share/perl5/Debian/Control/FromCPAN.pm:

280             $dep = Debian::Dependency->new(
281                   ( @pkgs > 1 )
282                 ? [ map { { pkg => $_, ver => $version } } @pkgs ]
283                 : ( $pkgs[0], $version )
284             );

In this code, the parameter 'rel' is not specified.

Hotfix:

282c282
<                 ? [ map { { pkg => $_, ver => $version } } @pkgs ]
---
 >                 ? [ map { { pkg => $_, rel => '>=', ver => $version } 
} @pkgs ]






-- System Information:
Debian Release: 7.0
   APT prefers unstable
   APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dh-make-perl depends on:
ii  debhelper                         9.20120909
ii  dpkg-dev                          1.16.10
ii  fakeroot                          1.18.4-2
ii  libapt-pkg-perl                   0.1.27
ii  libarray-unique-perl              0.08-1
ii  libclass-accessor-perl            0.34-1
ii  libdpkg-perl                      1.16.10
ii  libemail-address-perl             1.898-1
ii  libemail-date-format-perl         1.002-1
ii  libfile-which-perl                1.09-1
ii  liblist-moreutils-perl            0.33-1+b1
ii  libmodule-depends-perl            0.16-1
ii  libparse-debcontrol-perl          2.005-3
ii  libparse-debianchangelog-perl     1.2.0-1
ii  libsoftware-license-perl          0.103005-1
ii  libtie-ixhash-perl                1.23-1
ii  libwww-mechanize-perl             1.71-1
ii  libyaml-perl                      0.84-1
ii  make                              3.81-8.2
ii  perl                              5.14.2-20
ii  perl-modules [libcpan-meta-perl]  5.14.2-20

Versions of packages dh-make-perl recommends:
ii  apt-file      2.5.1
ii  git           1:1.7.10.4-2
ii  pristine-tar  1.26

dh-make-perl suggests no packages.

-- no debconf information



More information about the pkg-perl-maintainers mailing list