[yum-cvs] yum/yum depsolve.py, 1.57, 1.58 transactioninfo.py, 1.12, 1.13
Seth Vidal
skvidal at login.linux.duke.edu
Thu Mar 3 07:45:42 UTC 2005
Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv1840/yum
Modified Files:
depsolve.py transactioninfo.py
Log Message:
clean up the txmbr stuff to use package objects internally.
need to also use them for the transaction-set relationship information
Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- depsolve.py 2 Mar 2005 04:31:30 -0000 1.57
+++ depsolve.py 3 Mar 2005 07:45:40 -0000 1.58
@@ -154,7 +154,7 @@
for idx in indexes:
self.ts.addErase(idx)
if self.dsCallback: self.dsCallback.pkgAdded(txmbr.pkgtup, 'e')
- self.log(4, 'Removing Package %s-%s-%s.%s' % (txmbr.name, txmbr.ver, txmbr.rel, txmbr.arch))
+ self.log(4, 'Removing Package %s' % txmbr.po)
def resolveDeps(self):
Index: transactioninfo.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/transactioninfo.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- transactioninfo.py 14 Feb 2005 06:00:20 -0000 1.12
+++ transactioninfo.py 3 Mar 2005 07:45:40 -0000 1.13
@@ -176,19 +176,11 @@
"""adds a package as an install but in mode 'u' to the ts
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'repo'
txmbr.output_state = 'installing'
txmbr.ts_state = 'u'
txmbr.reason = 'user'
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
self.add(txmbr)
return txmbr
@@ -196,19 +188,11 @@
"""adds a package as an install
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'repo'
txmbr.output_state = 'installing'
txmbr.ts_state = 'i'
txmbr.reason = 'user'
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
self.add(txmbr)
return txmbr
@@ -217,18 +201,10 @@
"""adds a package as an erasure
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'installed'
txmbr.output_state = 'erasing'
txmbr.ts_state = 'e'
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
self.add(txmbr)
return txmbr
@@ -236,18 +212,10 @@
"""adds a package as an update
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'repo'
txmbr.output_state = 'updating'
txmbr.ts_state = 'u'
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
if oldpo:
txmbr.relatedto.append((oldpo.pkgtup, 'updates'))
self.add(txmbr)
@@ -257,18 +225,10 @@
"""adds a package as an obsolete over another pkg
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'repo'
txmbr.output_state = 'obsoleting'
txmbr.ts_state = 'u'
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
txmbr.relatedto.append((oldpo.pkgtup, 'obsoletes'))
self.add(txmbr)
return txmbr
@@ -277,18 +237,10 @@
"""adds a package as being obsoleted by another pkg
takes a packages object and returns a TransactionMember Object"""
- txmbr = TransactionMember()
- txmbr.po = po
- txmbr.pkgtup = po.pkgtup
+ txmbr = TransactionMember(po)
txmbr.current_state = 'installed'
txmbr.output_state = 'obsoleted'
txmbr.ts_state = None
- txmbr.name = po.name
- txmbr.arch = po.arch
- txmbr.epoch = po.epoch
- txmbr.ver = po.version
- txmbr.rel = po.release
- txmbr.repoid = po.repoid
txmbr.relatedto.append((obsoleting_po.pkgtup, 'obsoletedby'))
self.add(txmbr)
return txmbr
@@ -298,27 +250,24 @@
"""Class to describe a Transaction Member (a pkg to be installed/
updated/erased)."""
- def __init__(self):
+ def __init__(self, po):
# holders for data
- self.po = None # package object
- self.pkgtup = None # package tuple
+ self.po = po # package object
self.current_state = None # where the package currently is (repo, installed)
self.ts_state = None # what state to put it into in the transaction set
self.output_state = None # what state to list if printing it
self.isDep = 0
self.reason = 'user' # reason for it to be in the transaction set
- self.repoid = None # repository id (if any)
- self.name = None
- self.arch = None
- self.epoch = None
- self.ver = None
- self.rel = None
self.process = None #
self.relatedto = [] # ([relatedpkgtup, relationship)]
self.groups = [] # groups it's in
- self.pkgid = None # pkgid from the package, if it has one, so we can find it
- self.repoid = None
-
+ self._poattr = ['pkgtup', 'repoid', 'name', 'arch', 'epoch', 'version',
+ 'release']
+
+ for attr in self._poattr:
+ val = getattr(self.po, attr)
+ setattr(self, attr, val)
+
def setAsDep(self, pkgtup=None):
"""sets the transaction member as a dependency and maps the dep into the
relationship list attribute"""
@@ -337,7 +286,8 @@
def __str__(self):
- return "%s.%s %s-%s-%s - %s" % (self.name, self.arch, self.epoch, self.ver, self.rel, self.ts_state)
+ return "%s.%s %s-%s-%s - %s" % (self.name, self.arch, self.epoch,
+ self.version, self.release, self.ts_state)
# This is the tricky part - how do we nicely setup all this data w/o going insane
# we could make the txmember object be created from a YumPackage base object
More information about the Yum-cvs-commits
mailing list