Quoting J S Bygott ([EMAIL PROTECTED]): > Package: ca-certificates > Version: 20061027 > Severity: serious > Justification: Policy 6.2 (sometimes interacts non-idempotently), 3.9 (error > (missing dir) not checked for), 6.8 (removes files at wrong time) > > The postrm, called with "remove", changes into a directory that > does not always exist. The results are unpleasant.
Definitely..:) I'm afraid that my NMU, intended for simple l10n stuff, just revealed that problem. > I believe you MUST be able to remove a package more than once, > idempotently (policy 6.2), but currently, you cannot. Hence I think > the bug is serious. (Apologies if I'm wrong about that.) > For example, dpkg can't always remove the package if brokenly installed. Sounds like an RC issue to me, yes. > Possible solutions: > 1. in postrm, check if dir exists before cd; or I have another solution to propose: *no* cd in the directory: Instead of: case "$1" in remove) cd /etc/ssl/certs echo -n "Removing hash symlinks in /etc/ssl/certs ..." find . -type l -print | while read h do test -f $h || rm -f $h done echo done. ;; why not have: case "$1" in remove) echo -n "Removing hash symlinks in /etc/ssl/certs ..." find /etc/ssl/certs -type l -print | while read h do test -f $h || rm -f $h done echo done. ;; Minimal (untested) change, but that should make it, no? Another brutal solution is of course testing the existence of the directory before running the find on it
signature.asc
Description: Digital signature