[Buildroot] [PATCH 2/6 v2] fs/tar: add support for xattrs (thus capabilties)

Arnout Vandecappelle arnout at mind.be
Mon Nov 12 22:09:13 UTC 2018

On 12/11/2018 18:33, Yann E. MORIN wrote:
> By default, tar will not include any extended attribute (xattr) when
> creating archives, and thus will not store capabilties either (as they
> are stored in the xattr 'security.capability').

 So... currently capabilities are not included at all in the tarball, since
--xattrs is not passed at the moment?

 But after this patch, they are still not included? Or does --xattrs-include
imply --xattrs?

> Using option --xattrs is enough to create a tarball with all the xattrs
> attached to a file. However, extracting all xattrs from a tarball
> requires that --xattrs-include='*' be used. This is not symetric (but on
> purpose, as per the documentation), and so is confusing to some.
> So, we use --xattrs-include='*' to create the archive, so as to be
> explicit that we want all xattrs to be stored.
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Ricardo Martincoski <ricardo.martincoski at gmail.com>
> Cc: Peter Korsgaard <peter at korsgaard.com>
> Cc: Arnout Vandecappelle <arnout at mind.be>
> ---
>  fs/tar/tar.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk
> index 68149e9eb7..4c6327ace8 100644
> --- a/fs/tar/tar.mk
> +++ b/fs/tar/tar.mk
>  define ROOTFS_TAR_CMD
>  	(cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \
> -		tar $(TAR_OPTS) -cf $@ --null --no-recursion -T - --numeric-owner)
> +		tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner)

 I think --xattrs-include should come before TAR_OPTS, so it can still be
overridden. Ah, darn, never mind, it can't be overridden, several
--xattrs-include options are cumulative and their order doesn't matter.


>  endef
>  $(eval $(rootfs))

More information about the buildroot mailing list