Avoid uninitialized value warning when debian/rules fails to run due to alien being run in a noexec directory. Closes: #579216

* Avoid uninitialized value warning when debian/rules fails to run
  due to alien being run in a noexec directory. Closes: #579216
* Prevent DESTROY stomping on alien's exit code sometimes.
This commit is contained in:
Joey Hess
2010-04-28 11:30:44 -04:00
parent 7e84fd2a26
commit b4bdd3818d
3 changed files with 19 additions and 3 deletions

View File

@@ -331,6 +331,8 @@ package was unpacked, it is time now to wipe out the temporary directory.
sub DESTROY {
my $this=shift;
my $exitcode=$?;
return if (! defined $this->unpacked_tree || $this->unpacked_tree eq '');
# This should never happen, but it pays to check.
if ($this->unpacked_tree eq '/') {
@@ -344,7 +346,9 @@ sub DESTROY {
$this->do('rm', '-rf', $this->unpacked_tree)
or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
$this->unpacked_tree('');
$this->unpacked_tree('');
$?=$exitcode;
}
=item AUTOLOAD

View File

@@ -491,10 +491,14 @@ sub build {
chdir $this->unpacked_tree;
my $log=$this->runpipe(1, "debian/rules binary 2>&1");
if ($?) {
chdir "..";
my $err=$?;
if ($err) {
if (! defined $log) {
die "Package build failed; could not run generated debian/rules file.\n";
}
die "Package build failed. Here's the log:\n", $log;
}
chdir "..";
return $this->name."_".$this->version."-".$this->release."_".$this->arch.".deb";
}

8
debian/changelog vendored
View File

@@ -1,3 +1,11 @@
alien (8.81) UNRELEASED; urgency=low
* Avoid uninitialized value warning when debian/rules fails to run
due to alien being run in a noexec directory. Closes: #579216
* Prevent DESTROY stomping on alien's exit code sometimes.
-- Joey Hess <joeyh@debian.org> Wed, 28 Apr 2010 11:29:19 -0400
alien (8.80) unstable; urgency=low
* Support querying rpm LICENSE field. (Alexey Khoroshilov)