aboutsummaryrefslogtreecommitdiff
path: root/sbopkglint.d/35-desktop.t.sh
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2023-06-16 19:00:59 -0400
committerB. Watson <urchlay@slackware.uk>2023-06-16 19:00:59 -0400
commitf04e33a32b883c688cfee61e57262384fc8d5a87 (patch)
tree432fa1de4dbf2ebea89acc90465538f766b4da0b /sbopkglint.d/35-desktop.t.sh
parent9de0af33720b559d6121ea94fd96227811f824d9 (diff)
downloadsbo-maintainer-tools-f04e33a32b883c688cfee61e57262384fc8d5a87.tar.gz
sbopkglint: spaces in filenames WIP #3.
Diffstat (limited to 'sbopkglint.d/35-desktop.t.sh')
-rw-r--r--sbopkglint.d/35-desktop.t.sh36
1 files changed, 26 insertions, 10 deletions
diff --git a/sbopkglint.d/35-desktop.t.sh b/sbopkglint.d/35-desktop.t.sh
index 3c482ac..7b6b8f4 100644
--- a/sbopkglint.d/35-desktop.t.sh
+++ b/sbopkglint.d/35-desktop.t.sh
@@ -14,12 +14,14 @@
# are not checked for content). see:
# https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html
-BADPERMS=""
-BADDESKTOP=""
-NONDESKTOP=""
-
check_desktop_dir() {
local dir="$1"
+
+ if [ -f "$dir" ]; then
+ warn "$dir exists, but is a file, not a directory!"
+ return
+ fi
+
[ -d "$dir" ] || return
for f in $dir/*; do
@@ -28,11 +30,13 @@ check_desktop_dir() {
[ "$f" = "usr/share/applications/mimeinfo.cache" ] && continue
[ "$f" = "usr/share/applications/screensavers" ] && continue
- [ "$( stat -Lc '%a %U %G' "$f" )" = "644 root root" ] || BADPERMS+="$f "
+ [ "$( stat -Lc '%a %U %G' "$f" )" = "644 root root" ] || \
+ ls -ld "$f" >> .badperms.$$
+
case "$f" in
- *.desktop) desktop-file-validate "$f" || BADDESKTOP+="$f " ;;
+ *.desktop) desktop-file-validate "$f" || ls -ld "$f" >> .baddtop.$$ ;;
*-mimeapps.list) ;; # OK, ignore
- *) NONDESKTOP+="$f " ;;
+ *) ls -ld "$f" >> .nondtop.$$ ;;
esac
done
}
@@ -41,7 +45,19 @@ for dir in usr/share/applications usr/share/applications/screensavers; do
check_desktop_dir "$dir"
done
+if [ -s .badperms.$$ ]; then
+ warn "bad permissions/owner on .desktop files (should be 0644 root:root):"
+ cat .badperms.$$
+fi
+
+if [ -s .baddtop.$$ ]; then
+ warn ".desktop files fail to validate:"
+ cat .baddtop.$$
+fi
+
+if [ -s .nondtop.$$ ]; then
+ warn "unknown file (not .desktop) in desktop dir:"
+ cat .nondtop.$$
+fi
-[ -n "$BADPERMS" ] && warn "bad permissions/owner on .desktop files (should be 0644 root:root):" && ls -ld $BADPERMS
-[ -n "$BADDESKTOP" ] && warn ".desktop files fail to validate:" && ls -ld $BADDESKTOP
-[ -n "$NONDESKTOP" ] && warn "unknown file (not .desktop) in desktop dir:" && ls -ld $NONDESKTOP
+rm -f .badperms.$$ .baddtop.$$ .nondtop.$$