[Pkg-aide-maintainers] Bug#367333: aide: dotlockfile presence test
incorrect
Bob Proulx
bob at proulx.com
Mon May 15 06:48:52 UTC 2006
Package: aide
Version: 0.11a-3
Severity: normal
The test for the presence of dotlockfile is incorrect. It fails to
detect if dotlockfile is not installed.
if [ -x $(which dotlockfile) ]; then
...
else
echo >&2 "no dotlockfile binary in path, not checking for already running aide"
fi
However if dotlockfile is not found then it expands to a newline and
the test for -x on a newline is true.
test -x $(which does-not-exist) && echo yes || echo no
yes
test -x $(echo) && echo yes || echo no
yes
The developers reference contains some suggestions for dealing with
this type of situation.
http://www.us.debian.org/doc/developers-reference/ch-best-pkging-practices.en.html#s-bpp-debian-maint-scripts
Here is a suggested fix based upon those recommendations. Although
many other good solutions also exist.
pathfind() {
OLDIFS="$IFS"
IFS=:
for p in $PATH; do
if [ -x "$p/$*" ]; then
IFS="$OLDIFS"
return 0
fi
done
IFS="$OLDIFS"
return 1
}
if pathfind dotlockfile; then
if ! dotlockfile -p -l $LOCKFILE; then
echo >&2 "cannot obtain lock $LOCKFILE, stale lock?"
exit 1
fi
else
echo >&2 "no dotlockfile binary in path, not checking for already running aide"
fi
Thanks
Bob
--
Bob Proulx <bob at proulx.com>
http://www.proulx.com/~bob/
-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-3-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages aide depends on:
ii liblockfile1 1.06 NFS-safe locking library, includes
More information about the Pkg-aide-maintainers
mailing list