File libnfs.spec of Package libnfs
%def_enable shared
%def_enable static
%def_enable werror
Name: libnfs
Version: 1.11.0
Release: 1
License: LGPL-2.1
Summary: A client library for accessing NFS shares over a network
Url: https://github.com/sahlberg/%name
Group: System/Libraries
Source: %name-%version.tar.xz
Source9: %name-rpmlintrc
Patch2: %name-1.11.0-fix-build-warnings.patch
Patch3: %name-1.11.0-nfs-cp-fix-buffer-overflow.patch
Provides: %{name}8 = %version-%release
BuildRequires: pkgconfig
BuildRequires: autoconf automake libtool
BuildRequires: popt-devel
%description
LIBNFS is a client library for accessing NFS shares over a network.
%package utils
Summary: %name utils
Group: Productivity/Networking/NFS
%{?_enable_shared:Requires: %name = %version-%release}
%description utils
LIBNFS is a client library for accessing NFS shares over a network.
%package devel
Summary: Development files for %name
Group: Development/Libraries/C and C++
Requires: %name%{?_disable_shared:-devel-static} = %version-%release
%description devel
LIBNFS is a client library for accessing NFS shares over a network.
This package contains development files for %name.
%if_enabled static
%package devel-static
Summary: Static %name
Group: Development/Libraries/C and C++
Requires: %name-devel = %version-%release
%description devel-static
LIBNFS is a client library for accessing NFS shares over a network.
This package contains static %name.
%endif
%package -n fuse-nfs
Summary: %name utils
Group: System/Filesystems
%{?_enable_shared:Requires: %name = %version-%release}
%description -n fuse-nfs
LIBNFS is a client library for accessing NFS shares over a network.
This package contains a simple FUSE filesystem built on %name.
%prep
%setup -q
%patch2 -p1
%patch3 -p1
%build
autoreconf -fisv
%global optflags %optflags -flto
%configure \
LDFLAGS="-flto -fwhole-program" \
%{subst_enable shared} \
%{subst_enable static} \
%{subst_enable werror} \
--enable-examples
make %{?_smp_mflags}
%install
%make_install
install -p -m 0755 examples/%{?_enable_shared:.libs/}{nfs{-io,client-{async,bcast,listservers,raw,sync}},portmap-client} %buildroot%_bindir/
rm -f %buildroot%_libdir/*.la
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%if_enabled shared
%files
%defattr(-,root,root)
%_libdir/*.so.*
%endif
%files utils
%defattr(-,root,root)
%_bindir/*
%_mandir/man1/*
%files devel
%defattr(-,root,root)
%doc README
%_libdir/pkgconfig/*
%_includedir/*
%_libdir/*.so
%if_enabled static
%files devel-static
%defattr(-,root,root)
%_libdir/*.a
%endif
%changelog