diff mbox series

ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

Message ID VI1PR04MB5373AD2BB745671859678D699100A@VI1PR04MB5373.eurprd04.prod.outlook.com
State New
Headers show
Series ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr | expand

Commit Message

Piotr Łobacz July 26, 2023, 9:27 a.m. UTC
Hi Alexandre, Alex,
Thx for supporting me, I have finally discovered the issue regarding this packages differences.
It occurred that I was badly comparing two strings for tarformat comparison. Now it is fixed and should finally work.

This has been additionally tested with oe-selftest -r reproducible.

BR
Piotr

Od: Piotr Łobacz <p.lobacz@welotec.com>
Wysłane: środa, 26 lipca 2023 11:22
Do: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
DW: Piotr Łobacz <p.lobacz@welotec.com>
Temat: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr 
 
Extend OPKGBUILDCMD variable, with additional parameters, depending
on target distro features, in order to support ACLs and xattr.

With fix pushed to the opkg-devel:
https://groups.google.com/g/opkg-devel/c/dYNHrLjDwg8
opkg-build is able to create tar archives with ACLs and xattr.

Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
---
 meta/classes-global/package_ipk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexandre Belloni July 27, 2023, 2:18 p.m. UTC | #1
Hello,

I sent this to the autobuilders and I got the same reproducibility
failure as earlier:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3263/steps/13/logs/stdio

I'm not sure why you wouldn't see those.

On 26/07/2023 09:27:53+0000, Piotr Łobacz wrote:
> 
> Hi Alexandre, Alex,
> Thx for supporting me, I have finally discovered the issue regarding this packages differences.
> It occurred that I was badly comparing two strings for tarformat comparison. Now it is fixed and should finally work.
> 
> This has been additionally tested with oe-selftest -r reproducible.
> 
> BR
> Piotr
> 
> Od: Piotr Łobacz <p.lobacz@welotec.com>
> Wysłane: środa, 26 lipca 2023 11:22
> Do: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
> DW: Piotr Łobacz <p.lobacz@welotec.com>
> Temat: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr 
>  
> Extend OPKGBUILDCMD variable, with additional parameters, depending
> on target distro features, in order to support ACLs and xattr.
> 
> With fix pushed to the opkg-devel:
> https://groups.google.com/g/opkg-devel/c/dYNHrLjDwg8
> opkg-build is able to create tar archives with ACLs and xattr.
> 
> Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
> ---
>  meta/classes-global/package_ipk.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
> index b4b7bc9ac2..a0f106e4ad 100644
> --- a/meta/classes-global/package_ipk.bbclass
> +++ b/meta/classes-global/package_ipk.bbclass
> @@ -15,7 +15,7 @@ IPKGCONF_SDK_TARGET = "${WORKDIR}/opkg-sdk-target.conf"
>  PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
>  
>  # Program to be used to build opkg packages
> -OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}"'
> +OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}" ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '-A', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', '-X', '', d)}'
>  
>  OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
>  OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
> -- 
> 2.34.1

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184875): https://lists.openembedded.org/g/openembedded-core/message/184875
> Mute This Topic: https://lists.openembedded.org/mt/100367408/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Piotr Łobacz July 27, 2023, 3:30 p.m. UTC | #2
Hi Alexandre,

> Hello,
>
> I sent this to the autobuilders and I got the same reproducibility
> failure as earlier:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3263/steps/13/logs/stdio>data=05%7C01%7Cp.lobacz%40welotec.com%7C8fb759c0e1ab49b0c69408db8eac5547%7C25111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638260643038719160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=C6mYlLwOmYosyl1ZIS8vKQf2ailFqMqBXeamF%2FnSE7E%3D&reserved=0
>
> I'm not sure why you wouldn't see those.

Nor do I. I'm running it once again on our remote CI server, maybe I missed something. I'll answer you when I will know something more.

BR
Piotr

On 26/07/2023 09:27:53+0000, Piotr Łobacz wrote:
>
> Hi Alexandre, Alex,
> Thx for supporting me, I have finally discovered the issue regarding this packages differences.
> It occurred that I was badly comparing two strings for tarformat comparison. Now it is fixed and should finally work.
>
> This has been additionally tested with oe-selftest -r reproducible.
>
> BR
> Piotr
>
> Od: Piotr Łobacz <p.lobacz@welotec.com>
> Wysłane: środa, 26 lipca 2023 11:22
> Do: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
> DW: Piotr Łobacz <p.lobacz@welotec.com>
> Temat: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr
>
> Extend OPKGBUILDCMD variable, with additional parameters, depending
> on target distro features, in order to support ACLs and xattr.
>
> With fix pushed to the opkg-devel:
> https://groups.google.com/g/opkg-devel/c/dYNHrLjDwg8
> opkg-build is able to create tar archives with ACLs and xattr.
>
> Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
> ---
>  meta/classes-global/package_ipk.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
> index b4b7bc9ac2..a0f106e4ad 100644
> --- a/meta/classes-global/package_ipk.bbclass
> +++ b/meta/classes-global/package_ipk.bbclass
> @@ -15,7 +15,7 @@ IPKGCONF_SDK_TARGET = "${WORKDIR}/opkg-sdk-target.conf"
>  PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
>
>  # Program to be used to build opkg packages
> -OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}"'
> +OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}" ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '-A', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', '-X', '', d)}'
>
>  OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
>  OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
> --
> 2.34.1

>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184875): https://lists.openembedded.org/g/openembedded-core/message/184875
> Mute This Topic: https://lists.openembedded.org/mt/100367408/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com/
Piotr Łobacz July 28, 2023, 10:58 p.m. UTC | #3
Hello again,
Funny thing, I have run the same revision as you in here https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3263
and I have different failures, but I have them:


File "/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/meta/lib/oeqa/selftest/cases/reproducible.py", line 327, in test_reproducible_builds
    self.fail('\n'.join(fails))
AssertionError: The following ipk packages are different and not in exclusion list:
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/acpid-src_2.0.34-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/avahi-src_0.8-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/bind-src_9.18.16-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/debugedit-src_5.0-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/flac-src_1.4.3-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-dev_1.6.6-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-ptest_1.6.6-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-src_1.6.6-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libmnl-src_1.0.5-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libuuid-src_2.38.1-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/log4cplus-src_2.1.0-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/lttng-tools-src_2.13.9-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-numpy-src_1.25.1-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject-dev_3.44.1-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject-src_3.44.1-r0_core2-64.ipk
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject_3.44.1-r0_core2-64.ipk

2023-07-29 00:18:31,843 - oe-selftest - INFO - ----------------------------------------------------------------------
2023-07-29 00:18:31,843 - oe-selftest - INFO - Ran 2 tests in 51978.070s
2023-07-29 00:18:31,843 - oe-selftest - INFO - FAILED
2023-07-29 00:18:31,843 - oe-selftest - INFO -  (failures=1)
2023-07-29 00:18:35,545 - oe-selftest - INFO - RESULTS:
2023-07-29 00:18:35,546 - oe-selftest - INFO - RESULTS - reproducible.DiffoscopeTests.test_diffoscope: PASSED (35.32s)
2023-07-29 00:18:35,546 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: FAILED (51940.60s)
2023-07-29 00:18:35,948 - oe-selftest - INFO - SUMMARY:
2023-07-29 00:18:35,949 - oe-selftest - INFO - oe-selftest () - Ran 2 tests in 51978.070s
2023-07-29 00:18:35,949 - oe-selftest - INFO - oe-selftest - FAIL - Required tests failed (successes=1, skipped=0, failures=1, errors=0)

due to this tests result difference, my suspicion at the moment is only the possibility of changing the format between gnu and posix depending on DISTRO_FEATURES having acl and/or xattr.

I will force now tar format to have only posix format and run another test. We will be in touch.

BR
Piotr
Piotr Łobacz July 31, 2023, 7:03 p.m. UTC | #4
OK, I have finally discovered the root cause. First of all there is another bug in yocto, for all these 19 packages.

I have compared the full timestamps with 'ls —full-time’ command in both directories (meaning reproducibleA and reproducibleB) of packages-split/acpid-src and they differ even just before packages creation…

Wysyłane z aplikacji Outlook dla systemu iOS<https://aka.ms/o0ukef>
Piotr Łobacz July 31, 2023, 7:09 p.m. UTC | #5
I’m sorry for splitting this message but it has happend by accident…

Returning to the topic my assumption is that for some reason in reproducibleA, these miliseconds are cutted and in case of reproducibleB they are not.

This was obviously working for opkg-build in case of gnu format which is cutting it also but for posix format it stores and thus error occurs.

My question is where can I find the code responsible for moving/coping data into these packages-split directories?

BR
Piotr
Joshua Watt July 31, 2023, 8:25 p.m. UTC | #6
On Mon, Jul 31, 2023 at 1:10 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:
>
> I’m sorry for splitting this message but it has happend by accident…
>
> Returning to the topic my assumption is that for some reason in reproducibleA, these miliseconds are cutted and in case of reproducibleB they are not.
>
> This was obviously working for opkg-build in case of gnu format which is cutting it also but for posix format it stores and thus error occurs.
>
> My question is where can I find the code responsible for moving/coping data into these packages-split directories?

