nbdkit/nbdkit.spec

232 lines
5.5 KiB
RPMSpec
Raw Normal View History

2013-06-24 17:39:35 +00:00
%global _hardened_build 1
Name: nbdkit
Version: 1.1.3
Release: 1%{?dist}
2013-06-24 17:39:35 +00:00
Summary: NBD server
License: BSD
URL: https://github.com/libguestfs/nbdkit
Source0: http://libguestfs.org/download/nbdkit/%{name}-%{version}.tar.gz
# Fix segfault when IPv6 client is used (RHBZ#986601).
# Patch is upstream.
Patch1: 0001-struct-sockaddr-is-not-large-enough-to-store-a-gener.patch
2013-06-24 17:39:35 +00:00
BuildRequires: /usr/bin/pod2man
BuildRequires: libguestfs-devel
2013-06-24 17:39:35 +00:00
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.
Allows you to export "unconventional" block devices easily.
2013-06-24 17:39:35 +00:00
* 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-guestfs
Summary: libguestfs plugin for %{name}
License: BSD
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugin-guestfs
This package is a libguestfs plugin for %{name}.
2013-06-24 17:39:35 +00:00
%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
%patch1 -p1
2013-06-24 17:39:35 +00:00
%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
%check
# Completely disabled because Rawhide kernel is broken (RHBZ#991808).
%if 0
2013-07-16 11:45:37 +00:00
%if 0%{?fedora} >= 19
# libguestfs 1.20 in Fedora 18 doesn't support NBD client protocol, so
# the tests cannot be run.
make check
2013-07-16 11:45:37 +00:00
%endif
%endif
2013-06-24 17:39:35 +00:00
%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-guestfs
%doc LICENSE README
%{_libdir}/%{name}/plugins/nbdkit-guestfs-plugin.so
%{_mandir}/man1/nbdkit-guestfs-plugin.1*
2013-06-24 17:39:35 +00:00
%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
* Sun Aug 4 2013 Richard W.M. Jones <rjones@redhat.com> - 1.1.3-1
- New upstream version 1.1.3 which fixes some test problems.
- Disable tests because Rawhide kernel is broken (RHBZ#991808).
- Remove a single quote from description which confused emacs.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sun Jul 21 2013 Richard W.M. Jones <rjones@redhat.com> - 1.1.2-3
- Fix segfault when IPv6 client is used (RHBZ#986601).
2013-07-16 11:45:37 +00:00
* Tue Jul 16 2013 Richard W.M. Jones <rjones@redhat.com> - 1.1.2-2
2013-07-16 11:10:44 +00:00
- New development version 1.1.2.
2013-07-16 11:45:37 +00:00
- Disable the tests on Fedora <= 18.
2013-07-16 11:10:44 +00:00
* Tue Jun 25 2013 Richard W.M. Jones <rjones@redhat.com> - 1.1.1-1
- New development version 1.1.1.
- Add libguestfs plugin.
- Run the test suite.
2013-06-24 17:39:35 +00:00
* Mon Jun 24 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.0-4
- Initial release.