Extend `tar` command, with additional parameters, depending
on choosen package class and target distro features, in order
to support ACLs and xattr.

Additionaly set archive posix format, in order to preserve
milliseconds in timestamps for reproducibility tests.

Currently only `package_ipk` supports fully ACLs and xattr.

Signed-off-by: Piotr Łobacz <p.lob...@welotec.com>
---
 meta/classes-global/sstate.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes-global/sstate.bbclass 
b/meta/classes-global/sstate.bbclass
index 95373fd60a..ac890fc98e 100644
--- a/meta/classes-global/sstate.bbclass
+++ b/meta/classes-global/sstate.bbclass
@@ -848,7 +848,7 @@ sstate_create_package () {
        mkdir --mode=0775 -p `dirname ${SSTATE_PKG}`
        TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
 
-       OPT="-cS"
+       OPT="--format=posix ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 
'--acls', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', '--xattrs', 
'', d)} --numeric-owner -cS"
        ZSTD="zstd -${SSTATE_ZSTD_CLEVEL} -T${ZSTD_THREADS}"
        # Use pzstd if available
        if [ -x "$(command -v pzstd)" ]; then
@@ -914,7 +914,7 @@ sstate_unpack_package () {
                ZSTD="pzstd -p ${ZSTD_THREADS}"
        fi
 
-       tar -I "$ZSTD" -xvpf ${SSTATE_PKG}
+       tar -I "$ZSTD" --format=posix ${@bb.utils.contains('DISTRO_FEATURES', 
'acl', '--acls', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 
'--xattrs', '', d)} -xvpf ${SSTATE_PKG}
        # update .siginfo atime on local/NFS mirror if it is a symbolic link
        [ ! -h ${SSTATE_PKG}.siginfo ] || [ ! -e ${SSTATE_PKG}.siginfo ] || 
touch -a ${SSTATE_PKG}.siginfo 2>/dev/null || true
        # update each symbolic link instead of any referenced file
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185514): 
https://lists.openembedded.org/g/openembedded-core/message/185514
Mute This Topic: https://lists.openembedded.org/mt/100542722/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to