Open tony-travis opened 1 month ago
I just pushed a change that adds a revision, can you pull from dev and test it again?
This rule seems to be relaxed on non-Debian systems, since it build fine on Ubuntu for example. Regardless, plan is to use revisions in the future.
Same "small_vector" warnings treated as errors before I manually applied your "debian12.patch" and commit to the sources cloned from the "saunafs" repo:
root@debian-12:/usr/local/src/saunafs# git show
commit fcaf623c820202fdcce52c82e853e4005e1fcf20 (HEAD -> main)
Author: root <tony.travis@minke-informatics.co.uk>
Date: Wed Oct 23 13:00:54 2024 +0100
Patch for Debian-12 from Urmas Rist <AR@leil.io>
diff --git a/src/common/small_vector.h b/src/common/small_vector.h
index ff64c0fb..8ed98b43 100644
--- a/src/common/small_vector.h
+++ b/src/common/small_vector.h
@@ -24,6 +24,7 @@
#include <array>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
+#pragma GCC diagnostic ignored "-Wstringop-overread"
#include <boost/container/small_vector.hpp>
#pragma GCC diagnostic pop
#include <cassert>
I think your patch should be included in the Debian patches made to the original upstream sources.
I've added a patch:
root@debian-12:/usr/local/src/debian-package/debian/patches# cat > small_vector.patch << EOF
Index: saunafs-4.5.1/src/common/small_vector.h
===================================================================
--- saunafs-4.5.1.orig/src/common/small_vector.h 2024-09-16 20:35:14.000000000 +0100
+++ saunafs-4.5.1/src/common/small_vector.h 2024-10-23 16:21:27.017088671 +0100
@@ -24,6 +24,7 @@
#include <array>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
+#pragma GCC diagnostic ignored "-Wstringop-overread"
#include <boost/container/small_vector.hpp>
#pragma GCC diagnostic pop
#include <cassert>
EOF
root@debian-12:/usr/local/src/debian-package/debian/patches# quilt import small_vector.patch
Built successfully with the patch included, but warnings about unused variable "ref" and warnings from "dh_missing" e.g.
root@debian-12:/usr/local/src/debian-package# bash package.sh |& tee package.log
[...]
make[4]: Entering directory '/tmp/package-saunafs/saunafs-4.5.1/build-pack'
[ 88%] Building C object src/nfs-ganesha/CMakeFiles/fsalsaunafs.dir/main.c.o
In file included from /tmp/package-saunafs/saunafs-4.5.1/external/nfs-ganesha-4.3/src/include/FSAL/fsal_commonlib.h:41,
from /tmp/package-saunafs/saunafs-4.5.1/src/nfs-ganesha/main.c:23:
/tmp/package-saunafs/saunafs-4.5.1/external/nfs-ganesha-4.3/src/include/fsal_api.h: In function ‘export_root_object_put’:
/tmp/package-saunafs/saunafs-4.5.1/external/nfs-ganesha-4.3/src/include/fsal_api.h:3095:17: warning: unused variable ‘ref’ [-Wunused
-variable]
3095 | int32_t ref = atomic_dec_int32_t (&obj_hdl->exp_refcnt);
| ^~~
[...]
dh_missing
dh_missing: warning: etc/pam.d/saunafs exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/bin/saun
afs")
While detecting missing files, dh_missing noted some files with a similar name to those
that were missing. This warning /might/ be resolved by replacing references to the
missing files with the similarly named ones that dh_missing found - assuming the content
is identical.
[...]
I would generally prefer to keep patches in debian/
to a minimum (most should go upstream eventually), and that it targets Ubuntu 24.04/22.04 above all else. However my idea is to have distro-specific directories (e.g debian12
) and then using package.sh to add the patches. Of course, most of these patches won't be supported by us, but we would be willing accept PR's to improve/fix them
E.g using package.sh -f debian/12
, see package.sh -h
Hi,
The SaunaFS packages fail to build under Debian 12 in a Proxmox VM: