diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-05-15 22:40:55 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-05-15 13:50:24 -0700 |
commit | 1cba8caa7c0a15eb4bf5b6d6d8ddd5e2389db218 (patch) | |
tree | df352f0784dc36624ef00408b51043c3b16c93ff | |
parent | 85726a2bd9542d8424aaef60f764fefdb299527c (diff) | |
download | portage-1cba8caa7c0a15eb4bf5b6d6d8ddd5e2389db218.tar.gz portage-1cba8caa7c0a15eb4bf5b6d6d8ddd5e2389db218.tar.bz2 portage-1cba8caa7c0a15eb4bf5b6d6d8ddd5e2389db218.zip |
Extend QA check for absolute symlinks in lib dirs to more file types
-rwxr-xr-x | bin/misc-functions.sh | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 2fd049198..7fb61f69e 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -349,17 +349,7 @@ install_qa_check() { for j in "${i}"/*.so.* "${i}"/*.so ; do [[ ! -e ${j} ]] && continue - if [[ -L ${j} ]] ; then - linkdest=$(readlink "${j}") - if [[ ${linkdest} == /* ]] ; then - vecho -ne '\a\n' - eqawarn "QA Notice: Found an absolute symlink in a library directory:" - eqawarn " ${j#${D}} -> ${linkdest}" - eqawarn " It should be a relative symlink if in the same directory" - eqawarn " or a linker script if it crosses the /usr boundary." - fi - continue - fi + [[ -L ${j} ]] && continue [[ -x ${j} ]] && continue vecho "making executable: ${j#${D}}" chmod +x "${j}" @@ -372,6 +362,19 @@ install_qa_check() { vecho "removing executable bit: ${j#${D}}" chmod -x "${j}" done + + for j in "${i}"/*.{a,dll,dylib,sl,so}.* "${i}"/*.{a,dll,dylib,sl,so} ; do + [[ ! -e ${j} ]] && continue + [[ ! -L ${j} ]] && continue + linkdest=$(readlink "${j}") + if [[ ${linkdest} == /* ]] ; then + vecho -ne '\a\n' + eqawarn "QA Notice: Found an absolute symlink in a library directory:" + eqawarn " ${j#${D}} -> ${linkdest}" + eqawarn " It should be a relative symlink if in the same directory" + eqawarn " or a linker script if it crosses the /usr boundary." + fi + done done # When installing static libraries into /usr/lib and shared libraries into |