Re: [PATCH 1/2] Reset conditionals of transaction info too. (#505189)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux