04-generate-runtime-deps.sh: introduce skiprdeps

Yet another variable to permit skipping of runtime dependency checks
for a list of files, specifying their absolute path in the $DESTDIR,
allows us to handle known bad detections due to e.g. binaries or
shared libraries not meant to be run or loaded in the host.

This will be used to fix the android-studio template to skip
a number of files which would create a bogus dependency on libc.so.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
This commit is contained in:
Jürgen Buchmüller 2018-04-10 17:54:13 +02:00
parent 493ad34539
commit f274d7728c
No known key found for this signature in database
GPG key ID: 6764EC32352D0647
2 changed files with 7 additions and 2 deletions

View file

@ -9,7 +9,7 @@ unset -v depends run_depends replaces provides conflicts tags
unset -v nostrip nostrip_files
# hooks/pre-pkg/04-generate-runtime-deps
unset -v noverifyrdeps allow_unknown_shlibs shlib_requires
unset -v noverifyrdeps skiprdeps allow_unknown_shlibs shlib_requires
# hooks/pre-pkg/06-prepare-32bit
unset -v lib32depends lib32disabled lib32files lib32mode lib32symlinks

View file

@ -47,7 +47,7 @@ store_pkgdestdir_rundeps() {
}
hook() {
local depsftmp f j tmplf mapshlibs sorequires _curdep
local depsftmp f lf j tmplf mapshlibs sorequires _curdep
# Disable trap on ERR, xbps-uhelper cmd might return error... but not something
# to be worried about because if there are broken shlibs this hook returns
@ -68,6 +68,11 @@ hook() {
exec 3<&0 # save stdin
exec < $depsftmp
while read f; do
lf=${f#${DESTDIR}}
if [ "${skiprdeps/${lf}/}" != "${skiprdeps}" ]; then
msg_normal "Skipping dependency scan for ${lf}\n"
continue
fi
case "$(file -bi "$f")" in
application/x-executable*|application/x-sharedlib*)
for nlib in $($OBJDUMP -p "$f"|grep NEEDED|awk '{print $2}'); do