I suspect this is because reproducibleA is allowed to restore from
sstate where the milliseconds are not preserved, while reproducibleB
doesn't restore from sstate.

I'm not sure how you would store the milliseconds in sstate and make
sure it was consistent, but that is probably where you need to look.
Start in sstate.bbclass

>
> BR
> Piotr
> ________________________________
> Od: Piotr Łobacz <p.lobacz@welotec.com>
> Wysłano: poniedziałek, lipca 31, 2023 9:03 PM
> Do: Alexandre Belloni <alexandre.belloni@bootlin.com>
> DW: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
> Temat: Re: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr
>
> OK, I have finally discovered the root cause. First of all there is another bug in yocto, for all these 19 packages.
>
> I have compared the full timestamps with 'ls —full-time’ command in both directories (meaning reproducibleA and reproducibleB) of packages-split/acpid-src and they differ even just before packages creation…
>
> Wysyłane z aplikacji Outlook dla systemu iOS
> ________________________________
> Od: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> w imieniu użytkownika Piotr Łobacz via lists.openembedded.org <p.lobacz=welotec.com@lists.openembedded.org>
> Wysłane: Saturday, July 29, 2023 12:58:51 AM
> Do: Alexandre Belloni <alexandre.belloni@bootlin.com>
> DW: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
> Temat: ODP: ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr
>
> Hello again,
> Funny thing, I have run the same revision as you in here https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3263
> and I have different failures, but I have them:
>
>
> File "/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/meta/lib/oeqa/selftest/cases/reproducible.py", line 327, in test_reproducible_builds
>     self.fail('\n'.join(fails))
> AssertionError: The following ipk packages are different and not in exclusion list:
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/acpid-src_2.0.34-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/avahi-src_0.8-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/bind-src_9.18.16-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/debugedit-src_5.0-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/flac-src_1.4.3-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-dev_1.6.6-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-ptest_1.6.6-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libjson-glib-1.0-src_1.6.6-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libmnl-src_1.0.5-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/libuuid-src_2.38.1-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/log4cplus-src_2.1.0-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/lttng-tools-src_2.13.9-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-numpy-src_1.25.1-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject-dev_3.44.1-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject-src_3.44.1-r0_core2-64.ipk
> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-pygobject_3.44.1-r0_core2-64.ipk
>
> 2023-07-29 00:18:31,843 - oe-selftest - INFO - ----------------------------------------------------------------------
> 2023-07-29 00:18:31,843 - oe-selftest - INFO - Ran 2 tests in 51978.070s
> 2023-07-29 00:18:31,843 - oe-selftest - INFO - FAILED
> 2023-07-29 00:18:31,843 - oe-selftest - INFO -  (failures=1)
> 2023-07-29 00:18:35,545 - oe-selftest - INFO - RESULTS:
> 2023-07-29 00:18:35,546 - oe-selftest - INFO - RESULTS - reproducible.DiffoscopeTests.test_diffoscope: PASSED (35.32s)
> 2023-07-29 00:18:35,546 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: FAILED (51940.60s)
> 2023-07-29 00:18:35,948 - oe-selftest - INFO - SUMMARY:
> 2023-07-29 00:18:35,949 - oe-selftest - INFO - oe-selftest () - Ran 2 tests in 51978.070s
> 2023-07-29 00:18:35,949 - oe-selftest - INFO - oe-selftest - FAIL - Required tests failed (successes=1, skipped=0, failures=1, errors=0)
>
> due to this tests result difference, my suspicion at the moment is only the possibility of changing the format between gnu and posix depending on DISTRO_FEATURES having acl and/or xattr.
>
> I will force now tar format to have only posix format and run another test. We will be in touch.
>
> BR
> Piotr
>
> ________________________________
> Od: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Wysłane: czwartek, 27 lipca 2023 16:18
> Do: Piotr Łobacz <p.lobacz@welotec.com>
> DW: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
> Temat: Re: ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr
>
> Hello,
>
> I sent this to the autobuilders and I got the same reproducibility
> failure as earlier:
>
> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fautobuilder.yoctoproject.org%2Ftyphoon%2F%23%2Fbuilders%2F117%2Fbuilds%2F3263%2Fsteps%2F13%2Flogs%2Fstdio&data=05%7C01%7Cp.lobacz%40welotec.com%7C8fb759c0e1ab49b0c69408db8eac5547%7C25111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638260643038719160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=C6mYlLwOmYosyl1ZIS8vKQf2ailFqMqBXeamF%2FnSE7E%3D&reserved=0
>
> I'm not sure why you wouldn't see those.
>
> On 26/07/2023 09:27:53+0000, Piotr Łobacz wrote:
> >
> > Hi Alexandre, Alex,
> > Thx for supporting me, I have finally discovered the issue regarding this packages differences.
> > It occurred that I was badly comparing two strings for tarformat comparison. Now it is fixed and should finally work.
> >
> > This has been additionally tested with oe-selftest -r reproducible.
> >
> > BR
> > Piotr
> >
> > Od: Piotr Łobacz <p.lobacz@welotec.com>
> > Wysłane: środa, 26 lipca 2023 11:22
> > Do: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
> > DW: Piotr Łobacz <p.lobacz@welotec.com>
> > Temat: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr
> >
> > Extend OPKGBUILDCMD variable, with additional parameters, depending
> > on target distro features, in order to support ACLs and xattr.
> >
> > With fix pushed to the opkg-devel:
> > https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fg%2Fopkg-devel%2Fc%2FdYNHrLjDwg8&data=05%7C01%7Cp.lobacz%40welotec.com%7C8fb759c0e1ab49b0c69408db8eac5547%7C25111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638260643038719160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aZziODWaDuhvajNYsPmX47BT2z2CLK8NpgFeF80X1Jg%3D&reserved=0
> > opkg-build is able to create tar archives with ACLs and xattr.
> >
> > Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
> > ---
> >  meta/classes-global/package_ipk.bbclass | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
> > index b4b7bc9ac2..a0f106e4ad 100644
> > --- a/meta/classes-global/package_ipk.bbclass
> > +++ b/meta/classes-global/package_ipk.bbclass
> > @@ -15,7 +15,7 @@ IPKGCONF_SDK_TARGET = "${WORKDIR}/opkg-sdk-target.conf"
> >  PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
> >
> >  # Program to be used to build opkg packages
> > -OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}"'
> > +OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}" ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '-A', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', '-X', '', d)}'
> >
> >  OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
> >  OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
> > --
> > 2.34.1
>
> >
> >
> >
>
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbootlin.com%2F&data=05%7C01%7Cp.lobacz%40welotec.com%7C8fb759c0e1ab49b0c69408db8eac5547%7C25111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638260643038719160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=QdR%2FSw2mI6zSaDoLdARAe4Q9CTcPPR5Jazo1mllODi4%3D&reserved=0
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#185163): https://lists.openembedded.org/g/openembedded-core/message/185163
> Mute This Topic: https://lists.openembedded.org/mt/100468421/3616693
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [JPEWhacker@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Richard Purdie July 31, 2023, 9:19 p.m. UTC | #7
On Mon, 2023-07-31 at 14:25 -0600, Joshua Watt wrote:
> On Mon, Jul 31, 2023 at 1:10 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:
> > 
> > I’m sorry for splitting this message but it has happend by accident…
> > 
> > Returning to the topic my assumption is that for some reason in reproducibleA, these miliseconds are cutted and in case of reproducibleB they are not.
> > 
> > This was obviously working for opkg-build in case of gnu format which is cutting it also but for posix format it stores and thus error occurs.
> > 
> > My question is where can I find the code responsible for moving/coping data into these packages-split directories?
> 
> I suspect this is because reproducibleA is allowed to restore from
> sstate where the milliseconds are not preserved, while reproducibleB
> doesn't restore from sstate.
> 
> I'm not sure how you would store the milliseconds in sstate and make
> sure it was consistent, but that is probably where you need to look.
> Start in sstate.bbclass

What is likely happening is that we have two cases:

a) do_package is run and do_package_write_ipk uses the files directly
from disk which has the millisecond data. do_package writes an sstate
tarball using tar in non-posix mode.

b) do_package_setscene runs instead of do_package. This restores the
tarball written into sstate in a). The millisecond data is therefore
lost. do_package_write_ipk would then be written without it.

I'd guess you need to make the sstate archives of do_package store the
acl and extended attribute data and when that is done, the millisecond
timestamp data will probably be saved too? I'm not sure this is going
to be a generally useful thing in the general case though and zeroing
the millisecond portion would really be easier in general if we could.
Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

Cheers,

Richard
Piotr Łobacz July 31, 2023, 9:23 p.m. UTC | #8
Big thx for quick response Richard.

I will look into it.

BR
Piotr
________________________________
Od: Richard Purdie <richard.purdie@linuxfoundation.org>
Wysłane: Monday, July 31, 2023 11:19:39 PM
Do: Joshua Watt <JPEWhacker@gmail.com>; Piotr Łobacz <p.lobacz@welotec.com>
DW: Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: Re: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

On Mon, 2023-07-31 at 14:25 -0600, Joshua Watt wrote:
> On Mon, Jul 31, 2023 at 1:10 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:
> >
> > I’m sorry for splitting this message but it has happend by accident…
> >
> > Returning to the topic my assumption is that for some reason in reproducibleA, these miliseconds are cutted and in case of reproducibleB they are not.
> >
> > This was obviously working for opkg-build in case of gnu format which is cutting it also but for posix format it stores and thus error occurs.
> >
> > My question is where can I find the code responsible for moving/coping data into these packages-split directories?
>
> I suspect this is because reproducibleA is allowed to restore from
> sstate where the milliseconds are not preserved, while reproducibleB
> doesn't restore from sstate.
>
> I'm not sure how you would store the milliseconds in sstate and make
> sure it was consistent, but that is probably where you need to look.
> Start in sstate.bbclass

What is likely happening is that we have two cases:

a) do_package is run and do_package_write_ipk uses the files directly
from disk which has the millisecond data. do_package writes an sstate
tarball using tar in non-posix mode.

b) do_package_setscene runs instead of do_package. This restores the
tarball written into sstate in a). The millisecond data is therefore
lost. do_package_write_ipk would then be written without it.

I'd guess you need to make the sstate archives of do_package store the
acl and extended attribute data and when that is done, the millisecond
timestamp data will probably be saved too? I'm not sure this is going
to be a generally useful thing in the general case though and zeroing
the millisecond portion would really be easier in general if we could.
Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

Cheers,

Richard
Piotr Łobacz July 31, 2023, 9:28 p.m. UTC | #9
> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too? I'm not sure this is going
> to be a generally useful thing in the general case though and zeroing
> the millisecond portion would really be easier in general if we could.
> Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

This is what we were talking about on tar mailing list, to remove this precision for posix format.
Additionally in case of acl and extended attribute data they need to be also added to this sstate
archives, which still means that it needs to be extended with posix format.

BR
Piotr
Martin Jansa Aug. 1, 2023, 1:04 p.m. UTC | #10
Just FYI:

Not sure if it's still relevant, but last time I was comparing some posix
archives from different host OSes there were some differences other than
timestamps I believe, this was 2.5 years ago showing differences between
tar 1.29 on ubuntu 18.04 and 1.33 on tumbleweed:

https://git.openembedded.org/openembedded-core/commit/?id=3ecea58f2a3382d9f4b410d6ad7089111334cb6f

Cheers,

On Mon, Jul 31, 2023 at 11:28 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:

>
>
> > I'd guess you need to make the sstate archives of do_package store the
> > acl and extended attribute data and when that is done, the millisecond
> > timestamp data will probably be saved too? I'm not sure this is going
> > to be a generally useful thing in the general case though and zeroing
> > the millisecond portion would really be easier in general if we could.
> > Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.
>
> This is what we were talking about on tar mailing list, to remove this
> precision for posix format.
> Additionally in case of acl and extended attribute data they need to be
> also added to this sstate
> archives, which still means that it needs to be extended with posix format.
>
> BR
> Piotr
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#185173):
> https://lists.openembedded.org/g/openembedded-core/message/185173
> Mute This Topic: https://lists.openembedded.org/mt/100471398/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Piotr Łobacz Aug. 1, 2023, 1:27 p.m. UTC | #11
Hi Martin, thx for the link,
actually, this error:

$ diffoscope rootfs.tumbleweed.posix.tar rootfs.ubuntu.posix.tar
 016a4c00: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-016a4c10: 6465 7273 2f63 6861 7474 722e 6532 6673  ders/chattr.e2fs
-016a4c20: 7072 6f67 7300 0000 0000 0000 0000 0000  progs...........
+016a4c10: 6465 7273 2e32 322f 6368 6174 7472 2e65  ders.22/chattr.e
+016a4c20: 3266 7370 726f 6773 0000 0000 0000 0000  2fsprogs........
...
 03937000: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-03937010: 6465 7273 2f63 6f6e 7461 696e 6572 642d  ders/containerd-
-03937020: 6374 7200 0000 0000 0000 0000 0000 0000  ctr.............
+03937010: 6465 7273 2e32 322f 636f 6e74 6169 6e65  ders.22/containe
+03937020: 7264 2d63 7472 0000 0000 0000 0000 0000  rd-ctr..........

for posix, is due to missing params "--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0"
which can be read in here https://www.gnu.org/software/tar/manual/html_node/PAX-keywords.html
in the last paragraph and I do know that this information is well hidden :P

And we have currently a talk about that on bug-tar mailing list...

Unfortunately the issue is unrelevant, because I already know that... the problem is because as Richard
pointed it out correctly:

> What is likely happening is that we have two cases:
>
> a) do_package is run and do_package_write_ipk uses the files directly
> from disk which has the millisecond data. do_package writes an sstate
> tarball using tar in non-posix mode.
> 
> b) do_package_setscene runs instead of do_package. This restores the
> tarball written into sstate in a). The millisecond data is therefore
> lost. do_package_write_ipk would then be written without it.
>
> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too? I'm not sure this is going
> to be a generally useful thing in the general case though and zeroing
> the millisecond portion would really be easier in general if we could.
> Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

And this is exactly what is happening between reproducibleA and reproducibleB,
which we can observe in both directories e.g. acpid:

plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$ ls --full-time /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0/
razem 192
-rw-r--r-- 2 plobacz plobacz 10934 2019-07-31 14:21:00.000000000 +0200 acpid.c
-rw-r--r-- 2 plobacz plobacz  1670 2018-04-11 01:51:39.000000000 +0200 acpid.h
-rw-r--r-- 2 plobacz plobacz   878 2009-04-29 16:37:13.000000000 +0200 acpi_genetlink.h
-rw-r--r-- 2 plobacz plobacz  7339 2012-02-16 21:24:42.000000000 +0100 acpi_ids.c
-rw-r--r-- 2 plobacz plobacz  1118 2012-02-16 21:24:42.000000000 +0100 acpi_ids.h
-rw-r--r-- 2 plobacz plobacz  5264 2015-07-29 00:32:35.000000000 +0200 acpi_listen.c
-rw-r--r-- 2 plobacz plobacz  4583 2013-08-16 00:49:18.000000000 +0200 connection_list.c
-rw-r--r-- 2 plobacz plobacz  2725 2013-08-15 22:24:07.000000000 +0200 connection_list.h
-rw-r--r-- 2 plobacz plobacz 17402 2018-03-29 17:07:23.000000000 +0200 event.c
-rw-r--r-- 2 plobacz plobacz  1288 2013-12-19 03:42:46.000000000 +0100 event.h
-rw-r--r-- 2 plobacz plobacz  1656 2009-04-29 16:37:13.000000000 +0200 genetlink.h
-rw-r--r-- 2 plobacz plobacz  4943 2021-08-29 18:46:00.000000000 +0200 inotify_handler.c
-rw-r--r-- 2 plobacz plobacz  1094 2009-11-09 23:03:27.000000000 +0100 inotify_handler.h
-rw-r--r-- 2 plobacz plobacz 18544 2022-08-15 16:38:03.000000000 +0200 input_layer.c
-rw-r--r-- 2 plobacz plobacz  1257 2009-11-10 00:16:59.000000000 +0100 input_layer.h
drwxr-xr-x 2 plobacz plobacz  4096 2022-09-16 03:24:42.000000000 +0200 kacpimon
-rw-r--r-- 2 plobacz plobacz 13746 2021-09-20 03:31:56.000000000 +0200 libnetlink.c
-rw-r--r-- 2 plobacz plobacz  3028 2021-09-20 03:30:25.000000000 +0200 libnetlink.h
-rw-r--r-- 2 plobacz plobacz  1401 2018-03-29 17:08:05.000000000 +0200 log.c
-rw-r--r-- 2 plobacz plobacz  1269 2018-03-29 17:08:02.000000000 +0200 log.h
-rw-r--r-- 2 plobacz plobacz  6155 2021-09-20 03:32:03.000000000 +0200 netlink.c
-rw-r--r-- 2 plobacz plobacz  1066 2009-04-29 16:37:13.000000000 +0200 netlink.h
-rw-r--r-- 2 plobacz plobacz  4876 2015-07-29 00:32:35.000000000 +0200 proc.c
-rw-r--r-- 2 plobacz plobacz  1066 2012-02-16 21:25:02.000000000 +0100 proc.h
-rw-r--r-- 2 plobacz plobacz  5018 2022-09-16 03:24:42.000000000 +0200 sock.c
-rw-r--r-- 2 plobacz plobacz  1198 2012-02-16 21:25:02.000000000 +0100 sock.h
-rw-r--r-- 2 plobacz plobacz  3007 2016-01-27 17:13:18.000000000 +0100 ud_socket.c
-rw-r--r-- 2 plobacz plobacz   352 2012-03-21 00:54:18.000000000 +0100 ud_socket.h
plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$ ls --full-time /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0/
razem 192
-rw-r--r-- 3 plobacz plobacz 10934 2019-07-31 14:21:00.861236271 +0200 acpid.c
-rw-r--r-- 3 plobacz plobacz  1670 2018-04-11 01:51:39.467499913 +0200 acpid.h
-rw-r--r-- 3 plobacz plobacz   878 2009-04-29 16:37:13.000000000 +0200 acpi_genetlink.h
-rw-r--r-- 3 plobacz plobacz  7339 2012-02-16 21:24:42.515701450 +0100 acpi_ids.c
-rw-r--r-- 3 plobacz plobacz  1118 2012-02-16 21:24:42.544701444 +0100 acpi_ids.h
-rw-r--r-- 3 plobacz plobacz  5264 2015-07-29 00:32:35.499948465 +0200 acpi_listen.c
-rw-r--r-- 3 plobacz plobacz  4583 2013-08-16 00:49:18.764134072 +0200 connection_list.c
-rw-r--r-- 3 plobacz plobacz  2725 2013-08-15 22:24:07.562169686 +0200 connection_list.h
-rw-r--r-- 3 plobacz plobacz 17402 2018-03-29 17:07:23.716843024 +0200 event.c
-rw-r--r-- 3 plobacz plobacz  1288 2013-12-19 03:42:46.529591162 +0100 event.h
-rw-r--r-- 3 plobacz plobacz  1656 2009-04-29 16:37:13.000000000 +0200 genetlink.h
-rw-r--r-- 3 plobacz plobacz  4943 2021-08-29 18:46:00.558827438 +0200 inotify_handler.c
-rw-r--r-- 3 plobacz plobacz  1094 2009-11-09 23:03:27.000000000 +0100 inotify_handler.h
-rw-r--r-- 3 plobacz plobacz 18544 2022-08-15 16:38:03.122942190 +0200 input_layer.c
-rw-r--r-- 3 plobacz plobacz  1257 2009-11-10 00:16:59.000000000 +0100 input_layer.h
drwxr-xr-x 2 plobacz plobacz  4096 2022-09-16 03:24:42.000000000 +0200 kacpimon
-rw-r--r-- 3 plobacz plobacz 13746 2021-09-20 03:31:56.196781952 +0200 libnetlink.c
-rw-r--r-- 3 plobacz plobacz  3028 2021-09-20 03:30:25.930632950 +0200 libnetlink.h
-rw-r--r-- 3 plobacz plobacz  1401 2018-03-29 17:08:05.842574608 +0200 log.c
-rw-r--r-- 3 plobacz plobacz  1269 2018-03-29 17:08:02.566518016 +0200 log.h
-rw-r--r-- 3 plobacz plobacz  6155 2021-09-20 03:32:03.418793923 +0200 netlink.c
-rw-r--r-- 3 plobacz plobacz  1066 2009-04-29 16:37:13.000000000 +0200 netlink.h
-rw-r--r-- 3 plobacz plobacz  4876 2015-07-29 00:32:35.453948235 +0200 proc.c
-rw-r--r-- 3 plobacz plobacz  1066 2012-02-16 21:25:02.924701352 +0100 proc.h
-rw-r--r-- 3 plobacz plobacz  5018 2022-09-16 03:24:42.000000000 +0200 sock.c
-rw-r--r-- 3 plobacz plobacz  1198 2012-02-16 21:25:02.925701357 +0100 sock.h
-rw-r--r-- 3 plobacz plobacz  3007 2016-01-27 17:13:18.836936981 +0100 ud_socket.c
-rw-r--r-- 3 plobacz plobacz   352 2012-03-21 00:54:18.929518037 +0100 ud_socket.h
plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$

