diff mbox series

[v4,2/5] package_ipk.bbclass: add support for ACLs and xattr

Message ID 20230712122558.711029-2-p.lobacz@welotec.com
State New
Headers show
Series [v4,1/5] bitbake.conf: add acl and xattr distro native features support | expand

Commit Message

Piotr Łobacz July 12, 2023, 12:25 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

Alexandre Belloni July 12, 2023, 4:54 p.m. UTC | #1
I tested a previous version and got:

ERROR: run-postinsts-1.0-r10 do_package_write_ipk: Fatal errors occurred in subprocesses:
Command 'PATH="/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/scripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/allarch-poky-linux:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot/usr/bin/crossscripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/bin:/home/pokybuild/yocto-worker/poky-tiny/build/bitbake/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/hosttools" opkg-build -Z xz -a "--memlimit=5% --threads=8" "" "" run-postinsts /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/deploy-ipks/all' returned non-zero exit status 1.
Subprocess output:Usage: /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/opkg-build [-c] [-C] [-Z compressor] [-a compressor_args] [-O] [-o owner] [-g group] <pkg_directory> [<destination_directory>]
Command 'PATH="/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/scripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/allarch-poky-linux:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot/usr/bin/crossscripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/bin:/home/pokybuild/yocto-worker/poky-tiny/build/bitbake/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/hosttools" opkg-build -Z xz -a "--memlimit=5% --threads=8" "" "" run-postinsts-dev /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/deploy-ipks/all' returned non-zero exit status 1.
Subprocess output:Usage: /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/opkg-build [-c] [-C] [-Z compressor] [-a compressor_args] [-O] [-o owner] [-g group] <pkg_directory> [<destination_directory>]
Command 'PATH="/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/scripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/allarch-poky-linux:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot/usr/bin/crossscripts:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/sbin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/bin:/home/pokybuild/yocto-worker/poky-tiny/build/bitbake/bin:/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/hosttools" opkg-build -Z xz -a "--memlimit=5% --threads=8" "" "" run-postinsts-dbg /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/deploy-ipks/all' returned non-zero exit status 1.
Subprocess output:Usage: /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/all-poky-linux/run-postinsts/1.0-r10/recipe-sysroot-native/usr/bin/opkg-build [-c] [-C] [-Z compressor] [-a compressor_args] [-O] [-o owner] [-g group] <pkg_directory> [<destination_directory>]


any chance this is solved in v4?

On 12/07/2023 14:25:55+0200, Piotr Łobacz 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..5e151be3cd 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 (#184190): https://lists.openembedded.org/g/openembedded-core/message/184190
> Mute This Topic: https://lists.openembedded.org/mt/100098284/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 12, 2023, 7:09 p.m. UTC | #2
HI Alex,
this is odd because that is not happening for me... I need to do some checks.

BR
Piotr
diff mbox series

Patch

diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
index b4b7bc9ac2..5e151be3cd 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"]}"