You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.6 KiB
61 lines
2.6 KiB
7 years ago
|
commit d317fd0d8f56eb352c7dbb78bc283c208da9a561
|
||
|
Author: Zdenek Pavlas <zpavlas@redhat.com>
|
||
|
Date: Tue Jan 14 12:08:43 2014 +0100
|
||
|
|
||
|
post-transaction-actions: fix filename matching. BZ 1045494
|
||
|
|
||
|
I believe the code now works as origanally intended. When installing
|
||
|
packages, txmbr.po is AvailablePackage instance and .filelist access
|
||
|
may trigger filelist metadata download.
|
||
|
|
||
|
Since this runs after the transaction, we may look the package up
|
||
|
in rpmdb instead. On removals, thispo is RPMInstalledPackage already.
|
||
|
Thanks to Robert Tomczyk <robert.x.tomczyk@gmail.com> for reporting
|
||
|
and testing this.
|
||
|
|
||
|
diff --git a/plugins/post-transaction-actions/post-transaction-actions.py b/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
index b4da1ce..804af9c 100644
|
||
|
--- a/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
+++ b/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
@@ -129,8 +129,10 @@ def posttrans_hook(conduit):
|
||
|
|
||
|
for txmbr in pkgset:
|
||
|
matched = False
|
||
|
- #print '%s - %s' % txmbr.name, txmbr.ts_state
|
||
|
- if txmbr.po.state in TS_INSTALL_STATES:
|
||
|
+ thispo = txmbr.po
|
||
|
+ if txmbr.output_state in TS_INSTALL_STATES:
|
||
|
+ # thispo is AvailablePackage; filelist access could trigger download
|
||
|
+ # of the filelist. Since it's installed now, use rpmdb data instead.
|
||
|
thispo = _get_installed_po(rpmdb, txmbr.pkgtup)
|
||
|
|
||
|
if not yum.misc.re_glob(a_k):
|
||
|
commit 78cfff9b48608ad246a8898d002937d9b6ffcc5d
|
||
|
Author: Valentina Mukhamedzhanova <vmukhame@redhat.com>
|
||
|
Date: Wed Aug 20 17:31:16 2014 +0200
|
||
|
|
||
|
post-transaction-actions: preload filelists for packages to be removed. BZ 1127782
|
||
|
|
||
|
diff --git a/plugins/post-transaction-actions/post-transaction-actions.py b/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
index 804af9c..4d015c1 100644
|
||
|
--- a/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
+++ b/plugins/post-transaction-actions/post-transaction-actions.py
|
||
|
@@ -93,6 +93,17 @@ def _convert_vars(txmbr, command):
|
||
|
result = varReplace(command, vardict)
|
||
|
return result
|
||
|
|
||
|
+
|
||
|
+def pretrans_hook(conduit):
|
||
|
+ # Prefetch filelist for packages to be removed,
|
||
|
+ # otherwise for updated packages headers will not be available
|
||
|
+ ts = conduit.getTsInfo()
|
||
|
+ removes = ts.getMembersWithState(output_states=TS_REMOVE_STATES)
|
||
|
+
|
||
|
+ for txmbr in removes:
|
||
|
+ txmbr.po.filelist
|
||
|
+
|
||
|
+
|
||
|
def posttrans_hook(conduit):
|
||
|
# we have provides/requires for everything
|
||
|
# we do not have filelists for erasures
|