diff --git a/nbdkit.spec b/nbdkit.spec index 7dd3a1e..61c9c09 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,11 +51,11 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.38-stable +%global source_directory 1.40-stable Name: nbdkit -Version: 1.38.0 -Release: 6%{?dist} +Version: 1.40.0 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -95,28 +95,31 @@ BuildRequires: autoconf, automake, libtool BuildRequires: make BuildRequires: gcc, gcc-c++ BuildRequires: %{_bindir}/pod2man -BuildRequires: gnutls-devel -BuildRequires: libselinux-devel +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(libselinux) %if !0%{?rhel} && 0%{?have_libguestfs} -BuildRequires: libguestfs-devel +BuildRequires: pkgconfig(libguestfs) %endif -BuildRequires: libvirt-devel -BuildRequires: xz-devel -BuildRequires: zlib-devel +BuildRequires: pkgconfig(libvirt) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(zlib) %if !0%{?rhel} -BuildRequires: zlib-ng-devel +BuildRequires: pkgconfig(zlib-ng) %endif -BuildRequires: libzstd-devel -BuildRequires: libcurl-devel -BuildRequires: libnbd-devel >= 1.3.11 -BuildRequires: libssh-devel -BuildRequires: e2fsprogs, e2fsprogs-devel +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libnbd) +BuildRequires: pkgconfig(libssh) +BuildRequires: e2fsprogs +BuildRequires: pkgconfig(ext2fs) +BuildRequires: pkgconfig(com_err) %if !0%{?rhel} BuildRequires: xorriso -BuildRequires: rb_libtorrent-devel +BuildRequires: pkgconfig(libtorrent-rasterbar) %endif %if 0%{?have_blkio} -BuildRequires: libblkio-devel +BuildRequires: pkgconfig(blkio) %endif BuildRequires: bash-completion BuildRequires: perl-devel @@ -134,9 +137,13 @@ BuildRequires: python3-boto3 BuildRequires: ocaml >= 4.03 BuildRequires: ocaml-ocamldoc %endif -BuildRequires: ruby-devel -BuildRequires: tcl-devel -BuildRequires: lua-devel +BuildRequires: pkgconfig(tcl) +BuildRequires: pkgconfig(lua) +%endif +# Only needed until the following bug gets fixed in boost: +# https://bugzilla.redhat.com/show_bug.cgi?id=2297642 +%if 0%{?fedora} >= 41 +BuildRequires: openssl-devel-engine %endif %if 0%{verify_tarball_signature} BuildRequires: gnupg2 @@ -224,6 +231,8 @@ The key features are: * Filters can be stacked in front of plugins to transform the output. +* Server can run standalone or can be invoked from other programs. + '%{name}' is a meta-package which pulls in the core server and a useful subset of plugins and filters with minimal dependencies. @@ -250,8 +259,8 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} %description basic-plugins This package contains plugins for %{name} which only depend on simple -C libraries: glibc, gnutls, libzstd. Other plugins for nbdkit with -more complex dependencies are packaged separately. +C libraries: glibc, gnutls, zlib and zstd. Other plugins for nbdkit +with more complex dependencies are packaged separately. nbdkit-data-plugin Serve small amounts of data from the command line. @@ -464,16 +473,6 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} This package lets you write Python 3 plugins for %{name}. -%if !0%{?rhel} -%package ruby-plugin -Summary: Ruby plugin for %{name} -Requires: %{name}-server%{?_isa} = %{version}-%{release} - -%description ruby-plugin -This package lets you write Ruby plugins for %{name}. -%endif - - %if !0%{?rhel} # In theory this is noarch, but because plugins are placed in _libdir # which varies across architectures, RPM does not allow this. @@ -549,11 +548,13 @@ VMware VDDK for accessing VMware disks and servers. %package basic-filters Summary: Basic filters for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} +# Remove this in Fedora 43: +Obsoletes: nbdkit-gzip-filter < %{version}-%{release} %description basic-filters This package contains filters for %{name} which only depend on simple -C libraries: glibc, gnutls. Other filters for nbdkit with more -complex dependencies are packaged separately. +C libraries: glibc, gnutls, zlib and zstd. Other filters for nbdkit +with more complex dependencies are packaged separately. nbdkit-blocksize-filter Adjust block size of requests sent to plugins. @@ -585,6 +586,8 @@ nbdkit-extentlist-filter Place extent list over a plugin. nbdkit-fua-filter Modify flush behaviour in plugins. +nbdkit-gzip-filter Decompress a .gz file + nbdkit-ip-filter Filter clients by IP address. nbdkit-limit-filter Limit nr clients that can connect concurrently. @@ -627,8 +630,12 @@ nbdkit-retry-filter Reopen connection on error. nbdkit-retry-request-filter Retry single requests on error. +nbdkit-rotational-filter Set if a plugin is rotational or not. + nbdkit-scan-filter Prefetch data ahead of sequential reads. +nbdkit-spinning-filter Add seek delays to simulate a spinning hard disk. + nbdkit-swab-filter Filter for swapping byte order. nbdkit-tls-fallback-filter TLS protection filter. @@ -636,6 +643,14 @@ nbdkit-tls-fallback-filter TLS protection filter. nbdkit-truncate-filter Truncate, expand, round up or round down size. +%package bzip2-filter +Summary: BZip2 filter for %{name} +Requires: %{name}-server%{?_isa} = %{version}-%{release} + +%description bzip2-filter +This package is a bzip2 filter for %{name}. + + %if !0%{?rhel} %package ext2-filter Summary: ext2, ext3 and ext4 filesystem support for %{name} @@ -647,14 +662,6 @@ This package contains ext2, ext3 and ext4 filesystem support for %endif -%package gzip-filter -Summary: GZip filter for %{name} -Requires: %{name}-server%{?_isa} = %{version}-%{release} - -%description gzip-filter -This package is a gzip filter for %{name}. - - %package stats-filter Summary: Statistics filter for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} @@ -667,7 +674,6 @@ Display statistics about operations. Summary: Tar archive filter for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: tar -Obsoletes: %{name}-tar-plugin < 1.23.9-3 %description tar-filter This package is a tar archive filter for %{name}. @@ -811,7 +817,6 @@ export PYTHON=%{__python3} %if !0%{?rhel} --enable-lua \ --enable-perl \ - --enable-ruby \ --enable-tcl \ --enable-torrent \ --with-ext2 \ @@ -820,7 +825,6 @@ export PYTHON=%{__python3} %else --disable-lua \ --disable-perl \ - --disable-ruby \ --disable-tcl \ --disable-torrent \ --without-ext2 \ @@ -885,7 +889,6 @@ popd --disable-ocaml \ --disable-perl \ --disable-python \ - --disable-ruby \ --disable-rust \ --disable-tcl \ --disable-torrent \ @@ -1236,15 +1239,6 @@ fi %{_mandir}/man3/nbdkit-python-plugin.3* -%if !0%{?rhel} -%files ruby-plugin -%doc README.md -%license LICENSE -%{_libdir}/%{name}/plugins/nbdkit-ruby-plugin.so -%{_mandir}/man3/nbdkit-ruby-plugin.3* -%endif - - %if !0%{?rhel} %files S3-plugin %doc README.md @@ -1313,6 +1307,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-exportname-filter.so %{_libdir}/%{name}/filters/nbdkit-extentlist-filter.so %{_libdir}/%{name}/filters/nbdkit-fua-filter.so +%{_libdir}/%{name}/filters/nbdkit-gzip-filter.so %{_libdir}/%{name}/filters/nbdkit-ip-filter.so %{_libdir}/%{name}/filters/nbdkit-limit-filter.so %{_libdir}/%{name}/filters/nbdkit-log-filter.so @@ -1335,7 +1330,9 @@ fi %{_libdir}/%{name}/filters/nbdkit-readonly-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-request-filter.so +%{_libdir}/%{name}/filters/nbdkit-rotational-filter.so %{_libdir}/%{name}/filters/nbdkit-scan-filter.so +%{_libdir}/%{name}/filters/nbdkit-spinning-filter.so %{_libdir}/%{name}/filters/nbdkit-swab-filter.so %{_libdir}/%{name}/filters/nbdkit-tls-fallback-filter.so %{_libdir}/%{name}/filters/nbdkit-truncate-filter.so @@ -1354,6 +1351,7 @@ fi %{_mandir}/man1/nbdkit-exportname-filter.1* %{_mandir}/man1/nbdkit-extentlist-filter.1* %{_mandir}/man1/nbdkit-fua-filter.1* +%{_mandir}/man1/nbdkit-gzip-filter.1* %{_mandir}/man1/nbdkit-ip-filter.1* %{_mandir}/man1/nbdkit-limit-filter.1* %{_mandir}/man1/nbdkit-log-filter.1* @@ -1376,12 +1374,21 @@ fi %{_mandir}/man1/nbdkit-readonly-filter.1* %{_mandir}/man1/nbdkit-retry-filter.1* %{_mandir}/man1/nbdkit-retry-request-filter.1* +%{_mandir}/man1/nbdkit-rotational-filter.1* %{_mandir}/man1/nbdkit-scan-filter.1* +%{_mandir}/man1/nbdkit-spinning-filter.1* %{_mandir}/man1/nbdkit-swab-filter.1* %{_mandir}/man1/nbdkit-tls-fallback-filter.1* %{_mandir}/man1/nbdkit-truncate-filter.1* +%files bzip2-filter +%doc README.md +%license LICENSE +%{_libdir}/%{name}/filters/nbdkit-bzip2-filter.so +%{_mandir}/man1/nbdkit-bzip2-filter.1* + + %if !0%{?rhel} %files ext2-filter %doc README.md @@ -1391,13 +1398,6 @@ fi %endif -%files gzip-filter -%doc README.md -%license LICENSE -%{_libdir}/%{name}/filters/nbdkit-gzip-filter.so -%{_mandir}/man1/nbdkit-gzip-filter.1* - - %files stats-filter %doc README.md %license LICENSE @@ -1435,10 +1435,7 @@ fi %doc plugins/perl/example.pl %endif %doc plugins/python/examples/*.py -%if !0%{?rhel} -%doc plugins/ruby/example.rb -%endif -%doc plugins/sh/example.sh +%doc plugins/sh/examples/*.sh %if !0%{?rhel} %doc plugins/tcl/example.tcl %endif @@ -1449,6 +1446,7 @@ fi %{_includedir}/nbd-protocol.h %{_mandir}/man3/nbdkit-filter.3* %{_mandir}/man3/nbdkit-plugin.3* +%{_mandir}/man3/nbdkit_*.3* %{_mandir}/man1/nbdkit-release-notes-1.*.1* %{_libdir}/pkgconfig/nbdkit.pc @@ -1494,6 +1492,10 @@ fi %changelog +* Mon Jul 22 2024 Richard W.M. Jones - 1.40.0-1 +- Rebase to nbdkit 1.40.0 + related: RHEL-49594 + * Fri Jul 12 2024 Richard W.M. Jones - 1.38.0-6 - Re-add libxcrypt dependency resolves: RHEL-47272 diff --git a/sources b/sources index 3b095a3..623be89 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.38.0.tar.gz) = 7817ab29f2c4821237ac9114e820186b6fcbe5658fb702ecd41941fc70ffd060294c3d71fbcb37176f4609d3e25996ea71e20ea58d0aee2c8bf6b4b30254d074 -SHA512 (nbdkit-1.38.0.tar.gz.sig) = e81960962737f57c586bbf4dea9b2f7f208bb7258919ddd808006d4d14582ebd8e6b7d0e9f64ed48176c74c8c6ec00f042060be6a91ac0d8db20a1d936a53b42 +SHA512 (nbdkit-1.40.0.tar.gz) = 2ebf416359e61d4a7945ada095363fabfd300a3a9721a07ea39b0682c9d9e4dc0b8a9b1145e7992eca8605727d9c7a20c396295e3412e5e1bd246b903616a68d +SHA512 (nbdkit-1.40.0.tar.gz.sig) = a3833dc96b241f77ea90bd2a13ec20aaa1e0d72c777fdf7d5dc73271b2df8e8649254b5cface74eddd5952feb9ef6c2191777153edb17674de68a7dabfad54eb