summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Martincoski <ricardo.martincoski@gmail.com>2018-04-05 00:16:00 -0300
committerPeter Korsgaard <peter@korsgaard.com>2018-04-05 08:15:45 +0200
commit573ea2c7d4a69626155ef099fe767f9098869e49 (patch)
tree715a9a9f8322d89cc39fe019f6aec005944f80e8
parent8252118c5a1e208e3a62b47647bad78833a7b94c (diff)
downloadbuildroot-573ea2c7d4a69626155ef099fe767f9098869e49.tar.gz
buildroot-573ea2c7d4a69626155ef099fe767f9098869e49.zip
download/git: fix basename for files inside tarballs
Commit "6d938bcb52 download: git: introduce cache feature" introduced a typo that makes the tarball to contain files without the package basename: $ tar -tvf good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz -rw-r--r-- 0/0 8 2017-10-14 02:10 ./file Historically, all tarballs are generated with the basename: $ tar -tvf good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz -rw-r--r-- 0/0 8 2017-10-14 02:10 good-a238b1dfcd825d47d834af3c5223417c8411d90d/file The hashes in the tree were calculated with the basename. In the most common scenario, after the download ends the tarball is generated, the hash mismatches and the download mechanism falls back to use the tarball from http://sources.buildroot.net . The problem can be reproduced by forcing the download of any git package PKG that has a hash file to check against: $ make defconfig $ ./utils/config --set-str BR2_BACKUP_SITE "" $ BR2_DL_DIR=$(mktemp -d) make PKG-dirclean PKG-source Fix the typo so the basename is really added to the files, that was clearly the intention of the code. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rwxr-xr-xsupport/download/git2
1 files changed, 1 insertions, 1 deletions
diff --git a/support/download/git b/support/download/git
index 58dbcd211c..f07195b0d1 100755
--- a/support/download/git
+++ b/support/download/git
@@ -111,7 +111,7 @@ 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}/" \
+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}"
OpenPOWER on IntegriCloud