Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 273211 Details for
Bug 330711
kernel packages that remain installed seem to be ignored in yum transaction check
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
patch to yum - should let it properly add special pkgs like kernels and kernel-modules to ts for depsolving
potential-kmod-getting-left-behind-fix.patch (text/plain), 2.82 KB, created by
Seth Vidal
on 2007-11-29 19:43:39 UTC
(
hide
)
Description:
patch to yum - should let it properly add special pkgs like kernels and kernel-modules to ts for depsolving
Filename:
MIME Type:
Creator:
Seth Vidal
Created:
2007-11-29 19:43:39 UTC
Size:
2.82 KB
patch
obsolete
>diff --git a/yum/depsolve.py b/yum/depsolve.py >index 48dd48c..057b14b 100644 >--- a/yum/depsolve.py >+++ b/yum/depsolve.py >@@ -82,14 +82,14 @@ class Depsolve(object): > if not self.conf.installroot: > raise Errors.YumBaseError, 'Setting up TransactionSets before config class is up' > >- self._tsInfo = self._transactionDataFactory() >- self._tsInfo.setDatabases(self.rpmdb, self.pkgSack) >+ self._getTsInfo() > self.initActionTs() > > def _getTsInfo(self): > if self._tsInfo is None: > self._tsInfo = self._transactionDataFactory() > self._tsInfo.setDatabases(self.rpmdb, self.pkgSack) >+ self._tsInfo.installonlypkgs = self.conf.installonlypkgs # this kinda sucks > return self._tsInfo > > def _setTsInfo(self, value): >diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py >index 8aed378..a845a55 100644 >--- a/yum/transactioninfo.py >+++ b/yum/transactioninfo.py >@@ -44,6 +44,7 @@ class TransactionData: > self.removedmembers = {} > self.debug = 0 > self.changed = False >+ self.installonlypkgs = [] > > self.conditionals = {} # key = pkgname, val = list of pos to add > >@@ -157,6 +158,20 @@ class TransactionData: > # Is this the right criteria? > return txmember.ts_state in ('u', 'i') and not isinstance(txmember.po, (YumInstalledPackage, YumAvailablePackageSqlite)) > >+ def _allowedMultipleInstalls(self, po): >+ """takes a packageObject, returns 1 or 0 depending on if the package >+ should/can be installed multiple times with different vers >+ like kernels and kernel modules, for example""" >+ >+ if po.name in self.installonlypkgs: >+ return 1 >+ >+ provides = po.provides_names >+ if filter (lambda prov: prov in self.installonlypkgs, provides): >+ return 1 >+ >+ return 0 >+ > def add(self, txmember): > """add a package to the transaction""" > >@@ -285,6 +300,9 @@ class TransactionData: > def addInstall(self, po): > """adds a package as an install but in mode 'u' to the ts > takes a packages object and returns a TransactionMember Object""" >+ >+ if self._allowedMultipleInstalls(po): >+ return self.addTrueInstall(po) > > txmbr = TransactionMember(po) > txmbr.current_state = TS_AVAILABLE >@@ -324,7 +342,10 @@ class TransactionData: > def addUpdate(self, po, oldpo=None): > """adds a package as an update > takes a packages object and returns a TransactionMember Object""" >- >+ >+ if self._allowedMultipleInstalls(po): >+ return self.addTrueInstall(po) >+ > txmbr = TransactionMember(po) > txmbr.current_state = TS_AVAILABLE > txmbr.output_state = TS_UPDATE
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 330711
:
226441
| 273211