diff --git a/nbdkit.spec b/nbdkit.spec index 1141d30..f28aafd 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -28,10 +28,10 @@ %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.6-stable +%global source_directory 1.10-stable Name: nbdkit -Version: 1.6.0 +Version: 1.10.3 Release: 1%{?dist} Summary: NBD server @@ -73,6 +73,7 @@ BuildRequires: xz-devel BuildRequires: zlib-devel BuildRequires: libcurl-devel BuildRequires: e2fsprogs-devel +BuildRequires: genisoimage BuildRequires: bash-completion BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) @@ -103,27 +104,33 @@ BuildRequires: /usr/sbin/ss # nbdkit is a metapackage pulling the server and a useful subset # of the plugins and filters. -Requires: nbdkit-server -Requires: nbdkit-basic-plugins -Requires: nbdkit-basic-filters +Requires: nbdkit-server%{?_isa} = %{version}-%{release} +Requires: nbdkit-basic-plugins%{?_isa} = %{version}-%{release} +Requires: nbdkit-basic-filters%{?_isa} = %{version}-%{release} %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. +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. +* Minimal dependencies for the basic server. * Liberal license (BSD) allows nbdkit to be linked to proprietary libraries or included in proprietary code. +* Well-documented, simple plugin API with a stable ABI guarantee. + Lets you to export "unconventional" block devices easily. + +* You can write plugins in C or many other languages. + +* Filters can be stacked in front of plugins to transform the output. + In Fedora, '%{name}' is a meta-package which pulls in the core server and a useful subset of plugins and filters. @@ -158,52 +165,33 @@ Obsoletes: %{name}-plugin-streaming < 1.1.19-1 This package contains some basic plugins for %{name} which have only trivial dependencies. -* nbdkit-data-plugin +nbdkit-data-plugin Serve small amounts of data from the command line. - Serve small files directly from the command line. +nbdkit-file-plugin The normal file plugin for serving files. -* nbdkit-file-plugin +nbdkit-floppy-plugin Create a virtual floppy disk from a directory. - A file serving plugin. +nbdkit-full-plugin A virtual disk that returns ENOSPC errors. -* nbdkit-memory-plugin +nbdkit-memory-plugin A virtual memory plugin. - A virtual memory plugin. +nbdkit-nbd-plugin An NBD forwarding plugin. -* nbdkit-nbd-plugin +nbdkit-null-plugin A null (bitbucket) plugin. - An NBD forwarding plugin. +nbdkit-pattern-plugin Fixed test pattern. - It provides an NBD server that forwards all traffic as a client to - another existing NBD server. A primary usage of this setup is to - alter the set of features available to the ultimate end client, - without having to change the original server (for example, to - convert between oldstyle and newtyle, or to add TLS support where - the original server lacks it). +nbdkit-partitioning-plugin Create virtual disks from partitions. -* nbdkit-null-plugin +nbdkit-random-plugin Random content plugin for testing. - A null (bitbucket) plugin. +nbdkit-sh-plugin Write plugins as shell scripts or executables. -* nbdkit-pattern-plugin +nbdkit-split-plugin Concatenate one or more files. - Fixed test pattern. +nbdkit-streaming-plugin A streaming file serving plugin. -* nbdkit-random-plugin - - Random content plugin for testing. - -* nbdkit-split-plugin - - Concatenate one or more files into a single virtual disk. - -* nbdkit-streaming-plugin - - A streaming file serving plugin. - -* nbdkit-zero-plugin - - Zero-length plugin for testing. +nbdkit-zero-plugin Zero-length plugin for testing. %package example-plugins @@ -286,6 +274,18 @@ Obsoletes: %{name}-plugin-gzip <= %{version}-%{release} This package is a gzip file serving plugin for %{name}. +%package iso-plugin +Summary: Virtual ISO 9660 plugin for %{name} +License: BSD + +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: genisoimage + + +%description iso-plugin +This package is a virtual ISO 9660 (CD-ROM) plugin for %{name}. + + %if 0%{?have_libvirt} %package libvirt-plugin Summary: Libvirt plugin for %{name} @@ -507,6 +507,9 @@ Obsoletes: %{name}-plugin-xz <= %{version}-%{release} %description xz-plugin This package is a xz file serving plugin for %{name}. +This is deprecated and will be removed in %{name} 1.12. You should +start to use %{name}-xz-filter instead. + %package basic-filters Summary: Basic filters for %{name} @@ -519,49 +522,38 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} This package contains some basic filters for %{name} which have only trivial dependencies. -* nbdkit-blocksize-filter +nbdkit-blocksize-filter Adjust block size of requests sent to plugins. - Adjust block size of requests sent to plugins. +nbdkit-cache-filter Server-side cache. -* nbdkit-cache-filter +nbdkit-cow-filter Copy-on-write overlay for read-only plugins. - Server-side cache. +nbdkit-delay-filter Inject read and write delays. -* nbdkig-cow-filter +nbdkit-error-filter Inject errors. - Copy-on-write overlay for read-only plugins. +nbdkit-fua-filter Modify flush behaviour in plugins. -* nbdkit-delay-filter +nbdkit-log-filter Log all transactions to a file. - Inject read and write delays. +nbdkit-nozero-filter Adjust handling of zero requests by plugins. -* nbdkit-error-filter +nbdkit-offset-filter Serve an offset and range. - Inject errors. +nbdkit-partition-filter Serve a single partition. -* nbdkit-fua-filter +nbdkit-truncate-filter Truncate, expand, round up or round down size. - Modify flush behaviour in plugins. -* nbdkit-log-filter +%package xz-filter +Summary: XZ filter for %{name} +License: BSD - Log all transactions to a file. +Requires: %{name}-server%{?_isa} = %{version}-%{release} -* nbdkit-nozero-filter - Adjust handling of zero requests by plugins. - -* nbdkit-offset-filter - - Serve an offset and range. - -* nbdkit-partition-filter - - Serve a single partition. - -* nbdkit-truncate-filter - - Truncate, expand, round up or round down a plugin size. +%description xz-filter +This package is the xz filter for %{name}. %package devel @@ -609,10 +601,6 @@ autoreconf -i %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" - # Build for Python 3 in a separate subdirectory. Upstream does not # support srcdir!=builddir so copy the whole source. copy="$(mktemp -d)" @@ -701,6 +689,12 @@ mkdir -p $HOME/.cache/libvirt export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 +# On Fedora 28, qemu-io < 3.0.0 does not exit with an error on +# failure, causing these tests to fail. +rm tests/test-error10.sh tests/test-error100.sh +touch tests/test-error10.sh tests/test-error100.sh +chmod +x tests/test-error10.sh tests/test-error100.sh + make check -j1 || { cat tests/test-suite.log exit 1 @@ -738,6 +732,7 @@ popd %dir %{_libdir}/%{name}/filters %{_mandir}/man1/nbdkit.1* %{_mandir}/man1/nbdkit-captive.1* +%{_mandir}/man1/nbdkit-loop.1* %{_mandir}/man1/nbdkit-probing.1* %{_mandir}/man1/nbdkit-protocol.1* %{_mandir}/man1/nbdkit-service.1* @@ -749,21 +744,29 @@ popd %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-data-plugin.so %{_libdir}/%{name}/plugins/nbdkit-file-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-floppy-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-full-plugin.so %{_libdir}/%{name}/plugins/nbdkit-memory-plugin.so %{_libdir}/%{name}/plugins/nbdkit-nbd-plugin.so %{_libdir}/%{name}/plugins/nbdkit-null-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-partitioning-plugin.so %{_libdir}/%{name}/plugins/nbdkit-pattern-plugin.so %{_libdir}/%{name}/plugins/nbdkit-random-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-sh-plugin.so %{_libdir}/%{name}/plugins/nbdkit-split-plugin.so %{_libdir}/%{name}/plugins/nbdkit-streaming-plugin.so %{_libdir}/%{name}/plugins/nbdkit-zero-plugin.so %{_mandir}/man1/nbdkit-data-plugin.1* %{_mandir}/man1/nbdkit-file-plugin.1* +%{_mandir}/man1/nbdkit-floppy-plugin.1* +%{_mandir}/man1/nbdkit-full-plugin.1* %{_mandir}/man1/nbdkit-memory-plugin.1* %{_mandir}/man1/nbdkit-nbd-plugin.1* %{_mandir}/man1/nbdkit-null-plugin.1* +%{_mandir}/man1/nbdkit-partitioning-plugin.1* %{_mandir}/man1/nbdkit-pattern-plugin.1* %{_mandir}/man1/nbdkit-random-plugin.1* +%{_mandir}/man3/nbdkit-sh-plugin.3* %{_mandir}/man1/nbdkit-split-plugin.1* %{_mandir}/man1/nbdkit-streaming-plugin.1* %{_mandir}/man1/nbdkit-zero-plugin.1* @@ -807,6 +810,13 @@ popd %{_mandir}/man1/nbdkit-gzip-plugin.1* +%files iso-plugin +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-iso-plugin.so +%{_mandir}/man1/nbdkit-iso-plugin.1* + + %if 0%{?have_libvirt} %files libvirt-plugin %doc README @@ -924,6 +934,13 @@ popd %{_mandir}/man1/nbdkit-truncate-filter.1* +%files xz-filter +%doc README +%license LICENSE +%{_libdir}/%{name}/filters/nbdkit-xz-filter.so +%{_mandir}/man1/nbdkit-xz-filter.1* + + %files devel %doc OTHER_PLUGINS README TODO %license LICENSE @@ -934,6 +951,7 @@ popd %doc plugins/perl/example.pl %doc plugins/python/example.py %doc plugins/ruby/example.rb +%doc plugins/sh/example.sh %doc plugins/tcl/example.tcl %{_includedir}/nbdkit-common.h %{_includedir}/nbdkit-filter.h @@ -950,6 +968,49 @@ popd %changelog +* Wed Jan 30 2019 Richard W.M. Jones - 1.10.3-1 +- New upstream version 1.10.3. + +* Mon Jan 28 2019 Richard W.M. Jones - 1.10.2-1 +- New upstream version 1.10.2. + +* Sat Jan 26 2019 Richard W.M. Jones - 1.10.1-1 +- New upstream version 1.10.1. + +* Fri Jan 18 2019 Richard W.M. Jones - 1.10.0-1 +- New upstream version 1.10.0. +- Add: nbdkit-full-plugin. +- Add: nbdkit-xz-filter. +- Add: nbdkit-loop(1) man page. +- Remove misguided LDFLAGS hack which removed server hardening. + https://bugzilla.redhat.com/show_bug.cgi?id=1624149#c6 + +* Mon Jan 7 2019 Richard W.M. Jones - 1.8.3-1 +- New upstream version 1.8.3. + +* Tue Dec 04 2018 Richard W.M. Jones - 1.8.2-1 +- New upstream version 1.8.2. +- Fix low priority security issue with TLS: + https://www.redhat.com/archives/libguestfs/2018-December/msg00047.html + +* Sun Nov 18 2018 Richard W.M. Jones - 1.8.1-1 +- New upstream version 1.8.1. + +* Mon Nov 12 2018 Richard W.M. Jones - 1.8.0-1 +- Rebase to new stable version 1.8.0. + +* Tue Nov 06 2018 Richard W.M. Jones - 1.6.3-2 +- nbdkit metapackage should depend on versioned -server subpackage etc. + +* Tue Nov 06 2018 Richard W.M. Jones - 1.6.3-1 +- New upstream version 1.6.3. + +* Tue Sep 18 2018 Richard W.M. Jones - 1.6.2-1 +- New upstream version 1.6.2. + +* Sat Sep 08 2018 Richard W.M. Jones - 1.6.1-1 +- New upstream version 1.6.1. + * Tue Aug 28 2018 Richard W.M. Jones - 1.6.0-1 - New upstream version 1.6.0, stable branch. diff --git a/sources b/sources index 5e391a4..f22feaa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.6.0.tar.gz) = d395e1b62a370b6ba66768b866534c4341210b77e47ff4b120b00722bda63e2c317573f9d0a1a85ee8c3dd6f7d1f0726bcacdebf3bf34f36272eea4baa047916 -SHA512 (nbdkit-1.6.0.tar.gz.sig) = 89b14d8a70752642268fdbd06236d603b2716a930739d5d1e037f195153ab8d70b38c379c1bffeec65f78d391c2204a6f171920b74684fb02fd3c5996c1040a4 +SHA512 (nbdkit-1.10.3.tar.gz) = 8faed51b89c020ed480eb8c1e16ac628471cd62638a2a0ac993bf16f286ad9938532bf73c2d780a7dd0f13cabe38c3ccd2e2647ef88b7163287e02ceb1cc1b41 +SHA512 (nbdkit-1.10.3.tar.gz.sig) = fb4929454b43fb08367972f9a46892e36300f38dc3e02597b2f5e32c91ef626d2f5a4999a8c489077e78e8cdfa73c0ee95ffa3fa47c8689f5838ca97df8b7d59