On Thu, Jan 21, 2016 at 05:09:52PM +0100, Lukas Slebodnik wrote:
ehlo,
reason is explained in commit message.
The intention for this patch was to a simplify spec file
(at least a little bit :-)
If we want to have some requirements for version of lib{ldb,tdb}
then it would be better to have minimal required version in
BuildRequires + configure detection of libraries.
But it might be outdated if we use some ver ldb features.
LS
From 275b260be7c4365668a7adeceee6e9e089ae2f42 Mon Sep 17 00:00:00
2001
From: Lukas Slebodnik <lslebodn(a)redhat.com>
Date: Thu, 21 Jan 2016 16:55:11 +0100
Subject: [PATCH] SPEC: Remove unnecessary requirements
We do not need to requires specific version of libldb
or libtdb because it is automatically detected from
binary/library dependencies. We also need never version
of that libraries as it was specified in spec file.
e.g.
sh$ rpm -q --requires sssd-common | grep -E "TDB|LDB"
libldb.so.1(LDB_0.9.10)(64bit)
libtdb.so.1(TDB_1.2.1)(64bit)
Our public libraries also provides version definitions
therefore rpm can also detect minimal required version.
sh$ rpm -q --requires sssd-common | grep -E "IDMAP"
libsss_idmap.so.0(SSS_IDMAP_0.4)(64bit)
sh$ $rpm -q --requires python-libsss_nss_idmap | grep -E "IDMAP"
libsss_nss_idmap.so.0(SSS_NSS_IDMAP_0.0.1)(64bit)
sh$ rpm -q --requires sssd-ipa | grep -E "HBAC"
libipa_hbac.so.0(IPA_HBAC_0.0.1)(64bit)
I agree with the ldb and tbd changes.
But iirc the other explicit version dependencies should take care that
the sssd packages are always install with the same version. E.g. if you
have a system with
libsss_nss_idmap-1.13.3-1.fc23.x86_64 and
python3-libsss_nss_idmap-1.13.3-1.fc23.x86_64
installed and call
dnf update python3-libsss_nss_idmap-1.13.3-1.fc23.x86_64
becasue there is a newer 1.13.3-2 SSSD release, I would expect that dnf
only updates python3-libsss_nss_idmap to 1.13.3-2 if you remove
"Requires: libsss_nss_idmap = %{version}-%{release}" form the package
definition because the library version dependency
"libsss_nss_idmap.so.0(SSS_NSS_IDMAP_0.0.1)" is still satisfied by
libsss_nss_idmap-1.13.3-1.fc23.x86_64. As a result you have
libsss_nss_idmap-1.13.3-1.fc23.x86_64 and
python3-libsss_nss_idmap-1.13.3-2.fc23.x86_64
installed. This should not cause any harm but looks a bit irritating
imo.
bye,
Sumit
---
contrib/sssd.spec.in | 8 --------
1 file changed, 8 deletions(-)
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index 76066de9ac8b8ac1f9b14bf3bc787169d317fe2f..44e57600797e4e98cc241d24f5f7264906dda9be
100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -177,11 +177,8 @@ the existing back ends.
Summary: Common files for the SSSD
Group: Applications/System
License: GPLv3+
-Requires: libldb >= 0.9.3
-Requires: libtdb >= 1.1.3
Requires: sssd-client%{?_isa} = %{version}-%{release}
Requires: libsss_sudo = %{version}-%{release}
-Requires: libsss_idmap = %{version}-%{release}
Conflicts: sssd < %{version}-%{release}
%if (0%{?use_systemd} == 1)
Requires(post): systemd-units systemd-sysv
@@ -369,7 +366,6 @@ License: GPLv3+
Conflicts: sssd < %{version}-%{release}
Requires: sssd-common = %{version}-%{release}
Requires: sssd-krb5-common = %{version}-%{release}
-Requires: libipa_hbac = %{version}-%{release}
Requires: bind-utils
Requires: sssd-common-pac = %{version}-%{release}
@@ -444,7 +440,6 @@ Utility library to validate FreeIPA HBAC rules for authorization
requests
Summary: Python2 bindings for the FreeIPA HBAC Evaluator library
Group: Development/Libraries
License: LGPLv3+
-Requires: libipa_hbac = %{version}-%{release}
Provides: libipa_hbac-python = %{version}-%{release}
Obsoletes: libipa_hbac-python < 1.12.90
@@ -457,7 +452,6 @@ used by Python applications.
Summary: Python3 bindings for the FreeIPA HBAC Evaluator library
Group: Development/Libraries
License: LGPLv3+
-Requires: libipa_hbac = %{version}-%{release}
%description -n python3-libipa_hbac
The python3-libipa_hbac contains the bindings so that libipa_hbac can be
@@ -487,7 +481,6 @@ Utility library for SID based lookups
Summary: Python2 bindings for libsss_nss_idmap
Group: Development/Libraries
License: LGPLv3+
-Requires: libsss_nss_idmap = %{version}-%{release}
Provides: libsss_nss_idmap-python = %{version}-%{release}
Obsoletes: libsss_nss_idmap-python < 1.12.90
@@ -500,7 +493,6 @@ be used by Python applications.
Summary: Python3 bindings for libsss_nss_idmap
Group: Development/Libraries
License: LGPLv3+
-Requires: libsss_nss_idmap = %{version}-%{release}
%description -n python3-libsss_nss_idmap
The python3-libsss_nss_idmap contains the bindings so that libsss_nss_idmap can
--
2.5.0
_______________________________________________
sssd-devel mailing list
sssd-devel(a)lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org