diff -urN update-manager-0.134.9.old/DistUpgrade/DistUpgradeQuirks.py update-manager-0.134.9/DistUpgrade/DistUpgradeQuirks.py --- update-manager-0.134.9.old/DistUpgrade/DistUpgradeQuirks.py 2010-05-21 11:33:39.000000000 +0300 +++ update-manager-0.134.9/DistUpgrade/DistUpgradeQuirks.py 2010-06-24 13:27:24.000000000 +0300 @@ -52,6 +52,8 @@ self.uname = Popen(["uname","-r"],stdout=PIPE).communicate()[0].strip() self.arch = Popen(["dpkg", "--print-architecture"], stdout=PIPE).communicate()[0] self.plugin_manager = PluginManager(self.controller, ["./plugins"]) + # Bug #562948 + self.ooovoikko = False # the quirk function have the name: # $Name (e.g. PostUpgrade) @@ -137,6 +139,14 @@ self._ntfsFstabFixup() self._checkLanguageSupport() + def lucidPostUpgrade(self): + """ this function works around quirks in the hardy/karmic->lucid + upgrade + """ + logging.debug("running Controller.lucidPostUpgrade handler") + # ooo-voikko workaround, bug #562948 + self._test_and_install_ooovoikko() + # quirks when run when the initial apt-get update was run ---------------- def lucidPostInitialUpdate(self): """ quirks that are run before the sources.list is updated to lucid """ @@ -147,6 +157,8 @@ self._test_and_warn_if_vserver() # fglrx dropped support for some cards self._test_and_warn_on_dropped_fglrx_support() + # ooo-voikko workaround, bug #562948 + self._test_and_remove_ooovoikko # quirks when the cache upgrade calculation is finished ------------------- def from_dapperPostDistUpgradeCache(self): @@ -1066,3 +1078,20 @@ autoInstDeps = False fromUser = True depcache.MarkInstall(pkg._pkg, autoInstDeps, fromUser) + + def _test_and_remove_ooovoikko(self): + """ bug #562948, remove ooo-voikko for the duration of + installation + """ + + if ("openoffice.org-voikko" in self.controller.cache and + self.controller.cache["openoffice.org-voikko"].isInstalled): + self.ooovoikko = True + self.controller.cache.markRemove("openoffice.org-voikko", + "ooo-voikko workaround, removing for the duration of installation") + + def _test_and_install_ooovoikko(self): + if (self.ooovoikko == True): + self.controller.cache.markInstall("openoffice.org-voikko", + "ooo-voikko workaround, installing again") +