tags 372130 patch thanks On Fri, Jun 09, 2006 at 06:41:52PM +0200, Ola Lundqvist wrote: <snip> > In any case I made this as a wishlist bug and if someone can point me > to a good solution or even provide a patch for it, than I'm more than > happy.
Ok, I tried to make US happy. I attached a small patch that seems to do the work. I do not know whether it works in any case, but it worked for all of my tests. Please note, that I have virtually no experience with Perl, so there is probably a much more elegant/efficient way to do this. HTH, Michael -- GPG key: 1024D/3144BE0F Michael Hanke http://apsy.gse.uni-magdeburg.de/hanke ICQ: 48230050
--- /usr/bin/debarchiver 2006-06-10 13:57:07.000000000 +0200
+++ /home/hanke/bin/my-debarchiver 2006-06-10 13:53:43.871757480 +0200
@@ -1611,9 +1611,31 @@
"Installing $file to $installto.",
2);
}
- cmdaction("$rmcmd $file",
- "Removing $file after it has been installed.",
- 2);
+ # flag whether file should get deleted
+ my $killfile = 1;
+
+ # only do checks of processing source tarballs
+ if ($file =~ m/.tar.gz$/) {
+ my @upstream_version = split(/-/, $ver);
+ $upstream_version = $upstream_version[0];
+
+ # get list of remaining *.dsc files
+ my @dscfiles = <$inputdir/${pkgname}_$upver*.dsc>;
+
+ # check whether any of the *.dsc files does not match
the current package
+ foreach my $dscfile (@dscfiles) {
+ if ($dscfile ne
"$inputdir/${pkgname}_$ver.dsc") {
+ pdebug(4, "Found additional package
using the source tarball of the package. Will not delete it now!");
+ $killfile = 0;
+ }
+ }
+ }
+
+ if ($killfile) {
+ cmdaction("$rmcmd $file",
+ "Removing $file after it has been installed.",
+ 2);
+ }
}
###############################################################################
signature.asc
Description: Digital signature

