From 8d36443a8876dff1c31d86717a1197f5231b0bfc Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 1 Jul 2019 20:58:14 +0200 Subject: bin/build-packages: extract perl version from `objdump -x`s RPATH, too --- bin/build-packages | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'bin/build-packages') diff --git a/bin/build-packages b/bin/build-packages index 185bada..4034782 100755 --- a/bin/build-packages +++ b/bin/build-packages @@ -725,6 +725,11 @@ while [ "${count}" -ne 0 ] && \ -exec objdump -x '{}' \; 2>/dev/null | \ sed ' /^architecture:.* i386:x86-64, /,/^architecture:.* i386:x86-32, / d + \@^\s*RPATH\s\+/usr/lib/perl\([0-9]\+\)/\1\.[0-9.]\+/@ { + s@^\s*RPATH\s\+/usr/lib/perl\([0-9]\+\)/\(\1\(\.[0-9.]\+\)\?\)\.\([0-9]\+\)/.*$@\2 \4@ + w '"${pkgfile}"'.needed-perl-version + d + } /\sNEEDED\s/ { s/^\s*\S\+\s\+\(\S\+\)\(\s.*\)\?$/\1/ /\.c32$/d @@ -789,19 +794,27 @@ while [ "${count}" -ne 0 ] && \ find "${package_content_dir:?}/${pkgfile##*/}" -xdev -not -type l -exec chmod 777 '{}' \; rm -rf --one-file-system "${package_content_dir:?}/${pkgfile##*/}" fi - tar -tJf "${pkgfile}" 2>/dev/null | \ - sed -n ' - s,^usr/lib/python\(2\?\)\([013-9.][0-9.]*\)/$,python\1 \1\2, - t print - s,^usr/lib/perl[^/]\+/\([0-9.]\+\)/$,perl \1, - t print - s,^usr/lib/ruby/\([0-9.]\+\)/$,ruby \1, - t print - b - :print - s/\.\([^.]\+\)$/ \1/ - p - ' | \ + { + tar -tJf "${pkgfile}" 2>/dev/null | \ + sed -n ' + s,^usr/lib/python\(2\?\)\([013-9.][0-9.]*\)/$,python\1 \1\2, + t print + s,^usr/lib/perl[^/]\+/\([0-9.]\+\)/$,perl \1, + t print + s,^usr/lib/ruby/\([0-9.]\+\)/$,ruby \1, + t print + b + :print + s/\.\([^.]\+\)$/ \1/ + p + ' + if [ -f "${pkgfile}.needed-perl-versions" ]; then + sed ' + s/^/perl / + ' "${pkgfile}.needed-perl-versions" + rm "${pkgfile}.needed-perl-versions" + fi + } | \ while read -r name major_version minor_version; do printf '%s>=%s.%s\n%s<%s.%s\n' \ "${name}" \ -- cgit v1.2.3-54-g00ecf