Hello all,
fix for ticket https://fedorahosted.org/freeipa/ticket/5535
requires to import rpm module
This import somehow breaks nsslib in IPA
https://fedorahosted.org/freeipa/ticket/5572
We have 2 ways how to fix it:
1) move import rpm to body of methods (attached patch)
We are not sure how stable is this solution.
2) use solution with rpmdevtools proposed here:
https://www.redhat.com/archives/freeipa-devel/2016-January/msg00092.html
This should be rock stable but it needs many dependencies (rpm-python
too, perl)
The second way looks safer, so I would like to reimplement it, do you
all agree or do you have better idea?
Feedback welcome, please ASAP.
Martin^2
From bc665a86825c6fb5654eb3446a85ecc08ef7eefd Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Fri, 8 Jan 2016 13:24:20 +0100
Subject: [PATCH] fix rpm import
---
ipaplatform/redhat/tasks.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py
index a0b4060cb26bab66248c4397c24b4d58bf1bf8d6..e5cce42af286826ec8cb7e4266eef7cd691fce23 100644
--- a/ipaplatform/redhat/tasks.py
+++ b/ipaplatform/redhat/tasks.py
@@ -36,7 +36,6 @@ from subprocess import CalledProcessError
from nss.error import NSPRError
from pyasn1.error import PyAsn1Error
from six.moves import urllib
-import rpm
from ipapython.ipa_log_manager import root_logger, log_mgr
from ipapython import ipautil
@@ -105,10 +104,12 @@ class IPAVersion(object):
def __eq__(self, other):
assert isinstance(other, IPAVersion)
+ import rpm
return rpm.labelCompare(self.version_tuple, other.version_tuple) == 0
def __lt__(self, other):
assert isinstance(other, IPAVersion)
+ import rpm
return rpm.labelCompare(self.version_tuple, other.version_tuple) == -1
--
2.5.0
--
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code