Аналогичная проблема после обновления до Bullseye.
tar:./var/log: Cannot change mode to rwxrwxrwx: No such file or directory
Debian 11 не поддерживается . Временное решение — использовать док-контейнер Debian 10.
Мы столкнулись с той же проблемой, и мы избежали ее, исправив Yocto для использования BSD tar вместо GNU tar. Вам нужно установить libarchive-tools
в Debian, чтобы получить эту версию tar.
Мы также пытались поместить BSD tar
в PATH как tar
, но Yocto отвергает это, проверяя tar
номер версии выше 1.28 (, игнорируя тот факт, что не -GNU версии tar
имеют разные номера версий ).
Похоже, у нас это работает без проблем.
From aebcd4668cc3500d6072b7ef3fba2e6ea2cf9f43 Mon Sep 17 00:00:00 2001
From: Florian Viguier <florian.viguier@viveris.fr>
Date: Wed, 3 Nov 2021 09:15:47 +0100
Subject: [PATCH 1/2] [LCB-318] Switch Gnu tar for bsd tar for Debian 11
compatibility
---
meta/classes/package.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 5a32e5c2e3..db47edc92a 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -814,7 +814,7 @@ python perform_packagecopy () {
# Start by package population by taking a copy of the installed
# files to operate on
# Preserve sparse files and hard links
- cmd = 'tar -cf - -C %s -p -S. | tar -xf - -C %s' % (dest, dvar)
+ cmd = '/usr/bin/bsdtar -cf - -C %s -p -S. | /usr/bin/bsdtar -xf - -C %s' % (dest, dvar)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
# replace RPATHs for the nativesdk binaries, to make them relocatable
--
2.30.2
From 7680a3ba35c321fc915714fb835782f0b03d105e Mon Sep 17 00:00:00 2001
From: Adrien Destugues <adrien.destugues@viveris.fr>
Date: Thu, 4 Nov 2021 17:43:47 +0100
Subject: [PATCH 2/2] [FIX] Use bsdtar also in sstate
---
meta/classes/sstate.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index d08d950e76..4e0be994c7 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -849,7 +849,7 @@ python sstate_report_unihash() {
# Will be run from within SSTATE_INSTDIR.
#
sstate_unpack_package () {
- tar -xvzf ${SSTATE_PKG}
+ /usr/bin/bsdtar -xvzf ${SSTATE_PKG}
# update.siginfo atime on local/NFS mirror
[ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
# Use "! -w ||" to return true for read only files
--
2.30.2