drbd-utils configure step check the build host udev version to enable or disable the target udev rule. This leads to a clear non-reproducibility.
This patch fixes this by adding a configure option to the configure step which allows to skip the udev version checks and unconditionally enable the udev rule. Signed-off-by: Yoann Congal <yoann.con...@smile.fr> --- v1->v2: * Rebased on master (which updated to 9.27.0) * Update patch upstream status as it was merged in the meantime --- ...-an-option-to-disable-host-udev-vers.patch | 55 +++++++++++++++++++ .../recipes-support/drbd/drbd-utils_9.27.0.bb | 2 + 2 files changed, 57 insertions(+) create mode 100644 meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch new file mode 100644 index 000000000..b98e1e70c --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch @@ -0,0 +1,55 @@ +From 61991db099f66348dddbc3408e7ee8c05bda85cb Mon Sep 17 00:00:00 2001 +From: Yoann Congal <yoann.con...@smile.fr> +Date: Sat, 2 Mar 2024 16:23:07 +0100 +Subject: [PATCH] configure.ac: Add an option to disable host udev version + checks + +In cross-compilation environment, the build host might have an outdated +udev or no udev at all. But the user may still want to build with the +enabled udev rule (for its udev-enabled target). + +This patch adds a "--disable-udevchecks" option the disable build host +udev version check at configure-time and unconditionally install the +enabled udev rule. Without this new option, the behavior stays the same +(checks enabled). + +Signed-off-by: Yoann Congal <yoann.con...@smile.fr> +Upstream-Status: Backport [https://github.com/LINBIT/drbd-utils/commit/f2b5a7335ae52109dfb95a9d99ae20519c43d59a] +--- + configure.ac | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f1d69ea3..4c56d33b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,11 @@ AC_ARG_WITH([udev], + [AS_HELP_STRING([--with-udev], + [Enable udev integration])], + [WITH_UDEV=$withval]) ++AC_ARG_ENABLE([udevchecks], ++ [AS_HELP_STRING([--disable-udevchecks], ++ [Disable host udev version checks])], ++ [], ++ [enable_udevchecks=yes]) + AC_ARG_WITH([xen], + [AS_HELP_STRING([--with-xen], + [Enable Xen integration])], +@@ -315,7 +320,7 @@ if test -z $GIT; then + AC_MSG_WARN(Cannot update buildtag without git. You may safely ignore this warning when building from a tarball.) + fi + +-if test $UDEVADM = false && test $UDEVINFO = false; then ++if test "x$enable_udevchecks" != "xno" && test $UDEVADM = false && test $UDEVINFO = false; then + if test "$WITH_UDEV" = "yes"; then + AC_MSG_WARN([udev support enabled, but neither udevadm nor udevinfo found on this system.]) + fi +@@ -423,7 +428,7 @@ else + test -z $INITDIR && INITDIR="$sysconfdir/init.d" + + dnl Our udev rules file is known to work only with udev >= 85 +- if test "$WITH_UDEV" = "yes"; then ++ if test "x$enable_udevchecks" != "xno" && test "$WITH_UDEV" = "yes"; then + udev_version=$( set -- $($UDEVADM version); echo $1 ) + if test -z "$udev_version"; then + udev_version=$( set -- $($UDEVINFO -V); echo $3 ) diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb index c99717839..63f0fd18c 100644 --- a/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb +++ b/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb @@ -11,6 +11,7 @@ SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;prot git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers;branch=master;protocol=https \ file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ + file://0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch \ " SRCREV_drbd-utils = "fdd9a4d603a9dc99d110d8bd0e288d7c0b6f586e" SRCREV_drbd-headers = "0349f00825b4198d4ec3248f43884114a187676a" @@ -40,6 +41,7 @@ EXTRA_OECONF = " \ --with-initscripttype=both \ --with-systemdunitdir=${systemd_unitdir}/system \ --without-manual \ + --disable-udevchecks \ " # If we have inherited reproducible_build, we want to use it. -- 2.39.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#109115): https://lists.openembedded.org/g/openembedded-devel/message/109115 Mute This Topic: https://lists.openembedded.org/mt/104741302/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-