chiark / gitweb /
run i_cleanup unconditionall
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 31e57c5b9a3e2f5e0d47332a85d28fcc288256e8..2972a9ece86a8e52db94e2bf73fe7e8734e2493b 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1113,7 +1113,7 @@ sub push_parse_changelog ($) {
     my ($clogpfn) = @_;
 
     my $clogp = Dpkg::Control::Hash->new();
-    $clogp->load($clogpfn);
+    $clogp->load($clogpfn) or die;
 
     $package = getfield $clogp, 'Source';
     my $cversion = getfield $clogp, 'Version';
@@ -1439,6 +1439,8 @@ sub i_cleanup {
     eval { rmtree $i_tmp; };
 }
 
+END { i_cleanup(); }
+
 sub i_method {
     my ($base,$selector,@args) = @_;
     $selector =~ s/\-/_/g;
@@ -1531,7 +1533,7 @@ sub i_localname_parsed_changelog { return "remote-changelog.822"; }
 sub i_localname_changes { return "remote.changes"; }
 sub i_localname_dsc {
     ($i_clogp, $i_version, $i_tag, $i_dscfn) =
-       push_parse_changelog 'remote-changelog.822';
+       push_parse_changelog "$i_tmp/remote-changelog.822";
     die if $i_dscfn =~ m#/|^\W#;
     return $i_dscfn;
 }