Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-11-15 13:47:49 +0100
committerErich Eckner <git@eckner.net>2018-11-15 13:47:49 +0100
commitb5a548b0cbc6f6832eb60c04fb29cb1991ba8b07 (patch)
treeffa49f64422ecf33bbf1c9903e5ec7a14c1bd225
parent185262a6fbe86440f3e5c433eceb278a879d5ddb (diff)
bin/build-packages: include so versioned symbols in dependencies
-rwxr-xr-xbin/build-packages29
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 '{}' \;