summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2013-04-15 11:02:19 +0200
committerAnand Avati <avati@redhat.com>2013-04-15 20:49:52 -0700
commit9eb8fc771b32c0601969537ad7135edd89e49cf9 (patch)
treed5f5af928608fdb87a6c5339e06fd95ded0b3ba0
parent6d6205ede5e90a919d082b4413055d684114253a (diff)
rpm: remove useless provides for xlator .so files and private libraries
xlator .so files and private libraries should be skipped while scanning for provides: - https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering This prevents automatic generated provides like these in the glusterfs, glustrefs-fuse and glusterfs-server packages: - addr.so.0()(64bit) - afr.so.0()(64bit) - client.so.0()(64bit) - dht.so.0()(64bit) - ... BUG: 952122 Change-Id: Icd08925eb1826f3593129e7c19de83528f7b6301 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/4823 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
-rw-r--r--glusterfs.spec.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index 7595748..1923b0f 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -145,6 +145,22 @@ Provides: %{name}-libs = %{version}-%{release}
Provides: %{name}-common = %{version}-%{release}
Provides: %{name}-core = %{version}-%{release}
+# We do not want to generate useless provides and requires for xlator .so files
+# Filter all generated:
+# - .so requires that do not start with 'lib'
+# - all provides from xlators and private libraries not in the ldconfig path
+#
+# TODO: RHEL5 does not have a convenient solution
+%if 0%{?rhel} == 6
+ # filter_setup exists in RHEL6 only
+ %filter_provides_in %{_libdir}/glusterfs/%{version}/
+ %global __filter_from_req %{?__filter_from_req} | %{__grep} -v -P '^(?!lib).*\.so.*$'
+ %filter_setup
+%else
+ # modern rpm and current Fedora
+ %global __requires_exclude -P ^(?!lib).*\.so.*$
+ %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
+%endif
%description
GlusterFS is a clustered file-system capable of scaling to several