Package: flexbackup Version: 1.2.1-6.2 Severity: grave Tags: upstream patch Justification: renders package unusable
Perl has been complaining about the use of this deprecated construct for quite a while now but now since Perl 5.22 has entered the archive it is a fatal error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at /usr/bin/flexbackup line 1053. Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /usr/bin/flexbackup line 2688. See http://perldoc.perl.org/perldelta.html#defined%28%40array%29-and-defined%28%25hash%29-are-now-fatal-errors It seems that simply removing the defined() (i.e. checking the length) is the generally recommended fix, so I intend to NMU with the attached dpatch added once my weekly backups have successfully completed. I'll supply a full diff at that time. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, armhf, armel, arm64 Kernel: Linux 4.3.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: sysvinit (via /sbin/init) Versions of packages flexbackup depends on: ii cpio 2.11+dfsg-5 ii perl 5.22.1-7 Versions of packages flexbackup recommends: ii afio 2.5.1.20130626+gite266635-1 ii binutils 2.26-4 ii buffer 1.19-12 ii lzma 9.22-2 ii pax 1:20151013-1 ii rsync 3.1.1-3 ii sharutils 1:4.15.2-1 ii star 1.5final-2 ii xz-utils [lzma] 5.1.1alpha+20120614-2.1 ii zip 3.0-11 Versions of packages flexbackup suggests: pn lha <none> ii ssh 1:7.1p2-2 -- Configuration Files: /etc/flexbackup.conf changed [not included] -- no debconf information
#!/bin/sh /usr/share/dpatch/dpatch-run ## 60_use_afio_default_nocompression.dpatch by Kurt B. Kaiser <k...@shore.net> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Bug #XXXXXX patch by Ian Campbell <i...@debian.org> ## DP: ## DP: defined(%hash) and defined(@array) have been deprecated for a while and ## DP: are now fatal errors: ## DP: ## DP: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at /usr/bin/flexbackup line 1053. ## DP: Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /usr/bin/flexbackup line 2688. ## DP: ## DP: See http://perldoc.perl.org/perldelta.html#defined%28%40array%29-and-defined%28%25hash%29-are-now-fatal-errors ## DP: ## DP: http://perldoc.perl.org/functions/defined.html recommends just checking ## DP: for length (i.e. removing the defined()). Do so. @DPATCH@ diff -urNad flexbackup-svn~/flexbackup flexbackup-svn/flexbackup --- flexbackup-svn~/flexbackup 2016-02-28 08:54:08.338589461 +0000 +++ flexbackup-svn/flexbackup 2016-02-28 08:56:08.934584524 +0000 @@ -1050,7 +1050,7 @@ } else { $prunekey = $dir; } - if (defined(%{$::prune{$prunekey}})) { + if (%{$::prune{$prunekey}}) { &log("| NOTE: \$prune is ignored for type=dump"); } @@ -2685,7 +2685,7 @@ } # Flag old config file - if (defined(@cfg::filesystems) or defined($cfg::mt_var_blksize)) { + if (@cfg::filesystems or defined($cfg::mt_var_blksize)) { # so strict shuts up my $junk = @cfg::filesystems; $junk = $cfg::mt_var_blksize; @@ -4883,7 +4883,7 @@ $prunekey = $dir; } - if (defined(%{$::prune{$prunekey}})) { + if (%{$::prune{$prunekey}}) { # FreeBSD needs -E (above) and no backslashes around the (|) chars if ($::uname =~ /FreeBSD/) { $cmd .= '-regex "\./(';