The following commit has been merged in the master branch:
commit 0c5963d09d70bcf79aa40e1d3e7a69345444cca7
Author: Guillem Jover <[EMAIL PROTECTED]>
Date: Tue Jun 17 07:15:36 2008 +0300
dpkg-divert: Support diverting files from and to different file systems
Based on a patch by Juergen Kreileder. Closes: #102144, #149961
diff --git a/ChangeLog b/ChangeLog
index cf90cee..b4edc4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-17 Juergen Kreileder <[EMAIL PROTECTED]>,
+ Guillem Jover <[EMAIL PROTECTED]>
+
+ * scripts/dpkg-divert.pl (rename_mv): New function.
+ (dorename): Use rename_mv instead of rename.
+
2008-06-10 Guillem Jover <[EMAIL PROTECTED]>
* lib/varbuf.c (varbufvprintf): Call va_end when done with the va_list
diff --git a/debian/changelog b/debian/changelog
index 41d4750..d071ec6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,8 @@ dpkg (1.15.0) UNRELEASED; urgency=low
inherited by the childs. Closes: #471488
* Add '.hgignore' to the default dpkg-source -i regex and -I pattern.
Closes: #485365
+ * Support diverting files when origin and destination are on different file
+ systems. Based on a patch by Juergen Kreileder. Closes: #102144, #149961
[ Raphael Hertzog ]
* Enhance dpkg-shlibdeps's error message when a library can't be found to
diff --git a/scripts/dpkg-divert.pl b/scripts/dpkg-divert.pl
index 56257ed..d6500d8 100755
--- a/scripts/dpkg-divert.pl
+++ b/scripts/dpkg-divert.pl
@@ -264,6 +264,11 @@ sub checkrename {
}
}
+sub rename_mv($$)
+{
+ return (rename($_[0], $_[1]) || (system(("mv", $_[0], $_[1])) == 0));
+}
+
sub dorename {
return unless $dorename;
return if $testmode;
@@ -271,7 +276,8 @@ sub dorename {
if (@sdest) {
unlink($rsrc) || &quit(sprintf(_g("rename: remove duplicate old
link \`%s': %s"), $rsrc, $!));
} else {
- rename($rsrc,$rdest) || &quit(sprintf(_g("rename: rename \`%s' to
\`%s': %s"), $rsrc, $rdest, $!));
+ rename_mv($rsrc, $rdest) ||
+ quit(sprintf(_g("rename: rename \`%s' to \`%s': %s"), $rsrc,
$rdest, $!));
}
}
}
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]