178 lines
3.9 KiB
RPMSpec
178 lines
3.9 KiB
RPMSpec
|
%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 <rjones@redhat.com> - 1.0.0-4
|
||
|
- Initial release.
|