[Pkg-samba-maint] Bug#644963: samba postrm depends on packages not guaranteed to be configured
Robie Basak
robie.basak at ubuntu.com
Tue Oct 11 08:43:01 UTC 2011
Package: samba
Version: 2:3.5.11~dfsg-1
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu oneiric
debian/samba.postrm calls update-inetd. If is called with "upgrade", then
update-inetd may be called even if it is not present. If it is called
with "upgrade", then although its presence is tested it may still not be
configured
This is causing upgrade errors going from Ubuntu Natty to Oneiric such
as the following:
Unpacking replacement samba ...
[...]
Can't locate File/Temp.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10
/usr/local/lib/site_perl .) at /usr/share/perl5/DebianNet.pm line 18.
BEGIN failed--compilation aborted at /usr/share/perl5/DebianNet.pm line
18.
Compilation failed in require at /usr/sbin/update-inetd line 23.
dpkg: warning: subprocess old post-removal script returned error exit
status 2
This can be reproduced by installing samba, manually removing (dpkg -r)
update-inetd and its dependencies, unpacking update-inetd (dpkg
--unpack) and then trying to purge samba.
>From policy:
The package whose postrm is being called may have previously been
deconfigured and only be unpacked, at which point subsequent package
changes do not consider its dependencies. Therefore, all postrm actions
may only rely on essential packages and must gracefully skip any actions
that require the package's dependencies if those dependencies are
unavailable.
Launchpad bug here:
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/862129
Some more discussion here:
https://code.launchpad.net/~racb/ubuntu/oneiric/samba/862129/+merge/78862
The general recommendation seems to be that update-inetd should not be
in postrm, but moved to prerm, at which point update-inetd should still
be configured.
More information about the Pkg-samba-maint
mailing list