From 13e6b643cbb46d1f9a8156e401ff33c78509eb64 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 17 Jun 2023 16:43:06 -0400 Subject: sbopkglint: check for bins/libs without +x bit set. --- TODO | 3 ++- sbopkglint.d/20-arch.t.sh | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index 6828728..8bd3336 100644 --- a/TODO +++ b/TODO @@ -1,8 +1,9 @@ +TODO: sbolint should check that gtk-update-icon-cache is guarded by + 'if [ -e usr/share/icons/hicolor/icon-theme.cache'. TODO: check for "if [ -x /usr/bin/whatever ]" in doinst.sh, warn if missing. this could be an ill-defined mess. TODO: sbopkglint could complain if the SlackBuild sets SLKCFLAGS but there's no native code. -TODO: check for non-executable shared libs. Future test ideas: diff --git a/sbopkglint.d/20-arch.t.sh b/sbopkglint.d/20-arch.t.sh index de13ad7..bb9fafe 100644 --- a/sbopkglint.d/20-arch.t.sh +++ b/sbopkglint.d/20-arch.t.sh @@ -38,6 +38,9 @@ if [ -n "$WRONGDIR" ]; then while read line; do file="$( echo $line | cut -d: -f1 )" filetype="$( echo $line | cut -d: -f2 )" + + [ ! -x "$file" ] && ls -bld "$file" >> .nonexec.$$ + case "$file" in # 20220414 bkw: only check for libs directly in the dir. # this avoids e.g. lib/udev/ and usr/lib/prgnam/plugins/*.so. @@ -78,5 +81,6 @@ fi [ -s .inwrongdir.$$ ] && warn "shared lib(s) in wrong dir for ARCH:" && cat .inwrongdir.$$ [ -s .wrongarch.$$ ] && warn "ELF object(s) with wrong arch (should be $CPU):" && cat .wrongarch.$$ [ -s .notstripped.$$ ] && warn "ELF object(s) not stripped:" && cat .notstripped.$$ +[ -s .nonexec.$$ ] && warn "ELF binaries/libraries should be executable:" && cat .nonexec.$$ -rm -f .inwrongdir.$$ .wrongarch.$$ .notstripped.$$ +rm -f .inwrongdir.$$ .wrongarch.$$ .notstripped.$$ .nonexec.$$ -- cgit v1.2.3