And you see that for some reason for reproducibleA which uses sstate-cache miliseconds are lost,
due to exactly what Richard has written. Now I need to check one more thing how and were is that
exactly happening.

BR
Piotr

Od: Martin Jansa <martin.jansa@gmail.com>
Wysłane: wtorek, 1 sierpnia 2023 15:04
Do: Piotr Łobacz <p.lobacz@welotec.com>
DW: Richard Purdie <richard.purdie@linuxfoundation.org>; Joshua Watt <JPEWhacker@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: Re: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr 
 
Just FYI: 

Not sure if it's still relevant, but last time I was comparing some posix archives from different host OSes there were some differences other than timestamps I believe, this was 2.5 years ago showing differences between tar 1.29 on ubuntu 18.04 and 1.33 on tumbleweed: 

https://git.openembedded.org/openembedded-core/commit/?id=3ecea58f2a3382d9f4b410d6ad7089111334cb6f

Cheers,

On Mon, Jul 31, 2023 at 11:28 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:


> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too? I'm not sure this is going
> to be a generally useful thing in the general case though and zeroing
> the millisecond portion would really be easier in general if we could.
> Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

This is what we were talking about on tar mailing list, to remove this precision for posix format.
Additionally in case of acl and extended attribute data they need to be also added to this sstate
archives, which still means that it needs to be extended with posix format.

BR
Piotr




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185173): https://lists.openembedded.org/g/openembedded-core/message/185173
Mute This Topic: https://lists.openembedded.org/mt/100471398/3617156
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Martin.Jansa@gmail.com]
-=-=-=-=-=-=-=-=-=-=-=-
Piotr Łobacz Aug. 1, 2023, 3:16 p.m. UTC | #12
Hi Richard,
you were right. I have made another test with wiping out whole sstate-cache for acpid and rerunning the whole reproducible test.
It occurs that the package /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build/sstate-cache/a7/41/sstate:acpid:core2-64-poky-linux:2.0.34:r0:core2-64:11:a741afe7c0bfc218a844a546735ddc4dcaf578bff5d6a3762b1bdedf0819fc9b_package.tar.zst was already containing wrong timestamps.

> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too?

So I'm guessing that commands which are producing this package_name_package.tar.zst are producing it in gnu format. Question is where can I find it?
Is it being produced in this sstate.bbclass or elsewhere?

BR
Piotr

Od: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> w imieniu użytkownika Piotr Łobacz via lists.openembedded.org <p.lobacz=welotec.com@lists.openembedded.org>
Wysłane: wtorek, 1 sierpnia 2023 15:27
Do: Martin Jansa <martin.jansa@gmail.com>
DW: Richard Purdie <richard.purdie@linuxfoundation.org>; Joshua Watt <JPEWhacker@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

Hi Martin, thx for the link,
actually, this error:

$ diffoscope rootfs.tumbleweed.posix.tar rootfs.ubuntu.posix.tar
 016a4c00: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-016a4c10: 6465 7273 2f63 6861 7474 722e 6532 6673  ders/chattr.e2fs
-016a4c20: 7072 6f67 7300 0000 0000 0000 0000 0000  progs...........
+016a4c10: 6465 7273 2e32 322f 6368 6174 7472 2e65  ders.22/chattr.e
+016a4c20: 3266 7370 726f 6773 0000 0000 0000 0000  2fsprogs........
...
 03937000: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-03937010: 6465 7273 2f63 6f6e 7461 696e 6572 642d  ders/containerd-
-03937020: 6374 7200 0000 0000 0000 0000 0000 0000  ctr.............
+03937010: 6465 7273 2e32 322f 636f 6e74 6169 6e65  ders.22/containe
+03937020: 7264 2d63 7472 0000 0000 0000 0000 0000  rd-ctr..........

for posix, is due to missing params "--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0"
which can be read in here https://www.gnu.org/software/tar/manual/html_node/PAX-keywords.html
in the last paragraph and I do know that this information is well hidden :P

And we have currently a talk about that on bug-tar mailing list...

Unfortunately the issue is unrelevant, because I already know that... the problem is because as Richard
pointed it out correctly:

> What is likely happening is that we have two cases:
>
> a) do_package is run and do_package_write_ipk uses the files directly
> from disk which has the millisecond data. do_package writes an sstate
> tarball using tar in non-posix mode.
>
> b) do_package_setscene runs instead of do_package. This restores the
> tarball written into sstate in a). The millisecond data is therefore
> lost. do_package_write_ipk would then be written without it.
>
> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too? I'm not sure this is going
> to be a generally useful thing in the general case though and zeroing
> the millisecond portion would really be easier in general if we could.
> Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

And this is exactly what is happening between reproducibleA and reproducibleB,
which we can observe in both directories e.g. acpid:

plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$ ls --full-time /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0/
razem 192
-rw-r--r-- 2 plobacz plobacz 10934 2019-07-31 14:21:00.000000000 +0200 acpid.c
-rw-r--r-- 2 plobacz plobacz  1670 2018-04-11 01:51:39.000000000 +0200 acpid.h
-rw-r--r-- 2 plobacz plobacz   878 2009-04-29 16:37:13.000000000 +0200 acpi_genetlink.h
-rw-r--r-- 2 plobacz plobacz  7339 2012-02-16 21:24:42.000000000 +0100 acpi_ids.c
-rw-r--r-- 2 plobacz plobacz  1118 2012-02-16 21:24:42.000000000 +0100 acpi_ids.h
-rw-r--r-- 2 plobacz plobacz  5264 2015-07-29 00:32:35.000000000 +0200 acpi_listen.c
-rw-r--r-- 2 plobacz plobacz  4583 2013-08-16 00:49:18.000000000 +0200 connection_list.c
-rw-r--r-- 2 plobacz plobacz  2725 2013-08-15 22:24:07.000000000 +0200 connection_list.h
-rw-r--r-- 2 plobacz plobacz 17402 2018-03-29 17:07:23.000000000 +0200 event.c
-rw-r--r-- 2 plobacz plobacz  1288 2013-12-19 03:42:46.000000000 +0100 event.h
-rw-r--r-- 2 plobacz plobacz  1656 2009-04-29 16:37:13.000000000 +0200 genetlink.h
-rw-r--r-- 2 plobacz plobacz  4943 2021-08-29 18:46:00.000000000 +0200 inotify_handler.c
-rw-r--r-- 2 plobacz plobacz  1094 2009-11-09 23:03:27.000000000 +0100 inotify_handler.h
-rw-r--r-- 2 plobacz plobacz 18544 2022-08-15 16:38:03.000000000 +0200 input_layer.c
-rw-r--r-- 2 plobacz plobacz  1257 2009-11-10 00:16:59.000000000 +0100 input_layer.h
drwxr-xr-x 2 plobacz plobacz  4096 2022-09-16 03:24:42.000000000 +0200 kacpimon
-rw-r--r-- 2 plobacz plobacz 13746 2021-09-20 03:31:56.000000000 +0200 libnetlink.c
-rw-r--r-- 2 plobacz plobacz  3028 2021-09-20 03:30:25.000000000 +0200 libnetlink.h
-rw-r--r-- 2 plobacz plobacz  1401 2018-03-29 17:08:05.000000000 +0200 log.c
-rw-r--r-- 2 plobacz plobacz  1269 2018-03-29 17:08:02.000000000 +0200 log.h
-rw-r--r-- 2 plobacz plobacz  6155 2021-09-20 03:32:03.000000000 +0200 netlink.c
-rw-r--r-- 2 plobacz plobacz  1066 2009-04-29 16:37:13.000000000 +0200 netlink.h
-rw-r--r-- 2 plobacz plobacz  4876 2015-07-29 00:32:35.000000000 +0200 proc.c
-rw-r--r-- 2 plobacz plobacz  1066 2012-02-16 21:25:02.000000000 +0100 proc.h
-rw-r--r-- 2 plobacz plobacz  5018 2022-09-16 03:24:42.000000000 +0200 sock.c
-rw-r--r-- 2 plobacz plobacz  1198 2012-02-16 21:25:02.000000000 +0100 sock.h
-rw-r--r-- 2 plobacz plobacz  3007 2016-01-27 17:13:18.000000000 +0100 ud_socket.c
-rw-r--r-- 2 plobacz plobacz   352 2012-03-21 00:54:18.000000000 +0100 ud_socket.h
plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$ ls --full-time /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleB/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0/
razem 192
-rw-r--r-- 3 plobacz plobacz 10934 2019-07-31 14:21:00.861236271 +0200 acpid.c
-rw-r--r-- 3 plobacz plobacz  1670 2018-04-11 01:51:39.467499913 +0200 acpid.h
-rw-r--r-- 3 plobacz plobacz   878 2009-04-29 16:37:13.000000000 +0200 acpi_genetlink.h
-rw-r--r-- 3 plobacz plobacz  7339 2012-02-16 21:24:42.515701450 +0100 acpi_ids.c
-rw-r--r-- 3 plobacz plobacz  1118 2012-02-16 21:24:42.544701444 +0100 acpi_ids.h
-rw-r--r-- 3 plobacz plobacz  5264 2015-07-29 00:32:35.499948465 +0200 acpi_listen.c
-rw-r--r-- 3 plobacz plobacz  4583 2013-08-16 00:49:18.764134072 +0200 connection_list.c
-rw-r--r-- 3 plobacz plobacz  2725 2013-08-15 22:24:07.562169686 +0200 connection_list.h
-rw-r--r-- 3 plobacz plobacz 17402 2018-03-29 17:07:23.716843024 +0200 event.c
-rw-r--r-- 3 plobacz plobacz  1288 2013-12-19 03:42:46.529591162 +0100 event.h
-rw-r--r-- 3 plobacz plobacz  1656 2009-04-29 16:37:13.000000000 +0200 genetlink.h
-rw-r--r-- 3 plobacz plobacz  4943 2021-08-29 18:46:00.558827438 +0200 inotify_handler.c
-rw-r--r-- 3 plobacz plobacz  1094 2009-11-09 23:03:27.000000000 +0100 inotify_handler.h
-rw-r--r-- 3 plobacz plobacz 18544 2022-08-15 16:38:03.122942190 +0200 input_layer.c
-rw-r--r-- 3 plobacz plobacz  1257 2009-11-10 00:16:59.000000000 +0100 input_layer.h
drwxr-xr-x 2 plobacz plobacz  4096 2022-09-16 03:24:42.000000000 +0200 kacpimon
-rw-r--r-- 3 plobacz plobacz 13746 2021-09-20 03:31:56.196781952 +0200 libnetlink.c
-rw-r--r-- 3 plobacz plobacz  3028 2021-09-20 03:30:25.930632950 +0200 libnetlink.h
-rw-r--r-- 3 plobacz plobacz  1401 2018-03-29 17:08:05.842574608 +0200 log.c
-rw-r--r-- 3 plobacz plobacz  1269 2018-03-29 17:08:02.566518016 +0200 log.h
-rw-r--r-- 3 plobacz plobacz  6155 2021-09-20 03:32:03.418793923 +0200 netlink.c
-rw-r--r-- 3 plobacz plobacz  1066 2009-04-29 16:37:13.000000000 +0200 netlink.h
-rw-r--r-- 3 plobacz plobacz  4876 2015-07-29 00:32:35.453948235 +0200 proc.c
-rw-r--r-- 3 plobacz plobacz  1066 2012-02-16 21:25:02.924701352 +0100 proc.h
-rw-r--r-- 3 plobacz plobacz  5018 2022-09-16 03:24:42.000000000 +0200 sock.c
-rw-r--r-- 3 plobacz plobacz  1198 2012-02-16 21:25:02.925701357 +0100 sock.h
-rw-r--r-- 3 plobacz plobacz  3007 2016-01-27 17:13:18.836936981 +0100 ud_socket.c
-rw-r--r-- 3 plobacz plobacz   352 2012-03-21 00:54:18.929518037 +0100 ud_socket.h
plobacz@latitude:/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib$

And you see that for some reason for reproducibleA which uses sstate-cache miliseconds are lost,
due to exactly what Richard has written. Now I need to check one more thing how and were is that
exactly happening.

BR
Piotr

Od: Martin Jansa <martin.jansa@gmail.com>
Wysłane: wtorek, 1 sierpnia 2023 15:04
Do: Piotr Łobacz <p.lobacz@welotec.com>
DW: Richard Purdie <richard.purdie@linuxfoundation.org>; Joshua Watt <JPEWhacker@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: Re: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

Just FYI:

Not sure if it's still relevant, but last time I was comparing some posix archives from different host OSes there were some differences other than timestamps I believe, this was 2.5 years ago showing differences between tar 1.29 on ubuntu 18.04 and 1.33 on tumbleweed:

https://git.openembedded.org/openembedded-core/commit/?id=3ecea58f2a3382d9f4b410d6ad7089111334cb6f

Cheers,

On Mon, Jul 31, 2023 at 11:28 PM Piotr Łobacz <p.lobacz@welotec.com> wrote:


> I'd guess you need to make the sstate archives of do_package store the
> acl and extended attribute data and when that is done, the millisecond
> timestamp data will probably be saved too? I'm not sure this is going
> to be a generally useful thing in the general case though and zeroing
> the millisecond portion would really be easier in general if we could.
> Certainly, SOURCE_DATE_EPOCH doesn't have millisecond precision.

This is what we were talking about on tar mailing list, to remove this precision for posix format.
Additionally in case of acl and extended attribute data they need to be also added to this sstate
archives, which still means that it needs to be extended with posix format.

BR
Piotr
Richard Purdie Aug. 1, 2023, 3:41 p.m. UTC | #13
On Tue, 2023-08-01 at 15:16 +0000, Piotr Łobacz wrote:
> Hi Richard,
> you were right. I have made another test with wiping out whole sstate-cache for acpid and rerunning the whole reproducible test.
> It occurs that the package /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build/sstate-cache/a7/41/sstate:acpid:core2-64-poky-linux:2.0.34:r0:core2-64:11:a741afe7c0bfc218a844a546735ddc4dcaf578bff5d6a3762b1bdedf0819fc9b_package.tar.zst was already containing wrong timestamps.
> 
> > I'd guess you need to make the sstate archives of do_package store the
> > acl and extended attribute data and when that is done, the millisecond
> > timestamp data will probably be saved too?
> 
> So I'm guessing that commands which are producing this package_name_package.tar.zst are producing it in gnu format. Question is where can I find it?
> Is it being produced in this sstate.bbclass or elsewhere?

https://git.yoctoproject.org/poky/tree/meta/classes-global/sstate.bbclass#n859

tar -I "$ZSTD" $OPT -f $TFILE *

or

tar -I "$ZSTD" $OPT --file=$TFILE --files-from=/dev/null

Cheers,

Richard
Piotr Łobacz Aug. 1, 2023, 4 p.m. UTC | #14
That is what I was thinking for the first time, but by default tar is being run with posix,
so, it is not possible that these commands are responsible for this...

My guess is about do_package from package.bbclass and it calls this createCopy function which calls copyhardlinktree.
And to my supprise there is also tar command, but it is written there:

        # Need to copy directories only with tar first since cp will error if two
        # writers try and create a directory at the same time

