e2xbegqsdyt21hfc <[email protected]> writes:

> $ zcat /usr/share/doc/libkrb53/changelog.Debian.gz | grep 'Use set'
>   * Use set -e instead of #!/bin/sh -e for all maintainer scripts.
> $
>
> Why bother? What difference does it make?

set -e is always honored; -e on the #! line is only honored if the script
is run as a regular executable, not explicitly with sh.  Normally it makes
no difference; the exception is if you run the test manually while
debugging it.  The reason why Lintian added a (pedantic) tag for this is
that when you're debugging a postinst script and you run it with sh -x
/var/lib/dpkg/info/foo.postinst, and then it doesn't exit on error, it's
surprising and can be dangerous.

It's an unusual situation, which is why it's only tagged with --pedantic.

-- 
Russ Allbery ([email protected])               <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to