Skip to contentSkip to conversation

New: support/downloads/git generates deceptive archive of Linux repo

Buildroot [email protected] 1 participant 3 messages Apr 12, 2023 – Jun 15, 2024

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=15541

            Bug ID: 15541
           Summary: support/downloads/git generates deceptive archive of
                    Linux repo
           Product: buildroot
           Version: 2020.02
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Other
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]

Target Milestone: ---

Given:
- Select a local commit ID/tag for the Linux kernel that does not exist in the local Linux kernel repo by setting BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION in the defconfig file
- Run a build

Expected behavior:
- Build should fail when expected commit ID/tag of the Linux kernel repo cannot be checked out

Observed behavior:
- Build does not fail when expected commit ID/tag of the Linux kernel repo cannot be checked out
- Build creates archive of Linux kernel repo in linux/linux-<commit ID>-br1.tar.gz
- Adding some instrumentation to the support/downloads/git script shows that the actual commit ID in the linux/linux-<commit ID>-br1.tar.gz file is the HEAD of the local Linux repo, not the (non-existent) commit ID requested
- Build proceeds and succeeds with the linux/linux-<commit ID>-br1.tar.gz file, with only a warning like this showing in the build log:

2023-03-15T11:45:24.9572834Z [7m>>> linux
0af534041cba4c33e540f6b31b73ce78f8326757 Downloading[27m
2023-03-15T11:45:25.0699794Z Reinitialized existing Git repository in
/mnt/home/dl/linux/git/.git/
2023-03-15T11:45:25.1164499Z Fetching all references
2023-03-15T11:45:26.0788251Z Warning: Permanently added
'github.com,192.30.255.112' (ECDSA) to the list of known hosts.
2023-03-15T11:45:26.0788565Z 
2023-03-15T11:46:06.2456837Z warning: refname
'0af534041cba4c33e540f6b31b73ce78f8326757' is ambiguous.
2023-03-15T11:46:06.2457533Z Git normally never creates a ref that ends with 40
hex characters
2023-03-15T11:46:06.2458253Z because it will be ignored when you just specify
40-hex. These refs
2023-03-15T11:46:06.2458834Z may be created by mistake. For example,
2023-03-15T11:46:06.2459109Z 
2023-03-15T11:46:06.2459403Z   git switch -c $br $(git rev-parse ...)
2023-03-15T11:46:06.2459683Z 
2023-03-15T11:46:06.2460022Z where "$br" is somehow empty and a 40-hex ref is
created. Please
2023-03-15T11:46:06.2461804Z examine these refs and maybe delete them. Turn
this message off by
2023-03-15T11:46:06.2462318Z running "git config advice.objectNameWarning
false"
2023-03-15T11:47:54.3146989Z [7m>>> linux

0af534041cba4c33e540f6b31b73ce78f8326757 Extracting[27m

2023-03-15T11:47:54.3157663Z gzip -d -c

/mnt/home/dl/linux/linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz | tar --strip-components=1 -C /mnt/work/output/r515_octane/build/linux-0af534041cba4c33e540f6b31b73ce78f8326757
-xf -

Signature · 6 lines
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

[Buildroot] [Bug 15541] support/downloads/git generates deceptive archive of Linux repo

https://bugs.busybox.net/show_bug.cgi?id=15541

--- Comment #1 from Larry Gadallah <[email protected]> --- Adding a 'set -x' at the top and a 'git log -1' at the bottom of support/download/git yields the following, showing the issue explicitly:

Quoted 1 line
Quoted 1 line
Quoted 1 line

linux 0af534041cba4c33e540f6b31b73ce78f8326757 Downloading

+ . /mnt/work/buildroot/support/download/helpers
+ myname=/mnt/work/buildroot/support/download/git
+ OPTS=("${@}")
+ declare -a OPTS
+ verbose=
+ recurse=0
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ cset=0af534041cba4c33e540f6b31b73ce78f8326757
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ dl_dir=/mnt/home/dl/linux
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ basename=linux-0af534041cba4c33e540f6b31b73ce78f8326757
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ [email protected]:impinj-octane/linux-kernel.git
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ case "${OPT}" in
+ output=/mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/output
+ getopts :hc:d:o:n:N:H:ru:qf:e OPT
+ shift 15
+ git_cache=/mnt/home/dl/linux/git
+ mkdir -p /mnt/home/dl/linux/git
+ pushd /mnt/home/dl/linux/git
+ trap _on_error ERR
+ cat
+ _git init .
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git init .
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git init .
Initialized empty Git repository in /mnt/home/dl/linux/git/.git/
+ _git remote
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git remote
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git remote
+ grep -q -E '^origin$'
+ _git remote add origin
''\''[email protected]:impinj-octane/linux-kernel.git'\'''
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git remote add origin ''\''[email protected]:impinj-octane/linux-kernel.git'\'''
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git remote add origin [email protected]:impinj-octane/linux-kernel.git
+ _git remote set-url origin
''\''[email protected]:impinj-octane/linux-kernel.git'\'''
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git remote set-url origin ''\''[email protected]:impinj-octane/linux-kernel.git'\'''
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git remote set-url origin [email protected]:impinj-octane/linux-kernel.git
+ printf 'Fetching all references\n'
Fetching all references
+ _git fetch origin
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git fetch origin
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git fetch origin
Warning: Permanently added 'github.com,192.30.255.113' (ECDSA) to the list of
known hosts.
remote: Enumerating objects: 8074633, done.
remote: Counting objects: 100% (65368/65368), done.
remote: Compressing objects: 100% (26591/26591), done.
remote: Total 8074633 (delta 44871), reused 50448 (delta 38657), pack-reused
8009265
Receiving objects: 100% (8074633/8074633), 1.52 GiB | 8.98 MiB/s, done.
Resolving deltas: 100% (6789454/6789454), done.
From github.com:impinj-octane/linux-kernel
* [new branch] PI-23091-new-kernel ->
origin/PI-23091-new-kernel
. . .
* [new tag] v4.16.8 -> v4.16.8
+ _git fetch origin -t
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git fetch origin -t
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git fetch origin -t
Warning: Permanently added the ECDSA host key for IP address '192.30.255.112'
to the list of known hosts.
+ _git fetch origin ''\''0af534041cba4c33e540f6b31b73ce78f8326757:0af534041cba4c33e540f6b31b73ce78f8326757'\'''
+ _git rev-parse --quiet --verify
''\''0af534041cba4c33e540f6b31b73ce78f8326757^{commit}'\'''
+ cmd='printf "Deregistering submodule \"%s\"\n" "${path}" && cd .. && rm -rf
"${path##*/}"'
+ _git submodule --quiet foreach ''\''printf "Deregistering submodule \"%s\"\n"
"${path}" && cd .. && rm -rf "${path##*/}"'\'''
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git submodule --quiet foreach
''\''printf "Deregistering submodule \"%s\"\n" "${path}" && cd .. && rm -rf
"${path##*/}"'\'''
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git submodule --quiet foreach 'printf "Deregistering submodule \"%s\"\n"
"${path}" && cd .. && rm -rf "${path##*/}"'
+ _git checkout -f -q ''\''0af534041cba4c33e540f6b31b73ce78f8326757'\'''
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git checkout -f -q ''\''0af534041cba4c33e540f6b31b73ce78f8326757'\'''
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git checkout -f -q 0af534041cba4c33e540f6b31b73ce78f8326757
warning: refname '0af534041cba4c33e540f6b31b73ce78f8326757' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,

  git switch -c $br $(git rev-parse ...)

where "$br" is somehow empty and a 40-hex ref is created. Please examine these refs and maybe delete them. Turn this message off by running "git config advice.objectNameWarning false"
+ _git clean -ffdx
+ eval GIT_DIR=/mnt/home/dl/linux/git/.git git clean -ffdx
++ GIT_DIR=/mnt/home/dl/linux/git/.git
++ git clean -ffdx
++ _git log -1 --pretty=format:%ci
++ eval GIT_DIR=/mnt/home/dl/linux/git/.git git log -1 --pretty=format:%ci +++ GIT_DIR=/mnt/home/dl/linux/git/.git
+++ git log -1 --pretty=format:%ci
+ date='2022-12-16 15:50:20 +0000'
+ '[' 0 -eq 1 ']'
+ popd
+ git log -1
commit 80165e2cb123947637819792b6401e4b5bd96286 (HEAD)

Author: Lee Gillham <[email protected]>
Date:   Fri Mar 3 16:12:08 2023 -0800

rshell: Correctly report ProductionFused status

- The ICTL library uses the script /usr/sbin/sb_status.sh and compares the output with "production", the buffer was too small. Increased size of the buffer to 11 (from 9) characters, so production + NULL would fit.

PI-33597
+ mk_tar_gz /mnt/home/dl/linux/git
linux-0af534041cba4c33e540f6b31b73ce78f8326757 '2022-12-16 15:50:20 +0000' /mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/output '.git/*'
+ local in_dir=/mnt/home/dl/linux/git
+ local base_dir=linux-0af534041cba4c33e540f6b31b73ce78f8326757
+ local 'date=2022-12-16 15:50:20 +0000'
+ local out=/mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/output
+ shift 4
+ local glob tmp pax_options
+ local -a find_opts
+ for glob in "$@"
+ find_opts+=(-or -path "./${glob#./}")
++ date -d '2022-12-16 15:50:20 +0000' -u +%Y-%m-%dT%H:%M:%S+00:00
+ date=2022-12-16T15:50:20+00:00
+ pax_options=delete=atime,delete=ctime,delete=mtime
+
pax_options+=',exthdr.name=%d/PaxHeaders/%f,exthdr.mtime={2022-12-16T15:50:20+00:00}'
+++ pwd
++ mktemp --tmpdir=/mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9 + tmp=/mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/tmp.9pbn9R4HDp
+ pushd /mnt/home/dl/linux/git
+ find . -not -type d -and -not '(' -false -or -path './.git/*' ')'
+ LC_ALL=C
+ sort
+ tar cf -
'--transform=s#^\./#linux-0af534041cba4c33e540f6b31b73ce78f8326757/#S'
--numeric-owner --owner=0 --group=0 --mtime=2022-12-16T15:50:20+00:00
--format=posix '--pax-option=delete=atime,delete=ctime,delete=mtime,exthdr.name=%d/PaxHeaders/%f,exthdr.mtime={2022-12-16T15:50:20+00:00}' -T /mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/tmp.9pbn9R4HDp.sorted
+ gzip -6 -n
+ rm -f /mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/tmp.9pbn9R4HDp.list /mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/tmp.9pbn9R4HDp.sorted /mnt/work/output/r515_octane/build/.linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz.47D9n9/tmp.9pbn9R4HDp.tar
+ popd

Quoted 1 line
Quoted 1 line
Quoted 1 line

linux 0af534041cba4c33e540f6b31b73ce78f8326757 Extracting

gzip -d -c /mnt/home/dl/linux/linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz | tar --strip-components=1 -C /mnt/work/output/r515_octane/build/linux-0af534041cba4c33e540f6b31b73ce78f8326757
-xf -

Note that the file created, /mnt/home/dl/linux/linux-0af534041cba4c33e540f6b31b73ce78f8326757-br1.tar.gz has a name that implies that it is associated with commit ID 0af534041cba4c33e540f6b31b73ce78f8326757 but the commit of the repo that was archived is actually 80165e2cb123947637819792b6401e4b5bd96286 as shown by the 'git log -1' output.

Signature · 6 lines
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw

[Buildroot] [Bug 15541] support/downloads/git generates deceptive archive of Linux repo

In reply to [email protected]

https://bugs.busybox.net/show_bug.cgi?id=15541

Yann E. MORIN <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |MOVED

--- Comment #2 from Yann E. MORIN <[email protected]> --- Thank you for your report.

The issue tracker for the Buildroot project has been moved to the Gitlab.com issue tracker:
https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old tracker. If you believe your issue is still relevant, please open one in the new issue tracker.

Thank you!

Signature · 6 lines
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot