Bug#893424: Cannot uninstall package

2018-03-18 Thread Ryan Kavanagh
On Mon, Mar 19, 2018 at 01:42:09AM +0100, Andreas Beckmann wrote:
> Interesting. The empty directory shows up with size 0.
> What filesystem do you use for / ?

Similarly here:

rak@zeta:~$ ls -lashR /etc/mail
/etc/mail:
total 24K
   0 drwxr-xr-x 1 root root  138 Mar 18 14:32 .
   0 drwxr-xr-x 1 root root 5.3K Mar 18 17:51 ..
4.0K -rw-r--r-- 1 root root  281 Jan 13 17:43 address.resolve
   0 drwxr-xr-x 1 root root0 Jan 13 17:43 m4
   0 drwxr-xr-x 1 root root   16 Mar 18 13:30 peers
 12K -rw-r--r-- 1 root root  12K Mar 18 13:33 sendmail.conf
4.0K -rw-r--r-- 1 root root  148 Jan 13 17:43 service.switch
4.0K -rw-r--r-- 1 root root  179 Jan 13 17:43 service.switch-nodns

/etc/mail/m4:
total 0
0 drwxr-xr-x 1 root root   0 Jan 13 17:43 .
0 drwxr-xr-x 1 root root 138 Mar 18 14:32 ..

/etc/mail/peers:
total 4.0K
   0 drwxr-xr-x 1 root root  16 Mar 18 13:30 .
   0 drwxr-xr-x 1 root root 138 Mar 18 14:32 ..
4.0K -rw-r--r-- 1 root root 328 Jan 13 17:43 provider

> What filesystem do you use for / ?

/dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)

> The error should be triggered by this line in the prerm:
> # Remove empty files (probably touched databases)
> find /etc/mail -maxdepth 1 -size 0 | xargs -r rm;

Yeah, I think the problem is that it's calling 'rm' on directories. Tacking on a
'-type f' like you suggested (and perhaps even a '-delete' to skip the xargs
bit) would likely do the trick.

> $ find /etc/mail -maxdepth 1 -size 0
> $ find /etc/mail -maxdepth 1 -type f -size 0

rak@zeta:~$ find /etc/mail -maxdepth 1 -size 0
/etc/mail/m4
rak@zeta:~$ find /etc/mail -maxdepth 1 -type f -size 0
rak@zeta:~$

> The first should output /etc/mail/m4, the second should output nothing.

Your hunch on the error was right. I tried adding "set -x" to the top of the
prerm file, and got the following output:

