summaryrefslogtreecommitdiffstats
path: root/upgrade.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-01-14 17:41:36 +0000
committerJeremy Katz <katzj@redhat.com>2003-01-14 17:41:36 +0000
commitac26d32fdc63cd027c0737457564fe1f0c7911fa (patch)
tree5494c8ce9ae369643bda26dddbdc2017bd64e9d5 /upgrade.py
parent4bcd62e89b6bcbdd4c8d3ab0fbfaa3a352400cd6 (diff)
downloadanaconda-ac26d32fdc63cd027c0737457564fe1f0c7911fa.tar.gz
anaconda-ac26d32fdc63cd027c0737457564fe1f0c7911fa.tar.xz
anaconda-ac26d32fdc63cd027c0737457564fe1f0c7911fa.zip
a broken trigger in an old linuxconf package really causes problems on
upgrade. let's do a pre-emptive removal of the package but make it general enough so that we can use it in the future for other problem packages if we have to (#54120, #72888, #81781)
Diffstat (limited to 'upgrade.py')
-rw-r--r--upgrade.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/upgrade.py b/upgrade.py
index 51a3f40ee..f46f8fa2c 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -31,6 +31,8 @@ from constants import *
from rhpl.log import log
from rhpl.translate import _
+upgrade_remove_blacklist = ["linuxconf", "linuxconf-devel", "gnome-linuxconf"]
+
def findRootParts(intf, id, dispatch, dir, chroot):
if dir == DISPATCH_BACK:
return
@@ -104,7 +106,6 @@ def mountRootPartition(intf, rootInfo, oldfsset, instPath, allowDirty = 0,
dirtyDevs = oldfsset.hasDirtyFilesystems(instPath)
if not allowDirty and dirtyDevs != []:
- import sys
diskset.stopAllRaid()
lvm.vgdeactivate()
intf.messageWindow(_("Dirty File Systems"),
@@ -585,6 +586,18 @@ def upgradeFindPackages(intf, method, id, instPath, dir):
log(text)
id.hdList["rhn-applet"].select()
+ # now some upgrade removal black list checking... there are things that
+ # if they were installed in the past, we want to remove them because
+ # they'll screw up the upgrade otherwise
+ for pkg in upgrade_remove_blacklist:
+ h = ts.dbMatch('name', pkg).next()
+ if h is not None:
+ text = ("Upgrade: %s is on the system but will cause problems "
+ "with the upgrade transaction. Removing." %(pkg,))
+ log(text)
+ id.upgradeDeps = "%s%s\n" %(id.upgradeDeps, text)
+ id.upgradeRemove.append(pkg)
+
# new package dependency fixup
deps = id.comps.verifyDeps(instPath, 1)
for (name, suggest) in deps: