# TODO: migrate relevant documentation from C-side
class TransactionSet(_rpm.ts):
+ # FIXME: kludge for keeping refcounts on transaction element keys
+ _keyList = []
+
def _wrapSetGet(self, attr, val):
oval = getattr(self, attr)
setattr(self, attr, val)
return None
else:
return tuple(keys)
+
+ def addInstall(self, header, key, how="u"):
+ if not how in ['u', 'i']:
+ raise ValueError, 'how argument must be "u" or "i"'
+ upgrade = (how == "u")
+
+ if not _rpm.ts.addInstall(self, header, key, upgrade):
+ raise _rpm.error, "adding package to transaction failed"
+ self._keyList.append(key)