From: Yann E. MORIN Date: Fri, 20 Apr 2018 07:36:32 +0000 (+0200) Subject: download/git: fix transform regexp for older tar versions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e2f5d0254de75dfe59d27b3c4b45007c109e0bb;p=buildroot.git download/git: fix transform regexp for older tar versions Older versions of tar (e.g. 1.27.1) incorrectly interpret the escaping of the regexp separator, and generate broken tarballs. For example, given the following transform expression: --transform="s/^\.\//squashfs-e38956b92f738518c29734399629e7cdb33072d3\//" the resulting paths in the generated tarball would be: squashfs-e38956b92f738518c29734399629e7cdb33072d3\/ i.e. a directory which last character is indeed a '\'. We fix that by using a separator which is very unlikely to occur in a filename. Fixes: http://autobuild.buildroot.org/results/742/7427f34e5c9f6d043b0fe6ad2c66cc0f31d2b24f/ and probably a slew of others as well... Take this opportunity to fix indentation on the following line (leading spaces, not TABs). Signed-off-by: "Yann E. MORIN" Cc: Ricardo Martincoski Cc: Thomas Petazzoni Cc: Maxime Hadjinlian Signed-off-by: Thomas Petazzoni --- diff --git a/support/download/git b/support/download/git index c48ad36b1a..bf05c595a5 100755 --- a/support/download/git +++ b/support/download/git @@ -121,8 +121,8 @@ LC_ALL=C sort <"${output}.list" >"${output}.list.sorted" # Create GNU-format tarballs, since that's the format of the tarballs on # sources.buildroot.org and used in the *.hash files -tar cf - --transform="s/^\.\//${basename}\//" \ - --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \ +tar cf - --transform="s#^\./#${basename}/#" \ + --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \ -T "${output}.list.sorted" >"${output}.tar" gzip -6 -n <"${output}.tar" >"${output}"