%global _hardened_build 1 Name: nbdkit Version: 1.0.0 Release: 4%{?dist} Summary: NBD server License: BSD URL: https://github.com/libguestfs/nbdkit Source0: http://libguestfs.org/download/nbdkit/%{name}-%{version}.tar.gz BuildRequires: /usr/bin/pod2man BuildRequires: libvirt-devel BuildRequires: xz-devel BuildRequires: zlib-devel %description NBD is a protocol for accessing block devices (hard disks and disk-like things) over the network. 'nbdkit' is a toolkit for creating NBD servers. The key features are: * Multithreaded NBD server written in C with good performance. * Well-documented, simple plugin API with a stable ABI guarantee. Let's you export "unconventional" block devices easily. * Liberal license (BSD) allows nbdkit to be linked to proprietary libraries or included in proprietary code. You probably want to install one of more plugins (%{name}-plugin-*). To develop plugins, install the %{name}-devel package and start by reading the nbdkit(1) and nbdkit-plugin(3) manual pages. %package plugin-examples Summary: Example plugins for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-examples This package contains example plugins for %{name}. %package plugin-file Summary: File serving plugin for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-file This package is a file serving plugin for %{name}. %package plugin-gzip Summary: GZip file serving plugin for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-gzip This package is a gzip file serving plugin for %{name}. %package plugin-libvirt Summary: Libvirt plugin for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-libvirt This package is a libvirt plugin for %{name}. It lets you access libvirt guest disks readonly. It is implemented using the libvirt virDomainBlockPeek API. %package plugin-xz Summary: XZ file serving plugin for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-xz This package is a xz file serving plugin for %{name}. %package devel Summary: Development files and documentation for %{name} License: BSD Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains development files and documentation for %{name}. Install this package if you want to develop plugins for %{name}. %prep %setup -q %build # Force immediate binding for hardened build for plugins. # https://bugzilla.redhat.com/show_bug.cgi?id=977446#c13 export LDFLAGS="$LDFLAGS -Wl,-z,now" %configure --disable-static make %{?_smp_mflags} %install %make_install # Delete libtool crap. find $RPM_BUILD_ROOT -name '*.la' -delete %files %doc LICENSE README %{_sbindir}/nbdkit %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugins %{_mandir}/man1/nbdkit.1* %files plugin-examples %doc LICENSE README %{_libdir}/%{name}/plugins/nbdkit-example*-plugin.so %{_mandir}/man1/nbdkit-example*-plugin.1* %files plugin-file %doc LICENSE README %{_libdir}/%{name}/plugins/nbdkit-file-plugin.so %{_mandir}/man1/nbdkit-file-plugin.1* %files plugin-gzip %doc LICENSE README %{_libdir}/%{name}/plugins/nbdkit-gzip-plugin.so %{_mandir}/man1/nbdkit-gzip-plugin.1* %files plugin-libvirt %doc LICENSE README %{_libdir}/%{name}/plugins/nbdkit-libvirt-plugin.so %{_mandir}/man1/nbdkit-libvirt-plugin.1* %files plugin-xz %doc LICENSE README %{_libdir}/%{name}/plugins/nbdkit-xz-plugin.so %{_mandir}/man1/nbdkit-xz-plugin.1* %files devel %doc LICENSE README TODO # Include the source of the example plugins in the documentation. %doc plugins/example*/*.c %{_includedir}/nbdkit-plugin.h %{_mandir}/man3/nbdkit-plugin.3* %changelog * Mon Jun 24 2013 Richard W.M. Jones - 1.0.0-4 - Initial release.