diff mbox series

[v13,2/8] package_ipk.bbclass: add support for ACLs and xattr

Message ID 20230817124612.1043464-2-p.lobacz@welotec.com
State New
Headers show
Series [v13,1/8] path.py: add support for ACLs and all additional attributes | expand

Commit Message

Piotr Łobacz Aug. 17, 2023, 12:46 p.m. UTC
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

Khem Raj Aug. 22, 2023, 3:58 p.m. UTC | #1
On Thu, Aug 17, 2023 at 5:47 AM Piotr Łobacz <p.lobacz@welotec.com> wrote:
>
> 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)}'

I wonder if it should be an append instead, because these are
dependent on DISTRO_FEATURES anyway and it does not work if distro
features are
enabled and these options are removed from opkg-build cmdline. So
these are required if distro features are enabled. It will also help
the distros overriding OPKGBUILDCMD

>
>  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 (#186307): https://lists.openembedded.org/g/openembedded-core/message/186307
> Mute This Topic: https://lists.openembedded.org/mt/100799493/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Aug. 22, 2023, 5:03 p.m. UTC | #2
On Tue, Aug 22, 2023 at 8:58 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Thu, Aug 17, 2023 at 5:47 AM Piotr Łobacz <p.lobacz@welotec.com> wrote:
> >
> > 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)}'
>
> I wonder if it should be an append instead, because these are
> dependent on DISTRO_FEATURES anyway and it does not work if distro
> features are
> enabled and these options are removed from opkg-build cmdline. So
> these are required if distro features are enabled. It will also help
> the distros overriding OPKGBUILDCMD
>

btw. I am encountering packaging failures in several packages using
zstd compression instead of xz e.g.
https://snips.sh/f/R42MbTZryH

 Here is my OPKGBUILDCMD

