summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-12-15 00:06:19 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-12-19 16:58:57 +0000
commit801b029f697680642110406338ccae7a0179e6de (patch)
treee9442e21371310102d2eeab4392c91d987ea9b69
parent761257ea4fc5cad5eac4a06e09d5ebabaab2296f (diff)
If we cannot hardlink origs into our extraction area, use symlinks instead.
Closes:#844570. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rw-r--r--Debian/Dgit.pm4
-rw-r--r--debian/changelog2
2 files changed, 5 insertions, 1 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 1bac97b..50e3b86 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -289,7 +289,9 @@ sub link_ltarget ($$) {
if (-l _) {
$old = cmdoutput qw(realpath --), $old;
}
- link $old, $new or die "link $old $new: $!";
+ my $r = link $old, $new;
+ $r = symlink $old, $new if !$r && $!==EXDEV;
+ $r or die "(sym)link $old $new: $!";
}
sub hashfile ($) {
diff --git a/debian/changelog b/debian/changelog
index d2127cd..907e5e9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,8 @@ dgit (2.12~) unstable; urgency=medium
* Give better advice if .dsc/.changes signing fails: if no changes
are needed to the package, user may indeed just debsign and dput.
Closes:#844131.
+ * If we cannot hardlink origs into our extraction area, use symlinks
+ instead. Closes:#844570.
Test suite:
* Provide and use stunt lintian and debuild, to avoid lintian