Message ID | 20180407212614.15639-1-yann.morin.1998@free.fr |
---|---|
State | Accepted |
Commit | 54785851eeb775720aac8a0b6b423fda26ac8f27 |
Headers | show |
Series | download/git: fix trasnform-name | expand |
Hello, > download/git: fix trasnform-name trasnform -> transform On Sat, Apr 07, 2018 at 06:26 PM, Yann E. MORIN wrote: > When a package contains a relative symlink which first component is '..' > (thus pointing one directory higher), for example package 'meh' contains > this symlink: > > foo/bar -> ../buz > > then it would be stored as 'meh-version./buz' because of the > transform-name pattern replacement. > > Fix it to only match the leading './'. > > Reported-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> > Cc: Peter Korsgaard <peter@korsgaard.com> > Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> With the typo in the subject fixed: Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [tarball generation fixed for 18xx-ti-utils and linux-firmware, see the test script at http://patchwork.ozlabs.org/patch/896012/ ] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> 2 packages are fixed by this patch: 18xx-ti-utils before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769469 after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769909 linux-firmware before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769511 after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769952 All failures with this patch: https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146714/failures at91bootstrap3 v3.8.6, gummiboot, kvm-unit-tests, kvmtool, mcelog, trace-cmd, uemacs, xloader also occured for 2018.02: https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146633/failures Regards, Ricardo
Ricardo, All, On 2018-04-08 04:34 -0300, Ricardo Martincoski spake thusly: > > download/git: fix trasnform-name > trasnform -> transform Meh, that is my signature. A mail from me with no typo is not from me... ;-) > On Sat, Apr 07, 2018 at 06:26 PM, Yann E. MORIN wrote: > > When a package contains a relative symlink which first component is '..' > > (thus pointing one directory higher), for example package 'meh' contains > > this symlink: > > > > foo/bar -> ../buz > > > > then it would be stored as 'meh-version./buz' because of the > > transform-name pattern replacement. > > > > Fix it to only match the leading './'. > > > > Reported-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> > > Cc: Peter Korsgaard <peter@korsgaard.com> > > Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> > > With the typo in the subject fixed: > Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> > [tarball generation fixed for 18xx-ti-utils and linux-firmware, see the test > script at http://patchwork.ozlabs.org/patch/896012/ ] > Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> > > 2 packages are fixed by this patch: > 18xx-ti-utils > before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769469 > after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769909 > linux-firmware > before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769511 > after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769952 > > All failures with this patch: > https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146714/failures > at91bootstrap3 v3.8.6, gummiboot, kvm-unit-tests, kvmtool, mcelog, trace-cmd, > uemacs, xloader > also occured for 2018.02: > https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146633/failures Sorry, but I'm not following. You mean that 18xx-ti-utils and linux-firmware are already broken on 2018.02? That is strange, because we haven't backported those git download changes in the LTS branch... And indeed, I can't reproduce the issue locally, using tar-1.29. What version of tar are you using? We've recently black-listed 1.26 and below, and now require 1.27 <= tar <= 1.29 Regards, Yann E. MORIN.
Hello, On Sun, Apr 08, 2018 at 05:24 AM, Yann E. MORIN wrote: >> 2 packages are fixed by this patch: >> 18xx-ti-utils >> before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769469 >> after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769909 >> linux-firmware >> before: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769511 >> after: https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/61769952 >> >> All failures with this patch: >> https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146714/failures >> at91bootstrap3 v3.8.6, gummiboot, kvm-unit-tests, kvmtool, mcelog, trace-cmd, >> uemacs, xloader >> also occured for 2018.02: >> https://gitlab.com/RicardoMartincoski/buildroot/pipelines/20146633/failures > > Sorry, but I'm not following. You mean that 18xx-ti-utils and > linux-firmware are already broken on 2018.02? That is strange, because > we haven't backported those git download changes in the LTS branch... No. Sorry I did not explain clearly. For these 2 packages: 2018.02: OK master: FAIL master+this_patch: OK While testing your patch I detected unrelated failures (not necessarily an error on Buildroot side) using both master and 2018.02. Few packages failed with your patch. Then I tested without your patch to check it was not a regression. The test results confirmed it was not a regression. It doesn't mean 2018.02 is wrong either, maybe it is a temporary issue on the remote git server, maybe the url just got outdated. See http://patchwork.ozlabs.org/patch/896012/ for all links and the brief initial analysis for the cause of each failure. The best candidate to need to be fixed is at91bootstrap3 v3.8.6 hash, maybe it was generated (in 2016) with a now-black-listed tar version? > > And indeed, I can't reproduce the issue locally, using tar-1.29. What > version of tar are you using? We've recently black-listed 1.26 and > below, and now require 1.27 <= tar <= 1.29 Both the docker image and my computer have tar 1.29. Regards, Ricardo
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > When a package contains a relative symlink which first component is '..' > (thus pointing one directory higher), for example package 'meh' contains > this symlink: > foo/bar -> ../buz > then it would be stored as 'meh-version./buz' because of the > transform-name pattern replacement. > Fix it to only match the leading './'. > Reported-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> > Cc: Peter Korsgaard <peter@korsgaard.com> > Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Committed, thanks.
diff --git a/support/download/git b/support/download/git index f07195b0d1..787b6bcca0 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}"
When a package contains a relative symlink which first component is '..' (thus pointing one directory higher), for example package 'meh' contains this symlink: foo/bar -> ../buz then it would be stored as 'meh-version./buz' because of the transform-name pattern replacement. Fix it to only match the leading './'. Reported-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- support/download/git | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)