summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2006-11-27 18:11:29 +0000
committerJeremy Katz <katzj@redhat.com>2006-11-27 18:11:29 +0000
commit69d24cc717a6d7fd9579b55853414dd62f8dc2ee (patch)
tree21f86482121724ca2b8f9f5db0b845dca09f73d1
parentd3c848da71aec8b461c0b05a05138344a58df657 (diff)
downloadanaconda-69d24cc717a6d7fd9579b55853414dd62f8dc2ee.tar.gz
anaconda-69d24cc717a6d7fd9579b55853414dd62f8dc2ee.tar.xz
anaconda-69d24cc717a6d7fd9579b55853414dd62f8dc2ee.zip
2006-11-27 Jeremy Katz <katzj@redhat.com>
* packages.py (doPreInstall): Hackery to ensure that on xenU, we *only* get kernel-xenU installed
-rw-r--r--ChangeLog5
-rw-r--r--packages.py17
2 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f83b8a67d..fce905af2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-27 Jeremy Katz <katzj@redhat.com>
+
+ * packages.py (doPreInstall): Hackery to ensure that on xenU, we
+ *only* get kernel-xenU installed
+
2006-11-20 Jeremy Katz <katzj@redhat.com>
* upgrade.py: Fix traceback
diff --git a/packages.py b/packages.py
index c740af4c4..23e8bd1d1 100644
--- a/packages.py
+++ b/packages.py
@@ -645,10 +645,13 @@ def doPreInstall(method, id, intf, instPath, dir):
if not upgrade:
foundkernel = 0
+ xenkernel = 0
if os.path.exists("/proc/xen") and \
select(id.grpset.hdrlist, "kernel-xenU"):
+ log("selected xenU kernel")
foundKernel = 1
+ xenkernel = 1
if selected(id.grpset.hdrlist, "gcc"):
select(id.grpset.hdrlist, "kernel-xenU-devel")
@@ -673,28 +676,34 @@ def doPreInstall(method, id, intf, instPath, dir):
elif iutil.getArch() == "ia64":
largesmp_min = 64
- if largesmp_min > 0 and nthreads > largesmp_min and \
+ if not xenkernel and largesmp_min > 0 and nthreads > largesmp_min and \
select(id.grpset.hdrlist, "kernel-largesmp"):
foundKernel = 1
if selected(id.grpset.hdrlist, "gcc"):
select(id.grpset.hdrlist, "kernel-largesmp-devel")
- elif nthreads > 1:
+ elif not xenkernel and nthreads > 1:
if select(id.grpset.hdrlist, "kernel-smp"):
foundkernel = 1
if selected(id.grpset.hdrlist, "gcc"):
select(id.grpset.hdrlist, "kernel-smp-devel")
- if iutil.needsEnterpriseKernel():
+ if not xenkernel and iutil.needsEnterpriseKernel():
if select(id.grpset.hdrlist, "kernel-bigmem"):
foundkernel = 1
- if isys.summitavailable():
+ if not xenkernel and isys.summitavailable():
if select(id.grpset.hdrlist, "kernel-summit"):
foundkernel = 1
if foundkernel == 0:
# we *always* need to have some sort of kernel installed
select(id.grpset.hdrlist, 'kernel')
+
+ if xenkernel:
+ log("deselecting kernel since we're installing xen kerenl")
+ # XXX: this is a bit of a hack, but we can't do much better
+ # with the rhel4 anaconda
+ id.grpset.hdrlist["kernel"].manual_state = -2 # MANUAL_OFF
if (selected(id.grpset.hdrlist, "gcc") and
selected(id.grpset.hdrlist, "kernel")):