From 822a4c460f58903335e755fa2ee06680a42c25f2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Jun 2013 18:39:35 +0100 Subject: [PATCH] Initial release. --- .gitignore | 2 + nbdkit.spec | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 180 insertions(+) create mode 100644 nbdkit.spec diff --git a/.gitignore b/.gitignore index e69de29..410cff4 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/clog +/nbdkit-*.tar.gz diff --git a/nbdkit.spec b/nbdkit.spec new file mode 100644 index 0000000..8c99dc8 --- /dev/null +++ b/nbdkit.spec @@ -0,0 +1,177 @@ +%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. diff --git a/sources b/sources index e69de29..76e9378 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +723716a15736f16a1bca5185cd0d65fb nbdkit-1.0.0.tar.gz