Chris Lumens wrote:
It is necessary when going back to task selection screen
in UI and changing repository.
Can you be a little more descriptive in why this solves the problem?
- Chris
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
In the BZ case we go back to tasksel step, change 'Installation Repo' in
UI (which is done by removing old one and adding new actually),
and then we proceed forward to basepkgsel step:
def doBasePackageSelect(anaconda):
if anaconda.ksdata:
anaconda.backend.resetPackageSelections()
kickstart.selectPackages(anaconda)
elif anaconda.displayMode != 't':
anaconda.backend.resetPackageSelections()
anaconda.instClass.setPackageSelection(anaconda)
anaconda.instClass.setGroupSelection(anaconda)
I am reseting ayum.conditionals in resetPackageSelections:
def resetPackageSelections(self):
"""Reset the package selection to an empty state."""
for txmbr in self.ayum.tsInfo:
self.ayum.tsInfo.remove(txmbr.pkgtup)
+ self.ayum.tsInfo.conditionals.clear()
for grp in self.ayum.comps.groups:
grp.selected = False
because if I don't, following setGroupSelection call (which is calling
YumBase.selectGroup for each desired group) is using stale conditionals
dict created when this step was performed for the replaced
repo instance of 'Installation Repo', so the dict containins
YumAvailablePackageSqlite objects pointing to (attribute repoid)
removed repo.
It seems to me that yum api is not very suitable for granularity
of UI interaction we use in anaconda, but I might be overlooking
something.
Radek
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list