Re: My cdebconf is escaped !

2012-02-17 Thread Regis Boudin
On Wed, 2012-02-01 at 11:57 -0400, Joey Hess wrote:
 Regis Boudin wrote:
   * ejabberd. During postinst, cdebconf seems to wait indefinitely on the
  read() in confmodule.c, line 109. The problem only occurs if
  invoke-rc.d ejabberd start is called during the postinst script,
  though.
 
 Sounds like the typical problem of a daemon inheriting the confmodule
 FD, or something to do with STOP handling. The ejabberd postinst
 does send a STOP.
 
 Debconf/CondModule.pm special-cases the stop command, so it does
 not send a reply to it.
 
 Looks to me like cdebconf's command_stop returns a reply to stop. Quite
 likely it blocks forever, since the client confmodule does not read
 that reply.

Ok, I believe (or at least hope) I've now implemented the STOP command
correctly, by adding a waitpid() to the processing of the command.
I used the same logic that was commented out nearly 10 years ago,
relying on the call to STOP to return an empty string, and be the only
one to do so. Please shout if this is wrong.

The other change I applied was actually setting mod-pid in
confmodule_run(). The variable was never set before, so probably left to
0. Colin seems to be the latest person to have modified these bits. Any
opinion ?

Monkeysphere seems to run its postscrit happily, sod does ejabberd, so
I'm left without any known case of cdebconf having issues with scripts.
I would be quite keen to make a release soon, unless someone knows of
issues with what I did with the STOP related commits.

Thanks,
Regis



-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1329511389.2023.97.ca...@x200s.malip.net



Re: My cdebconf is escaped !

2012-02-01 Thread Joey Hess
Regis Boudin wrote:
  * ejabberd. During postinst, cdebconf seems to wait indefinitely on the
 read() in confmodule.c, line 109. The problem only occurs if
 invoke-rc.d ejabberd start is called during the postinst script,
 though.

Sounds like the typical problem of a daemon inheriting the confmodule
FD, or something to do with STOP handling. The ejabberd postinst
does send a STOP.

Debconf/CondModule.pm special-cases the stop command, so it does
not send a reply to it.

Looks to me like cdebconf's command_stop returns a reply to stop. Quite
likely it blocks forever, since the client confmodule does not read
that reply.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: My cdebconf is escaped !

2012-02-01 Thread Regis Boudin
On Wed, 2012-02-01 at 11:57 -0400, Joey Hess wrote:
 Regis Boudin wrote:
   * ejabberd. During postinst, cdebconf seems to wait indefinitely on the
  read() in confmodule.c, line 109. The problem only occurs if
  invoke-rc.d ejabberd start is called during the postinst script,
  though.
 
 Sounds like the typical problem of a daemon inheriting the confmodule
 FD, or something to do with STOP handling. The ejabberd postinst
 does send a STOP.

I thought about something related to the FD, indeed.
IIRC the monkeyshpere postinst complained about stdin/stdout, so it
might be more of it.

 Debconf/CondModule.pm special-cases the stop command, so it does
 not send a reply to it.
 
 Looks to me like cdebconf's command_stop returns a reply to stop. Quite
 likely it blocks forever, since the client confmodule does not read
 that reply.

Thanks for the additional info, I'll look into the handling by debconf
and see if I can fix it.

Amusingly, there was just an ejabberd update, with the freeze happening
while I was typing this message.

Regis


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1328121820.2104.36.ca...@x200s.malip.net



My cdebconf is escaped !

2012-01-31 Thread Regis Boudin
Hi guys,

So, after weeks of fighting and turning the problem around (while moving
to Italy and starting a new job), I believe I have now finally
implemented the escape CAPB (might not be optimal, but I believe it
works). There is still some way to go before cdebconf can replace
debconf 100%, though. Running it on my laptop, it mostly works, but I do
have problems with some packages. The main ones I remember are :
 * Monkeysphere, the postinst script fails, though I don't remember the
details.
 * ejabberd. During postinst, cdebconf seems to wait indefinitely on the
read() in confmodule.c, line 109. The problem only occurs if
invoke-rc.d ejabberd start is called during the postinst script,
though.

These are the two main issues preventing a complete use of it at the
moment AFAIK. Beyond that, we also miss bits on the i18n side of things.

Ideally, my aim is to ship with wheezy a cdebconf that would be actually
usable, even if untranslated and still depending on debconf, and try to
transition for wheezy+1 (one can dream, right).

So, any comments ? Any idea on what the cause of the issues with
monkeysphere and ejabberd might actually be ?

Regis


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1328042833.2104.22.ca...@x200s.malip.net