and afterwards is this cp command with --preserve=xattrs and according to cp manual we can also preserve timestamps.

Correct me if my thinking is wrong.

I'm giving it a shot and will inform you about progress.

BR
Piotr
Piotr Łobacz Aug. 2, 2023, 1:17 a.m. UTC | #15
Hi Richard,
back again, you were absolutely right I have added in here https://git.yoctoproject.org/poky/tree/meta/classes-global/sstate.bbclass#n847
stupid check `ls -R --full-time "${SSTATE_BUILDDIR}" >> /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/sstate_pkg.log`
and than run again the test.

Now, I'm sorry for this huge spam but I want to show what happens:

${SSTATE_PKG}=/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build/sstate-cache/81/96/sstate:acpid:core2-64-poky-linux:2.0.34:r0:core2-64:11:8196f1f3e3094158d888b6ead4b56624c52fa363d1133c447bfc88398e5f7fc6_package.tar.zst ${SSTATE_BUILDDIR}=/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/
/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/:
total 12
drwxr-xr-x 5 root root 4096 2022-09-16 01:24:42.000000000 +0000 package
drwxr-xr-x 9 root root 4096 2022-09-16 01:24:42.000000000 +0000 packages-split
drwxr-xr-x 7 root root 4096 2022-09-16 01:24:42.000000000 +0000 pkgdata

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package:
total 12
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 etc
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 lib
drwxr-xr-x 6 root root 4096 2022-09-16 01:24:42.000000000 +0000 usr

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/etc:
total 8
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpi
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 init.d

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/etc/acpi:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 events

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/etc/acpi/events:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/etc/init.d:
total 4
-rwxr-xr-x 2 root root 728 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/lib:
total 4
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 systemd

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/lib/systemd:
total 8
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 system
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 system-preset

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/lib/systemd/system:
total 4
-rw-r--r-- 2 root root 145 2022-09-16 01:24:42.000000000 +0000 acpid.service

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/lib/systemd/system-preset:
total 4
-rw-r--r-- 2 root root 21 2022-09-16 01:24:42.000000000 +0000 98-acpid.preset

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr:
total 16
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 bin
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 sbin
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 share
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 src

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/bin:
total 44
-rwxr-xr-x 2 root root 43008 2022-09-16 01:24:42.000000000 +0000 acpi_listen

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/sbin:
total 288
-rwxr-xr-x 2 root root 193320 2022-09-16 01:24:42.000000000 +0000 acpid
-rwxr-xr-x 2 root root  94856 2022-09-16 01:24:42.000000000 +0000 kacpimon

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/share:
total 8
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 doc
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 man

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/share/doc:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/share/doc/acpid:
total 60
-rw-r--r-- 2 root root 27404 2022-09-16 01:24:42.000000000 +0000 Changelog
-rw-r--r-- 2 root root 17982 2022-09-16 01:24:42.000000000 +0000 COPYING
-rw-r--r-- 2 root root  3069 2022-09-16 01:24:42.000000000 +0000 README
-rw-r--r-- 2 root root  3639 2022-09-16 01:24:42.000000000 +0000 TESTPLAN
-rw-r--r-- 2 root root  1289 2022-09-16 01:24:42.000000000 +0000 TODO

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/share/man:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 man8

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/share/man/man8:
total 20
-rw-r--r-- 2 root root 9927 2022-09-16 01:24:42.000000000 +0000 acpid.8
-rw-r--r-- 2 root root 1296 2022-09-16 01:24:42.000000000 +0000 acpi_listen.8
-rw-r--r-- 2 root root 2280 2022-09-16 01:24:42.000000000 +0000 kacpimon.8

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/src:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 debug

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/src/debug:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/src/debug/acpid:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 2.0.34-r0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/src/debug/acpid/2.0.34-r0:
total 192
-rw-r--r-- 3 root root 10934 2019-07-31 12:21:00.861236271 +0000 acpid.c
-rw-r--r-- 3 root root  1670 2018-04-10 23:51:39.467499913 +0000 acpid.h
-rw-r--r-- 3 root root   878 2009-04-29 14:37:13.000000000 +0000 acpi_genetlink.h
-rw-r--r-- 3 root root  7339 2012-02-16 20:24:42.515701450 +0000 acpi_ids.c
-rw-r--r-- 3 root root  1118 2012-02-16 20:24:42.544701444 +0000 acpi_ids.h
-rw-r--r-- 3 root root  5264 2015-07-28 22:32:35.499948465 +0000 acpi_listen.c
-rw-r--r-- 3 root root  4583 2013-08-15 22:49:18.764134072 +0000 connection_list.c
-rw-r--r-- 3 root root  2725 2013-08-15 20:24:07.562169686 +0000 connection_list.h
-rw-r--r-- 3 root root 17402 2018-03-29 15:07:23.716843024 +0000 event.c
-rw-r--r-- 3 root root  1288 2013-12-19 02:42:46.529591162 +0000 event.h
-rw-r--r-- 3 root root  1656 2009-04-29 14:37:13.000000000 +0000 genetlink.h
-rw-r--r-- 3 root root  4943 2021-08-29 16:46:00.558827438 +0000 inotify_handler.c
-rw-r--r-- 3 root root  1094 2009-11-09 22:03:27.000000000 +0000 inotify_handler.h
-rw-r--r-- 3 root root 18544 2022-08-15 14:38:03.122942190 +0000 input_layer.c
-rw-r--r-- 3 root root  1257 2009-11-09 23:16:59.000000000 +0000 input_layer.h
drwxr-xr-x 2 root root  4096 2022-09-16 01:24:42.000000000 +0000 kacpimon
-rw-r--r-- 3 root root 13746 2021-09-20 01:31:56.196781952 +0000 libnetlink.c
-rw-r--r-- 3 root root  3028 2021-09-20 01:30:25.930632950 +0000 libnetlink.h
-rw-r--r-- 3 root root  1401 2018-03-29 15:08:05.842574608 +0000 log.c
-rw-r--r-- 3 root root  1269 2018-03-29 15:08:02.566518016 +0000 log.h
-rw-r--r-- 3 root root  6155 2021-09-20 01:32:03.418793923 +0000 netlink.c
-rw-r--r-- 3 root root  1066 2009-04-29 14:37:13.000000000 +0000 netlink.h
-rw-r--r-- 3 root root  4876 2015-07-28 22:32:35.453948235 +0000 proc.c
-rw-r--r-- 3 root root  1066 2012-02-16 20:25:02.924701352 +0000 proc.h
-rw-r--r-- 3 root root  5018 2022-09-16 01:24:42.000000000 +0000 sock.c
-rw-r--r-- 3 root root  1198 2012-02-16 20:25:02.925701357 +0000 sock.h
-rw-r--r-- 3 root root  3007 2016-01-27 16:13:18.836936981 +0000 ud_socket.c
-rw-r--r-- 3 root root   352 2012-03-20 23:54:18.929518037 +0000 ud_socket.h

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/package/usr/src/debug/acpid/2.0.34-r0/kacpimon:
total 80
-rw-r--r-- 3 root root   878 2007-07-20 06:30:46.000000000 +0000 acpi_genetlink.h
-rw-r--r-- 3 root root  7172 2012-02-17 04:09:31.971838002 +0000 acpi_ids.c
-rw-r--r-- 3 root root  1118 2012-02-17 04:02:39.842852687 +0000 acpi_ids.h
-rw-r--r-- 3 root root  2788 2018-11-07 00:17:33.622466168 +0000 connection_list.c
-rw-r--r-- 3 root root  1851 2013-08-15 20:23:36.896169812 +0000 connection_list.h
-rw-r--r-- 3 root root  1656 2008-11-10 00:45:55.000000000 +0000 genetlink.h
-rw-r--r-- 3 root root  4075 2012-02-17 04:10:45.463835383 +0000 input_layer.c
-rw-r--r-- 3 root root  1151 2008-11-13 23:40:17.000000000 +0000 input_layer.h
-rw-r--r-- 3 root root  4650 2012-02-17 04:13:20.288829866 +0000 kacpimon.c
-rw-r--r-- 3 root root  1180 2008-12-14 22:09:24.000000000 +0000 kacpimon.h
-rw-r--r-- 3 root root 13720 2021-09-20 01:32:49.077869766 +0000 libnetlink.c
-rw-r--r-- 3 root root  3051 2021-09-20 01:32:38.182851644 +0000 libnetlink.h
-rw-r--r-- 3 root root  5304 2012-02-17 04:15:01.295826266 +0000 netlink.c
-rw-r--r-- 3 root root  1066 2008-11-13 23:40:06.000000000 +0000 netlink.h

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split:
total 32
drwxrwxrwx 5 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid
drwxrwxrwx 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-dbg
drwxrwxrwx 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-dev
drwxrwxrwx 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-doc
drwxrwxrwx 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-locale
-rw-r--r-- 1 root root   16 2022-09-16 01:24:42.000000000 +0000 acpid.shlibdeps
drwxrwxrwx 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-src
drwxrwxrwx 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid-staticdev

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid:
total 12
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 etc
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 lib
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 usr

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/etc:
total 8
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpi
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 init.d

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/etc/acpi:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 events

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/etc/acpi/events:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/etc/init.d:
total 4
-rwxr-xr-x 2 root root 728 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/lib:
total 4
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 systemd

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/lib/systemd:
total 8
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 system
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 system-preset

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/lib/systemd/system:
total 4
-rw-r--r-- 2 root root 145 2022-09-16 01:24:42.000000000 +0000 acpid.service

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/lib/systemd/system-preset:
total 4
-rw-r--r-- 2 root root 21 2022-09-16 01:24:42.000000000 +0000 98-acpid.preset

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/usr:
total 8
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 bin
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 sbin

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/usr/bin:
total 44
-rwxr-xr-x 2 root root 43008 2022-09-16 01:24:42.000000000 +0000 acpi_listen

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid/usr/sbin:
total 288
-rwxr-xr-x 2 root root 193320 2022-09-16 01:24:42.000000000 +0000 acpid
-rwxr-xr-x 2 root root  94856 2022-09-16 01:24:42.000000000 +0000 kacpimon

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-dbg:
total 4
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 usr

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-dbg/usr:
total 8
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 bin
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 sbin

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-dbg/usr/bin:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-dbg/usr/sbin:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-dev:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 usr

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr:
total 4
drwxr-xr-x 4 root root 4096 2022-09-16 01:24:42.000000000 +0000 share

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr/share:
total 8
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 doc
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 man

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr/share/doc:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr/share/doc/acpid:
total 60
-rw-r--r-- 2 root root 27404 2022-09-16 01:24:42.000000000 +0000 Changelog
-rw-r--r-- 2 root root 17982 2022-09-16 01:24:42.000000000 +0000 COPYING
-rw-r--r-- 2 root root  3069 2022-09-16 01:24:42.000000000 +0000 README
-rw-r--r-- 2 root root  3639 2022-09-16 01:24:42.000000000 +0000 TESTPLAN
-rw-r--r-- 2 root root  1289 2022-09-16 01:24:42.000000000 +0000 TODO

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr/share/man:
total 4
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 man8

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-doc/usr/share/man/man8:
total 20
-rw-r--r-- 2 root root 9927 2022-09-16 01:24:42.000000000 +0000 acpid.8
-rw-r--r-- 2 root root 1296 2022-09-16 01:24:42.000000000 +0000 acpi_listen.8
-rw-r--r-- 2 root root 2280 2022-09-16 01:24:42.000000000 +0000 kacpimon.8

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-locale:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 usr

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 src

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr/src:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 debug

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr/src/debug:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 acpid

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr/src/debug/acpid:
total 4
drwxr-xr-x 3 root root 4096 2022-09-16 01:24:42.000000000 +0000 2.0.34-r0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0:
total 192
-rw-r--r-- 3 root root 10934 2019-07-31 12:21:00.861236271 +0000 acpid.c
-rw-r--r-- 3 root root  1670 2018-04-10 23:51:39.467499913 +0000 acpid.h
-rw-r--r-- 3 root root   878 2009-04-29 14:37:13.000000000 +0000 acpi_genetlink.h
-rw-r--r-- 3 root root  7339 2012-02-16 20:24:42.515701450 +0000 acpi_ids.c
-rw-r--r-- 3 root root  1118 2012-02-16 20:24:42.544701444 +0000 acpi_ids.h
-rw-r--r-- 3 root root  5264 2015-07-28 22:32:35.499948465 +0000 acpi_listen.c
-rw-r--r-- 3 root root  4583 2013-08-15 22:49:18.764134072 +0000 connection_list.c
-rw-r--r-- 3 root root  2725 2013-08-15 20:24:07.562169686 +0000 connection_list.h
-rw-r--r-- 3 root root 17402 2018-03-29 15:07:23.716843024 +0000 event.c
-rw-r--r-- 3 root root  1288 2013-12-19 02:42:46.529591162 +0000 event.h
-rw-r--r-- 3 root root  1656 2009-04-29 14:37:13.000000000 +0000 genetlink.h
-rw-r--r-- 3 root root  4943 2021-08-29 16:46:00.558827438 +0000 inotify_handler.c
-rw-r--r-- 3 root root  1094 2009-11-09 22:03:27.000000000 +0000 inotify_handler.h
-rw-r--r-- 3 root root 18544 2022-08-15 14:38:03.122942190 +0000 input_layer.c
-rw-r--r-- 3 root root  1257 2009-11-09 23:16:59.000000000 +0000 input_layer.h
drwxr-xr-x 2 root root  4096 2022-09-16 01:24:42.000000000 +0000 kacpimon
-rw-r--r-- 3 root root 13746 2021-09-20 01:31:56.196781952 +0000 libnetlink.c
-rw-r--r-- 3 root root  3028 2021-09-20 01:30:25.930632950 +0000 libnetlink.h
-rw-r--r-- 3 root root  1401 2018-03-29 15:08:05.842574608 +0000 log.c
-rw-r--r-- 3 root root  1269 2018-03-29 15:08:02.566518016 +0000 log.h
-rw-r--r-- 3 root root  6155 2021-09-20 01:32:03.418793923 +0000 netlink.c
-rw-r--r-- 3 root root  1066 2009-04-29 14:37:13.000000000 +0000 netlink.h
-rw-r--r-- 3 root root  4876 2015-07-28 22:32:35.453948235 +0000 proc.c
-rw-r--r-- 3 root root  1066 2012-02-16 20:25:02.924701352 +0000 proc.h
-rw-r--r-- 3 root root  5018 2022-09-16 01:24:42.000000000 +0000 sock.c
-rw-r--r-- 3 root root  1198 2012-02-16 20:25:02.925701357 +0000 sock.h
-rw-r--r-- 3 root root  3007 2016-01-27 16:13:18.836936981 +0000 ud_socket.c
-rw-r--r-- 3 root root   352 2012-03-20 23:54:18.929518037 +0000 ud_socket.h

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-src/usr/src/debug/acpid/2.0.34-r0/kacpimon:
total 80
-rw-r--r-- 3 root root   878 2007-07-20 06:30:46.000000000 +0000 acpi_genetlink.h
-rw-r--r-- 3 root root  7172 2012-02-17 04:09:31.971838002 +0000 acpi_ids.c
-rw-r--r-- 3 root root  1118 2012-02-17 04:02:39.842852687 +0000 acpi_ids.h
-rw-r--r-- 3 root root  2788 2018-11-07 00:17:33.622466168 +0000 connection_list.c
-rw-r--r-- 3 root root  1851 2013-08-15 20:23:36.896169812 +0000 connection_list.h
-rw-r--r-- 3 root root  1656 2008-11-10 00:45:55.000000000 +0000 genetlink.h
-rw-r--r-- 3 root root  4075 2012-02-17 04:10:45.463835383 +0000 input_layer.c
-rw-r--r-- 3 root root  1151 2008-11-13 23:40:17.000000000 +0000 input_layer.h
-rw-r--r-- 3 root root  4650 2012-02-17 04:13:20.288829866 +0000 kacpimon.c
-rw-r--r-- 3 root root  1180 2008-12-14 22:09:24.000000000 +0000 kacpimon.h
-rw-r--r-- 3 root root 13720 2021-09-20 01:32:49.077869766 +0000 libnetlink.c
-rw-r--r-- 3 root root  3051 2021-09-20 01:32:38.182851644 +0000 libnetlink.h
-rw-r--r-- 3 root root  5304 2012-02-17 04:15:01.295826266 +0000 netlink.c
-rw-r--r-- 3 root root  1066 2008-11-13 23:40:06.000000000 +0000 netlink.h

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/packages-split/acpid-staticdev:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata:
total 24
-rw-r--r-- 1 root root   85 2022-09-16 01:24:42.000000000 +0000 acpid
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 extended
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 runtime
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 runtime-reverse
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 runtime-rprovides
drwxr-xr-x 2 root root 4096 2022-09-16 01:24:42.000000000 +0000 shlibs2

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata/extended:
total 28
-rw-r--r-- 1 root root  121 2022-09-16 01:24:42.000000000 +0000 acpid-dbg.json.zstd
-rw-r--r-- 1 root root   42 2022-09-16 01:24:42.000000000 +0000 acpid-dev.json.zstd
-rw-r--r-- 1 root root  193 2022-09-16 01:24:42.000000000 +0000 acpid-doc.json.zstd
-rw-r--r-- 1 root root 1138 2022-09-16 01:24:42.000000000 +0000 acpid.json.zstd
-rw-r--r-- 1 root root   42 2022-09-16 01:24:42.000000000 +0000 acpid-locale.json.zstd
-rw-r--r-- 1 root root  478 2022-09-16 01:24:42.000000000 +0000 acpid-src.json.zstd
-rw-r--r-- 1 root root   42 2022-09-16 01:24:42.000000000 +0000 acpid-staticdev.json.zstd

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata/runtime:
total 28
-rw-r--r-- 1 root root 3728 2022-09-16 01:24:42.000000000 +0000 acpid
-rw-r--r-- 1 root root  967 2022-09-16 01:24:42.000000000 +0000 acpid-dbg
-rw-r--r-- 1 root root    0 2022-09-16 01:24:42.000000000 +0000 acpid-dbg.packaged
-rw-r--r-- 1 root root 1164 2022-09-16 01:24:42.000000000 +0000 acpid-dev
-rw-r--r-- 1 root root    0 2022-09-16 01:24:42.000000000 +0000 acpid-dev.packaged
-rw-r--r-- 1 root root 1119 2022-09-16 01:24:42.000000000 +0000 acpid-doc
-rw-r--r-- 1 root root    0 2022-09-16 01:24:42.000000000 +0000 acpid-doc.packaged
-rw-r--r-- 1 root root  651 2022-09-16 01:24:42.000000000 +0000 acpid-locale
-rw-r--r-- 1 root root    0 2022-09-16 01:24:42.000000000 +0000 acpid.packaged
-rw-r--r-- 1 root root 2995 2022-09-16 01:24:42.000000000 +0000 acpid-src
-rw-r--r-- 1 root root    0 2022-09-16 01:24:42.000000000 +0000 acpid-src.packaged
-rw-r--r-- 1 root root  907 2022-09-16 01:24:42.000000000 +0000 acpid-staticdev

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata/runtime-reverse:
total 0
lrwxrwxrwx 1 root root 16 2022-09-16 01:24:42.000000000 +0000 acpid -> ../runtime/acpid
lrwxrwxrwx 1 root root 20 2022-09-16 01:24:42.000000000 +0000 acpid-dbg -> ../runtime/acpid-dbg
lrwxrwxrwx 1 root root 20 2022-09-16 01:24:42.000000000 +0000 acpid-dev -> ../runtime/acpid-dev
lrwxrwxrwx 1 root root 20 2022-09-16 01:24:42.000000000 +0000 acpid-doc -> ../runtime/acpid-doc
lrwxrwxrwx 1 root root 20 2022-09-16 01:24:42.000000000 +0000 acpid-src -> ../runtime/acpid-src

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata/runtime-rprovides:
total 0

