[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#463538: apt-get: breaks erlang-based services (ejabberd, yaws) in postinst



Package: apt
Version: 0.7.7

Hi!

Looks like changes in in apt-pkg/deb/dpkgpm.h and
apt-pkg/deb/dpkgpm.cc from 0.7.6 to 0.7.7 breaks ejabberd and yaws
start from postinst scripts.

Specifically: when I run 'apt-get install ejabberd' or 'apt-get
install --reinstall ejabberd' (with apt 0.7.7 and newer) it reports:

Preconfiguring packages ...
(Reading database ... 14821 files and directories currently installed.)
Preparing to replace ejabberd 1.1.4-5 (using .../ejabberd_1.1.4-5_i386.deb) ...
Stopping jabber server: ejabberd already stopped.
Unpacking replacement ejabberd ...
Setting up ejabberd (1.1.4-5) ...
Starting jabber server: ejabberd.

Which is fine. But after apt-get finishes the work, ejabberd daemon disappears:

# ps xa|grep ejabberd
26467 pts/0    S+     0:00 grep ejabberd

Using apt 0.7.6 and older, I get the same output from apt but:

# ps xa|grep ejabberd
26499 pts/0    Rl     0:01 /usr/lib/erlang/erts-5.5.5/bin/beam --
-root /usr/lib/erlang -progname erl -- -home /var/lib/ejabberd -sname
ejabberd -pa /usr/lib/ejabberd/ebin -s ejabberd -kernel inetrc
"/etc/ejabberd/inetrc" -ejabberd config "/etc/ejabberd/ejabberd.cfg"
log_path "/var/log/ejabberd/ejabberd.log" -sasl sasl_error_logger
{file,"/var/log/ejabberd/sasl.log"} -mnesia dir "/var/lib/ejabberd"
-noshell -noshell -noinput
26506 pts/0    S+     0:00 grep ejabberd

Which means ejabberd is running.

The same successful result I get if simply use dpkg instead of
apt-get. aptitude works similar to apt-get.

I suspect that apt doesn't like the way erlang detaches from a
controlling terminal.

When I rolled back changes in apt-pkg/deb/dpkgpm.h and
apt-pkg/deb/dpkgpm.cc apt-get 0.7.7 became working again.

-- 
Sergei Golovan



Reply to: