Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant
@ 2026-07-21 12:53 Dario Binacchi
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU Dario Binacchi
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Dario Binacchi @ 2026-07-21 12:53 UTC (permalink / raw)
  To: buildroot
  Cc: Marcin Niestroj, Rahul Bedarkar, Petr Vorel, Dario Binacchi,
	Fabrice Fontaine, Kurt Van Dijck, Grzegorz Blach,
	José Luis Salvador Rufo, Philippe Proulx, Brandon Maier,
	Luca Ceresoli, Chen Pei, Sergio Prado, Alistair Francis,
	Julien Olivain, Eric Le Bihan, Bernd Kuhls, Gao Xiang,
	Giulio Benetti, Etienne Carriere

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

no changes since v1

 package/jsoncpp/jsoncpp.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk
index 7a472775901d..99d04db01ce8 100644
--- a/package/jsoncpp/jsoncpp.mk
+++ b/package/jsoncpp/jsoncpp.mk
@@ -11,5 +11,7 @@ JSONCPP_LICENSE_FILES = LICENSE
 JSONCPP_CPE_ID_VALID = YES
 JSONCPP_INSTALL_STAGING = YES
 JSONCPP_CONF_OPTS = -Dtests=false
+HOST_JSONCPP_CONF_OPTS = -Dtests=false
 
 $(eval $(meson-package))
+$(eval $(host-meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU
  2026-07-21 12:53 [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Dario Binacchi
@ 2026-07-21 12:53 ` Dario Binacchi
  2026-07-21 20:42   ` Petr Vorel
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 3/3] package/drogon: new package Dario Binacchi
  2026-07-21 20:43 ` [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Petr Vorel
  2 siblings, 1 reply; 6+ messages in thread
From: Dario Binacchi @ 2026-07-21 12:53 UTC (permalink / raw)
  To: buildroot
  Cc: Marcin Niestroj, Rahul Bedarkar, Petr Vorel, Dario Binacchi,
	Fabrice Fontaine, Kurt Van Dijck, Grzegorz Blach,
	José Luis Salvador Rufo, Philippe Proulx, Brandon Maier,
	Luca Ceresoli, Chen Pei, Sergio Prado, Alistair Francis,
	Julien Olivain, Eric Le Bihan, Bernd Kuhls, Gao Xiang,
	Giulio Benetti, Etienne Carriere

When building util-linux with libuuid enabled on noMMU targets
(e.g., bootlin-armv7m-uclibc or bootlin-m68k-5208-uclibc), the build
fails with the following error:

libuuid/src/gen_uuid.c: In function ‘uuid_generate_time_generic’:
libuuid/src/gen_uuid.c:629:17: error: implicit declaration of function ‘pthread_atfork’; did you mean ‘pthread_join’? [-Wimplicit-function-declaration]
  629 |                 pthread_atfork(NULL, NULL, reset_uuidd_cache);
      |                 ^~~~~~~~~~~~~~
      |                 pthread_join

This happens because pthread_atfork() is not available on noMMU
configurations as reported by commit 59fe7547a495 ("package/libcap-ng:
disable pthread support on nommu").

Fix this by adding a dependency on BR2_USE_MMU to libuuid. As a
consequence, also propagate the BR2_USE_MMU dependency to all packages
selecting BR2_PACKAGE_UTIL_LINUX_LIBUUID to prevent "unmet direct
dependencies" Kconfig errors.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

added in v4

 package/asterisk/Config.in         | 2 +-
 package/azure-iot-sdk-c/Config.in  | 2 ++
 package/bcache-tools/Config.in     | 2 +-
 package/cryptsetup/Config.in       | 2 +-
 package/e2fsprogs/Config.in        | 2 +-
 package/erofs-utils/Config.in      | 1 +
 package/f2fs-tools/Config.in       | 2 ++
 package/freeswitch/Config.in       | 2 +-
 package/gerbera/Config.in          | 2 +-
 package/gptfdisk/Config.in         | 2 ++
 package/gupnp/Config.in            | 2 +-
 package/libblockdev/Config.in      | 2 +-
 package/libcrossguid/Config.in     | 2 ++
 package/libks/Config.in            | 2 ++
 package/lttng-babeltrace/Config.in | 2 +-
 package/lttng-libust/Config.in     | 2 ++
 package/lttng-tools/Config.in      | 2 ++
 package/mtd/Config.in              | 1 +
 package/ndctl/Config.in            | 2 +-
 package/netdata/Config.in          | 2 +-
 package/network-manager/Config.in  | 2 +-
 package/nfs-utils/Config.in        | 2 +-
 package/nilfs-utils/Config.in      | 2 +-
 package/optee-client/Config.in     | 2 +-
 package/parted/Config.in           | 2 ++
 package/qpid-proton/Config.in      | 2 ++
 package/shairport-sync/Config.in   | 2 +-
 package/tpm2-tss/Config.in         | 2 ++
 package/util-linux/Config.in       | 1 +
 package/xen/Config.in              | 2 ++
 package/xfsprogs/Config.in         | 2 +-
 package/zfs/Config.in              | 2 +-
 32 files changed, 43 insertions(+), 18 deletions(-)

diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
index 3db6e5375a6a..0cd11bcf5c7e 100644
--- a/package/asterisk/Config.in
+++ b/package/asterisk/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_ASTERISK
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # dlfcn.h
 	depends on !BR2_TOOLCHAIN_USES_MUSL
-	depends on BR2_USE_MMU # libedit
+	depends on BR2_USE_MMU # libedit, util-linux
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_WCHAR # libedit
 	select BR2_PACKAGE_JANSSON
diff --git a/package/azure-iot-sdk-c/Config.in b/package/azure-iot-sdk-c/Config.in
index 860746524c2d..5a22e3f308da 100644
--- a/package/azure-iot-sdk-c/Config.in
+++ b/package/azure-iot-sdk-c/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_AZURE_IOT_SDK_C
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_USE_WCHAR
+	depends on BR2_USE_MMU # util-linux
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_OPENSSL
@@ -15,5 +16,6 @@ config BR2_PACKAGE_AZURE_IOT_SDK_C
 	  https://github.com/Azure/azure-iot-sdk-c
 
 comment "azure-iot-sdk-c needs a toolchain w/ C++, NPTL and wchar"
+	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in
index c8e3f6d1bfbd..ef6dc7c52369 100644
--- a/package/bcache-tools/Config.in
+++ b/package/bcache-tools/Config.in
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_BCACHE_TOOLS
 	bool "bcache tools"
 	depends on BR2_PACKAGE_HAS_UDEV
-	depends on BR2_USE_MMU # util-linux (libblkid)
+	depends on BR2_USE_MMU # util-linux (libblkid, libuuid)
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
index 00424af8b8ad..ebaebe38537e 100644
--- a/package/cryptsetup/Config.in
+++ b/package/cryptsetup/Config.in
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_CRYPTSETUP
 	bool "cryptsetup"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
-	depends on BR2_USE_MMU # lvm2, libargon2
+	depends on BR2_USE_MMU # lvm2, libargon2, util-linux
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
 	select BR2_PACKAGE_ARGP_STANDALONE if BR2_PACKAGE_LIBSSH && \
 		(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index aeb9548f1552..bcd4b13a1728 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -1,6 +1,6 @@
 menuconfig BR2_PACKAGE_E2FSPROGS
 	bool "e2fsprogs"
-	depends on BR2_USE_MMU # util-linux/libblkid
+	depends on BR2_USE_MMU # util-linux (libblkid, libuuid)
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/erofs-utils/Config.in b/package/erofs-utils/Config.in
index 284b2cd0598d..306655f56b71 100644
--- a/package/erofs-utils/Config.in
+++ b/package/erofs-utils/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_EROFS_UTILS
 	bool "erofs-utils"
+	depends on BR2_USE_MMU # util-linux
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	help
diff --git a/package/f2fs-tools/Config.in b/package/f2fs-tools/Config.in
index e373096380be..17bc703d2144 100644
--- a/package/f2fs-tools/Config.in
+++ b/package/f2fs-tools/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_F2FS_TOOLS
 	bool "f2fs-tools"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_USE_WCHAR # uses wchar_t
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
@@ -9,4 +10,5 @@ config BR2_PACKAGE_F2FS_TOOLS
 	  https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
 
 comment "f2fs-tools needs a toolchain w/ wchar"
+	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR
diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in
index ad54efc0cb2a..3f5fb8629b8a 100644
--- a/package/freeswitch/Config.in
+++ b/package/freeswitch/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_FREESWITCH
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # apr, included in freeswitch source
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_USE_MMU # apr, included in freeswitch source
+	depends on BR2_USE_MMU # apr, included in freeswitch source, util-linux
 	depends on BR2_USE_WCHAR # uses wchar_t
 	select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_LIBCURL
diff --git a/package/gerbera/Config.in b/package/gerbera/Config.in
index 3078d2017f28..18504d9a43d0 100644
--- a/package/gerbera/Config.in
+++ b/package/gerbera/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_GERBERA
 	bool "gerbera"
-	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_MMU # fork(), util-linux
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_HOST_GCC_AT_LEAST_7 # icu
diff --git a/package/gptfdisk/Config.in b/package/gptfdisk/Config.in
index 8d94d2bcf899..1d2d57194eda 100644
--- a/package/gptfdisk/Config.in
+++ b/package/gptfdisk/Config.in
@@ -1,8 +1,10 @@
 comment "gptfdisk needs a toolchain w/ C++"
+	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP
 
 config BR2_PACKAGE_GPTFDISK
 	bool "gptfdisk"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/gupnp/Config.in b/package/gupnp/Config.in
index 3074a4279777..88ad2d4ac040 100644
--- a/package/gupnp/Config.in
+++ b/package/gupnp/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_GUPNP
 	bool "gupnp"
 	depends on BR2_USE_WCHAR # glib2, gssdp
 	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, gssdp
-	depends on BR2_USE_MMU # glib2, gssdp
+	depends on BR2_USE_MMU # glib2, gssdp, util-linux
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GSSDP
 	select BR2_PACKAGE_LIBXML2
diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in
index e9e9faaa0516..3ab6a01b1d0f 100644
--- a/package/libblockdev/Config.in
+++ b/package/libblockdev/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBBLOCKDEV
 	depends on !BR2_STATIC_LIBS # kmod
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
-	depends on BR2_USE_MMU # libglib2
+	depends on BR2_USE_MMU # libglib2, util-linux
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_KMOD
diff --git a/package/libcrossguid/Config.in b/package/libcrossguid/Config.in
index 49060bc83765..855fadd80d82 100644
--- a/package/libcrossguid/Config.in
+++ b/package/libcrossguid/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBCROSSGUID
 	bool "libcrossguid"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
 	select BR2_PACKAGE_UTIL_LINUX
@@ -10,4 +11,5 @@ config BR2_PACKAGE_LIBCROSSGUID
 	  https://github.com/graeme-hill/crossguid
 
 comment "libcrossguid needs a toolchain w/ C++, gcc >= 4.7"
+	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
diff --git a/package/libks/Config.in b/package/libks/Config.in
index 17a008d7a051..1ca1b9020803 100644
--- a/package/libks/Config.in
+++ b/package/libks/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBKS
 	bool "libks"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # dlfcn.h
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np()
@@ -13,5 +14,6 @@ config BR2_PACKAGE_LIBKS
 	  https://github.com/signalwire/libks
 
 comment "libks needs a toolchain w/ C++, NPTL, dynamic library"
+	depends on BR2_USE_MMU
 	depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \
 		|| !BR2_TOOLCHAIN_HAS_THREADS_NPTL
diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in
index ba6b5543d956..0aceeb3f1708 100644
--- a/package/lttng-babeltrace/Config.in
+++ b/package/lttng-babeltrace/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_LTTNG_BABELTRACE
 	bool "lttng-babeltrace"
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
-	depends on BR2_USE_MMU # libglib2
+	depends on BR2_USE_MMU # libglib2, util-linux
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_LIBGLIB2
diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in
index 88e1164f97dc..26541fb34b14 100644
--- a/package/lttng-libust/Config.in
+++ b/package/lttng-libust/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LTTNG_LIBUST
 	bool "lttng-libust"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_USE_WCHAR # uses wchar_t
 	# liburcu only works on some architectures and requires threads support"
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
@@ -18,6 +19,7 @@ config BR2_PACKAGE_LTTNG_LIBUST
 	  http://lttng.org
 
 comment "lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++"
+	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \
 		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in
index 5750c5c4e0d9..c8ead2f59fa1 100644
--- a/package/lttng-tools/Config.in
+++ b/package/lttng-tools/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LTTNG_TOOLS
 	bool "lttng-tools"
+	depends on BR2_USE_MMU # util-linux
 	# liburcu only works on some architectures and requires thread support
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -29,6 +30,7 @@ config BR2_PACKAGE_LTTNG_TOOLS
 	  http://lttng.org
 
 comment "lttng-tools needs a toolchain w/ threads, dynamic library, C++"
+	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
 		!BR2_INSTALL_LIBSTDCPP
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index 1054106f81e5..35fc7cd7474e 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -15,6 +15,7 @@ config BR2_PACKAGE_MTD_JFFS_UTILS
 
 config BR2_PACKAGE_MTD_UBIFS_UTILS
 	bool
+	depends on BR2_USE_MMU # util-linux
 	select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/ndctl/Config.in b/package/ndctl/Config.in
index 9d3972bd2f75..486e67a72611 100644
--- a/package/ndctl/Config.in
+++ b/package/ndctl/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_NDCTL
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 # __struct_group()
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_USE_MMU
+	depends on BR2_USE_MMU # util-linux
 	select BR2_PACKAGE_INIPARSER
 	select BR2_PACKAGE_JSON_C
 	select BR2_PACKAGE_KEYUTILS
diff --git a/package/netdata/Config.in b/package/netdata/Config.in
index 527d4d39af99..e3793a09428b 100644
--- a/package/netdata/Config.in
+++ b/package/netdata/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_NETDATA
 	bool "netdata"
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_MMU # fork(), util-linux
 	depends on !BR2_STATIC_LIBS # libuv
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index c3d9f7b6558f..307b0480d151 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_NETWORK_MANAGER
 	bool "network-manager"
 	depends on !BR2_STATIC_LIBS # gnutls
-	depends on BR2_USE_MMU # dbus
+	depends on BR2_USE_MMU # dbus, util-linux
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
 	# We need NETLINK_GET_STRICT_CHK
diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in
index 0f836bd5a948..b483d18de8ff 100644
--- a/package/nfs-utils/Config.in
+++ b/package/nfs-utils/Config.in
@@ -5,7 +5,7 @@ comment "nfs-utils needs a toolchain w/ threads, headers >= 3.17"
 config BR2_PACKAGE_NFS_UTILS
 	bool "nfs-utils"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc, rpcbind
-	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_MMU # fork(), util-linux
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # getrandom()
 	select BR2_PACKAGE_LIBEVENT
 	select BR2_PACKAGE_LIBNL
diff --git a/package/nilfs-utils/Config.in b/package/nilfs-utils/Config.in
index 30d7dba75d6a..43bf10506fbf 100644
--- a/package/nilfs-utils/Config.in
+++ b/package/nilfs-utils/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_NILFS_UTILS
 	bool "nilfs-utils"
-	depends on BR2_USE_MMU # util-linux libmount, libblkid
+	depends on BR2_USE_MMU # util-linux libmount, libblkid, libuuid
 	depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open()
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
index 04849ffce4b4..efd23fb38582 100644
--- a/package/optee-client/Config.in
+++ b/package/optee-client/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_OPTEE_CLIENT
 	bool "optee-client"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # MMC_IOC_MULTI_CMD
-	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_MMU # fork(), util-linux
 	help
 	  Enable the OP-TEE client package that brings non-secure
 	  client application resources for OP-TEE support. OP-TEE
diff --git a/package/parted/Config.in b/package/parted/Config.in
index ea6c3db2bf7b..ecfbcb58c118 100644
--- a/package/parted/Config.in
+++ b/package/parted/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_PARTED
 	depends on BR2_ENABLE_LOCALE
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
+	depends on BR2_USE_MMU # util-linux
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	help
@@ -11,5 +12,6 @@ config BR2_PACKAGE_PARTED
 	  http://www.gnu.org/software/parted/
 
 comment "parted needs a toolchain w/ locale, wchar, gcc >=5"
+	depends on BR2_USE_MMU
 	depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR || \
 		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in
index adddc6eca082..1cea83878cbf 100644
--- a/package/qpid-proton/Config.in
+++ b/package/qpid-proton/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_QPID_PROTON
 	bool "qpid-proton"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # build a shared library
 	depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -16,5 +17,6 @@ config BR2_PACKAGE_QPID_PROTON
 	  https://qpid.apache.org/proton/
 
 comment "qpid-proton needs a toolchain w/ C++, dynamic library, threads"
+	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
 		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/shairport-sync/Config.in b/package/shairport-sync/Config.in
index dad88e998245..69b6406265ad 100644
--- a/package/shairport-sync/Config.in
+++ b/package/shairport-sync/Config.in
@@ -29,7 +29,7 @@ config BR2_PACKAGE_SHAIRPORT_SYNC_CONVOLUTION
 config BR2_PACKAGE_SHAIRPORT_SYNC_AIRPLAY2
 	bool "AirPlay2 support"
 	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
-	depends on BR2_USE_MMU # nqptp
+	depends on BR2_USE_MMU # nqptp, util-linux
 	depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS # ffmpeg
 	select BR2_PACKAGE_NQPTP # runtime
 	select BR2_PACKAGE_LIBPLIST
diff --git a/package/tpm2-tss/Config.in b/package/tpm2-tss/Config.in
index 91337ce48d0e..09e8507341eb 100644
--- a/package/tpm2-tss/Config.in
+++ b/package/tpm2-tss/Config.in
@@ -36,6 +36,7 @@ if BR2_PACKAGE_TPM2_TSS
 
 config BR2_PACKAGE_TPM2_TSS_FAPI
 	bool "FAPI support"
+	depends on BR2_USE_MMU # util-linux
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
 	depends on !BR2_PACKAGE_MBEDTLS # configure: FAPI has to be compiled with OpenSSL
 	select BR2_PACKAGE_JSON_C
@@ -56,6 +57,7 @@ config BR2_PACKAGE_TPM2_TSS_FAPI
 	  https://trustedcomputinggroup.org/wp-content/uploads/TSS_JSON_Policy_v0.7_r04_pubrev.pdf
 
 comment "FAPI not supported with Mbed TLS backend"
+	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_MBEDTLS
 
 endif
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index e6ee4c3ceda0..a7b24a86601f 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -41,6 +41,7 @@ config BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
 
 config BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	bool "libuuid"
+	depends on BR2_USE_MMU # pthread_atfork()
 	help
 	  Install libuuid.
 
diff --git a/package/xen/Config.in b/package/xen/Config.in
index dc4d43481009..842c25e394cd 100644
--- a/package/xen/Config.in
+++ b/package/xen/Config.in
@@ -19,6 +19,7 @@ config BR2_PACKAGE_XEN_HYPERVISOR
 
 config BR2_PACKAGE_XEN_TOOLS
 	bool "Xen tools"
+	depends on BR2_USE_MMU # util-linux
 	depends on !BR2_STATIC_LIBS # dtc (libfdt)
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on BR2_USE_WCHAR # libglib2
@@ -41,6 +42,7 @@ config BR2_PACKAGE_XEN_TOOLS
 	  The Xen tools can be accessed by the xl command.
 
 comment "xen tools need a toolchain w/ wchar, threads, dynamic library"
+	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
 		BR2_STATIC_LIBS
 
diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in
index 1ecffa3e0e33..41b481e1a9ae 100644
--- a/package/xfsprogs/Config.in
+++ b/package/xfsprogs/Config.in
@@ -8,7 +8,7 @@ comment "xfsprogs needs a toolchain w/ threads, headers >= 5.9, C++"
 config BR2_PACKAGE_XFSPROGS
 	bool "xfsprogs"
 	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
-	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_MMU # fork(), util-linux
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_INSTALL_LIBSTDCPP # liburcu
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9 # blkzoned.h (capacity)
diff --git a/package/zfs/Config.in b/package/zfs/Config.in
index 049e0716f3ad..95ac4744198c 100644
--- a/package/zfs/Config.in
+++ b/package/zfs/Config.in
@@ -9,7 +9,7 @@ config BR2_PACKAGE_ZFS
 	bool "zfs"
 	depends on BR2_LINUX_KERNEL
 	depends on BR2_PACKAGE_HAS_UDEV
-	depends on BR2_USE_MMU  # util-linux (libblkid)
+	depends on BR2_USE_MMU  # util-linux (libblkid, libuuid)
 	depends on BR2_TOOLCHAIN_HAS_THREADS  # libtirpc
 	select BR2_LINUX_NEEDS_MODULES
 	select BR2_PACKAGE_UTIL_LINUX
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v4 3/3] package/drogon: new package
  2026-07-21 12:53 [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Dario Binacchi
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU Dario Binacchi
@ 2026-07-21 12:53 ` Dario Binacchi
  2026-07-21 20:53   ` Petr Vorel
  2026-07-21 20:43 ` [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Petr Vorel
  2 siblings, 1 reply; 6+ messages in thread
From: Dario Binacchi @ 2026-07-21 12:53 UTC (permalink / raw)
  To: buildroot
  Cc: Marcin Niestroj, Rahul Bedarkar, Petr Vorel, Dario Binacchi,
	Fabrice Fontaine, Kurt Van Dijck, Grzegorz Blach,
	José Luis Salvador Rufo, Philippe Proulx, Brandon Maier,
	Luca Ceresoli, Chen Pei, Sergio Prado, Alistair Francis,
	Julien Olivain, Eric Le Bihan, Bernd Kuhls, Gao Xiang,
	Giulio Benetti, Etienne Carriere

Drogon is a C++17/20 based HTTP application framework. It can be used to
easily build various types of web application server programs using C++.

Project page: https://github.com/drogonframework/drogon

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

Changes v3 -> v4:
- Add dependency on BR2_USE_MMU for libuuid
- Update version to 1.9.13.
- Add hash file for drogon-v1.9.13-git4.tar.gz and LICENSE.
- Drop patches already merged in version v1.9.13
- Fix typo EXMPLES -> EXAMPLES
- Fix building failure on SPARC/SPARC64

Changes v2 -> v3:
- The PRs related to the patches have all been merged. The first PR was
  merged by combining the three patches into a single one. Replace all
  Upstream: links with the link to the final commit.
- Add help text to the added KConfig options.
- Select external libraries for BROTLI and YAML_CONFIG options.
- Drop the host configurations. Files too.
- Always add -DBUILD_CTL=ON to HOST_DROGON_CONF_OPTS (together with
  -DBUILD_TESTS=OFF and -DBUILD_EXAMPLES=OFF).

Changes v1 -> v2:
- Drop BR2_ARCH_IS_64 dependency. It has been tested on imx6ull platform.
- Add DROGON_INSTALL_STAGING
- Add 0004-Fix-building-error-for-Werror-unused-value.patch for trantor
  submodule.

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 ...OLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch | 93 +++++++++++++++++++
 package/drogon/Config.in                      | 52 +++++++++++
 package/drogon/drogon.hash                    |  3 +
 package/drogon/drogon.mk                      | 63 +++++++++++++
 6 files changed, 213 insertions(+)
 create mode 100644 package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch
 create mode 100644 package/drogon/Config.in
 create mode 100644 package/drogon/drogon.hash
 create mode 100644 package/drogon/drogon.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 75fcdbef2ee7..9057629b46db 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -816,6 +816,7 @@ F:	package/babeld/
 F:	package/bc/
 F:	package/cmocka/
 F:	package/connman/
+F:	package/drogon/
 F:	package/empty/
 F:	package/iana-assignments/
 F:	package/inih/
diff --git a/package/Config.in b/package/Config.in
index 015f635ad16c..acb9b49273e3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1991,6 +1991,7 @@ menu "Networking"
 	source "package/davici/Config.in"
 	source "package/dht/Config.in"
 	source "package/dpdk/Config.in"
+	source "package/drogon/Config.in"
 	source "package/enet/Config.in"
 	source "package/filemq/Config.in"
 	source "package/fmlib/Config.in"
diff --git a/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch b/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch
new file mode 100644
index 000000000000..7a9fab389fec
--- /dev/null
+++ b/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch
@@ -0,0 +1,93 @@
+From 9ecfb965e6ea02583874e534f8936ebb43a9db29 Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Date: Mon, 20 Jul 2026 16:16:22 +0200
+Subject: [PATCH] Fix EPOLLRDHUP/POLLRDHUP mismatch on Linux SPARC/SPARC64
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix a build failure reported by Buildroot autobuild for the
+bootlin-sparc64-glibc configuration:
+
+  EpollPoller.cc:41:26: error: static assertion failed:
+  EPOLLRDHUP != POLLRDHUP
+
+On SPARC/SPARC64, EPOLLRDHUP (0x2000) and POLLRDHUP (0x0800) are
+different bits, breaking the assumption elsewhere in this file that
+epoll and poll flags are interchangeable.
+
+Introduce a combined RDHUP value for this architecture and translate
+it before epoll_ctl() and after epoll_wait(), since revents_ is later
+tested against POLLRDHUP in Channel::handleEvent() — otherwise
+half-close detection would silently break at runtime.
+
+This patch is inspired by the equivalent fix in lighttpd:
+https://redmine.lighttpd.net/issues/3251
+
+Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Upstream: https://github.com/an-tao/trantor/pull/407
+---
+ trantor/trantor/net/inner/poller/EpollPoller.cc | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/trantor/trantor/net/inner/poller/EpollPoller.cc b/trantor/trantor/net/inner/poller/EpollPoller.cc
+index c9c4f7d481b4..812b48c30d79 100644
+--- a/trantor/trantor/net/inner/poller/EpollPoller.cc
++++ b/trantor/trantor/net/inner/poller/EpollPoller.cc
+@@ -22,6 +22,9 @@
+ #include <assert.h>
+ #include <strings.h>
+ #include <iostream>
++#if (defined(__sparc__) || defined(__sparc))
++#define TRANTOR_RDHUP 0x2800 /* EPOLLRDHUP | POLLRDHUP */
++#endif
+ #elif defined _WIN32
+ #include "Wepoll.h"
+ #include <assert.h>
+@@ -38,7 +41,12 @@ namespace trantor
+ static_assert(EPOLLIN == POLLIN, "EPOLLIN != POLLIN");
+ static_assert(EPOLLPRI == POLLPRI, "EPOLLPRI != POLLPRI");
+ static_assert(EPOLLOUT == POLLOUT, "EPOLLOUT != POLLOUT");
++#if (defined(__sparc__) || defined(__sparc))
++static_assert(EPOLLRDHUP & TRANTOR_RDHUP,
++              "EPOLLRDHUP not included in TRANTOR_RDHUP");
++#else
+ static_assert(EPOLLRDHUP == POLLRDHUP, "EPOLLRDHUP != POLLRDHUP");
++#endif
+ static_assert(EPOLLERR == POLLERR, "EPOLLERR != POLLERR");
+ static_assert(EPOLLHUP == POLLHUP, "EPOLLHUP != POLLHUP");
+ #endif
+@@ -127,7 +135,15 @@ void EpollPoller::fillActiveChannels(int numEvents,
+         assert(it != channels_.end());
+         assert(it->second == channel);
+ #endif
+-        channel->setRevents(events_[i].events);
++        int revents = events_[i].events;
++#if defined(__linux__) && (defined(__sparc__) || defined(__sparc))
++        if (revents & EPOLLRDHUP)
++        {
++            revents &= ~EPOLLRDHUP;
++            revents |= POLLRDHUP;
++        }
++#endif
++        channel->setRevents(revents);
+         activeChannels->push_back(channel);
+     }
+     // LOG_TRACE<<"active Channels num:"<<activeChannels->size();
+@@ -205,6 +221,13 @@ void EpollPoller::update(int operation, Channel *channel)
+     struct epoll_event event;
+     memset(&event, 0, sizeof(event));
+     event.events = channel->events();
++#if defined(__linux__) && (defined(__sparc__) || defined(__sparc))
++    if (event.events & TRANTOR_RDHUP)
++    {
++        event.events &= ~TRANTOR_RDHUP;
++        event.events |= EPOLLRDHUP;
++    }
++#endif
+     event.data.ptr = channel;
+     int fd = channel->fd();
+     if (::epoll_ctl(epollfd_, operation, fd, &event) < 0)
+-- 
+2.43.0
+
diff --git a/package/drogon/Config.in b/package/drogon/Config.in
new file mode 100644
index 000000000000..cbb44197e418
--- /dev/null
+++ b/package/drogon/Config.in
@@ -0,0 +1,52 @@
+config BR2_PACKAGE_DROGON
+	bool "drogon"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 # C++17/20
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU # util-linux (libuuid)
+	select BR2_PACKAGE_JSONCPP
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	select BR2_PACKAGE_ZLIB
+	help
+	  Drogon is a C++17/20 based HTTP application framework.
+	  Drogon can be used to easily build various types of web
+	  application server programs using C++.
+
+	  https://github.com/drogonframework/drogon
+
+if BR2_PACKAGE_DROGON
+
+config BR2_PACKAGE_DROGON_BROTLI
+	bool "build Brotli"
+	select BR2_PACKAGE_BROTLI
+	help
+	  Add support for brotli compression.
+
+config BR2_PACKAGE_DROGON_CTL
+	bool "build drogon_ctl"
+	help
+	  drogon_ctl is a command-line tool used to generate
+	  project skeletons and source code.
+
+config BR2_PACKAGE_DROGON_EXAMPLES
+	bool "build examples"
+
+config BR2_PACKAGE_DROGON_ORM
+	bool "build orm"
+	help
+	  Enable the ORM module for typed database access.
+
+config BR2_PACKAGE_DROGON_YAML_CONFIG
+	bool "build yaml config"
+	select BR2_PACKAGE_YAML_CPP
+	help
+	  Add support for YAML configuration via yaml-cpp.
+
+endif
+
+comment "drogon needs a toolchain w/ C++, threads, gcc >= 11"
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_11 || \
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/drogon/drogon.hash b/package/drogon/drogon.hash
new file mode 100644
index 000000000000..997fd519e1d6
--- /dev/null
+++ b/package/drogon/drogon.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  1d7dc4591b61c34903362209e58a3f92903c76ce6514ffba5ccfaa86a2e3227c  drogon-v1.9.13-git4.tar.gz
+sha256  7e1ed2ca339c384279f1e195e99916eb0145a0d87659969c7e22f8fdd53e11fd  LICENSE
diff --git a/package/drogon/drogon.mk b/package/drogon/drogon.mk
new file mode 100644
index 000000000000..89b1b2720c7d
--- /dev/null
+++ b/package/drogon/drogon.mk
@@ -0,0 +1,63 @@
+################################################################################
+#
+# drogon
+#
+################################################################################
+
+DROGON_VERSION = v1.9.13
+DROGON_SITE = https://github.com/drogonframework/drogon
+DROGON_SITE_METHOD = git
+DROGON_GIT_SUBMODULES = YES
+DROGON_LICENSE = MIT
+DROGON_LICENSE_FILES = LICENSE
+DROGON_INSTALL_STAGING = YES
+
+DROGON_DEPENDENCIES = jsoncpp util-linux zlib
+HOST_DROGON_DEPENDENCIES = host-jsoncpp host-util-linux host-zlib
+
+DROGON_CONF_OPTS = \
+	-DBUILD_TESTS=OFF
+
+HOST_DROGON_CONF_OPTS = \
+	-DBUILD_CTL=ON \
+	-DBUILD_EXAMPLES=OFF \
+	-DBUILD_TESTS=OFF
+
+ifeq ($(BR2_PACKAGE_DROGON_BROTLI),y)
+DROGON_DEPENDENCIES += brotli
+DROGON_CONF_OPTS += -DBUILD_BROTLI=ON
+else
+DROGON_CONF_OPTS += -DBUILD_BROTLI=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_CTL),y)
+# When we have drogon_ctl for the target, we need to build the
+# _drogon_ctl tool with host-drogon support so that it can be
+# run during the building process
+DROGON_DEPENDENCIES += host-drogon
+DROGON_CONF_OPTS += -DBUILD_CTL=ON
+else
+DROGON_CONF_OPTS += -DBUILD_CTL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_EXAMPLES),y)
+DROGON_CONF_OPTS += -DBUILD_EXAMPLES=ON
+else
+DROGON_CONF_OPTS += -DBUILD_EXAMPLES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_ORM),y)
+DROGON_CONF_OPTS += -DBUILD_ORM=ON
+else
+DROGON_CONF_OPTS += -DBUILD_ORM=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_YAML_CONFIG),y)
+DROGON_DEPENDENCIES += yaml-cpp
+DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=ON
+else
+DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=OFF
+endif
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU Dario Binacchi
@ 2026-07-21 20:42   ` Petr Vorel
  0 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2026-07-21 20:42 UTC (permalink / raw)
  To: Dario Binacchi
  Cc: Eric Le Bihan, Chen Pei, Gao Xiang, Kurt Van Dijck, Bernd Kuhls,
	Alistair Francis, José Luis Salvador Rufo, Grzegorz Blach,
	Brandon Maier, Philippe Proulx, Julien Olivain, Marcin Niestroj,
	Rahul Bedarkar, buildroot, Sergio Prado, Giulio Benetti,
	Luca Ceresoli, Fabrice Fontaine, Etienne Carriere

Hi Dario,

> When building util-linux with libuuid enabled on noMMU targets
> (e.g., bootlin-armv7m-uclibc or bootlin-m68k-5208-uclibc), the build
> fails with the following error:

> libuuid/src/gen_uuid.c: In function ‘uuid_generate_time_generic’:
> libuuid/src/gen_uuid.c:629:17: error: implicit declaration of function ‘pthread_atfork’; did you mean ‘pthread_join’? [-Wimplicit-function-declaration]
>   629 |                 pthread_atfork(NULL, NULL, reset_uuidd_cache);
>       |                 ^~~~~~~~~~~~~~
>       |                 pthread_join

> This happens because pthread_atfork() is not available on noMMU
> configurations as reported by commit 59fe7547a495 ("package/libcap-ng:
> disable pthread support on nommu").

> Fix this by adding a dependency on BR2_USE_MMU to libuuid. As a
> consequence, also propagate the BR2_USE_MMU dependency to all packages
> selecting BR2_PACKAGE_UTIL_LINUX_LIBUUID to prevent "unmet direct
> dependencies" Kconfig errors.

LGTM.

Reviewed-by: Petr Vorel <petr.vorel@gmail.com>

Kind regards,
Petr
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant
  2026-07-21 12:53 [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Dario Binacchi
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU Dario Binacchi
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 3/3] package/drogon: new package Dario Binacchi
@ 2026-07-21 20:43 ` Petr Vorel
  2 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2026-07-21 20:43 UTC (permalink / raw)
  To: Dario Binacchi
  Cc: Eric Le Bihan, Chen Pei, Gao Xiang, Kurt Van Dijck, Bernd Kuhls,
	Alistair Francis, José Luis Salvador Rufo, Grzegorz Blach,
	Brandon Maier, Philippe Proulx, Julien Olivain, Marcin Niestroj,
	Rahul Bedarkar, buildroot, Sergio Prado, Giulio Benetti,
	Luca Ceresoli, Fabrice Fontaine, Etienne Carriere

