--- a/templates/lxc-download.in +++ b/templates/lxc-download.in @@ -375,32 +375,7 @@ fi # Unpack the rootfs echo "Unpacking the rootfs" -IS_BSD_TAR="false" -if tar --version | grep -sq "bsdtar"; then - IS_BSD_TAR="true" -fi - -EXCLUDES="" -excludelist=$(relevant_file excludes) -if [ -f "${excludelist}" ]; then - while read -r line; do - if [ ${IS_BSD_TAR} = "true" ]; then - line="^${line}" - fi - EXCLUDES="${EXCLUDES} --exclude=${line}" - done < "${excludelist}" -fi - -# Do not surround ${EXCLUDES} by quotes. This does not work. The solution could -# use array but this is not POSIX compliant. The only POSIX compliant solution -# is to use a function wrapper, but the latter can't be used here as the args -# are dynamic. We thus need to ignore the warning brought by shellcheck. -# shellcheck disable=SC2086 -if [ "${IS_BSD_TAR}" = "true" ]; then - tar ${EXCLUDES} --numeric-owner -xpJf "${LXC_CACHE_PATH}/rootfs.tar.xz" -C "${LXC_ROOTFS}" -else - tar --anchored ${EXCLUDES} --numeric-owner --xattrs-include='*' -xpJf "${LXC_CACHE_PATH}/rootfs.tar.xz" -C "${LXC_ROOTFS}" -fi +tar --absolute-names --numeric-owner --xattrs-include='*' -xpJf "${LXC_CACHE_PATH}/rootfs.tar.xz" -C "${LXC_ROOTFS}" mkdir -p "${LXC_ROOTFS}/dev/pts/"