Hello,

This went through the autobuilder fine until yesterday:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3349/steps/12/logs/stdio

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230811-vwiija9k/packages/diff-html/

On 04/08/2023 10:43:09+0200, Piotr Łobacz wrote:
> Extend `tar` command inside copytree() and copyhardlinktree() functions,
> with additional parameters, in order to support ACLs and xattr. The posix
> format doesn't need to be set in here, as GNU tar switches to it whenewer
> is uses --acls and/or --xattrs parameters.
> 
> Additionaly change preservation of additional attributes for `cp` command
> to all (meaning mode, ownership, timestamps etc.) not only xattrs, which
> were previously.
> 
> Signed-off-by: Piotr Łobacz <[email protected]>
> ---
>  meta/lib/oe/path.py | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py
> index 0dc8f172d5..56e8e214ac 100644
> --- a/meta/lib/oe/path.py
> +++ b/meta/lib/oe/path.py
> @@ -92,7 +92,7 @@ def copytree(src, dst):
>      # This way we also preserve hardlinks between files in the tree.
>  
>      bb.utils.mkdirhier(dst)
> -    cmd = "tar --xattrs --xattrs-include='*' -cf - -S -C %s -p . | tar 
> --xattrs --xattrs-include='*' -xf - -C %s" % (src, dst)
> +    cmd = "tar --acls --xattrs --xattrs-include='*' -cf - -S -C %s -p . | 
> tar --acls --xattrs --xattrs-include='*' -xf - -C %s" % (src, dst)
>      subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
>  
>  def copyhardlinktree(src, dst):
> @@ -119,7 +119,7 @@ def copyhardlinktree(src, dst):
>      if (canhard):
>          # Need to copy directories only with tar first since cp will error 
> if two 
>          # writers try and create a directory at the same time
> -        cmd = "cd %s; find . -type d -print | tar --xattrs 
> --xattrs-include='*' -cf - -S -C %s -p --no-recursion --files-from - | tar 
> --xattrs --xattrs-include='*' -xhf - -C %s" % (src, src, dst)
> +        cmd = "cd %s; find . -type d -print | tar --acls --xattrs 
> --xattrs-include='*' -cf - -S -C %s -p --no-recursion --files-from - | tar 
> --acls --xattrs --xattrs-include='*' -xhf - -C %s" % (src, src, dst)
>          subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
>          source = ''
>          if os.path.isdir(src):
> @@ -130,7 +130,7 @@ def copyhardlinktree(src, dst):
>          else:
>              source = src
>              s_dir = os.getcwd()
> -        cmd = 'cp -afl --preserve=xattr %s %s' % (source, 
> os.path.realpath(dst))
> +        cmd = 'cp -afl --preserve=all %s %s' % (source, 
> os.path.realpath(dst))
>          subprocess.check_output(cmd, shell=True, cwd=s_dir, 
> stderr=subprocess.STDOUT)
>      else:
>          copytree(src, dst)
> -- 
> 2.34.1
> 

> 
> 
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185855): 
https://lists.openembedded.org/g/openembedded-core/message/185855
Mute This Topic: https://lists.openembedded.org/mt/100542715/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to