Package: blends-dev Version: 0.6.92.2 Severity: normal Tags: patch
Hi, Lintian reports dozens of warnings for blends projects like debian-games. https://lintian.debian.org/maintainer/[email protected]#debian-games The warning is https://lintian.debian.org/tags/command-with-path-in-maintainer-script.html Apparently the prepended path of blend-update-usermenus in the prerm maintainer script is responsible for triggering this warning. I have prepared a patch that replaces the check for /usr/sbin/blend-update-usermenus in prerm with the recommended and most portable check (pathfind) from the Debian Policy. This should ensure that the functionality remains and the lintian warning goes away. Regards, Markus -- System Information: Debian Release: 8.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: unable to detect Versions of packages blends-dev depends on: ii build-essential 11.7 ii debconf 1.5.55 ii debhelper 9.20150101 ii make 4.0-8.1 blends-dev recommends no packages. Versions of packages blends-dev suggests: ii blends-doc 0.6.92.2 -- no debconf information
>From 66d5603f1495e17e4682ef3620b215bbb339376b Mon Sep 17 00:00:00 2001 From: Markus Koschany <[email protected]> Date: Wed, 25 Feb 2015 01:12:24 +0100 Subject: [PATCH] Fix command-with-path-in-maintainer-script Programs called from maintainer scripts normally should not have a path prepended. This commit uses the most portable function to test a program for existence, in this case blend-update-usermenus, instead of using a hardcoded path. --- templates/prerm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/templates/prerm b/templates/prerm index 5d245ee..4acf6a0 100755 --- a/templates/prerm +++ b/templates/prerm @@ -13,11 +13,29 @@ set -e # If the user menus are not needed/wished for a Blend (like for instance # Debian Edu there is no need to install blends-common package. Thus we # have to make sure that postinst does not try to include the menu stuff + +# The most portable way to test a program for existence +# This fixes https://lintian.debian.org/tags/command-with-path-in-maintainer-script.html + +pathfind() { + OLDIFS="$IFS" + IFS=: + for p in $PATH; do + if [ -x "$p/$*" ]; then + IFS="$OLDIFS" + return 0 + fi + done + IFS="$OLDIFS" + return 1 +} + + if [ -d /etc/blends -a -f /etc/blends/blends.conf ] ; then # Also verify that this Blend provides special configuration # If not there is no need to execute the user menu code if [ -d /etc/blends/#BLEND# -a -s /etc/blends/#BLEND#/#BLEND#.conf -a -s /etc/blends/blends.conf ] ; then - if [ -x /usr/sbin/blend-update-usermenus ] ; then + if pathfind blend-update-usermenus ; then . /etc/blends/blends.conf . /etc/blends/#BLEND#/#BLEND#.conf blend-update-menus --blend #BLEND# -- 2.1.4
