aboutsummaryrefslogtreecommitdiff
path: root/sbopkglint.d/pre-doinst.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sbopkglint.d/pre-doinst.sh')
-rw-r--r--sbopkglint.d/pre-doinst.sh42
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