[arch-projects] [mkinitcpio] [PATCH] Rely on ldconfig to generate library symlinks
Dave Reisner
dreisner at archlinux.org
Sun Mar 23 11:43:50 EDT 2014
Ignore the intermediate garbage and just let ldconfig do the right
thing. Because we now depend on ldconfig, subject it to the standard
error handlers.
Fixes FS#39560
---
functions | 9 ++++++---
mkinitcpio | 5 ++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/functions b/functions
index 2d38815..78ba4c8 100644
--- a/functions
+++ b/functions
@@ -587,9 +587,12 @@ add_binary() {
if [[ ! -L $sodep ]]; then
add_file "$sodep" "$sodep" "$(stat -c %a "$sodep")"
else
- resolved=$(readlink -e "$sodep")
- add_symlink "$sodep" "$(readlink "$sodep")"
- add_file "$resolved" "$resolved" 755
+ if resolved=$(readlink -e "$sodep"); then
+ add_file "$resolved"
+ else
+ error 'Failed to resolve the symlink target of %s' "$sodep"
+ (( ++builderrors ))
+ fi
fi
fi
done <<< "$lddout"
diff --git a/mkinitcpio b/mkinitcpio
index 42abde7..cec9ffb 100755
--- a/mkinitcpio
+++ b/mkinitcpio
@@ -496,14 +496,13 @@ set -o errtrace
install_modules "${!_modpaths[@]}"
+ldconfig -r "$BUILDROOT"
+
# unset errtrace and trap
set +o functrace
set +o errtrace
trap -- ERR
-# this is simply a nice-to-have -- it doesn't matter if it fails.
-ldconfig -r "$BUILDROOT" &>/dev/null
-
if [[ $_optgenimg ]]; then
build_image "$_optgenimg" "$_optcompress"
elif [[ $_opttargetdir ]]; then
--
1.9.1
More information about the arch-projects
mailing list