%global _hardened_build 1 %ifarch aarch64 %{arm} %{ix86} x86_64 ppc %{power64} %global have_libguestfs 1 %endif # Architectures where the complete test suite must pass. # # On all other architectures, a simpler test suite must pass. This # omits any tests that run full qemu, since running qemu under TCG is # often broken on non-x86_64 arches. %global complete_test_arches x86_64 # Currently everything has Python 2. RHEL 7 doesn't have Python 3. %if 0%{?rhel} != 7 %global have_python3 1 %endif # Disable libvirt on riscv64 for now. %ifnarch riscv64 %global have_libvirt 1 %endif # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. %global patches_touch_autotools %{nil} # The source directory. %global source_directory 1.7-development Name: nbdkit Version: 1.7.10 Release: 1%{?dist} Summary: NBD server License: BSD URL: https://github.com/libguestfs/nbdkit Source0: http://libguestfs.org/download/nbdkit/%{source_directory}/%{name}-%{version}.tar.gz %if 0%{verify_tarball_signature} Source1: http://libguestfs.org/download/nbdkit/%{source_directory}/%{name}-%{version}.tar.gz.sig # Keyring used to verify tarball signature. Source2: libguestfs.keyring %endif %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool %endif %if 0%{?rhel} == 7 # On RHEL 7, nothing in the virt stack is shipped on aarch64 and # libguestfs was not shipped on POWER (fixed in 7.5). We could in # theory make all of this work by having lots more conditionals, but # for now limit this package to x86_64 on RHEL. ExclusiveArch: x86_64 %endif %ifnarch %{complete_test_arches} BuildRequires: autoconf, automake, libtool %endif BuildRequires: /usr/bin/pod2man BuildRequires: gnutls-devel BuildRequires: libselinux-devel %if 0%{?have_libguestfs} BuildRequires: libguestfs-devel %endif %if 0%{?have_libvirt} BuildRequires: libvirt-devel %endif BuildRequires: xz-devel BuildRequires: zlib-devel BuildRequires: libcurl-devel BuildRequires: e2fsprogs-devel BuildRequires: genisoimage BuildRequires: bash-completion BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) BuildRequires: python2-devel %if 0%{?fedora} >= 29 BuildRequires: python-unversioned-command %endif %if 0%{?have_python3} BuildRequires: python3-devel %endif %ifarch %{ocaml_native_compiler} # Requires OCaml 4.02.2 which contains fix for # http://caml.inria.fr/mantis/view.php?id=6693 BuildRequires: ocaml >= 4.02.2 %endif BuildRequires: ruby-devel BuildRequires: tcl-devel BuildRequires: lua-devel %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif # Only for running the test suite: BuildRequires: /usr/bin/certtool BuildRequires: /usr/bin/qemu-img BuildRequires: /usr/bin/socat BuildRequires: /usr/sbin/ss # nbdkit is a metapackage pulling the server and a useful subset # of the plugins and 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. 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 libraries 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} # For upgrade path, remove these in Fedora 30. 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-floppy-plugin Create a virtual floppy disk from a directory. * 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-partitioning-plugin Create virtual disks from partitions. * nbdkit-random-plugin Random content plugin for testing. * nbdkit-sh-plugin Write plugins as shell scripts or executables. * 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 example-plugins Summary: Example plugins for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 30. Obsoletes: %{name}-plugin-examples < 1.1.19-1 %description example-plugins This package contains example plugins for %{name}. # The plugins below have non-trivial dependencies are so are # packaged separately. %package curl-plugin Summary: HTTP/FTP/SSH (cURL) plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-curl = %{version}-%{release} Obsoletes: %{name}-plugin-curl <= %{version}-%{release} %description curl-plugin This package contains cURL (HTTP/FTP/SSH) support for %{name}. %package ext2-plugin Summary: ext2, ext3 and ext4 filesystem support for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-ext2 = %{version}-%{release} Obsoletes: %{name}-plugin-ext2 <= %{version}-%{release} %description ext2-plugin This package contains ext2, ext3 and ext4 filesystem support for %{name}. %if 0%{?have_libguestfs} %package guestfs-plugin Summary: libguestfs plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-guestfs = %{version}-%{release} Obsoletes: %{name}-plugin-guestfs <= %{version}-%{release} %description guestfs-plugin This package is a libguestfs plugin for %{name}. %endif %package gzip-plugin Summary: GZip file serving plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-gzip = %{version}-%{release} Obsoletes: %{name}-plugin-gzip <= %{version}-%{release} %description gzip-plugin 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} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. 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 lua-plugin Summary: Lua plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-lua = %{version}-%{release} Obsoletes: %{name}-plugin-lua <= %{version}-%{release} %description lua-plugin This package lets you write Lua plugins for %{name}. %ifarch %{ocaml_native_compiler} %package ocaml-plugin Summary: OCaml plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. 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} # For upgrade path, remove this in Fedora 31. 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}. %endif %package perl-plugin Summary: Perl plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. 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} # For upgrade path, remove this in Fedora 31. 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} # For upgrade path, remove this in Fedora 30. Provides: %{name}-plugin-python = %{version}-%{release} Obsoletes: %{name}-plugin-python <= %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-python2 = %{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} # For upgrade path, remove this in Fedora 31. 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 %package ruby-plugin Summary: Ruby plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-ruby = %{version}-%{release} Obsoletes: %{name}-plugin-ruby <= %{version}-%{release} %description ruby-plugin This package lets you write Ruby plugins for %{name}. %package tar-plugin Summary: Tar archive plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # XXX This dependency should be autogenerated. Requires: %{name}-perl-plugin # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-tar = %{version}-%{release} Obsoletes: %{name}-plugin-tar <= %{version}-%{release} %description tar-plugin This package is a tar archive plugin for %{name}. %package tcl-plugin Summary: Tcl plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-tcl = %{version}-%{release} Obsoletes: %{name}-plugin-tcl <= %{version}-%{release} %description tcl-plugin This package lets you write Tcl plugins for %{name}. %ifarch %{ix86} x86_64 %package vddk-plugin Summary: VMware VDDK plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. 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 xz-plugin Summary: XZ file serving plugin for %{name} License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For upgrade path, remove this in Fedora 31. Provides: %{name}-plugin-xz = %{version}-%{release} Obsoletes: %{name}-plugin-xz <= %{version}-%{release} %description xz-plugin This package is a xz file serving plugin for %{name}. %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}. %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} # Simplify the test suite so it doesn't require qemu. 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 # 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)" 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 # Verify that it picked the correct version of Python # to avoid RHBZ#1404631 happening again silently. grep '^PYTHON_VERSION = 3' Makefile make %{?_smp_mflags} unset PYTHON popd %endif %install # Install for Python 2 and Python 3 separately. # We do the Python 3 install first since that build is # incomplete. %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 # For backwards compatibility, "the" python plugin is Python 2. # Probably we will change this in future if Fedora switches # exclusively to Python 3. ln -s nbdkit-python2-plugin.so nbdkit-python-plugin.so popd # Delete libtool crap. find $RPM_BUILD_ROOT -name '*.la' -delete # Delete the VDDK plugin on !x86 architectures since it is not # applicable there. %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 # Workaround for broken libvirt (RHBZ#1138604). mkdir -p $HOME/.cache/libvirt # Make sure we can see the debug messages (RHBZ#1230160). 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 %ifarch %{ocaml_native_compiler} %ldconfig_scriptlets plugin-ocaml %endif %files # metapackage so empty %files server %doc README %license LICENSE %{_sbindir}/nbdkit %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugins %dir %{_libdir}/%{name}/filters %{_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* %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-floppy-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-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* %files example-plugins %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-example*-plugin.so %{_libdir}/%{name}/plugins/nbdkit-example4-plugin %{_mandir}/man1/nbdkit-example*-plugin.1* %files curl-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-curl-plugin.so %{_mandir}/man1/nbdkit-curl-plugin.1* %files ext2-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-ext2-plugin.so %{_mandir}/man1/nbdkit-ext2-plugin.1* %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 %files gzip-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-gzip-plugin.so %{_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 %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-libvirt-plugin.so %{_mandir}/man1/nbdkit-libvirt-plugin.1* %endif %files lua-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-lua-plugin.so %{_mandir}/man3/nbdkit-lua-plugin.3* %ifarch %{ocaml_native_compiler} %files ocaml-plugin %doc README %license LICENSE %{_libdir}/libnbdkitocaml.so.* %files ocaml-plugin-devel %{_libdir}/libnbdkitocaml.so %{_libdir}/ocaml/NBDKit.* %{_mandir}/man3/nbdkit-ocaml-plugin.3* %endif %files perl-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-perl-plugin.so %{_mandir}/man3/nbdkit-perl-plugin.3* %files python-plugin-common %doc README %license LICENSE %{_mandir}/man3/nbdkit-python-plugin.3* %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 %files ruby-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-ruby-plugin.so %{_mandir}/man3/nbdkit-ruby-plugin.3* %files tar-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-tar-plugin %{_mandir}/man1/nbdkit-tar-plugin.1* %files tcl-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-tcl-plugin.so %{_mandir}/man3/nbdkit-tcl-plugin.3* %ifarch %{ix86} x86_64 %files vddk-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-vddk-plugin.so %{_mandir}/man1/nbdkit-vddk-plugin.1* %endif %files xz-plugin %doc README %license LICENSE %{_libdir}/%{name}/plugins/nbdkit-xz-plugin.so %{_mandir}/man1/nbdkit-xz-plugin.1* %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 %{_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* %files devel %doc OTHER_PLUGINS README TODO %license LICENSE # Include the source of the example plugins in the documentation. %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/sh/example.sh %doc plugins/tcl/example.tcl %{_includedir}/nbdkit-common.h %{_includedir}/nbdkit-filter.h %{_includedir}/nbdkit-plugin.h %{_mandir}/man3/nbdkit-filter.3* %{_mandir}/man3/nbdkit-plugin.3* %{_libdir}/pkgconfig/nbdkit.pc %files bash-completion %license LICENSE %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/nbdkit %changelog * Fri Nov 09 2018 Richard W.M. Jones - 1.7.10-1 - New upstream version 1.7.10, possibly final before 1.8. * Tue Nov 06 2018 Richard W.M. Jones - 1.7.9-2 - nbdkit metapackage should depend on versioned -server subpackage etc. * Tue Nov 06 2018 Richard W.M. Jones - 1.7.9-1 - New upstream version 1.7.9. * Tue Oct 30 2018 Richard W.M. Jones - 1.7.8-1 - New upstream version 1.7.8. * Mon Oct 29 2018 Richard W.M. Jones - 1.7.7-1 - New upstream version 1.7.7. - New nbdkit-floppy-plugin subpackage. * Wed Oct 17 2018 Richard W.M. Jones - 1.7.6-1 - New upstream version 1.7.6. - New nbdkit-iso-plugin subpackage. * Tue Oct 16 2018 Richard W.M. Jones - 1.7.5-1 - New upstream version 1.7.5. * Tue Oct 2 2018 Richard W.M. Jones - 1.7.4-1 - New upstream version 1.7.4. * Tue Sep 18 2018 Richard W.M. Jones - 1.7.3-1 - New upstream version 1.7.3. - Add partitioning plugin. * Thu Sep 13 2018 Richard W.M. Jones - 1.7.2-1 - New upstream version 1.7.2. * Mon Sep 10 2018 Richard W.M. Jones - 1.7.1-1 - New upstream version 1.7.1. * Sat Sep 08 2018 Richard W.M. Jones - 1.7.0-1 - New upstream version 1.7.0, development branch. - Add nbdkit-sh-plugin. * Tue Aug 28 2018 Richard W.M. Jones - 1.6.0-1 - New upstream version 1.6.0, stable branch. * Mon Aug 27 2018 Richard W.M. Jones - 1.5.10-3 - New upstream version 1.5.10. - Add upstream patches after 1.5.10. * Sun Aug 26 2018 Richard W.M. Jones - 1.5.9-2 - New upstream version 1.5.9. - Add upstream patches since 1.5.9 was released. * Tue Aug 21 2018 Richard W.M. Jones - 1.5.8-1 - New upstream version 1.5.8. * Sat Aug 18 2018 Richard W.M. Jones - 1.5.7-1 - New upstream version 1.5.7. * Sat Aug 18 2018 Richard W.M. Jones - 1.5.6-2 - Disable libvirt on riscv64. - Other simplifications to %%configure line. * Thu Aug 16 2018 Richard W.M. Jones - 1.5.6-1 - New upstream version 1.5.6. * Tue Aug 14 2018 Richard W.M. Jones - 1.5.5-2 - Make nbdkit a metapackage. - Package server in nbdkit-server subpackage. - Rename all nbdkit-plugin-FOO to nbdkit-FOO-plugin to match upstream. * Mon Aug 13 2018 Richard W.M. Jones - 1.5.5-1 - New upstream version 1.5.5. - New plugin: data. * Mon Aug 6 2018 Richard W.M. Jones - 1.5.4-1 - New upstream version 1.5.4. - Add topic man pages. * Mon Aug 6 2018 Richard W.M. Jones - 1.5.3-1 - New upstream version 1.5.3. - New filter: error. * Wed Aug 1 2018 Richard W.M. Jones - 1.5.2-1 - New upstream version 1.5.2. - Remove patches which are all upstream. - New filter: truncate. * Tue Jul 24 2018 Richard W.M. Jones - 1.5.1-2 - Enable VDDK plugin on x86-64 only. * Fri Jul 20 2018 Richard W.M. Jones - 1.5.1-1 - New upstream version 1.5.1. - Remove patches, all upstream in this version. - Small refactorings in the spec file. * Sun Jul 15 2018 Richard W.M. Jones - 1.5.0-3 - Add all upstream patches since 1.5.0. - New pattern plugin. - Add fixes for 32 bit platforms i686 and armv7. * Fri Jul 13 2018 Fedora Release Engineering - 1.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Sat Jul 7 2018 Richard W.M. Jones - 1.5.0-1 - New upstream version 1.5.0. - Add Lua plugin and nbdkit-plugin-lua subpackage. - Make python-unversioned-command dependent on Fedora >= 29. * Fri Jul 6 2018 Richard W.M. Jones - 1.4.0-1 - New upstream version 1.4.0. - Add nbdkit-plugin-tcl subpackage. - +BR python-unversioned-command * Tue Jul 03 2018 Petr Pisar - 1.3.4-4 - Perl 5.28 rebuild * Mon Jul 02 2018 Miro Hrončok - 1.3.4-3 - Rebuilt for Python 3.7 * Wed Jun 27 2018 Jitka Plesnikova - 1.3.4-2 - Perl 5.28 rebuild * Sat Jun 23 2018 Richard W.M. Jones - 1.3.4-1 - New upstream version 1.3.4. * Tue Jun 19 2018 Miro Hrončok - 1.3.3-2 - Rebuilt for Python 3.7 * Mon Jun 11 2018 Richard W.M. Jones - 1.3.3-1 - New upstream version 1.3.3. - New plugins: nbdkit-zero-plugin, nbdkit-random-plugin. - Remove upstream patches. * Sat Jun 9 2018 Richard W.M. Jones - 1.3.2-2 - New upstream version 1.3.2. - Remove patches now upstream. - New ext2 plugin and subpackage, requires e2fsprogs-devel to build. - Enable tarball signatures. - Add upstream patch to fix tests when guestfish not available. - Enable bash tab completion. * Wed Jun 6 2018 Richard W.M. Jones - 1.3.1-1 - New upstream version 1.3.1. - Add patch to work around libvirt problem with relative socket paths. - Add patch to fix the xz plugin test with recent guestfish. * Fri Apr 6 2018 Richard W.M. Jones - 1.3.0-1 - Move to development branch version 1.3.0. - New filters: blocksize, fua, log, nozero. * Fri Feb 09 2018 Igor Gnatenko - 1.1.28-5 - Escape macros in %%changelog * Thu Feb 08 2018 Fedora Release Engineering - 1.1.28-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jan 31 2018 Igor Gnatenko - 1.1.28-3 - Switch to %%ldconfig_scriptlets * Fri Jan 26 2018 Richard W.M. Jones - 1.1.28-2 - Run a simplified test suite on all arches. * Mon Jan 22 2018 Richard W.M. Jones - 1.1.28-1 - New upstream version 1.1.28. - Add two new filters to nbdkit-basic-filters. * Sat Jan 20 2018 Björn Esser - 1.1.27-2 - Rebuilt for switch to libxcrypt * Sat Jan 20 2018 Richard W.M. Jones - 1.1.27-1 - New upstream version 1.1.27. - Add new subpackage nbdkit-basic-filters containing new filters. * Thu Jan 11 2018 Richard W.M. Jones - 1.1.26-2 - Rebuild against updated Ruby. * Sat Dec 23 2017 Richard W.M. Jones - 1.1.26-1 - New upstream version 1.1.26. - Add new pkg-config file and dependency. * Wed Dec 06 2017 Richard W.M. Jones - 1.1.25-1 - New upstream version 1.1.25. * Tue Dec 05 2017 Richard W.M. Jones - 1.1.24-1 - New upstream version 1.1.24. - Add tar plugin (new subpackage nbdkit-plugin-tar). * Tue Dec 05 2017 Richard W.M. Jones - 1.1.23-1 - New upstream version 1.1.23. - Add example4 plugin. - Python3 tests require libguestfs so disable on s390x. * Sun Dec 03 2017 Richard W.M. Jones - 1.1.22-1 - New upstream version 1.1.22. - Enable tests on Fedora. * Sat Dec 02 2017 Richard W.M. Jones - 1.1.20-1 - New upstream version 1.1.20. - Add nbdkit-split-plugin to basic plugins. * Sat Dec 02 2017 Richard W.M. Jones - 1.1.19-2 - OCaml 4.06.0 rebuild. * Thu Nov 30 2017 Richard W.M. Jones - 1.1.19-1 - New upstream version 1.1.19. - Combine all the simple plugins in %%{name}-basic-plugins. - Add memory and null plugins. - Rename the example plugins subpackage. - Use %%license instead of %%doc for license file. - Remove patches now upstream. * Wed Nov 29 2017 Richard W.M. Jones - 1.1.18-4 - Fix Python 3 builds / RHEL macros (RHBZ#1404631). * Tue Nov 21 2017 Richard W.M. Jones - 1.1.18-3 - New upstream version 1.1.18. - Add NBD forwarding plugin. - Add libselinux-devel so that SELinux support is enabled in the daemon. - Apply all patches from upstream since 1.1.18. * Fri Oct 20 2017 Richard W.M. Jones - 1.1.16-2 - New upstream version 1.1.16. - Disable python3 plugin on RHEL/EPEL <= 7. - Only ship on x86_64 in RHEL/EPEL <= 7. * Wed Sep 27 2017 Richard W.M. Jones - 1.1.15-1 - New upstream version 1.1.15. - Enable TLS support. * Fri Sep 01 2017 Richard W.M. Jones - 1.1.14-1 - New upstream version 1.1.14. * Fri Aug 25 2017 Richard W.M. Jones - 1.1.13-1 - New upstream version 1.1.13. - Remove patches which are all upstream. - Remove grubby hack, should not be needed with modern supermin. * Sat Aug 19 2017 Richard W.M. Jones - 1.1.12-13 - Rebuild for OCaml 4.05.0. * Thu Aug 03 2017 Fedora Release Engineering - 1.1.12-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.1.12-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jun 27 2017 Richard W.M. Jones - 1.1.12-10 - Rebuild for OCaml 4.04.2. * Sun Jun 04 2017 Jitka Plesnikova - 1.1.12-9 - Perl 5.26 rebuild * Mon May 15 2017 Richard W.M. Jones - 1.1.12-8 - Rebuild for OCaml 4.04.1. * Fri Feb 10 2017 Fedora Release Engineering - 1.1.12-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Jan 12 2017 Vít Ondruch - 1.1.12-6 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4 * Fri Dec 23 2016 Richard W.M. Jones - 1.1.12-5 - Rebuild for Python 3.6 update. * Wed Dec 14 2016 Richard W.M. Jones - 1.1.12-4 - Fix python3 subpackage so it really uses python3 (RHBZ#1404631). * Sat Nov 05 2016 Richard W.M. Jones - 1.1.12-3 - Rebuild for OCaml 4.04.0. * Mon Oct 03 2016 Richard W.M. Jones - 1.1.12-2 - Compile Python 2 and Python 3 versions of the plugin. * Wed Jun 08 2016 Richard W.M. Jones - 1.1.12-1 - New upstream version 1.1.12 - Enable Ruby plugin. - Disable tests on Rawhide because libvirt is broken again (RHBZ#1344016). * Wed May 25 2016 Richard W.M. Jones - 1.1.11-10 - Add another upstream patch since 1.1.11. * Mon May 23 2016 Richard W.M. Jones - 1.1.11-9 - Add all patches upstream since 1.1.11 (fixes RHBZ#1336758). * Tue May 17 2016 Jitka Plesnikova - 1.1.11-7 - Perl 5.24 rebuild * Wed Mar 09 2016 Richard W.M. Jones - 1.1.11-6 - When tests fail, dump out test-suite.log so we can debug it. * Fri Feb 05 2016 Richard W.M. Jones - 1.1.11-5 - Don't run tests on x86, because kernel is broken there (https://bugzilla.redhat.com/show_bug.cgi?id=1302071) * Thu Feb 04 2016 Fedora Release Engineering - 1.1.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Jan 11 2016 Richard W.M. Jones - 1.1.11-3 - Add support for newstyle NBD protocol (RHBZ#1297100). * Sat Oct 31 2015 Richard W.M. Jones - 1.1.11-1 - New upstream version 1.1.11. * Thu Jul 30 2015 Richard W.M. Jones - 1.1.10-3 - OCaml 4.02.3 rebuild. * Sat Jun 20 2015 Richard W.M. Jones - 1.1.10-2 - Enable libguestfs plugin on aarch64. * Fri Jun 19 2015 Richard W.M. Jones - 1.1.10-1 - New upstream version. - Enable now working OCaml plugin (requires OCaml >= 4.02.2). * Wed Jun 17 2015 Fedora Release Engineering - 1.1.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu Jun 11 2015 Jitka Plesnikova - 1.1.9-5 - Perl 5.22 rebuild * Wed Jun 10 2015 Richard W.M. Jones - 1.1.9-4 - Enable debugging messages when running make check. * Sat Jun 06 2015 Jitka Plesnikova - 1.1.9-3 - Perl 5.22 rebuild * Tue Oct 14 2014 Richard W.M. Jones - 1.1.9-2 - New upstream version 1.1.9. - Add the streaming plugin. - Include fix for streaming plugin in 1.1.9. * Wed Sep 10 2014 Richard W.M. Jones - 1.1.8-4 - Rebuild for updated Perl in Rawhide. - Workaround for broken libvirt (RHBZ#1138604). * Sun Aug 17 2014 Fedora Release Engineering - 1.1.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 21 2014 Richard W.M. Jones - 1.1.8-1 - New upstream version 1.1.8. - Add support for cURL, and new nbdkit-plugin-curl package. * Fri Jun 20 2014 Richard W.M. Jones - 1.1.7-1 - New upstream version 1.1.7. - Remove patches which are now all upstream. * Sat Jun 07 2014 Fedora Release Engineering - 1.1.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu Mar 06 2014 Dan Horák - 1.1.6-4 - libguestfs is available only on selected arches * Fri Feb 21 2014 Richard W.M. Jones - 1.1.6-3 - Backport some upstream patches, fixing a minor bug and adding more tests. - Enable the tests since kernel bug is fixed. * Sun Feb 16 2014 Richard W.M. Jones - 1.1.6-1 - New upstream version 1.1.6. * Sat Feb 15 2014 Richard W.M. Jones - 1.1.5-2 - New upstream version 1.1.5. - Enable the new Python plugin. - Perl plugin man page moved to section 3. - Perl now requires ExtUtils::Embed. * Mon Feb 10 2014 Richard W.M. Jones - 1.1.4-1 - New upstream version 1.1.4. - Enable the new Perl plugin. * Sun Aug 4 2013 Richard W.M. Jones - 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. - Remove patch, now upstream. * Sat Aug 03 2013 Fedora Release Engineering - 1.1.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sun Jul 21 2013 Richard W.M. Jones - 1.1.2-3 - Fix segfault when IPv6 client is used (RHBZ#986601). * Tue Jul 16 2013 Richard W.M. Jones - 1.1.2-2 - New development version 1.1.2. - Disable the tests on Fedora <= 18. * Tue Jun 25 2013 Richard W.M. Jones - 1.1.1-1 - New development version 1.1.1. - Add libguestfs plugin. - Run the test suite. * Mon Jun 24 2013 Richard W.M. Jones - 1.0.0-4 - Initial release.