From 442c62b8e5dec190d518c15fb8beba97e5bb9285 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 6 Jul 2018 12:47:26 +0100 Subject: [PATCH] New upstream version 1.4.0. Add support for Tcl plugins. New plugins: ext2, random, tcl, zero. New filters: blocksize, fua, log, nozero. New bash tab completion subpackage. --- nbdkit.spec | 127 +++++++++++++++++++++++++++++++++++++++++++++------- sources | 4 +- 2 files changed, 112 insertions(+), 19 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0f28ea9..23a0fd8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -20,30 +20,21 @@ %global verify_tarball_signature 1 Name: nbdkit -Version: 1.2.4 -Release: 3%{?dist} +Version: 1.4.0 +Release: 1%{?dist} Summary: NBD server License: BSD URL: https://github.com/libguestfs/nbdkit -Source0: http://libguestfs.org/download/nbdkit/1.2-stable/%{name}-%{version}.tar.gz +Source0: http://libguestfs.org/download/nbdkit/1.4-stable/%{name}-%{version}.tar.gz %if 0%{verify_tarball_signature} -Source1: http://libguestfs.org/download/nbdkit/1.2-stable/%{name}-%{version}.tar.gz.sig +Source1: http://libguestfs.org/download/nbdkit/1.4-stable/%{name}-%{version}.tar.gz.sig # Keyring used to verify tarball signature. Source2: libguestfs.keyring %endif -# Upstream patches since 1.2.4 was released. These touch -# tests/Makefile.am so we need autotools temporarily. -Patch1: 0001-tests-If-guestfish-isn-t-available-disk-is-not-creat.patch -Patch2: 0002-docs-Fix-separators-in-list-of-plugins.patch -Patch3: 0003-docs-Suggest-using-PKG_CHECK_VAR-to-substitute-plugi.patch -Patch4: 0004-perl-Make-example4-and-tar-plugins-conditional-on-en.patch -Patch5: 0005-plugins-nbd-Free-h-handle-along-error-paths.patch -Patch6: 0006-crypto-Fix-error-path-when-sending-to-gnutls-socket.patch -Patch7: 0007-src-main-Add-missing-break-affecting-t-threads-param.patch -%global patches_touch_autotools 1 +%global patches_touch_autotools 0 %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool %endif @@ -69,6 +60,8 @@ BuildRequires: libvirt-devel BuildRequires: xz-devel BuildRequires: zlib-devel BuildRequires: libcurl-devel +BuildRequires: e2fsprogs-devel +BuildRequires: bash-completion BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) BuildRequires: python2-devel @@ -81,8 +74,9 @@ BuildRequires: python3-devel BuildRequires: ocaml >= 4.02.2 %endif BuildRequires: ruby-devel +BuildRequires: tcl-devel %if 0%{verify_tarball_signature} -BuildRequires: gnupg2 +BuildRequires: gnupg2 %endif # Only for running the test suite: @@ -152,6 +146,10 @@ trivial dependencies. A null (bitbucket) plugin. +* nbdkit-random-plugin + + Random content plugin for testing. + * nbdkit-split-plugin Concatenate one or more files into a single virtual disk. @@ -160,6 +158,10 @@ trivial dependencies. A streaming file serving plugin. +* nbdkit-zero-plugin + + Zero-length plugin for testing. + %package example-plugins Summary: Example plugins for %{name} @@ -189,6 +191,18 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package contains cURL (HTTP/FTP/SSH) support for %{name}. +%package plugin-ext2 +Summary: ext2, ext3 and ext4 filesystem support for %{name} +License: BSD + +Requires: %{name}%{?_isa} = %{version}-%{release} + + +%description plugin-ext2 +This package contains ext2, ext3 and ext4 filesystem support for +%{name}. + + %if 0%{?have_libguestfs} %package plugin-guestfs Summary: libguestfs plugin for %{name} @@ -331,6 +345,17 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package is a tar archive plugin for %{name}. +%package plugin-tcl +Summary: Tcl plugin for %{name} +License: BSD + +Requires: %{name}%{?_isa} = %{version}-%{release} + + +%description plugin-tcl +This package lets you write Tcl plugins for %{name}. + + %package plugin-xz Summary: XZ file serving plugin for %{name} License: BSD @@ -353,6 +378,10 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package contains some basic filters for %{name} which have only trivial dependencies. +* nbdkit-blocksize-filter + + Adjust block size of requests sent to plugins. + * nbdkit-cache-filter Server-side cache. @@ -365,10 +394,22 @@ trivial dependencies. Inject read and write delays. +* nbdkit-fua-filter + + Modify flush behaviour in plugins. + +* nbdkit-log-filter + + Log all transactions to a file. + * nbdkit-offset-filter Serve an offset and range. +* nbdkit-nozero-filter + + Adjust handling of zero requests by plugins. + * nbdkit-partition-filter Serve a single partition. @@ -388,6 +429,18 @@ for %{name}. Install this package if you want to develop plugins for %{name}. +%package bash-completion +Summary: Bash tab-completion for %{name} +BuildArch: noarch +Requires: bash-completion >= 2.0 +Requires: %{name} = %{version}-%{release} + + +%description bash-completion +Install this package if you want intelligent bash tab-completion +for %{name}. + + %prep %if 0%{verify_tarball_signature} tmphome="$(mktemp -d)" @@ -423,7 +476,7 @@ make %{?_smp_mflags} %if 0%{?have_python3} pushd python3 export PYTHON=%{_bindir}/python3 -%configure --disable-static --disable-perl --disable-ocaml --disable-ruby +%configure --disable-static --disable-perl --disable-ocaml --disable-ruby --disable-tcl # Verify that it picked the correct version of Python # to avoid RHBZ#1404631 happening again silently. grep '^PYTHON_VERSION = 3' Makefile @@ -478,7 +531,7 @@ make check -j1 || { %if 0%{?have_libguestfs} %if 0%{?have_python3} pushd python3 -make check -j1 TESTS=test-python || { +make check -j1 -C tests TESTS=test-python || { cat tests/test-suite.log exit 1 } @@ -510,14 +563,18 @@ popd %{_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-random-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-file-plugin.1* %{_mandir}/man1/nbdkit-memory-plugin.1* %{_mandir}/man1/nbdkit-nbd-plugin.1* %{_mandir}/man1/nbdkit-null-plugin.1* +%{_mandir}/man1/nbdkit-random-plugin.1* %{_mandir}/man1/nbdkit-split-plugin.1* %{_mandir}/man1/nbdkit-streaming-plugin.1* +%{_mandir}/man1/nbdkit-zero-plugin.1* %files example-plugins @@ -535,6 +592,13 @@ popd %{_mandir}/man1/nbdkit-curl-plugin.1* +%files plugin-ext2 +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-ext2-plugin.so +%{_mandir}/man1/nbdkit-ext2-plugin.1* + + %if 0%{?have_libguestfs} %files plugin-guestfs %doc README @@ -609,6 +673,13 @@ popd %{_mandir}/man1/nbdkit-tar-plugin.1* +%files plugin-tcl +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-tcl-plugin.so +%{_mandir}/man3/nbdkit-tcl-plugin.3* + + %files plugin-xz %doc README %license LICENSE @@ -619,14 +690,22 @@ popd %files basic-filters %doc README %license LICENSE +%{_libdir}/%{name}/filters/nbdkit-blocksize-filter.so %{_libdir}/%{name}/filters/nbdkit-cache-filter.so %{_libdir}/%{name}/filters/nbdkit-cow-filter.so %{_libdir}/%{name}/filters/nbdkit-delay-filter.so +%{_libdir}/%{name}/filters/nbdkit-fua-filter.so +%{_libdir}/%{name}/filters/nbdkit-log-filter.so +%{_libdir}/%{name}/filters/nbdkit-nozero-filter.so %{_libdir}/%{name}/filters/nbdkit-offset-filter.so %{_libdir}/%{name}/filters/nbdkit-partition-filter.so +%{_mandir}/man1/nbdkit-blocksize-filter.1* %{_mandir}/man1/nbdkit-cache-filter.1* %{_mandir}/man1/nbdkit-cow-filter.1* %{_mandir}/man1/nbdkit-delay-filter.1* +%{_mandir}/man1/nbdkit-fua-filter.1* +%{_mandir}/man1/nbdkit-log-filter.1* +%{_mandir}/man1/nbdkit-nozero-filter.1* %{_mandir}/man1/nbdkit-offset-filter.1* %{_mandir}/man1/nbdkit-partition-filter.1* @@ -640,6 +719,7 @@ popd %doc plugins/perl/example.pl %doc plugins/python/example.py %doc plugins/ruby/example.rb +%doc plugins/tcl/example.tcl %{_includedir}/nbdkit-common.h %{_includedir}/nbdkit-filter.h %{_includedir}/nbdkit-plugin.h @@ -648,7 +728,20 @@ popd %{_libdir}/pkgconfig/nbdkit.pc +%files bash-completion +%license LICENSE +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/nbdkit + + %changelog +* Fri Jul 6 2018 Richard W.M. Jones - 1.4.0-1 +- New upstream version 1.4.0. +- Add support for Tcl plugins. +- New plugins: ext2, random, tcl, zero. +- New filters: blocksize, fua, log, nozero. +- New bash tab completion subpackage. + * Sun Jul 1 2018 Richard W.M. Jones - 1.2.4-3 - Add all upstream patches since 1.2.4 was released. diff --git a/sources b/sources index 454e016..eda5482 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.2.4.tar.gz) = 5f5f74e9223ed05cb0e9f36f7adea6980192bd23e3b900aaf1d045f135855e8fbbb7ff33df88a87a5b857d26635a4924b13c263cfac28b6206e26802731cab81 -SHA512 (nbdkit-1.2.4.tar.gz.sig) = bfe4d8fb913a08228ebaa44ca5966ef37f4919dff9b6049a5eeada78984745d80eafeac9751f5f0784d75c62e4d8a03eeddf803fcac3406542fea50c4d59048f +SHA512 (nbdkit-1.4.0.tar.gz) = c9503f074ef767c0d75d9869d2374763494b13a9ce27a0b9d48fe83b6975bd4e81662d967fd20e2212a05621c7899cc40c4056985bb82c1efb9b50fb94b2d168 +SHA512 (nbdkit-1.4.0.tar.gz.sig) = bcd2a7d6e2fa45d93d3b2eec9ab15c52ed1ef1a3aaa5dd7beb1ca3ad52d9621826457ef1513c6166d6173282da42a04b73a1384d32ce0c66398ecac90d39b98a