Hi Dario,

LGTM.
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>

Kind regards,
Petr
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v4 3/3] package/drogon: new package
  2026-07-21 12:53 ` [Buildroot] [PATCH v4 3/3] package/drogon: new package Dario Binacchi
@ 2026-07-21 20:53   ` Petr Vorel
  0 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2026-07-21 20:53 UTC (permalink / raw)
  To: Dario Binacchi
  Cc: Eric Le Bihan, Chen Pei, Gao Xiang, Kurt Van Dijck, Bernd Kuhls,
	Alistair Francis, José Luis Salvador Rufo, Grzegorz Blach,
	Brandon Maier, Philippe Proulx, Julien Olivain, Marcin Niestroj,
	Rahul Bedarkar, buildroot, Sergio Prado, Giulio Benetti,
	Luca Ceresoli, Fabrice Fontaine, Etienne Carriere

Hi Dario,

> Drogon is a C++17/20 based HTTP application framework. It can be used to
> easily build various types of web application server programs using C++.

> Project page: https://github.com/drogonframework/drogon

...
> diff --git a/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch b/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch
> new file mode 100644
> index 000000000000..7a9fab389fec
> --- /dev/null
> +++ b/package/drogon/0001-Fix-EPOLLRDHUP-POLLRDHUP-mismatch-on-Linux-SPARC-SPA.patch
> @@ -0,0 +1,93 @@
> +From 9ecfb965e6ea02583874e534f8936ebb43a9db29 Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Date: Mon, 20 Jul 2026 16:16:22 +0200
> +Subject: [PATCH] Fix EPOLLRDHUP/POLLRDHUP mismatch on Linux SPARC/SPARC64
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Fix a build failure reported by Buildroot autobuild for the
> +bootlin-sparc64-glibc configuration:
> +
> +  EpollPoller.cc:41:26: error: static assertion failed:
> +  EPOLLRDHUP != POLLRDHUP
> +
> +On SPARC/SPARC64, EPOLLRDHUP (0x2000) and POLLRDHUP (0x0800) are
> +different bits, breaking the assumption elsewhere in this file that
> +epoll and poll flags are interchangeable.
> +
> +Introduce a combined RDHUP value for this architecture and translate
> +it before epoll_ctl() and after epoll_wait(), since revents_ is later
> +tested against POLLRDHUP in Channel::handleEvent() — otherwise
> +half-close detection would silently break at runtime.
> +
> +This patch is inspired by the equivalent fix in lighttpd:
> +https://redmine.lighttpd.net/issues/3251
> +
> +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Upstream: https://github.com/an-tao/trantor/pull/407

I'm not sure what is the Buildroot's approach for git submodules.
As you use tallbar it should be ok like this (i.e. not adding trantor as a
separate package). Also other would probably raise a concern).

Otherwise LGTM.
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>

Kind regards,
Petr
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-21 20:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-21 12:53 [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Dario Binacchi
2026-07-21 12:53 ` [Buildroot] [PATCH v4 2/3] package/util-linux: libuuid needs MMU Dario Binacchi
2026-07-21 20:42   ` Petr Vorel
2026-07-21 12:53 ` [Buildroot] [PATCH v4 3/3] package/drogon: new package Dario Binacchi
2026-07-21 20:53   ` Petr Vorel
2026-07-21 20:43 ` [Buildroot] [PATCH v4 1/3] package/jsoncpp: add host variant Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox