- do not set clearPartType in parttype dialog just to set preselected combobox value which was stupid, clearPartType should be set only after [Next]
I forgot to modify text UI too, fixed patch 2/2 attached Radek
>From 879354bcb7f2bc8237a9bd2f0e45d5b91d325235 Mon Sep 17 00:00:00 2001 From: Radek Vykydal <rvykydal@xxxxxxxxxx> Date: Tue, 2 Jun 2009 20:42:36 +0200 Subject: [PATCH 2/2] Use None to indicate use of default value for clearPartType in UI (#503310, #503681). If we are to set clearPartType in "parttype" UI (there is no clearpart in KS), set it really there, instead of setting it to CLEARPART_TYPE_NONE just to pass storage device discovery checks which are done between ks processing and UI parttype. --- installclass.py | 9 +-------- installclasses/fedora.py | 3 +-- installclasses/rhel.py | 3 +-- iw/autopart_type.py | 13 +++++++------ iw/partition_gui.py | 1 + kickstart.py | 2 +- storage/__init__.py | 4 ++-- storage/partitioning.py | 2 +- textw/partition_text.py | 6 +++++- 9 files changed, 20 insertions(+), 23 deletions(-) diff --git a/installclass.py b/installclass.py index 913444f..d0f535d 100644 --- a/installclass.py +++ b/installclass.py @@ -187,8 +187,7 @@ class BaseInstallClass(object): from backend import AnacondaBackend return AnacondaBackend - def setDefaultPartitioning(self, storage, platform, - clear = CLEARPART_TYPE_LINUX, doClear = True): + def setDefaultPartitioning(self, storage, platform): autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, size=1024, grow=True, asVol=True)] @@ -200,12 +199,6 @@ class BaseInstallClass(object): autorequests.append(PartSpec(fstype="swap", size=minswap, maxSize=maxswap, grow=True, asVol=True)) - if doClear: - storage.clearPartType = clear - storage.clearPartDisks = [] - else: - storage.clearPartType = CLEARPART_TYPE_NONE - storage.autoPartitionRequests = autorequests diff --git a/installclasses/fedora.py b/installclasses/fedora.py index 9c97390..98002ed 100644 --- a/installclasses/fedora.py +++ b/installclasses/fedora.py @@ -63,8 +63,7 @@ class InstallClass(BaseInstallClass): BaseInstallClass.setInstallData(self, anaconda) BaseInstallClass.setDefaultPartitioning(self, anaconda.id.storage, - anaconda.platform, - CLEARPART_TYPE_NONE) + anaconda.platform) def setSteps(self, anaconda): BaseInstallClass.setSteps(self, anaconda); diff --git a/installclasses/rhel.py b/installclasses/rhel.py index aa3590d..5c0d715 100644 --- a/installclasses/rhel.py +++ b/installclasses/rhel.py @@ -89,8 +89,7 @@ class InstallClass(BaseInstallClass): BaseInstallClass.setInstallData(self, anaconda) BaseInstallClass.setDefaultPartitioning(self, anaconda.id.storage, - anaconda.platform, - CLEARPART_TYPE_NONE) + anaconda.platform) def setSteps(self, anaconda): dispatch = anaconda.dispatch diff --git a/iw/autopart_type.py b/iw/autopart_type.py index bb71401..f192d6a 100644 --- a/iw/autopart_type.py +++ b/iw/autopart_type.py @@ -444,15 +444,16 @@ class PartitionTypeWindow(InstallWindow): (_("Use free space"), CLEARPART_TYPE_NONE), (_("Create custom layout"), -1)) - # Default for UI is Remove linux partitions, so if we - # haven't specified something else in ks, set this default. - # This is not correct if we specify clearpart --none in ks. - if self.storage.clearPartType == CLEARPART_TYPE_NONE: - self.storage.clearPartType = CLEARPART_TYPE_LINUX + # if not set in ks, use UI default + if self.storage.clearPartType is None: + preselected = CLEARPART_TYPE_LINUX + else: + preselected = self.storage.clearPartType + for (txt, val) in opts: iter = store.append(None) store[iter] = (txt, val) - if val == self.storage.clearPartType: + if val == preselected: self.combo.set_active_iter(iter) if ((self.combo.get_active() == -1) or diff --git a/iw/partition_gui.py b/iw/partition_gui.py index 9968f07..b97a49b 100644 --- a/iw/partition_gui.py +++ b/iw/partition_gui.py @@ -664,6 +664,7 @@ class PartitionWindow(InstallWindow): def getPrev(self): self.diskStripeGraph.shutDown() + self.storage.clearPartType = None self.storage.reset() self.tree.clear() del self.parent diff --git a/kickstart.py b/kickstart.py index 474ecec..ce63068 100644 --- a/kickstart.py +++ b/kickstart.py @@ -147,7 +147,7 @@ class AutoPart(commands.autopart.F9_AutoPart): # sets up default autopartitioning. use clearpart separately # if you want it - self.handler.id.instClass.setDefaultPartitioning(self.handler.id.storage, self.handler.anaconda.platform, doClear=False) + self.handler.id.instClass.setDefaultPartitioning(self.handler.id.storage, self.handler.anaconda.platform) self.handler.id.storage.doAutoPart = True if self.encrypted: diff --git a/storage/__init__.py b/storage/__init__.py index 41f09e2..a364bf8 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -202,7 +202,7 @@ class Storage(object): self.ignoredDisks = [] self.exclusiveDisks = [] self.doAutoPart = False - self.clearPartType = CLEARPART_TYPE_NONE + self.clearPartType = None self.clearPartDisks = [] self.encryptedAutoPart = False self.encryptionPassphrase = None @@ -965,7 +965,7 @@ class Storage(object): f.write("# not guaranteed to work\n") # clearpart - if self.clearPartType == CLEARPART_TYPE_NONE: + if self.clearPartType is None or self.clearPartType == CLEARPART_TYPE_NONE: args = ["--none"] elif self.clearPartType == CLEARPART_TYPE_LINUX: args = ["--linux"] diff --git a/storage/partitioning.py b/storage/partitioning.py index 8e9ab3c..de3e3e5 100644 --- a/storage/partitioning.py +++ b/storage/partitioning.py @@ -306,7 +306,7 @@ def clearPartitions(storage): - Needs some error handling, especially for the parted bits. """ - if storage.clearPartType == CLEARPART_TYPE_NONE: + if storage.clearPartType is None or storage.clearPartType == CLEARPART_TYPE_NONE: # not much to do return diff --git a/textw/partition_text.py b/textw/partition_text.py index 48b7c18..b6960ef 100644 --- a/textw/partition_text.py +++ b/textw/partition_text.py @@ -67,7 +67,11 @@ class PartitionTypeWindow: for (txt, val) in opts: typebox.append(txt, val) - typebox.setCurrent(anaconda.id.storage.clearPartType) + if anaconda.id.storage.clearPartType is None: + preselection = CLEARPART_TYPE_LINUX + else: + preselection = anaconda.id.storage.clearPartType + typebox.setCurrent(preselection) g.add(typebox, 0, 1, (0, 1, 0, 0)) -- 1.6.0.6
_______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list