Hello Sergio,

I've been a bit surprised that this raft package was included in the
list of affected packages, and indeed the reason seems to be trivial.

This package is part of the transition because the check-armhf-time_t
tool failed to analyze its headers and put it in the list of failed
results:

https://adrien.dcln.fr/misc/armhf-time_t/2024-02-01T09:53:00/summary/results_failed.txt

If you look at the logs of the failure:

https://adrien.dcln.fr/misc/armhf-time_t/2024-02-01T09%3A53%3A00/logs/libraft-dev/

you'll see that "-x c++" is passed to gcc, which makes compilation fail
because "static_assert" should be used in that case instead of the
regular C's "_Static_assert".

The patch below seems to make the tool happy.

What is the best way to prevent raft from being unnecessarily NMU'ed?
Should I just upload a new revision containing the patch below and
somehow request another run of the tool?

Thanks,

Free

modified   include/raft.h.in
@@ -14,14 +14,22 @@
 #define RAFT__LEGACY_@enable_v0@
 /* clang-format on */
 
+/* Handle C/C++ differences for static asserts */
+#if defined(__cpp_static_assert)
+#define RAFT__STATIC_ASSERT static_assert
+#else
+#define RAFT__STATIC_ASSERT _Static_assert
+#endif
+
 /* Helper for statically checking ABI compatibility when changing or adding
  * struct fields. */
 #if defined(RAFT__LEGACY_no)
 #define RAFT__ASSERT_COMPATIBILITY(OLD_FIELDS, NEW_FIELDS) \
-    _Static_assert(1 == 1, "no-op")
+    RAFT__STATIC_ASSERT(1 == 1, "no-op")
 #else
-#define RAFT__ASSERT_COMPATIBILITY(OLD_FIELDS, NEW_FIELDS) \
-    _Static_assert(sizeof(NEW_FIELDS) <= sizeof(OLD_FIELDS), "ABI breakage")
+#define RAFT__ASSERT_COMPATIBILITY(OLD_FIELDS, NEW_FIELDS)        \
+    RAFT__STATIC_ASSERT(sizeof(NEW_FIELDS) <= sizeof(OLD_FIELDS), \
+                        "ABI breakage")
 #endif
 
 /**
@@ -1601,5 +1609,6 @@ RAFT_API int raft_transfer(struct raft *r,
 
 #undef RAFT__REQUEST
 #undef RAFT__ASSERT_COMPATIBILITY
+#undef RAFT__STATIC_ASSERT
 
 #endif /* RAFT_H */



Mathias Gibbens <gib...@debian.org> writes:

> Hi Sergio,
>
>   raft 0.21.0-1 was uploaded to unstable yesterday. Could you rebase on
> top of that release for the time_t transition? Until the transition is
> complete, we'll refrain from making further uploads to unstable.
>
>   Free, I'll make a debian/experimental branch in salsa to track the
> NMU changes.
>
> Mathias

Reply via email to