diff options
Diffstat (limited to 'sbopkglint.d/pre-doinst.sh')
-rw-r--r-- | sbopkglint.d/pre-doinst.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/sbopkglint.d/pre-doinst.sh b/sbopkglint.d/pre-doinst.sh new file mode 100644 index 0000000..8df1a8c --- /dev/null +++ b/sbopkglint.d/pre-doinst.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +# sbopkglint test, must be sourced by sbopkglint (not run standalone). + +# PKG, PRGNAM, VERSION, ARCH are set by sbopkglint. also the current +# directory is the root of the installed package tree. + +# Unlike the rest of the tests (those ending in .t.sh), this one runs +# before the package's doinst.sh does. Purpose for this is to check +# for the existence of stuff in the package tarball that shouldn't be +# there (e.g. /usr/info/dir), but might correctly be created by doinst.sh. + +####################################################################### +badfiles="\ +usr/info/dir \ +usr/info/dir.gz \ +usr/share/icons/hicolor/icon-theme.cache \ +usr/share/glib-2.0/schemas/gschemas.compiled \ +usr/share/mime/mime.cache \ +usr/share/applications/mimeinfo.cache \ +usr/lib/gio/modules/giomodule.cache \ +usr/lib64/gio/modules/giomodule.cache \ +var/cache/fontconfig/CACHEDIR.TAG \ +var/cache/man/usr-man/CACHEDIR.TAG" + +for i in $badfiles; do + if [ -e "$i" ]; then + warn "package contains forbidden file: $i" + fi +done + +if [ -d usr/share/fonts ]; then + badfontstuff="$( find usr/share/fonts -name 'fonts.*' )" + if [ -n "$badfontstuff" ]; then + warn "package contains forbidden file(s): $badfontstuff" + fi +fi + +badlinks="$( find -P . -type l )" +if [ -n "$badfontstuff" ]; then + warn "package contains actual symlinks: $badlinks" +fi |