Hi,

The line invoking ucf in the postinst looks like that:

test -f /usr/bin/ucf && ucf ${CONFFILE_NEW} ${CONFFILE} </dev/tty

Now, I don't know why you would want to get it read from /dev/tty, as 
far as I can tell, ucf does not read anything from stdin, so this is 
pretty redundant. However, once I removed this redirect, it was still 
hanging. Eventually I traced the problem to the fact that ucf uses 
debconf, I can't fully understand what's happening there, but it 
turned out that moving db_stop, placing it *after* ucf invocation 
fixes the problem. I guess that once we stop debconf in the script 
(with db_stop) and then ucf tries to start it up again, something goes 
wrong with file descriptors. The candidate patch which fixes the issue 
is attached, however I'm reluctant to declare it a proper fix without 
understanding what's really going on, hence I'm not tagging it.

Cheers.
-- 
Jurij Smakov                                           [EMAIL PROTECTED]
Key: http://www.wooyd.org/pgpkey/                      KeyID: C99E03CC
--- dibbler-0.7.1.orig/debian/dibbler-client.postinst	2008-08-11 02:35:02.000000000 +0100
+++ dibbler-0.7.1/debian/dibbler-client.postinst	2008-08-11 02:38:18.000000000 +0100
@@ -94,10 +94,10 @@
     echo "" >> ${CONFFILE_NEW}
 done
 
-db_stop
-
 # register this config
-test -f /usr/bin/ucf && ucf ${CONFFILE_NEW} ${CONFFILE} </dev/tty
+test -x /usr/bin/ucf && ucf ${CONFFILE_NEW} ${CONFFILE}
+
+db_stop
 
 # Start service if necessary
 if [ $START == "true" ]; then

Reply via email to