/media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build-st/reproducibleA/tmp/work/core2-64-poky-linux/acpid/2.0.34-r0/sstate-build-package/pkgdata/shlibs2:
total 0

As you can see all data have correct timestamps and when I extract this file /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build/sstate-cache/81/96/sstate:acpid:core2-64-poky-linux:2.0.34:r0:core2-64:11:8196f1f3e3094158d888b6ead4b56624c52fa363d1133c447bfc88398e5f7fc6_package.tar.zst the disapper e.g.

./package/usr/src/debug/acpid/2.0.34-r0:
razem 192
-rw-r--r-- 2 plobacz plobacz 10934 2019-07-31 14:21:00.000000000 +0200 acpid.c
-rw-r--r-- 2 plobacz plobacz  1670 2018-04-11 01:51:39.000000000 +0200 acpid.h
-rw-r--r-- 2 plobacz plobacz   878 2009-04-29 16:37:13.000000000 +0200 acpi_genetlink.h
-rw-r--r-- 2 plobacz plobacz  7339 2012-02-16 21:24:42.000000000 +0100 acpi_ids.c
-rw-r--r-- 2 plobacz plobacz  1118 2012-02-16 21:24:42.000000000 +0100 acpi_ids.h
-rw-r--r-- 2 plobacz plobacz  5264 2015-07-29 00:32:35.000000000 +0200 acpi_listen.c
-rw-r--r-- 2 plobacz plobacz  4583 2013-08-16 00:49:18.000000000 +0200 connection_list.c
-rw-r--r-- 2 plobacz plobacz  2725 2013-08-15 22:24:07.000000000 +0200 connection_list.h
-rw-r--r-- 2 plobacz plobacz 17402 2018-03-29 17:07:23.000000000 +0200 event.c
-rw-r--r-- 2 plobacz plobacz  1288 2013-12-19 03:42:46.000000000 +0100 event.h
-rw-r--r-- 2 plobacz plobacz  1656 2009-04-29 16:37:13.000000000 +0200 genetlink.h
-rw-r--r-- 2 plobacz plobacz  4943 2021-08-29 18:46:00.000000000 +0200 inotify_handler.c
-rw-r--r-- 2 plobacz plobacz  1094 2009-11-09 23:03:27.000000000 +0100 inotify_handler.h
-rw-r--r-- 2 plobacz plobacz 18544 2022-08-15 16:38:03.000000000 +0200 input_layer.c
-rw-r--r-- 2 plobacz plobacz  1257 2009-11-10 00:16:59.000000000 +0100 input_layer.h
drwxr-xr-x 2 plobacz plobacz  4096 2022-09-16 03:24:42.000000000 +0200 kacpimon
-rw-r--r-- 2 plobacz plobacz 13746 2021-09-20 03:31:56.000000000 +0200 libnetlink.c
-rw-r--r-- 2 plobacz plobacz  3028 2021-09-20 03:30:25.000000000 +0200 libnetlink.h
-rw-r--r-- 2 plobacz plobacz  1401 2018-03-29 17:08:05.000000000 +0200 log.c
-rw-r--r-- 2 plobacz plobacz  1269 2018-03-29 17:08:02.000000000 +0200 log.h
-rw-r--r-- 2 plobacz plobacz  6155 2021-09-20 03:32:03.000000000 +0200 netlink.c
-rw-r--r-- 2 plobacz plobacz  1066 2009-04-29 16:37:13.000000000 +0200 netlink.h
-rw-r--r-- 2 plobacz plobacz  4876 2015-07-29 00:32:35.000000000 +0200 proc.c
-rw-r--r-- 2 plobacz plobacz  1066 2012-02-16 21:25:02.000000000 +0100 proc.h
-rw-r--r-- 2 plobacz plobacz  5018 2022-09-16 03:24:42.000000000 +0200 sock.c
-rw-r--r-- 2 plobacz plobacz  1198 2012-02-16 21:25:02.000000000 +0100 sock.h
-rw-r--r-- 2 plobacz plobacz  3007 2016-01-27 17:13:18.000000000 +0100 ud_socket.c
-rw-r--r-- 2 plobacz plobacz   352 2012-03-21 00:54:18.000000000 +0100 ud_socket.h

