From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC PATCH] download/git: fix basename for files inside tarballs
Date: Thu, 5 Apr 2018 19:09:17 +0200 [thread overview]
Message-ID: <20180405170917.GA13990@scaer> (raw)
In-Reply-To: <20180405031600.18831-1-ricardo.martincoski@gmail.com>
Ricardo, All,
On 2018-04-05 00:16 -0300, Ricardo Martincoski spake thusly:
> 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.
Yes, definitely the intention.
I had that one fix pending locally and did not have time to send it
yesterday evenong, so thinaks for fixing it faster! :-)
It's already been applied, otherwise I'd have given my ACK.
Regards,
Yann E. MORIN.
> 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>
> ---
> NOTICE: linux-firmware is NOT fixed by this. I don't know why.
> I tried in my local computer a few other (other than the ones tested in
> Gitlab CI) git packages and they are fixed by this patch as well:
> libuci
> squashfs
> ubus
> x264
> Could it be related to my setup?
> tar (GNU tar) 1.29
> git version 2.14.1
>
> I detected this while debugging why this automated test now fails:
> http://patchwork.ozlabs.org/patch/831742/
>
> Before this patch:
> https://gitlab.com/RicardoMartincoski/buildroot/pipelines/19997839
>
> After this patch:
> https://gitlab.com/RicardoMartincoski/buildroot/pipelines/19998472
> ---
> support/download/git | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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}"
> --
> 2.14.1
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
prev parent reply other threads:[~2018-04-05 17:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-05 3:16 [Buildroot] [RFC PATCH] download/git: fix basename for files inside tarballs Ricardo Martincoski
2018-04-05 6:30 ` Peter Korsgaard
2018-04-06 2:21 ` Ricardo Martincoski
2018-04-07 21:27 ` Yann E. MORIN
2018-04-05 17:09 ` Yann E. MORIN [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180405170917.GA13990@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.