diff options
author | Erich Eckner <git@eckner.net> | 2018-11-15 13:47:49 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-11-15 13:47:49 +0100 |
commit | b5a548b0cbc6f6832eb60c04fb29cb1991ba8b07 (patch) | |
tree | ffa49f64422ecf33bbf1c9903e5ec7a14c1bd225 /bin/build-packages | |
parent | 185262a6fbe86440f3e5c433eceb278a879d5ddb (diff) | |
download | builder-b5a548b0cbc6f6832eb60c04fb29cb1991ba8b07.tar.xz |
bin/build-packages: include so versioned symbols in dependencies
Diffstat (limited to 'bin/build-packages')
-rwxr-xr-x | bin/build-packages | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/bin/build-packages b/bin/build-packages index 138d894..dd733eb 100755 --- a/bin/build-packages +++ b/bin/build-packages @@ -576,12 +576,18 @@ while [ "${count}" -ne 0 ] && \ -exec objdump -x '{}' \; 2>/dev/null | \ sed ' /^architecture:.* i386:x86-64, /,/^architecture:.* i386:x86-32, / d - ' | \ - grep -w 'NEEDED' | \ - awk '{print $2}' | \ - sed ' - /\.c32$/d - s,^.*/,, + /NEEDED/ { + s/^\s*\S\+\s\+\(\S\+\)\(\s.*\)\?$/\1/ + /\.c32$/d + s,^.*/,, + t + } + /^Version References:$/,/^$/ { + /^\s*required from/ d + s/^\s*\(0x[0-9a-fA-F]\+\)\s\+0x[0-9a-fA-F]\+\s\+[0-9]\+\s\+\(\S\+\)$/\2=\1/ + t + } + d ' | \ sort -u > \ "${pkgfile}.so.needs" @@ -600,9 +606,16 @@ while [ "${count}" -ne 0 ] && \ -exec objdump -x '{}' \; 2>/dev/null | \ sed ' /^architecture:.* i386:x86-64, /,/^architecture:.* i386:x86-32, / d + /SONAME/ { + s/^\s*\S\+\s\+\(\S\+\)\s.*$/\1/ + t + } + /^Version definitions:$/,/^$/ { + s/^[0-9]\+\s\+0x[0-9a-fA-F]\+\s\+\(0x[0-9a-fA-F]\+\)\s\+\(\S\+\)$/\2=\1/ + t + } + d ' | \ - grep -w 'SONAME' | \ - awk '{print $2}' | \ sort -u >> \ "${pkgfile}.so.provides" find "${package_content_dir:?}/${pkgfile##*/}" -xdev -exec chmod 777 '{}' \; |