The configure script from the tarball fails due to the man pages being disabled, but docbook2man being installed. Therefore backport the already upstreamed fix [1].
Due to the configure.ac file being changed by the patch, an autogen.sh patch has to be added. As the nbd autogen.sh also generates a systemd file, the autogen.sh from nbd was copied. This also brought up the problem that a necessary file for the systemd generation process was not included in the tarball. As the file was moved upstream, backport the commit to have the file available and simplify a future upgrade by simply dropping the whole patch folder. https://github.com/NetworkBlockDevice/nbd/releases/tag/nbd-3.26 https://github.com/NetworkBlockDevice/nbd/releases/tag/nbd-3.26.1 [1] https://github.com/NetworkBlockDevice/nbd/pull/158 Signed-off-by: Sven Püschel <[email protected]> --- ...he-check-no-cases-of-enable_manpages.patch | 54 +++++++++++++++++++ ...02-fix-generation-of-systemd-service.patch | 52 ++++++++++++++++++ patches/nbd-3.26.1/autogen.sh | 4 ++ patches/nbd-3.26.1/series | 5 ++ rules/nbd.make | 4 +- 5 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 patches/nbd-3.26.1/0001-Fix-the-check-no-cases-of-enable_manpages.patch create mode 100644 patches/nbd-3.26.1/0002-fix-generation-of-systemd-service.patch create mode 100755 patches/nbd-3.26.1/autogen.sh create mode 100644 patches/nbd-3.26.1/series diff --git a/patches/nbd-3.26.1/0001-Fix-the-check-no-cases-of-enable_manpages.patch b/patches/nbd-3.26.1/0001-Fix-the-check-no-cases-of-enable_manpages.patch new file mode 100644 index 000000000..18d6ce1a6 --- /dev/null +++ b/patches/nbd-3.26.1/0001-Fix-the-check-no-cases-of-enable_manpages.patch @@ -0,0 +1,54 @@ +From: Dave Jones <[email protected]> +Date: Thu, 14 Mar 2024 11:13:05 +0000 +Subject: [PATCH] Fix the check & no cases of enable_manpages +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Currently, running "configure --disable-manpages" while docbook2man *is* +installed results in the error "don't know what to do here" when it +should disable manpages. + +There also appears to be a missing conditional at the start of the line; +there's closing un-matched ]) at the end of the line. Still, at this +point the check can be done in pure shell; no need for AC macros. I've +also removed the confusing m4_divert_text call on the check case. Not +sure why that was there, but it appears unnecessary. + +(cherry picked from commit f0418b0d8b54c21a1e5b0c6dce3277e938d07e7c) +Signed-off-by: Sven Püschel <[email protected]> +--- + configure.ac | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5e1b53c3f84c..0dccafd67f88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -328,7 +328,7 @@ AC_MSG_CHECKING([whether man pages are requested]) + AC_ARG_ENABLE([manpages], + AS_HELP_STRING([--disable-manpages], [Do not install man pages]), + [], +- [: m4_divert_text([DEFAULTS], [enable_manpages=check])] ++ [enable_manpages=check] + ) + AC_MSG_RESULT([$enable_manpages]) + +@@ -337,9 +337,14 @@ AS_IF([test "x$enable_manpages" != "xno"], [ + ]) + AS_IF([test "x$enable_manpages" = "xyes" -a "x$DB2M" = "x"], [ + AC_MSG_ERROR([docbook2man not found, but is required to build manpages]) +- ], +- [test "x$DB2M" != "x"], [enable_manpages=yes], +- [AC_MSG_ERROR([don't know what to do here])]) ++ ]) ++if test "x$enable_manpages" = "xcheck"; then ++ if test "x$DB2M" = "x"; then ++ enable_manpages=no ++ else ++ enable_manpages=yes ++ fi ++fi + AC_MSG_CHECKING([whether to build manpages]) + AC_MSG_RESULT([$enable_manpages]) + diff --git a/patches/nbd-3.26.1/0002-fix-generation-of-systemd-service.patch b/patches/nbd-3.26.1/0002-fix-generation-of-systemd-service.patch new file mode 100644 index 000000000..f40672613 --- /dev/null +++ b/patches/nbd-3.26.1/0002-fix-generation-of-systemd-service.patch @@ -0,0 +1,52 @@ +From: Christian Hesse <[email protected]> +Date: Mon, 4 Mar 2024 11:24:57 +0100 +Subject: [PATCH] fix generation of systemd service +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The shell template is no longer required to generate man pages, so more +it to systemd/ and ship it in tarball. + +Signed-off-by: Wouter Verhelst <[email protected]> + +(cherry picked from commit f8d7d3dbf1ef2ef84c92fe375ebc8674a79e25c2) +Signed-off-by: Sven Püschel <[email protected]> +--- + systemd/Makefile.am | 6 +++--- + systemd/sh.tmpl | 7 +++++++ + 2 files changed, 10 insertions(+), 3 deletions(-) + create mode 100644 systemd/sh.tmpl + +diff --git a/systemd/Makefile.am b/systemd/Makefile.am +index f771dce60dc9..204f06ff4417 100644 +--- a/systemd/Makefile.am ++++ b/systemd/Makefile.am +@@ -5,11 +5,11 @@ + + noinst_DATA = [email protected] + DISTCLEANFILES = [email protected] [email protected] [email protected] sh.tmpl + + [email protected]: [email protected] + sh [email protected] > [email protected] + [email protected]: [email protected] ../man/sh.tmpl +- cat ../man/sh.tmpl [email protected] > [email protected] [email protected]: [email protected] sh.tmpl ++ cat sh.tmpl [email protected] > [email protected] + echo EOF >> [email protected] +diff --git a/systemd/sh.tmpl b/systemd/sh.tmpl +new file mode 100644 +index 000000000000..d97aa3f9559a +--- /dev/null ++++ b/systemd/sh.tmpl +@@ -0,0 +1,7 @@ ++#!/bin/sh ++ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++sysconfdir=@sysconfdir@ ++ ++cat <<EOF diff --git a/patches/nbd-3.26.1/autogen.sh b/patches/nbd-3.26.1/autogen.sh new file mode 100755 index 000000000..807283a49 --- /dev/null +++ b/patches/nbd-3.26.1/autogen.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -ex +make -C systemd -f Makefile.am [email protected] +exec autoreconf -f -i diff --git a/patches/nbd-3.26.1/series b/patches/nbd-3.26.1/series new file mode 100644 index 000000000..bf91db7ba --- /dev/null +++ b/patches/nbd-3.26.1/series @@ -0,0 +1,5 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Fix-the-check-no-cases-of-enable_manpages.patch +0002-fix-generation-of-systemd-service.patch +# 6ae36746ae3789e1c0a4244272de6622 - git-ptx-patches magic diff --git a/rules/nbd.make b/rules/nbd.make index ab5f2b7e9..c53d3864f 100644 --- a/rules/nbd.make +++ b/rules/nbd.make @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_NBD) += nbd # # Paths and names # -NBD_VERSION := 3.25 -NBD_MD5 := fc885361c00ac4de2c45d651c48bd937 +NBD_VERSION := 3.26.1 +NBD_MD5 := 9a15e88f2b63d467ce5a6db1da8a2f0f NBD := nbd-$(NBD_VERSION) NBD_SUFFIX := tar.xz NBD_URL := https://github.com/NetworkBlockDevice/nbd/releases/download/$(NBD)/$(NBD).$(NBD_SUFFIX) -- 2.47.3
