summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2010-08-09 15:27:03 +0300
committerPanu Matilainen <pmatilai@redhat.com>2010-08-09 15:29:15 +0300
commitc72fc6adba1acb4fe49e31273c2437703b15afeb (patch)
treefe77fc8823a79d8d49b188c1672310424573d432 /scripts
parent9570a7f6af152e2f1e63181ad8a20d12a10e3c5b (diff)
downloadrpm-c72fc6adba1acb4fe49e31273c2437703b15afeb.tar.gz
Fix find-debuginfo.sh behavior on cross-directory hardlinks (RhBug:618426)
- The find-debuginfo.sh script makes hard links of .debug files to correspond to hard links between install binaries. It can fail to create one of these .debug hard links if it's in a directory that didn't exist at that point in the script run. How this happens depends on things like the order "find" lists files, so it can be hard to reproduce off hand.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/find-debuginfo.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
index 3ada962db..e050dc1b5 100644
--- a/scripts/find-debuginfo.sh
+++ b/scripts/find-debuginfo.sh
@@ -191,7 +191,7 @@ while read nlinks inum f; do
link=$debugfn
get_debugfn "$linked"
echo "hard linked $link to $debugfn"
- ln -nf "$debugfn" "$link"
+ mkdir -p "$(dirname "$link")" && ln -nf "$debugfn" "$link"
continue
else
eval linked_$inum=\$f