rak@zeta:~$ sudo vim /var/lib/dpkg/info/sendmail-base.prerm
No protocol specified
rak@zeta:~$ sudo apt-get remove sendmail-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libxfont1 lockfile-progs
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  sendmail-base
0 upgraded, 0 newly installed, 1 to remove and 57 not upgraded.
After this operation, 867 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 389313 files and directories currently installed.)
Removing sendmail-base (8.15.2-10) ...
+ PACKAGE=sendmail-base
+ [ remove = remove ]
+ [ -x /usr/sbin/update-inetd ]
+ update-inetd --group MAIL --disable smtp,smtps,submission
+ [ -L /etc/mail/aliases ]
+ [ -f /etc/mail/aliases ]
+ rm -f /etc/cron.d/sendmail
+ rm -f /usr/lib/sasl/Sendmail.conf
+ rm -rf /var/lib/sendmail
+ rm -rf /var/run/sendmail
+ [ -x /etc/init.d/sendmail ]
+ [ -L /var/spool/mqueue ]
+ [ -d /var/spool/mqueue ]
+ [ -L /var/spool/mqueue-client ]
+ [ -d /var/spool/mqueue-client ]
+ rm -f /etc/mail/*.db /etc/mail/*.dir /etc/mail/*.pag
+ rm -f /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old 
/etc/mail/sendmail.cf.errors /etc/mail/sendmail.mc.old /etc/mail/submit.cf 
/etc/mail/submit.cf.errors /etc/mail/submit.mc.old /etc/mail/databases 
/etc/mail/Makefile
+ rm -rf /etc/mail/smrsh /etc/mail/sasl /etc/mail/tls
+ find /etc/mail -maxdepth 1 -size 0
+ xargs -r rm
rm: cannot remove '/etc/mail/m4': Is a directory
dpkg: error processing package sendmail-base (--remove):
 installed sendmail-base package pre-removal script subprocess returned error 
exit status 123
Errors were encountered while processing:
 sendmail-base
E: Sub-process /usr/bin/dpkg returned an error code (1)

Hope this helps,
Ryan

-- 
|)|/  Ryan Kavanagh  | GPG: 4E46 9519 ED67 7734 268F
|\|\  https://rak.ac |  BD95 8F7B F8FC 4A11 C97A


signature.asc
Description: PGP signature


Bug#893424: Cannot uninstall package

2018-03-18 Thread Andreas Beckmann
On 2018-03-18 19:43, Ryan Kavanagh wrote:
> Removing sendmail-base (8.15.2-10) ...
> rm: cannot remove '/etc/mail/m4': Is a directory
> dpkg: error processing package sendmail-base (--remove):
>  installed sendmail-base package pre-removal script subprocess returned error 
> exit status 123

> ls -alR /etc/mail:
> /etc/mail:
> total 24
> drwxr-xr-x 1 root root   138 Mar 18 14:32 .
> drwxr-xr-x 1 root root  5364 Mar 18 13:50 ..
> -rw-r--r-- 1 root root   281 Jan 13 17:43 address.resolve
> drwxr-xr-x 1 root root 0 Jan 13 17:43 m4

Interesting. The empty directory shows up with size 0.
What filesystem do you use for / ?

The error should be triggered by this line in the prerm:
# Remove empty files (probably touched databases)
find /etc/mail -maxdepth 1 -size 0 | xargs -r rm;

Please run these two commands:

$ find /etc/mail -maxdepth 1 -size 0
$ find /etc/mail -maxdepth 1 -type f -size 0

The first should output /etc/mail/m4, the second should output nothing.


Andreas



Bug#893424: Cannot uninstall package

2018-03-18 Thread Ryan Kavanagh
Package: sendmail-base
Version: 8.15.2-10
Severity: serious

Due to a bug in the maintainer script, sendmail-base cannot be uninstalled:

rak@zeta:~$ sudo apt-get remove sendmail-base
[sudo] password for rak:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  lockfile-progs
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  sendmail-base
0 upgraded, 0 newly installed, 1 to remove and 52 not upgraded.
After this operation, 867 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 388617 files and directories currently installed.)
Removing sendmail-base (8.15.2-10) ...
rm: cannot remove '/etc/mail/m4': Is a directory
dpkg: error processing package sendmail-base (--remove):
 installed sendmail-base package pre-removal script subprocess returned error 
exit status 123
Errors were encountered while processing:
 sendmail-base
E: Sub-process /usr/bin/dpkg returned an error code (1)
rak@zeta:~$ sudo apt-get purge sendmail-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  lockfile-progs
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  sendmail-base*
0 upgraded, 0 newly installed, 1 to remove and 52 not upgraded.
After this operation, 867 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 388617 files and directories currently installed.)
Removing sendmail-base (8.15.2-10) ...
rm: cannot remove '/etc/mail/m4': Is a directory
dpkg: error processing package sendmail-base (--remove):
 installed sendmail-base package pre-removal script subprocess returned error 
exit status 123
Errors were encountered while processing:
 sendmail-base
E: Sub-process /usr/bin/dpkg returned an error code (1)

-- Package-specific info:
Output of /usr/share/bug/sendmail-base/script:

ls -alR /etc/mail:
/etc/mail:
total 24
drwxr-xr-x 1 root root   138 Mar 18 14:32 .
drwxr-xr-x 1 root root  5364 Mar 18 13:50 ..
-rw-r--r-- 1 root root   281 Jan 13 17:43 address.resolve
drwxr-xr-x 1 root root 0 Jan 13 17:43 m4
drwxr-xr-x 1 root root16 Mar 18 13:30 peers
-rw-r--r-- 1 root root 12235 Mar 18 13:33 sendmail.conf
-rw-r--r-- 1 root root   148 Jan 13 17:43 service.switch
-rw-r--r-- 1 root root   179 Jan 13 17:43 service.switch-nodns

/etc/mail/m4:
total 0
drwxr-xr-x 1 root root   0 Jan 13 17:43 .
drwxr-xr-x 1 root root 138 Mar 18 14:32 ..

/etc/mail/peers:
total 4
drwxr-xr-x 1 root root  16 Mar 18 13:30 .
drwxr-xr-x 1 root root 138 Mar 18 14:32 ..
-rw-r--r-- 1 root root 328 Jan 13 17:43 provider

sendmail.conf:
DAEMON_NETMODE="Static";
DAEMON_NETIF="eth0";
DAEMON_MODE="Daemon";
DAEMON_PARMS="";
DAEMON_HOSTSTATS="No";
DAEMON_MAILSTATS="No";
QUEUE_MODE="${DAEMON_MODE}";
QUEUE_INTERVAL="10m";
QUEUE_PARMS="";
MSP_MODE="Cron";
MSP_INTERVAL="20m";
MSP_PARMS="";
MSP_MAILSTATS="${DAEMON_MAILSTATS}";
MISC_PARMS="";
CRON_MAILTO="root";
CRON_PARMS="";
LOG_CMDS="No";
HANDS_OFF="No";
AGE_DATA="";
DAEMON_RUNASUSER="No";
DAEMON_STATS="${DAEMON_MAILSTATS}";
MSP_STATS="${MSP_MAILSTATS}";



-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_CA.UTF-8), LANGUAGE=en_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set 
to en_CA.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages sendmail-base depends on:
ii  adduser 3.117
ii  lockfile-progs  0.1.17+b1
ii  m4  1.4.18-1
ii  make4.2.1-1
ii  netbase 5.4
ii  perl5.26.1-5

sendmail-base recommends no packages.

Versions of packages sendmail-base suggests:
ii  ca-certificates  20170717
pn  logcheck 
ii  logrotate3.11.0-0.1
pn  resolvconf   
pn  sendmail-doc 

-- no debconf information

-- 
|)|/  Ryan Kavanagh  | GPG: 4E46 9519 ED67 7734 268F
|\|\  https://rak.ac |  BD95 8F7B F8FC 4A11 C97A