diff options
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | sbopkglint.d/15-noarch.t.sh | 11 |
2 files changed, 10 insertions, 3 deletions
@@ -3,12 +3,12 @@ DONE: sbolint and sbopkglint both: complain if PRGNAM has invalid characters. DONE: if sbopkglint finds a hardcoded $PKG in /var/lib/pkgtools/scripts/*, mention doinst.sh in the error message DONE: check arch of static libs (like the shared lib checks). +DONE: if package contains any static libs, don't suggest noarch. Not yet implemented: TODO: don't complain about: --- non-image files in icon dirs: [text/xml]: -rw-r--r-- 1 root root 11763 Oct 30 19:35 usr/share/pixmaps/pidgin/guifications/themes/default/theme.xml -TODO: if package contains any static libs, don't suggest noarch. TODO: stop checking shared libs for +x and being stripped if they're not directly in /lib /lib64 /usr/lib /usr/lib64. too many packages trigger this, and it just doesn't matter much. diff --git a/sbopkglint.d/15-noarch.t.sh b/sbopkglint.d/15-noarch.t.sh index 858b19e..075fdb1 100644 --- a/sbopkglint.d/15-noarch.t.sh +++ b/sbopkglint.d/15-noarch.t.sh @@ -10,15 +10,22 @@ # for packages that aren't noarch, recommend noarch if it looks like one. # the recommendation is not an error! +# shared libs and executables: find * -type f -print0 | xargs -0 file -m /etc/file/magic/elf | grep ELF | cut -d: -f1 | xargs -rd "\n" ls -lb > .elfbins.$$ +# static libs (for now, just going by filename!) +find * -type f -a -name '*.a' | xargs -rd "\n" ls -lb > .statlibs.$$ + if [ "$ARCH" = "noarch" ]; then [ -s .elfbins.$$ ] && \ warn "package claims to be noarch, but contains ELF binaries:" && \ cat .elfbins.$$ -elif [ ! -s .elfbins.$$ ] && [ ! -e usr/lib ] && [ ! -e usr/lib64 ]; then + [ -s .statlibs.$$ ] && \ + warn "package claims to be noarch, but contains static libraries:" && \ + cat .statlibs.$$ +elif [ ! -s .statlibs.$$ ] && [ ! -s .elfbins.$$ ] && [ ! -e usr/lib ] && [ ! -e usr/lib64 ]; then x="$( find usr/share/pkgconfig -type f -exec grep 'usr/lib' {} \+ 2>/dev/null )" [ -z "$x" ] && note "package might be a good candidate for noarch" fi -rm -f .elfbins.$$ +rm -f .elfbins.$$ .statlibs.$$ |