[Yum-devel] [PATCH] Add "Dep-Install" as a state to history.
James Antill
james at and.org
Mon Oct 12 06:50:24 UTC 2009
This is mostly an output tweak for "yum history info", however we now
don't manually install a Dep-Install on redo.
This means yumdb.reason is correct, and is probably what the user
wants the majority of the time.
---
output.py | 2 ++
yum/__init__.py | 4 +++-
yum/history.py | 3 +++
3 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/output.py b/output.py
index d0b9f7f..da84221 100755
--- a/output.py
+++ b/output.py
@@ -1181,6 +1181,8 @@ to exit.
st = hpkg.state
if st == 'True-Install':
st = 'Install'
+ if st == 'Dep-Install': # Mask these at the higher levels
+ st = 'Install'
if st == 'Obsoleted': # This is just a UI tweak, as we can't have
# just one but we need to count them all.
st = 'Obsoleting'
diff --git a/yum/__init__.py b/yum/__init__.py
index daa437f..2496f8f 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -3610,6 +3610,8 @@ class YumBase(depsolve.Depsolve):
""" Given a valid historical transaction object, try and repeat
that transaction. """
# NOTE: This is somewhat basic atm. ... see comment in undo.
+ # Also note that redo doesn't force install Dep-Install packages,
+ # which is probably want is wanted the majority of the time.
old_conf_obs = self.conf.obsoletes
self.conf.obsoletes = False
done = False
@@ -3670,7 +3672,7 @@ class YumBase(depsolve.Depsolve):
if self.remove(pkgtup=pkg.pkgtup):
done = True
for pkg in transaction.trans_data:
- if pkg.state in ('Install', 'True-Install'):
+ if pkg.state in ('Dep-Install', 'Install', 'True-Install'):
if self.remove(pkgtup=pkg.pkgtup):
done = True
for pkg in transaction.trans_data:
diff --git a/yum/history.py b/yum/history.py
index 644c2fc..97571c5 100644
--- a/yum/history.py
+++ b/yum/history.py
@@ -47,6 +47,7 @@ _sttxt2stcode = {'Update' : TS_UPDATE,
'Erase' : TS_ERASE,
'Install' : TS_INSTALL,
'True-Install' : TS_TRUEINSTALL,
+ 'Dep-Install' : TS_INSTALL,
'Reinstall' : TS_INSTALL, # Broken
'Downgrade' : TS_INSTALL, # Broken
'Downgraded' : TS_INSTALL, # Broken
@@ -292,6 +293,8 @@ class YumHistory:
state = 'Downgraded'
if state is None:
state = _stcode2sttxt.get(txmbr.output_state)
+ if state == 'Install' and txmbr.isDep:
+ state = 'Dep-Install'
return state
def trans_with_pid(self, pid):
--
1.6.2.5
More information about the Yum-devel
mailing list