Merge pull request #295099 from Qyriad/maint/autopatchelf-single-line

autoPatchelfHook: move multiline hook into a function
This commit is contained in:
Guillaume Maudoux 2024-03-18 10:17:37 +01:00 committed by GitHub
commit fb1539a8c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -88,22 +88,21 @@ autoPatchelf() {
--extra-args "${patchelfFlagsArray[@]}" --extra-args "${patchelfFlagsArray[@]}"
} }
# XXX: This should ultimately use fixupOutputHooks but we currently don't have autoPatchelfPostFixup() {
# a way to enforce the order. If we have $runtimeDependencies set, the setup # XXX: This should ultimately use fixupOutputHooks but we currently don't have
# hook of patchelf is going to ruin everything and strip out those additional # a way to enforce the order. If we have $runtimeDependencies set, the setup
# RPATHs. # hook of patchelf is going to ruin everything and strip out those additional
# # RPATHs.
# So what we do here is basically run in postFixup and emulate the same #
# behaviour as fixupOutputHooks because the setup hook for patchelf is run in # So what we do here is basically run in postFixup and emulate the same
# fixupOutput and the postFixup hook runs later. # behaviour as fixupOutputHooks because the setup hook for patchelf is run in
# # fixupOutput and the postFixup hook runs later.
# shellcheck disable=SC2016 if [[ -z "${dontAutoPatchelf-}" ]]; then
# (Expressions don't expand in single quotes, use double quotes for that.)
postFixupHooks+=('
if [ -z "${dontAutoPatchelf-}" ]; then
autoPatchelf -- $(for output in $(getAllOutputNames); do autoPatchelf -- $(for output in $(getAllOutputNames); do
[ -e "${!output}" ] || continue [ -e "${!output}" ] || continue
echo "${!output}" echo "${!output}"
done) done)
fi fi
') }
postFixupHooks+=(autoPatchelfPostFixup)