tag 296917 +patch
thanks
Hi,
following the discussion about this bug on debian-devel, with some late,
I looked quickly in the code of the debhelper package, and I think I
could understand it very fast (proof that it is written in a very
maintainable way), so I tried to write this patch. I don't make much
Debian packaging yet, so I let others test it.
diff -ur debhelper-4.2.31/Debian/Debhelper/Dh_Getopt.pm debhelper-4.2.31.new/Debian/Debhelper/Dh_Getopt.pm
--- debhelper-4.2.31/Debian/Debhelper/Dh_Getopt.pm 2004-06-29 01:59:57.000000000 +0200
+++ debhelper-4.2.31.new/Debian/Debhelper/Dh_Getopt.pm 2005-03-22 20:39:02.000000000 +0100
@@ -165,6 +165,10 @@
"error-handler=s" => \$options{ERROR_HANDLER},
"<>" => \&NonOption,
+
+ "move=s" => \$options{MOVE},
+
+ "hard-link=s" => \$options{HARD_LINK},
);
if (!$ret) {
diff -ur debhelper-4.2.31/dh_install debhelper-4.2.31.new/dh_install
--- debhelper-4.2.31/dh_install 2004-01-16 04:47:14.000000000 +0100
+++ debhelper-4.2.31.new/dh_install 2005-03-22 23:01:22.200594648 +0100
@@ -12,7 +12,7 @@
=head1 SYNOPSIS
-B<dh_install> [B<-X>I<item>] [B<--autodest>] [B<--sourcedir=>I<dir>] [S<I<debhelper options>>] [S<I<file [...] dest>>]
+B<dh_install> [B<-X>I<item>] [B<--autodest>] [B<--sourcedir=>I<dir>] [B<--move>] [B<--hard-link>] [S<I<debhelper options>>] [S<I<file [...] dest>>]
=head1 DESCRIPTION
@@ -96,6 +96,17 @@
approximate dh_movefiles behaviour, except it will copy files instead
of moving them.
+=item B<--move>
+
+Moves the files instead of copying them. B<Caution!> It breaks idempotency!. Ignored
+when B<--hard-link> is used
+
+=item B<--hard-link>
+
+Copies the files by creating hard links, to perform faster and save disk space.
+B<Caution!> Don't use it if you wan't to be able to modify the source files
+after having installed them.
+
=item I<file [...] dest>
Lists files (or directories) to install and where to install them to.
@@ -180,7 +191,15 @@
complex_doit("cd $src/.. && find $dir_basename $exclude \\( -type d -and -empty \\) -exec cp --parents -a {} $pwd/$tmp/$dest/ \\;");
}
else {
- doit("cp", "-a", $src, "$tmp/$dest/");
+ if ($dh{HARD_LINK}) {
+ doit("cp", "-al", $src, "$tmp/$dest/");
+ }
+ elsif ($dh{MOVE}) {
+ doit("mv", "", $src, "$tmp/$dest/");
+ }
+ else {
+ doit("cp", "-a", $src, "$tmp/$dest/");
+ }
}
if ($tmpdest) {
Quickly,
Nowhere man
--
nowhere.man@levallois.eu.org
OpenPGP 0xD9D50D8A
Attachment:
signature.asc
Description: Digital signature