This is rather unexpected, because by default tar is in posix format. I need to talk about it with tar people, but hell yeah finally we got it :-)

BR
Piotr

Od: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> w imieniu użytkownika Piotr Łobacz via lists.openembedded.org <p.lobacz=welotec.com@lists.openembedded.org>
Wysłane: wtorek, 1 sierpnia 2023 18:00
Do: Richard Purdie <richard.purdie@linuxfoundation.org>; Martin Jansa <martin.jansa@gmail.com>
DW: Joshua Watt <JPEWhacker@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: ODP: ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

That is what I was thinking for the first time, but by default tar is being run with posix,
so, it is not possible that these commands are responsible for this...

My guess is about do_package from package.bbclass and it calls this createCopy function which calls copyhardlinktree.
And to my supprise there is also tar command, but it is written there:

        # Need to copy directories only with tar first since cp will error if two
        # writers try and create a directory at the same time

and afterwards is this cp command with --preserve=xattrs and according to cp manual we can also preserve timestamps.

Correct me if my thinking is wrong.

I'm giving it a shot and will inform you about progress.

BR
Piotr

Od: Richard Purdie <richard.purdie@linuxfoundation.org>
Wysłane: wtorek, 1 sierpnia 2023 17:41
Do: Piotr Łobacz <p.lobacz@welotec.com>; Martin Jansa <martin.jansa@gmail.com>
DW: Joshua Watt <JPEWhacker@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Alex Stewart <alex.stewart@ni.com>
Temat: Re: ODP: [OE-Core][PATCH v11][master-next 1/5] package_ipk.bbclass: add support for ACLs and xattr

On Tue, 2023-08-01 at 15:16 +0000, Piotr Łobacz wrote:
> Hi Richard,
> you were right. I have made another test with wiping out whole sstate-cache for acpid and rerunning the whole reproducible test.
> It occurs that the package /media/plobacz/9582beb9-8774-4d4d-976f-63a6f1c87c13/poky-contrib/build/sstate-cache/a7/41/sstate:acpid:core2-64-poky-linux:2.0.34:r0:core2-64:11:a741afe7c0bfc218a844a546735ddc4dcaf578bff5d6a3762b1bdedf0819fc9b_package.tar.zst was already containing wrong timestamps.
>
> > I'd guess you need to make the sstate archives of do_package store the
> > acl and extended attribute data and when that is done, the millisecond
> > timestamp data will probably be saved too?
>
> So I'm guessing that commands which are producing this package_name_package.tar.zst are producing it in gnu format. Question is where can I find it?
> Is it being produced in this sstate.bbclass or elsewhere?

https://git.yoctoproject.org/poky/tree/meta/classes-global/sstate.bbclass#n859

tar -I "$ZSTD" $OPT -f $TFILE *

or

tar -I "$ZSTD" $OPT --file=$TFILE --files-from=/dev/null

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
index b4b7bc9ac2..a0f106e4ad 100644
--- a/meta/classes-global/package_ipk.bbclass
+++ b/meta/classes-global/package_ipk.bbclass
@@ -15,7 +15,7 @@  IPKGCONF_SDK_TARGET = "${WORKDIR}/opkg-sdk-target.conf"
 PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
 
 # Program to be used to build opkg packages
-OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}"'
+OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}" ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '-A', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', '-X', '', d)}'
 
 OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
 OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"