On Fri, Nov 17, 2006 at 01:21:39AM +0100, Frederic Schutz wrote: > Here is where I am with this bug.
> postinst calls /usr/share/wwwconfig-common/restart.sh, which itself > calls /etc/init.d/apache2 restart. > If the restart fails with exit value != 0, the execution of the scripts > stops, thus making postinst fail. > If I replace /usr/share/wwwconfig-common/restart.sh by a single call to > an external script which contains only a line "exit 1", postinst will > fail; with "exit 0", it will work. > I would think that if the external script exits with return value 1, > /usr/share/wwwconfig-common/restart.sh would get this return value and > continue its execution, but no, it never gets an opportunity to continue > executing -- which means that postinst will not be able to continue > executing, and it will look like it failed. > I am maybe missing something simple here, but I have not been able to > reproduce this behaviour outside of postinst -- everytime the external > script exits with value 1, return.sh just continue executing normally. > Any help ? Your postinst runs under set -e, as it should, and then it sources /usr/share/wwwconfig-common/restart.sh (it does *not* execute it). That means any non-zero exit codes from restart.sh are going to propagate and result in the shell (i.e., the postinst) exiting non-zero. You may be able to address this by checking the return value of the source command, e.g.: if ! . /usr/share/wwwconfig-common/restart.sh ; then handle_the_error fi Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]