Package: dpkg-dev
Version: 1.14.20
Severity: minor

Example:

$ dpkg-buildpackage
...
pkg-buildpackage: host architecture i386
^Cdpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; 
aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)

The problematic code is:

>     if (system('dpkg-checkbuilddeps', @checkbuilddep_args)) {
>         warning(_g("Build dependencies/conflicts unsatisfied; aborting."));
>         warning(_g("(Use -d flag to override.)"));

Demonstration of a better way to handle the exit status:

$ cat ../t
# ft=perl

use warnings;
use strict;

system('dpkg-checkbuilddeps');

print "\$? is $?\n";

if ($? == -1) {
    print "failed to execute: $!\n";
}
elsif ($? & 127) {
    printf "child died with signal %d\n", ($? & 127);
}
else {
    printf "child exited with value %d\n", $? >> 8;
}

$ perl ../t
$? is 0
child exited with value 0
$ perl ../t
^C$? is 2
child died with signal 2
$ sed -i 's/Build-Depends:.*/Build-Depends: foo/' debian/control
$ perl ../t
dpkg-checkbuilddeps: Unmet build dependencies: foo
$? is 256
child exited with value 1

Cheers,
-- 
Atomo64 - Raphael

Please avoid sending me Word, PowerPoint or Excel attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to