uim-common hangs in old prerm

Bug #63431 reported by c7d2f5c8667d26fffd5e7772d632c76d
0
Affects Status Importance Assigned to Milestone
uim (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

dist-upgrading from dapper to edgy stops while running the prerm script of the old uim-common from 1.0.0-1u1 to 1.2.1-3:

--- snip ---
Préparation du remplacement de uim-common 1:1.0.0-1ubuntu1 (en utilisant .../uim-common_1%3a1.2.1-3_all.deb) ...
ERROR: unbound variable (errobj is-set-ugid?)

*backtrace*
>>(is-set-ugid?)
>>(if (is-set-ugid?) (list (string-append (sys-pkglibdir) "/plugin")) (filter string? (append (list (getenv "LIBUIM_PLUGIN_LIB_DIR") (string-append (getenv "HOME") "/.uim.d/plugin") (string-append (sys-pkglibdir) "/plugin")) (if (getenv "LD_LIBRARY_PATH") (string-split (getenv "LD_LIBRARY_PATH") ":") ()))))
>>(define uim-plugin-lib-load-path (if (is-set-ugid?) (list (string-append (sys-pkglibdir) "/plugin")) (filter string? (append (list (getenv "LIBUIM_PLUGIN_LIB_DIR") (string-append (getenv "HOME") "/.uim.d/plugin") (string-append (sys-pkglibdir) "/plugin")) (if (getenv "LD_LIBRARY_PATH") (string-split (getenv "LD_LIBRARY_PATH") ":") ())))))
>>(require "plugin.scm")
>>(require "init.scm")
>>(*catch (quote errobj) (require "init.scm"))
>>(eq? (quote *init.scm-loaded*) (*catch (quote errobj) (require "init.scm")))

ERROR: unbound variable (errobj custom-reload-customs)

ERROR: unbound variable (errobj custom-choice-rec-sym)

ERROR: unbound variable (errobj plugin-alist)

ERROR: wta to car (errobj t)

[hangs; I pressed ctrl-C here]

dpkg : erreur de traitement de /var/cache/apt/archives/uim-common_1%3a1.2.1-3_all.deb (--unpack) :
 dpkg : avertissement - ancien script pre-removal a été tué par le signal (Interruption)
--- snip ---
[the last dpkg message says that the pre-rm script of the old package has been interrupted]
The same error occurs for uim-anthy, uim-canna, uim-m17nlib and uim-skk.

Revision history for this message
Jonty (jonnty) wrote :

Right, the problem is it wants libuim0, which was in Dapper but has been replaced by something else in Edgy (libuim3, I believe). It seems the prerm script needs this, and as it's been removed, it fails. So, go to /var/lib/dpkg/info/uim-common.prerm, put exit 0 right after the comments (lines beginning with '#'). I haven't had any other problems like you have, but I assume the same applies for those packages, just edit /var/lib/dpkg/info/<package>.prerm instead.

You are now able to remove uim-common (or the other packages) and them apt-get install it again, replacing it with the updated and working version, or replace it by apt-get update-ing it. It will replace the prerm script, so you don't need to edit it back, and I'm guessing, though I can't be sure, not excecuting the prerm script is ok so long as the package is replaced, so do this at you own risk, but it worked fine for me.

Changed in uim:
status: Unconfirmed → Confirmed
Revision history for this message
kroenecker (mojowings) wrote :

This may be what you were talking about, but I noticed that the variable is-set-ugid has been changed to setugid in the new package. For some reason (I'm not enough of a .deb or lisp expert to know exactly why) by taking the usr/share/uim/plugin.scm file from edgy's new .deb file and putting it into /usr/share/uim on my computer, I was able to remove and then upgrade without any difficulty.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.