File userspace-rcu.spec of Package userspace-rcu
%define realname userspace-rcu
%define realver 0.11.1
%define srcext tar.bz2
%define so_ver 6
# turn off the generation of debuginfo rpm (RH9) ??
%global debug_package %{nil}
%if 0%{?suse_version}
%define pkg_name liburcu%{?so_ver}
%define pkg_dev liburcu-devel
%define prov_name %{realname}
%define prov_dev %{realname}-devel
%else
%define pkg_name %{realname}
%define pkg_dev %{realname}-devel
%define prov_name liburcu%{?so_ver}
%define prov_dev liburcu-devel
%endif
# Common info
Name: %{pkg_name}
Version: %{realver}
Release: %{?extraver:0.}1%{?dist}
License: LGPL-2.1+ and MIT and X11
Group: System/Libraries
URL: http://liburcu.org/
Summary: Userspace RCU (read-copy-update) library
# Install-time parameters
Provides: %{prov_name} = %{version} liburcu = %{version}
# Build-time parameters
BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-root
Source: http://www.lttng.org/files/urcu/%{realname}-%{realver}%{?extraver}.%{srcext}
%description
liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This data
synchronization library provides read-side access which scales linearly with
the number of cores.
%package -n %{pkg_dev}
Group: Development/Languages/C and C++
Summary: Development files for %{name}
Requires: %{name} = %{version}
Provides: %{prov_dev} = %{version}
%description -n %{pkg_dev}
Development files for %{name}
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{realver}%{?extraver}
%build
%configure \
--disable-static \
CFLAGS="%{optflags} %{?gcc_lto}" \
CXXFLAGS="%{optflags} %{?gcc_lto}" \
LDFLAGS="-Wl,--as-needed -Wl,--strip-all -Wl,-z,now -Wl,-z,relro %{?gcc_lto}"
%{__make} %{?_smp_mflags}
%install
%{__make} install DESTDIR=%{buildroot}
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%{_datadir}/doc/userspace-rcu/*
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
%doc ChangeLog LICENSE README.md *.txt
%{_libdir}/*.so.%{?so_ver}*
# Development stuff
%files -n %{pkg_dev}
%defattr(-,root,root)
%doc CodingStyle LICENSE README.md *.txt doc/*.md
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*.h
%{_includedir}/urcu/
%{_libdir}/*.so
%exclude %{_libdir}/*.la
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog