New: support/downloads/git generates deceptive archive of Linux repo
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
[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
0af534041cba4c33e540f6b31b73ce78f8326757Downloading
+ . /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
0af534041cba4c33e540f6b31b73ce78f8326757Extracting
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
[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