]> git.donarmstrong.com Git - wannabuild.git/blobdiff - bin/wanna-build
Newer versions of Dpkg::Version export version_compare instead of vercmp.
[wannabuild.git] / bin / wanna-build
index 56e5ced97a300d4309341e7e1f06b04c4085ba3c..8787c717f24ae9dc837e804a2a92d8afc60873f4 100755 (executable)
@@ -52,7 +52,13 @@ use Hash::Merge qw ( merge );
 use String::Format;
 use Date::Parse;
 use List::Util qw[max];
-use Dpkg::Version qw(vercmp); # TODO: change this for running with squeeze dpkg
+use Dpkg::Version (); # import nothing
+if ( defined $Dpkg::Version::VERSION ) {
+    *vercmp = \&Dpkg::Version::version_compare;
+} else {
+    *vercmp = \&Dpkg::Version::vercmp;
+}
+
 use Dpkg::Deps; # TODO: same
 
 our ($verbose, $mail_logs, $list_order, $list_state,
@@ -284,7 +290,7 @@ if ($distribution eq 'any-unpriv') {
 }
 
 my $schema_suffix = '';
-$recorduser //= (not -t and $user =~ /^buildd_/);
+$recorduser //= (not -t and $user//"" =~ /^buildd_/);
 if (isin( $op_mode, qw(list info)) && $distribution !~ /security/ && !$recorduser && !($privmode)) {
        $dbh = DBI->connect("DBI:Pg:service=wanna-build") || 
                die "FATAL: Cannot open database: $DBI::errstr\n";
@@ -2676,7 +2682,7 @@ sub call_edos_depcheck {
        my $change = 
            (defined $interesting_packages{$key} and $pkg->{'state'} eq 'Needs-Build') ||
            (not defined $interesting_packages{$key} and $pkg->{'state'} eq 'BD-Uninstallable');
-       my $problemchange = $interesting_packages{$key} ne $pkg->{'bd_problem'};
+       my $problemchange = ($interesting_packages{$key}//"") ne ($pkg->{'bd_problem'}//"");
        if ($change) {
            if (defined $interesting_packages{$key}) {
                    change_state( \$pkg, 'BD-Uninstallable' );