diff --git a/libguestfs.keyring b/libguestfs.keyring new file mode 100644 index 0000000..bb3eb55 Binary files /dev/null and b/libguestfs.keyring differ diff --git a/nbdkit-1.6.2.tar.gz b/nbdkit-1.6.2.tar.gz new file mode 100644 index 0000000..d0be986 Binary files /dev/null and b/nbdkit-1.6.2.tar.gz differ diff --git a/nbdkit-1.6.2.tar.gz.sig b/nbdkit-1.6.2.tar.gz.sig new file mode 100644 index 0000000..3da86f4 --- /dev/null +++ b/nbdkit-1.6.2.tar.gz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJboX5mAAoJEJFzj3Pht2igNiUQAJXj6AF5IaqNTVJYEe/I5Y31 +vXAHTRT9ni1FDdF+xLlBa5F0Ii6ESE1SHUis5M55cvK37M0G2VhdBhqLmuMYxxfp +QTO5Khz82Of5Jj1Commdg9/yXchlXVNG/GeYaV1OcDfW+QlgQMCPApguKhF0PNf7 +oaL0LhrYLXri2geR7GC/7BGNp9QuYFLhQjqS7+0x1j9kPlrzalE26o0TEO+zjXmS +TP7H5vZh7aguD9+hrbZP1wVba0UaG4bTO9+UxV5Doh+7vDZEmZwjpfI3WTZjs12S +VRuo5dMscGB91/6Tq03zPqxBBxCHXClndsdBOa8W9N4U633y9Z2uIXGmFzLeIroT +e3ZwSBktYXyMoA9wtJ0NwL21U2gqxSJEtt0nchaseiJpv7wTw+vk1Gy4CSx2Tr5k +Yzjd3UsnJog0kX37mkMxXs7ciFo9cSGWZsLoanXGWs8eXhWZNUE1mJHQFvop9GGG +RRpS8yVEIOkinXe6w9O3SXBa0aR30CMzjvpHWGtaOQY/iJ/byNyv8NGUGA5gmHFQ +7CpOSM67a9ZPL91iKWNb80emBY0aLiSlVYFkmyWsJ72Bxr02q6zg7BSN3fXgUpkU +Myr1ZQWLmIibClm5gwpFGZQAM8nEePiBHdAk3pSqs+bVoZhC3F8BmwKpRn/VkzVp +kITZyBu8RqN4mops8+F6 +=1npC +-----END PGP SIGNATURE----- diff --git a/nbdkit.spec b/nbdkit.spec new file mode 100644 index 0000000..051af5a --- /dev/null +++ b/nbdkit.spec @@ -0,0 +1,628 @@ +%global _hardened_build 1 +%ifarch aarch64 x86_64 +%global have_libguestfs 1 +%endif +%global complete_test_arches x86_64 +%if 0%{?rhel} != 7 +%global have_python3 1 +%endif + +%ifnarch riscv64 +%global have_libvirt 1 +%endif + +%global verify_tarball_signature 1 +%global patches_touch_autotools %{nil} + +Name: nbdkit +Version: 1.6.2 +Release: 2 +Summary: NBD server +License: BSD +URL: https://github.com/libguestfs/nbdkit +Source0: http://libguestfs.org/download/nbdkit/1.6-stable/%{name}-%{version}.tar.gz +%if 0%{verify_tarball_signature} +Source1: http://libguestfs.org/download/nbdkit/1.6-stable/%{name}-%{version}.tar.gz.sig +Source2: libguestfs.keyring +%endif +%if 0%{patches_touch_autotools} +BuildRequires: autoconf, automake, libtool +%endif +%if 0%{?rhel} == 7 +ExclusiveArch: x86_64 +%endif +%ifnarch %{complete_test_arches} +BuildRequires: autoconf, automake, libtool +%endif +BuildRequires: /usr/bin/pod2man gnutls-devel libselinux-devel +%if 0%{?have_libguestfs} +BuildRequires: libguestfs-devel +%endif +%if 0%{?have_libvirt} +BuildRequires: libvirt-devel +%endif +BuildRequires: xz-devel zlib-devel libcurl-devel e2fsprogs-devel +BuildRequires: bash-completion perl-devel perl(ExtUtils::Embed) python2-devel +%if 0%{?have_python3} +BuildRequires: python3-devel +%endif +BuildRequires: ocaml >= 4.02.2 ruby-devel tcl-devel lua-devel +%if 0%{verify_tarball_signature} +BuildRequires: gnupg2 +%endif +BuildRequires: /usr/bin/certtool /usr/bin/qemu-img +BuildRequires: /usr/bin/socat /usr/sbin/ss +Requires: nbdkit-server nbdkit-basic-plugins nbdkit-basic-filters + +%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. +* Liberal license (BSD) allows nbdkit to be linked to proprietary +braries or included in proprietary code. +In Fedora, '%{name}' is a meta-package which pulls in the core server +and a useful subset of plugins and filters. +If you want just the server, install '%{name}-server'. +To develop plugins, install the '%{name}-devel' package and start by +reading the nbdkit(1) and nbdkit-plugin(3) manual pages. + + +%package server +Summary: The %{name} server +License: BSD + +%description server +This package contains the %{name} server with no plugins or filters. + + +%package basic-plugins +Summary: Basic plugins for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-plugin-file < 1.1.19-1 +Obsoletes: %{name}-plugin-nbd < 1.1.19-1 +Obsoletes: %{name}-plugin-streaming < 1.1.19-1 + +%description basic-plugins +This package contains some basic plugins for %{name} which have only +trivial dependencies. +* nbdkit-data-plugin + Serve small files directly from the command line. +* nbdkit-file-plugin + A file serving plugin. +* nbdkit-memory-plugin + A virtual memory plugin. +* nbdkit-nbd-plugin + An NBD forwarding plugin. + 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-null-plugin + A null (bitbucket) plugin. +* nbdkit-pattern-plugin + Fixed test pattern. +* 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. + + +%package plugins +Summary: Plugins set +License: BSD +Provides: %{name}-example-plugins +Obsoletes: %{name}-example-plugins %{name}-plugin-examples < 1.1.19-1 +Provides: %{name}-curl-plugin %{name}-plugin-curl = %{version}-%{release} +Obsoletes: %{name}-curl-plugin %{name}-plugin-curl <= %{version}-%{release} +Provides: %{name}-ext2-plugin %{name}-plugin-ext2 = %{version}-%{release} +Obsoletes: %{name}-ext2-plugin %{name}-plugin-ext2 <= %{version}-%{release} +Provides: %{name}-gzip-plugin %{name}-plugin-gzip = %{version}-%{release} +Obsoletes: %{name}-gzip-plugin %{name}-plugin-gzip <= %{version}-%{release} +Provides: %{name}-lua-plugin %{name}-plugin-lua = %{version}-%{release} +Obsoletes: %{name}-lua-plugin %{name}-plugin-lua <= %{version}-%{release} +Provides: %{name}-ruby-plugin %{name}-plugin-ruby = %{version}-%{release} +Obsoletes: %{name}-ruby-plugin %{name}-plugin-ruby <= %{version}-%{release} +Provides: %{name}-tar-plugin %{name}-plugin-tar = %{version}-%{release} +Obsoletes: %{name}-tar-plugin %{name}-plugin-tar <= %{version}-%{release} +Provides: %{name}-tcl-plugin %{name}-plugin-tcl = %{version}-%{release} +Obsoletes: %{name}-tcl-plugin %{name}-plugin-tcl <= %{version}-%{release} +Provides: %{name}-xz-plugin %{name}-plugin-xz = %{version}-%{release} +Obsoletes: %{name}-xz-plugin %{name}-plugin-xz <= %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-perl-plugin + +%description plugins +This package contains a set of plugins for %{name}. + +%if 0%{?have_libguestfs} +%package guestfs-plugin +Summary: libguestfs plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-guestfs = %{version}-%{release} +Obsoletes: %{name}-plugin-guestfs <= %{version}-%{release} + +%description guestfs-plugin +This package is a libguestfs plugin for %{name}. +%endif + + +%if 0%{?have_libvirt} +%package libvirt-plugin +Summary: Libvirt plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-libvirt = %{version}-%{release} +Obsoletes: %{name}-plugin-libvirt <= %{version}-%{release} + +%description libvirt-plugin +This package is a libvirt plugin for %{name}. It lets you access +libvirt guest disks readonly. It is implemented using the libvirt +virDomainBlockPeek API. +%endif + + +%package ocaml-plugin +Summary: OCaml plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-ocaml = %{version}-%{release} +Obsoletes: %{name}-plugin-ocaml <= %{version}-%{release} + +%description ocaml-plugin +This package lets you run OCaml plugins for %{name}. +To compile OCaml plugins you will also need to install +%{name}-ocaml-plugin-devel. + + +%package ocaml-plugin-devel +Summary: OCaml development environment for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-ocaml-plugin%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-ocaml-devel = %{version}-%{release} +Obsoletes: %{name}-plugin-ocaml-devel <= %{version}-%{release} + +%description ocaml-plugin-devel +This package lets you write OCaml plugins for %{name}. + + +%package perl-plugin +Summary: Perl plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-perl = %{version}-%{release} +Obsoletes: %{name}-plugin-perl <= %{version}-%{release} + +%description perl-plugin +This package lets you write Perl plugins for %{name}. + + +%package python-plugin-common +Summary: Python 2 and 3 plugin common files for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-python-common = %{version}-%{release} +Obsoletes: %{name}-plugin-python-common <= %{version}-%{release} + +%description python-plugin-common +This package contains common files shared between Python 2 +and Python 3 %{name} plugins. +You should not install this package directly. Instead install +either %{name}-python2-plugin or %{name}-python3-plugin. + + +%package python2-plugin +Summary: Python 2 plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-python-plugin-common = %{version}-%{release} +Provides: %{name}-plugin-python = %{version}-%{release} +Provides: %{name}-plugin-python2 = %{version}-%{release} +Obsoletes: %{name}-plugin-python <= %{version}-%{release} +Obsoletes: %{name}-plugin-python2 <= %{version}-%{release} + +%description python2-plugin +This package lets you write Python 2 plugins for %{name}. + + +%if 0%{?have_python3} +%package python3-plugin +Summary: Python 3 plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-python-plugin-common = %{version}-%{release} +Provides: %{name}-plugin-python3 = %{version}-%{release} +Obsoletes: %{name}-plugin-python3 <= %{version}-%{release} + +%description python3-plugin +This package lets you write Python 3 plugins for %{name}. +%endif + + +%ifarch x86_64 +%package vddk-plugin +Summary: VMware VDDK plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Provides: %{name}-plugin-vddk = %{version}-%{release} +Obsoletes: %{name}-plugin-vddk <= %{version}-%{release} + +%description vddk-plugin +This package is a plugin for %{name} which connects to +VMware VDDK for accessing VMware disks and servers. +%endif + + +%package basic-filters +Summary: Basic filters for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} + + +%description basic-filters +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. +* nbdkig-cow-filter + Copy-on-write overlay for read-only plugins. +* nbdkit-delay-filter + Inject read and write delays. +* nbdkit-error-filter + Inject errors. +* nbdkit-fua-filter + Modify flush behaviour in plugins. +* nbdkit-log-filter + Log all transactions to a file. +* 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. + +%package devel +Summary: Development files and documentation for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: pkgconfig + + +%description devel +This package contains development files and documentation +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}-server = %{version}-%{release} + + +%description bash-completion +Install this package if you want intelligent bash tab-completion +for %{name}. + +%package help +Summary: Documents for %{name} +Buildarch: noarch +Requires: man info + +%description help +Man pages and other related documents for %{name} + + +%prep +%if 0%{verify_tarball_signature} +tmphome="$(mktemp -d)" +gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} +%endif +%autosetup -p1 +%if 0%{patches_touch_autotools} +autoreconf -i +%endif + +%ifnarch %{complete_test_arches} +sed -i -e '/^if HAVE_LIBGUESTFS/,/^endif HAVE_LIBGUESTFS/d' tests/Makefile.am +sed -i -e '/^if HAVE_GUESTFISH/,/^endif HAVE_GUESTFISH/d' tests/Makefile.am +autoreconf -i +%endif + + +%build +export LDFLAGS="$LDFLAGS -Wl,-z,now" + +copy="$(mktemp -d)" +cp -a . "$copy" +mv "$copy" python3 + +%configure \ + --disable-static \ +%if 0%{?have_libguestfs} + --with-libguestfs \ +%else + --without-libguestfs \ +%endif +%if 0%{?have_libvirt} + --with-libvirt \ +%else + --without-libvirt \ +%endif + --with-tls-priority=@NBDKIT,SYSTEM +make %{?_smp_mflags} + +%if 0%{?have_python3} +pushd python3 +export PYTHON=%{_bindir}/python3 +%configure \ + --disable-static \ + --disable-lua \ + --disable-perl \ + --disable-ocaml \ + --disable-ruby \ + --disable-tcl \ + --without-curl \ + --without-ext2 \ + --without-libvirt \ + --without-liblzma \ + --without-zlib +grep '^PYTHON_VERSION = 3' Makefile +make %{?_smp_mflags} +unset PYTHON +popd +%endif + + +%install +%if 0%{?have_python3} +pushd python3 +%make_install +popd + +pushd $RPM_BUILD_ROOT%{_libdir}/nbdkit/plugins/ +mv nbdkit-python-plugin.so nbdkit-python3-plugin.so +popd +%endif + +%make_install + +pushd $RPM_BUILD_ROOT%{_libdir}/nbdkit/plugins/ +mv nbdkit-python-plugin.so nbdkit-python2-plugin.so +ln -s nbdkit-python2-plugin.so nbdkit-python-plugin.so +popd + +find $RPM_BUILD_ROOT -name '*.la' -delete + +%ifnarch %{ix86} x86_64 +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-vddk-plugin.so +rm $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-vddk-plugin.1* +%endif + + +%check +mkdir -p $HOME/.cache/libvirt + +export LIBGUESTFS_DEBUG=1 +export LIBGUESTFS_TRACE=1 + +make check -j1 || { + cat tests/test-suite.log + exit 1 + } + +%ifarch %{complete_test_arches} +%if 0%{?have_libguestfs} +%if 0%{?have_python3} +pushd python3 +make check -j1 -C tests TESTS=test-python || { + cat tests/test-suite.log + exit 1 + } +popd +%endif +%endif +%endif + +%ldconfig_scriptlets plugin-ocaml + +%files + +%files server +%doc README +%license LICENSE +%{_sbindir}/nbdkit +%dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/plugins +%dir %{_libdir}/%{name}/filters + +%files basic-plugins +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-data-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-file-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-pattern-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 + + +%files plugins +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-example*-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-example4-plugin +%{_libdir}/%{name}/plugins/nbdkit-curl-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-ext2-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-gzip-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-lua-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-ruby-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-tar-plugin +%{_libdir}/%{name}/plugins/nbdkit-tcl-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-xz-plugin.so + + +%if 0%{?have_libguestfs} +%files guestfs-plugin +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-guestfs-plugin.so +%{_mandir}/man1/nbdkit-guestfs-plugin.1* +%endif + + +%if 0%{?have_libvirt} +%files libvirt-plugin +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-libvirt-plugin.so +%{_mandir}/man1/nbdkit-libvirt-plugin.1* +%endif + + +%files ocaml-plugin +%doc README +%license LICENSE +%{_libdir}/libnbdkitocaml.so.* + +%files ocaml-plugin-devel +%{_libdir}/libnbdkitocaml.so +%{_libdir}/ocaml/NBDKit.* + + +%files perl-plugin +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-perl-plugin.so + + +%files python-plugin-common +%doc README +%license LICENSE + + +%files python2-plugin +%{_libdir}/%{name}/plugins/nbdkit-python-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-python2-plugin.so + + +%if 0%{?have_python3} +%files python3-plugin +%{_libdir}/%{name}/plugins/nbdkit-python3-plugin.so +%endif + + +%ifarch x86_64 +%files vddk-plugin +%doc README +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-vddk-plugin.so +%{_mandir}/man1/nbdkit-vddk-plugin.1* +%endif + + +%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-error-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 +%{_libdir}/%{name}/filters/nbdkit-truncate-filter.so + + +%files devel +%doc OTHER_PLUGINS README TODO +%license LICENSE +%doc plugins/example*/*.c +%doc plugins/example4/nbdkit-example4-plugin +%doc plugins/lua/example.lua +%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 +%{_libdir}/pkgconfig/nbdkit.pc + + +%files bash-completion +%license LICENSE +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/nbdkit + + +%files help +%{_mandir}/man1/nbdkit.1* +%{_mandir}/man1/nbdkit-captive.1* +%{_mandir}/man1/nbdkit-probing.1* +%{_mandir}/man1/nbdkit-protocol.1* +%{_mandir}/man1/nbdkit-service.1* +%{_mandir}/man1/nbdkit-tls.1* +%{_mandir}/man1/nbdkit-data-plugin.1* +%{_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-pattern-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* +%{_mandir}/man1/nbdkit-example*-plugin.1* +%{_mandir}/man1/nbdkit-curl-plugin.1* +%{_mandir}/man1/nbdkit-ext2-plugin.1* +%{_mandir}/man1/nbdkit-gzip-plugin.1* +%{_mandir}/man3/nbdkit-lua-plugin.3* +%{_mandir}/man3/nbdkit-perl-plugin.3* +%{_mandir}/man3/nbdkit-python-plugin.3* +%{_mandir}/man3/nbdkit-ruby-plugin.3* +%{_mandir}/man1/nbdkit-tar-plugin.1* +%{_mandir}/man3/nbdkit-tcl-plugin.3* +%{_mandir}/man1/nbdkit-xz-plugin.1* +%{_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-error-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* +%{_mandir}/man1/nbdkit-truncate-filter.1* +%{_mandir}/man3/nbdkit-filter.3* +%{_mandir}/man3/nbdkit-plugin.3* +%{_mandir}/man3/nbdkit-ocaml-plugin.3* + +%changelog +* Thu Dec 12 2019 openEuler Buildteam - 1.6.2-2 +- Package init