Message ID | 20250924074343.1611960-1-hongxu.jia@windriver.com |
---|---|
State | New |
Headers | show |
Series | apt: fix reproducibility issue occasionally | expand |
Hi Hongxu, > On 24 Sep 2025, at 08:43, hongxu via lists.openembedded.org <hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote: > Due to upstream apt commit [1], it calls `id -gn root' in cmake > to set ROOT_GROUP if not define. The output of `id -gn root' may > differ in the compared builds which caused reproducibility issue > ... > |build-st/reproducibleB-extended/tmp/work/x86-64-v3-oe-linux/apt/ > 3.0.3/temp/log.do_configure:124:-- Found root group: wheel > ... > |build-st/reproducibleA/tmp/work/x86-64-v3-oe-linux/apt/3.0.3/ > temp/log.do_configure:124:-- Found root group: root What host distribution has wheel as the root group? We’re not seeing this on the AB so it must be one that we’re not testing on there. Ross
Hi Ross, The host is Ubuntu 22.04, I manually run `id -gn root' and always get `root' It is weird to get ` wheel' in AB test, and the issue occurs occasionally $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.4 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.4 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy $ id -gn root root //Hongxu
diff --git a/meta/recipes-devtools/apt/apt_3.0.3.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb index 75d85dbbce..7f0a38ab29 100644 --- a/meta/recipes-devtools/apt/apt_3.0.3.bb +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb @@ -51,6 +51,7 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ -DWITH_TESTS=False \ -DCOMMON_ARCH=${DPKG_ARCH} \ + -DROOT_GROUP="root" \ " PACKAGECONFIG ??= ""
In oe-selftest of reproducibility, recipe apt has reproducibility issue occasionally ... 2025-09-20 17:09:18,986 - oe-selftest - INFO - ====================================================================== 2025-09-20 17:09:18,986 - oe-selftest - INFO - FAIL: test_reproducible_builds (reproducible.ReproducibleTests) 2025-09-20 17:09:18,986 - oe-selftest - INFO - ---------------------------------------------------------------------- 2025-09-20 17:09:18,986 - oe-selftest - INFO - Traceback (most recent call last): File "/buildarea5/hjia/contrib/openembedded-core-contrib/meta/lib/oeqa/selftest/cases/reproducible.py", line 406, in test_reproducible_builds self.fail('\n'.join(fails)) AssertionError: The following deb packages are different and not in exclusion list: build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/apt-dbg_3.0.3-r0_amd64.deb build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/apt_3.0.3-r0_amd64.deb The following ipk packages are different and not in exclusion list: build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/apt-dbg_3.0.3-r0_x86-64-v3.ipk build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/apt_3.0.3-r0_x86-64-v3.ipk The following rpm packages are different and not in exclusion list: build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/apt-3.0.3-r0.x86_64_v3.rpm build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/apt-dbg-3.0.3-r0.x86_64_v3.rpm ... Due to upstream apt commit [1], it calls `id -gn root' in cmake to set ROOT_GROUP if not define. The output of `id -gn root' may differ in the compared builds which caused reproducibility issue ... |build-st/reproducibleB-extended/tmp/work/x86-64-v3-oe-linux/apt/ 3.0.3/temp/log.do_configure:124:-- Found root group: wheel ... |build-st/reproducibleA/tmp/work/x86-64-v3-oe-linux/apt/3.0.3/ temp/log.do_configure:124:-- Found root group: root ... Explicitly set ROOT_GROUP = "root" for cmake other than call `id -gn root' to support reproducibility [1] https://salsa.debian.org/apt-team/apt/-/commit/6f1f3c9afdb6ade6a7be110b90c8fc9e603254cf Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- meta/recipes-devtools/apt/apt_3.0.3.bb | 1 + 1 file changed, 1 insertion(+)