package monodoc-base 2.10.8.1-1ubuntu1 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mono (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
mono-tools (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Just doing "apt-get upgrade"
ProblemType: Package
DistroRelease: Ubuntu 12.04
Package: monodoc-base 2.10.8.1-1ubuntu1
ProcVersionSign
Uname: Linux 3.2.0-21-generic x86_64
NonfreeKernelMo
ApportVersion: 2.0-0ubuntu4
Architecture: amd64
Date: Tue Apr 3 15:24:20 2012
ErrorMessage: subprocess installed post-installation script returned error exit status 1
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20111129.1)
PackageArchitec
SourcePackage: mono
Title: package monodoc-base 2.10.8.1-1ubuntu1 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1
UpgradeStatus: No upgrade log present (probably fresh install)
tags: | removed: need-duplicate-check |
Changed in mono (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → ubuntu-12.04 |
Thanks. We've had this bug a ton of times, but your terminal log is minimal enough that I think I can see what's going on.
There's a trigger in monodoc-base to update the search index for the installed documentation. As you upgraded monodoc- gtk2.0- manual, this trigger was activated. That causes the postinst of monodoc-base to be called, which does:
case "$1" in
[…]
triggered)
;;
and update-monodoc (shipped in monodoc-base) calls
monodoc --make-index > /dev/null
which crashes because gtk-sharp has been removed from the GAC (you can see this earlier in the log)
Preparing to replace libgtk2.0-cil 2.12.10-2ubuntu3 (using .../libgtk2. 0-cil_2. 12.10-2ubuntu4_ amd64.deb) ...
Removing libgtk2.0-cil from Mono
but the new version's postinst has not been run yet, because monodoc-base does not depend on libgtk2.0-cil.
The monodoc binary is in the monodoc-browser package, and ends up calling /usr/lib/ mono/monodoc/ browser. exe, which is also in monodoc-browser. monodoc-browser does correctly depend on libgtk2.0-cil.
I think we should just move the trigger across from monodoc-base to monodoc-browser, as we can't do anything if monodoc-browser is not installed anyway. AFAICS dpkg guarantees that the Depends are satisfied when processing triggers (quoting /usr/share/ doc/dpkg- dev/triggers. txt.gz)
Packages in t-awaited and t-pending demand satisfaction of their dependencies just like packages in installed.
The postinst in monodoc-base tries to take care of -browser not being available
if [ ! -x /usr/lib/ monodoc/ browser. exe -o -z "$(dpkg-query -W -f='${Status}' monodoc-browser 2>/dev/null | grep "ok installed")" ]; then
exit 0
fi
but this clearly does not work, and the rationale for trying to keep it here is lost in the mists of time.