From 9eb8fc771b32c0601969537ad7135edd89e49cf9 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Mon, 15 Apr 2013 11:02:19 +0200 Subject: 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 Reviewed-on: http://review.gluster.org/4823 Reviewed-by: Kaleb KEITHLEY Tested-by: Gluster Build System Reviewed-by: Anand Avati --- glusterfs.spec.in | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 7595748b9..1923b0f27 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 -- cgit