OPKGBUILDCMD = 'opkg-build -Z zstd -a "--threads=${ZSTD_THREADS}"
${@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 (#186307): https://lists.openembedded.org/g/openembedded-core/message/186307
> > Mute This Topic: https://lists.openembedded.org/mt/100799493/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Khem Raj Aug. 23, 2023, 12:25 a.m. UTC | #3
OK I have narrowed down the problem a bit more

It seems to trigger with poky master + this patch series on archlinux 
build host ( it has glibc 2.38 natively ) . It works ok with nodistro ( 
I guess its because nodistro does not use uninative but its just a guess )

Add following at the end of conf/local.conf

PACKAGE_CLASSES = "package_ipk"

then run

bitbake python3


On 8/22/23 10:03, Khem Raj wrote:
> On Tue, Aug 22, 2023 at 8:58 AM Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Thu, Aug 17, 2023 at 5:47 AM Piotr Łobacz <p.lobacz@welotec.com> wrote:
>>>
>>> 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)}'
>>
>> I wonder if it should be an append instead, because these are
>> dependent on DISTRO_FEATURES anyway and it does not work if distro
>> features are
>> enabled and these options are removed from opkg-build cmdline. So
>> these are required if distro features are enabled. It will also help
>> the distros overriding OPKGBUILDCMD
>>
> 
> btw. I am encountering packaging failures in several packages using
> zstd compression instead of xz e.g.
> https://snips.sh/f/R42MbTZryH
> 
>   Here is my OPKGBUILDCMD
> 
> OPKGBUILDCMD = 'opkg-build -Z zstd -a "--threads=${ZSTD_THREADS}"
> ${@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 (#186307): https://lists.openembedded.org/g/openembedded-core/message/186307
>>> Mute This Topic: https://lists.openembedded.org/mt/100799493/1997914
>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
Khem Raj Aug. 23, 2023, 1 a.m. UTC | #4
On Tue, Aug 22, 2023 at 5:25 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> OK I have narrowed down the problem a bit more
>
> It seems to trigger with poky master + this patch series on archlinux
> build host ( it has glibc 2.38 natively ) . It works ok with nodistro (
> I guess its because nodistro does not use uninative but its just a guess )
>
> Add following at the end of conf/local.conf
>
> PACKAGE_CLASSES = "package_ipk"
>
> then run
>
> bitbake python3

If I just revert the following patch then do_package_write_ipk starts
to work normally.
I think this should be investigated and root caused, I am afraid that
if we accept this
series in its own form then once fedora/ubuntu/debian starts to get
glibc 2.38 this problem
will resurface.Lets hold on to this patch until this issue is resolved

commit 0ecd39717533ae11dc00c0a2e049c657ba41411f
Author: Piotr Łobacz <p.lobacz@welotec.com>
Date:   Thu Aug 17 14:46:10 2023 +0200

   opkg-utils: add acl and xattr support

   Add support for tar archives created with --acls and/or --xattrs options,
   PAX header format.

   GNU tar and libarchive already supports ACLs and extended attributes.
   We can now add this support as well to opkg-build script in order to use
   fsetattr or setcap inside do_install command and end up with a file in
   an image with the relevant ACLs and xattrs.

   (From OE-Core rev: f6228716c3ce25cda54c7a2d62df5f7be72765ec)

   Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
   Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>


>
>
> On 8/22/23 10:03, Khem Raj wrote:
> > On Tue, Aug 22, 2023 at 8:58 AM Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> On Thu, Aug 17, 2023 at 5:47 AM Piotr Łobacz <p.lobacz@welotec.com> wrote:
> >>>
> >>> 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)}'
> >>
> >> I wonder if it should be an append instead, because these are
> >> dependent on DISTRO_FEATURES anyway and it does not work if distro
> >> features are
> >> enabled and these options are removed from opkg-build cmdline. So
> >> these are required if distro features are enabled. It will also help
> >> the distros overriding OPKGBUILDCMD
> >>
> >
> > btw. I am encountering packaging failures in several packages using
> > zstd compression instead of xz e.g.
> > https://snips.sh/f/R42MbTZryH
> >
> >   Here is my OPKGBUILDCMD
> >
> > OPKGBUILDCMD = 'opkg-build -Z zstd -a "--threads=${ZSTD_THREADS}"
> > ${@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 (#186307): https://lists.openembedded.org/g/openembedded-core/message/186307
> >>> Mute This Topic: https://lists.openembedded.org/mt/100799493/1997914
> >>> Group Owner: openembedded-core+owner@lists.openembedded.org
> >>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> >>> -=-=-=-=-=-=-=-=-=-=-=-
> >>>
Piotr Łobacz Sept. 6, 2023, 7:16 a.m. UTC | #5
Dnia środa, 23 sierpnia 2023 03:00:59 CEST Khem Raj pisze:
> On Tue, Aug 22, 2023 at 5:25 PM Khem Raj <raj.khem@gmail.com> wrote:
> > OK I have narrowed down the problem a bit more
> > 
> > It seems to trigger with poky master + this patch series on archlinux
> > build host ( it has glibc 2.38 natively ) . It works ok with nodistro (
> > I guess its because nodistro does not use uninative but its just a guess )
> > 
> > Add following at the end of conf/local.conf
> > 
> > PACKAGE_CLASSES = "package_ipk"
> > 
> > then run
> > 
> > bitbake python3
> 
> If I just revert the following patch then do_package_write_ipk starts
> to work normally.
> I think this should be investigated and root caused, I am afraid that
> if we accept this
> series in its own form then once fedora/ubuntu/debian starts to get
> glibc 2.38 this problem
> will resurface.Lets hold on to this patch until this issue is resolved
> 
> commit 0ecd39717533ae11dc00c0a2e049c657ba41411f
> Author: Piotr Łobacz <p.lobacz@welotec.com>
> Date:   Thu Aug 17 14:46:10 2023 +0200
> 
>    opkg-utils: add acl and xattr support
> 
>    Add support for tar archives created with --acls and/or --xattrs options,
> PAX header format.
> 
>    GNU tar and libarchive already supports ACLs and extended attributes.
>    We can now add this support as well to opkg-build script in order to use
>    fsetattr or setcap inside do_install command and end up with a file in
>    an image with the relevant ACLs and xattrs.
> 
>    (From OE-Core rev: f6228716c3ce25cda54c7a2d62df5f7be72765ec)
> 
>    Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
>    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> > On 8/22/23 10:03, Khem Raj wrote:
> > > On Tue, Aug 22, 2023 at 8:58 AM Khem Raj <raj.khem@gmail.com> wrote:
> > >> On Thu, Aug 17, 2023 at 5:47 AM Piotr Łobacz <p.lobacz@welotec.com> 
wrote:
> > >>> 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%2Fgrou
> > >>> ps.google.com%2Fg%2Fopkg-devel%2Fc%2FdYNHrLjDwg8&data=05%7C01%7Cp.loba
> > >>> cz%40welotec.com%7C34b048f9a1ac434ef11d08dba3747a90%7C25111a7f1d5a4c51
> > >>> a4ca7f8e44011b39%7C0%7C0%7C638283492895128587%7CUnknown%7CTWFpbGZsb3d8
> > >>> eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> > >>> 000%7C%7C%7C&sdata=EW1InBDnANNoMNZi2FEvYejU6qJW70thWgDajc4FKIw%3D&rese
> > >>> rved=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)}'> >> 
> > >> I wonder if it should be an append instead, because these are
> > >> dependent on DISTRO_FEATURES anyway and it does not work if distro
> > >> features are
> > >> enabled and these options are removed from opkg-build cmdline. So
> > >> these are required if distro features are enabled. It will also help
> > >> the distros overriding OPKGBUILDCMD
> > > 
> > > btw. I am encountering packaging failures in several packages using
> > > zstd compression instead of xz e.g.
> > > https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsnips.
> > > sh%2Ff%2FR42MbTZryH&data=05%7C01%7Cp.lobacz%40welotec.com%7C34b048f9a1ac
> > > 434ef11d08dba3747a90%7C25111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638283
> > > 492895128587%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzI
> > > iLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2F5Txit2xk7Y9FSwI
> > > Pu2T%2BkqUKKMHAGZUoiEgK%2F12kLg%3D&reserved=0> > 
> > >   Here is my OPKGBUILDCMD
> > > 
> > > OPKGBUILDCMD = 'opkg-build -Z zstd -a "--threads=${ZSTD_THREADS}"
> > > ${@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 (#186307):
> > >>> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> > >>> ts.openembedded.org%2Fg%2Fopenembedded-core%2Fmessage%2F186307&data=05
> > >>> %7C01%7Cp.lobacz%40welotec.com%7C34b048f9a1ac434ef11d08dba3747a90%7C25
> > >>> 111a7f1d5a4c51a4ca7f8e44011b39%7C0%7C0%7C638283492895128587%7CUnknown%
> > >>> 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX
> > >>> VCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hMQ3FL5OPsrbtWmI6Rnzomc27Tqs%2B6eKNpB
> > >>> zyZPFWDw%3D&reserved=0 Mute This Topic:
> > >>> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> > >>> ts.openembedded.org%2Fmt%2F100799493%2F1997914&data=05%7C01%7Cp.lobacz
> > >>> %40welotec.com%7C34b048f9a1ac434ef11d08dba3747a90%7C25111a7f1d5a4c51a4
> > >>> ca7f8e44011b39%7C0%7C0%7C638283492895128587%7CUnknown%7CTWFpbGZsb3d8ey
> > >>> JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> > >>> 0%7C%7C%7C&sdata=zQb36kiaKV6zlb4anGj15%2FvxjIdNh6zAKC3RyaWunhY%3D&rese
> > >>> rved=0 Group Owner: openembedded-core+owner@lists.openembedded.org
> > >>> Unsubscribe:
> > >>> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> > >>> ts.openembedded.org%2Fg%2Fopenembedded-core%2Funsub&data=05%7C01%7Cp.l
> > >>> obacz%40welotec.com%7C34b048f9a1ac434ef11d08dba3747a90%7C25111a7f1d5a4
> > >>> c51a4ca7f8e44011b39%7C0%7C0%7C638283492895128587%7CUnknown%7CTWFpbGZsb
> > >>> 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > >>> 7C3000%7C%7C%7C&sdata=yPC7QLDkwvqMuB25A3NzINdE6Ny%2BJkL1U82MD7UuBoI%3D
> > >>> &reserved=0 [raj.khem@gmail.com] -=-=-=-=-=-=-=-=-=-=-=-

As already spoken on IRC this does not happen with gentoo and newest glibc. 
I'm sending you my specs:

Portage 3.0.51 (python 3.11.5-final-0, default/linux/amd64/17.1/desktop/plasma/
systemd, gcc-12, glibc-2.38-r1, 6.1.46-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-6.1.46-gentoo-x86_64-x86_64-11th_Gen_Intel-R-_Core-TM-
_i7-11850H_@_2.50GHz-with-glibc2.38
KiB Mem:    32590392 total,   6513972 free
KiB Swap:   67108860 total,  62742056 free
Timestamp of repository gentoo: Thu, 31 Aug 2023 17:30:01 +0000
Head commit of repository gentoo: 02073da0e62df87543fbf41c59f3f9a9c948701d
Timestamp of repository stuff: Tue, 29 Aug 2023 15:50:45 +0000
Head commit of repository stuff: 948af023ae655b15674a680d72f965167d1435d9

sh bash 5.2_p15-r6
ld GNU ld (Gentoo 2.40 p5) 2.40.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p15-r6::gentoo
dev-lang/perl:             5.38.0-r1::gentoo
dev-lang/python:           3.11.5::gentoo, 3.12.0_rc1_p6::gentoo
dev-lang/rust-bin:         1.72.0::gentoo
dev-util/cmake:            3.27.4::gentoo
dev-util/meson:            1.2.1-r1::gentoo
sys-apps/baselayout:       2.14::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-apps/systemd:          254.1-r1::gentoo
sys-devel/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r5::gentoo, 2.41-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo
sys-devel/gcc:             12.3.1_p20230526::gentoo, 13.2.1_p20230826::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             15.0.7::gentoo, 16.0.6::gentoo
sys-devel/llvm:            15.0.7-r3::gentoo, 16.0.6::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.5::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r1::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

stuff
    location: /var/db/repos/stuff
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/stuff.git
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/17.1/x86-64

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /
usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/
fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 
GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT 
XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR 
XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-
multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks 
fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-
fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps 
sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans 
userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j8"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-
dir-times --compress --force --whole-file --delete --stats --human-readable --
timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --
exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo 
cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr encode exif flac 
fortran gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kwallet lcms libnotify 
libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam 
pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline 
screencast sdl seccomp semantic-desktop sound spell split-usr ssl startup-
notification svg systemd test-rust tiff truetype udev udisks unicode upower usb 
vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" 
ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core 
socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm 
authn_default authn_file authz_dbm authz_default authz_groupfile authz_host 
authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir 
disk_cache env expires ext_filter file_cache filter headers include info 
log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling 
status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon 
sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap 
syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 avx512bw avx512cd 
avx512dq avx512f avx512vbmi avx512vl f16c fma3 pclmul popcnt rdrand sha sse3 
sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate 
evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip 
navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 
timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" 
L10N="pl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 
mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-
minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" 
OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" 
POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" 
PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu fbdev 
intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd 
pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee 
tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, 
CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, 
F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, 
MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, 
PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, 
PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, 
YACC, YFLAGS
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"]}"