diff mbox series

[meta-networking,v2] corosync: reproducibility issue

Message ID 20250213233333.129530-1-gavrosc@yahoo.com
State Accepted
Headers show
Series [meta-networking,v2] corosync: reproducibility issue | expand

Commit Message

Christos Gavros Feb. 13, 2025, 11:33 p.m. UTC
Corosync is not reproducible due to change of value
in NETSNMP_SYS_CONTACT which is set in net-snmp:
NETSNMP_SYS_CONTACT = "$ME@$LOC"
$ME = whoami
$LOC assigned domain name from /etc/resolv.conf

Use build in'--with-sys-contact' to overwrite it

https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/30/steps/28/logs/stdio

CC: Yoann Congal <yoann.congal@smile.fr>
CC: Randy MacLeod <randy.macleod@windriver.com>
Signed-off-by: Christos Gavros <gavrosc@yahoo.com>
---
v1->v2
* make NETSNMP_SYS_CONTACT configurable for every DISTRO
---
 meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb | 3 +++
 1 file changed, 3 insertions(+)

Comments

Yoann Congal Feb. 14, 2025, 8:28 a.m. UTC | #1
Le ven. 14 févr. 2025 à 00:34, Christos Gavros <gavrosc@yahoo.com> a écrit :

> Corosync is not reproducible due to change of value
> in NETSNMP_SYS_CONTACT which is set in net-snmp:
> NETSNMP_SYS_CONTACT = "$ME@$LOC"
> $ME = whoami
> $LOC assigned domain name from /etc/resolv.conf
>
> Use build in'--with-sys-contact' to overwrite it
>
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/30/steps/28/logs/stdio
>
> CC: Yoann Congal <yoann.congal@smile.fr>
> CC: Randy MacLeod <randy.macleod@windriver.com>
> Signed-off-by: Christos Gavros <gavrosc@yahoo.com>
> ---
> v1->v2
> * make NETSNMP_SYS_CONTACT configurable for every DISTRO
> ---
>  meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb | 3 +++
>

Hello Christos,

Thanks for the patch, nice work :)

The title should say "net-snmp: ..." instead (and the commit message
explain that you do that to fix corosync reproducibility issue)

There is something weird going on: By tracking the reproducibility issue
from corosync, we ended up in net-snmp. But net-snmp did not fail the
reproducibility test!
No need to debug this further, your patch is valid as-is, I just wanted to
point out this weirdness.

Thanks!


>  1 file changed, 3 insertions(+)
>
> diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
> b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
> index d4945e482d..0840e4955b 100644
> --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
> +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
> @@ -55,6 +55,8 @@ PACKAGECONFIG[perl] = "--enable-embedded-perl
> --with-perl-modules=yes, --disable
>  PACKAGECONFIG[smux] = ""
>  PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd"
>
> +SYSCONTACT_DISTRO ?= "no-contact-set@example.com"
> +
>  EXTRA_OECONF = " \
>      --enable-shared \
>      --disable-manuals \
> @@ -63,6 +65,7 @@ EXTRA_OECONF = " \
>      --with-persistent-directory=${localstatedir}/lib/net-snmp \
>      --with-endianness=${@oe.utils.conditional('SITEINFO_ENDIANNESS',
> 'le', 'little', 'big', d)} \
>      --with-mib-modules='${MIB_MODULES}' \
> +    --with-sys-contact='${SYSCONTACT_DISTRO}' \
>  "
>
>  MIB_MODULES = ""
> --
> 2.34.1
>
>
Christos Gavros Feb. 14, 2025, 8:45 a.m. UTC | #2
hi

the patch is merged in master-next, can I still change it and submit v3?
https://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=bb138b9f6b0ae7a77b5be468356a9ed0d7787c88

I was thinking the same... but we ended up that the issue is coming from this macro NETSNMP_SYS_CONTACT by looking the diffoscope
https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-networking/oe-reproducible-20250201-4tpvm0li/packages/diff-html/#reproducibleA-tmp---reproducibleA-tmp-deploy---reproducibleA-tmp-deploy-deb---reproducibleA-tmp-deploy-deb-core-------reproducibleA-tmp-deploy-deb-core-----corosync-dbg_-.-.--r-_amd--.deb---data.tar.xz---data.tar---.-usr-sbin-.debug-corosync-notifyd---readelf---wide---debug-dump-macro---

NETSNMP_SYS_CONTACT is defined and used in 'net-snmp' in build directory. Then I checked net-snmp source code and find that this macro is defined and assigned there as explained in patch.

Shall we wait for autobuilder to test it and take further actions from there?
Yoann Congal Feb. 14, 2025, 9:01 a.m. UTC | #3
Le ven. 14 févr. 2025 à 09:45, Christos Gavros via lists.openembedded.org
<gavrosc=yahoo.com@lists.openembedded.org> a écrit :

> hi
>
> the patch is merged in master-next, can I still change it and submit v3?
>
> https://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=bb138b9f6b0ae7a77b5be468356a9ed0d7787c88
>

master-next is the branch under test. It's not too late to send a v3. That
is not a major issue anyway...


> I was thinking the same... but we ended up that the issue is coming from
> this macro NETSNMP_SYS_CONTACT by looking the diffoscope
>
> https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-networking/oe-reproducible-20250201-4tpvm0li/packages/diff-html/#reproducibleA-tmp---reproducibleA-tmp-deploy---reproducibleA-tmp-deploy-deb---reproducibleA-tmp-deploy-deb-core-------reproducibleA-tmp-deploy-deb-core-----corosync-dbg_-.-.--r-_amd--.deb---data.tar.xz---data.tar---.-usr-sbin-.debug-corosync-notifyd---readelf---wide---debug-dump-macro---
>
> NETSNMP_SYS_CONTACT is defined and used in 'net-snmp' in build directory.
> Then I checked net-snmp source code and find that this macro is defined and
> assigned there as explained in patch.
>
> Shall we wait for autobuilder to test it and take further actions from
> there?
>

Yes, I would do that.
Remember that since this reproducibility issue is host distro related, we
will have to wait some reproducibility (weekly) runs to be sure it was
tested on different host distro.


> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#115480):
> https://lists.openembedded.org/g/openembedded-devel/message/115480
> Mute This Topic: https://lists.openembedded.org/mt/111173431/4316185
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> yoann.congal@smile.fr]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
index d4945e482d..0840e4955b 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.4.bb
@@ -55,6 +55,8 @@  PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable
 PACKAGECONFIG[smux] = ""
 PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd"
 
+SYSCONTACT_DISTRO ?= "no-contact-set@example.com"
+
 EXTRA_OECONF = " \
     --enable-shared \
     --disable-manuals \
@@ -63,6 +65,7 @@  EXTRA_OECONF = " \
     --with-persistent-directory=${localstatedir}/lib/net-snmp \
     --with-endianness=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
     --with-mib-modules='${MIB_MODULES}' \
+    --with-sys-contact='${SYSCONTACT_DISTRO}' \
 "
 
 MIB_MODULES = ""