Package: dpkg-dev
Version: 1.14.22

$ cd /var/tmp
$ apt-get source -d xsoldier
[...]
Download complete and in download only mode
$ dpkg-source -x xsoldier_1.4-1.1.dsc /tmp/xsoldier
dpkg-source: extracting xsoldier in /tmp/xsoldier
dpkg-source: info: unpacking xsoldier_1.4.orig.tar.gz
dpkg-source: failure: Unable to rename 
/var/tmp/xsoldier_1.4.orig.tar.gz.tmp-extract.yPGU6/xsoldier-1.4
to /tmp/xsoldier.orig: Invalid cross-device link

$ strace dpkg-source -x xsoldier_1.4-1.1.dsc /tmp/xsoldier 2>&1 | grep rename\(
read(3, "\") if $?;\n        }\n\n\trename($exp"..., 4096) = 4096
rename("/var/tmp/xsoldier_1.4.orig.tar.gz.tmp-extract.Pp5Wz/xsoldier-1.4", 
"/tmp/xsoldier.orig")
= -1 EXDEV (Invalid cross-device link)

Dpkg::Source should be smarter and extract directly on the output-dir if CWD is 
not on the same mounted filesystem or use/do something to workaround 
rename(2)'s inability to do its job, instead of failing miserably.

Cheers,
-- 
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to