toolchain: better handle hashes (branch yem/dl-hash-toolchains)
v5 cover toolchain: better handle hashes (branch yem/dl-hash-toolchains)
Hello All!
This series makes it so we can download custom external toolchains, and still have mandatory checks of hashes.
It also adds the long-awaited-for hashes for gcc and binutils.
Changes v4 -> v5:
- drop patch #8, that errored-out when an excluded file did have one or more associated hashes (Arnout)
- typoes (Arnout)
Changes v3 -> v4:
- add missing fake-hash for uClibc eXtensa git snapshot; add uClibc daily snapshots to exclusion list (Arnout)
- drop using a magic value; use a list of excluded files (Arnout)
Changes v2 -> v3:
- add hashes for gcc and binutils
- fix a few more typoes
Changes v1 -> v2:
- fix a few typoes
Regards,
Yann E. MORIN.
The following changes since commit 81e22ebd5ee3b9aa36fcbc86602a8fc5bfe87c17:
package/python-m2crypto: add hash (2015-04-19 14:25:28 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/dl-hash-toolchains
for you to fetch changes up to 92db9d9c24d6a53fa0db2aa7b3bff1456498d690:
support/download: restore mandatory check of hashes (2015-04-19 14:35:03 +0200)
----------------------------------------------------------------
Yann E. MORIN (7):
package/gcc: add hashes
package/binutils: add hashes
package/uclibc: add missing hash for eXtensa support/download: add possibility to not fail on missing hash toolchain/external: ignore missing hash for custom downloaded toolchain package/uclibc: ignore missing hash for snapshots support/download: restore mandatory check of hashes
package/binutils/binutils.hash | 7 +++++++ package/gcc/gcc-final/gcc-final.hash | 1 + package/gcc/gcc-initial/gcc-initial.hash | 1 + package/gcc/gcc.hash | 10 ++++++++++ package/pkg-download.mk | 3 +++ package/uclibc/uclibc.hash | 3 +++ package/uclibc/uclibc.mk | 1 + support/download/check-hash | 8 +++++++- toolchain/toolchain-external/toolchain-external.mk | 2 ++ 9 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 package/binutils/binutils.hash create mode 120000 package/gcc/gcc-final/gcc-final.hash create mode 120000 package/gcc/gcc-initial/gcc-initial.hash create mode 100644 package/gcc/gcc.hash
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v5 1/7 package/gcc: add hashes
---
Changes v4 -> v5:
- use alternate upstream as source of hashes (Arnout)
--- package/gcc/gcc-final/gcc-final.hash | 1 + package/gcc/gcc-initial/gcc-initial.hash | 1 + package/gcc/gcc.hash | 10 ++++++++++ 3 files changed, 12 insertions(+) create mode 120000 package/gcc/gcc-final/gcc-final.hash create mode 120000 package/gcc/gcc-initial/gcc-initial.hash create mode 100644 package/gcc/gcc.hash
package/gcc/gcc-final/gcc-final.hash new file +1 -0
@@ -0,0 +1 @@ +../gcc.hash
package/gcc/gcc-initial/gcc-initial.hash new file +1 -0
@@ -0,0 +1 @@ +../gcc.hash
package/gcc/gcc.hash new file +10 -0
@@ -0,0 +1,10 @@ +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.4/sha512.sum +sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115 gcc-4.5.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.4/sha512.sum +sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.4/sha512.sum +sha512 b4c84ebd754c026029d706ef52c4242df4dcadc6a22cc5669b3aa37ac9dc25bc9cd9651fda83fb24dd5d17b1710e6865a35bb6c5cd9b95d0971717453935ae8e gcc-4.8.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.2/sha512.sum +sha512 e96cba06d572dbe7f382a2b00fd9297dcf9f9219d46a9ad0bd904dc36d5e7db3335e422640b79a27fed6fde91b0731732b94a0e2fbcd47344d6779f8ba1f4f9c gcc-4.9.2.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx gcc-arc-2014.12.tar.gz
Signature · 1 line
1.9.1
PATCH v5 1/7 package/gcc: add hashes
Quoted 4 lines · Yann E. MORIN
Signed-off-by "Yann E. MORIN" <[email protected]>cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>
Regards,
Arnout
Quoted 46 lines
---
Changes v4 -> v5:
- use alternate upstream as source of hashes (Arnout)--- package/gcc/gcc-final/gcc-final.hash | 1 + package/gcc/gcc-initial/gcc-initial.hash | 1 + package/gcc/gcc.hash | 10 ++++++++++ 3 files changed, 12 insertions(+) create mode 120000 package/gcc/gcc-final/gcc-final.hash create mode 120000 package/gcc/gcc-initial/gcc-initial.hash create mode 100644 package/gcc/gcc.hashpackage/gcc/gcc-final/gcc-final.hash new file +1
-0@@ -0,0 +1 @@ +../gcc.hashpackage/gcc/gcc-initial/gcc-initial.hash new file +1
-0@@ -0,0 +1 @@ +../gcc.hashpackage/gcc/gcc.hash new file +10
-0@@ -0,0 +1,10 @@ +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.4/sha512.sum +sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115 gcc-4.5.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.4/sha512.sum +sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.4/sha512.sum +sha512 b4c84ebd754c026029d706ef52c4242df4dcadc6a22cc5669b3aa37ac9dc25bc9cd9651fda83fb24dd5d17b1710e6865a35bb6c5cd9b95d0971717453935ae8e gcc-4.8.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.2/sha512.sum +sha512 e96cba06d572dbe7f382a2b00fd9297dcf9f9219d46a9ad0bd904dc36d5e7db3335e422640b79a27fed6fde91b0731732b94a0e2fbcd47344d6779f8ba1f4f9c gcc-4.9.2.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx gcc-arc-2014.12.tar.gz
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v5 2/7 package/binutils: add hashes
In reply to Yann E. MORIN---
Changes v4 -> v5:
- use alternate upstream as source for hashes (Arnout)
--- package/binutils/binutils.hash | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 package/binutils/binutils.hash
package/binutils/binutils.hash new file +7 -0
@@ -0,0 +1,7 @@ +# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum +sha512 ffe8ef263ef99183e8cc823fe8487ff7d0f7bf9a8efd2853b5f4636aca0023850d13de4eac7d77a5f69413d8a50e6f95bb14569be53df86c0bce38034525ab74 binutils-2.22.tar.bz2 +sha512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 binutils-2.23.2.tar.bz2 +sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2 +sha512 49438970642f379978aba988e3d2e7b63dab6fd0b46d91f4100f083e87a84d242089daca58572245fe620457a77bbbe2d78588ff3fb79314e500d1a39bf96f30 binutils-2.25.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx binutils-arc-2014.12.tar.gz
Signature · 1 line
1.9.1
PATCH v5 2/7 package/binutils: add hashes
Quoted 4 lines · Yann E. MORIN
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>
Regards,
Arnout
Quoted 22 lines
---
Changes v4 -> v5:
- use alternate upstream as source for hashes (Arnout)--- package/binutils/binutils.hash | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 package/binutils/binutils.hashpackage/binutils/binutils.hash new file +7
-0@@ -0,0 +1,7 @@ +# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum +sha512 ffe8ef263ef99183e8cc823fe8487ff7d0f7bf9a8efd2853b5f4636aca0023850d13de4eac7d77a5f69413d8a50e6f95bb14569be53df86c0bce38034525ab74 binutils-2.22.tar.bz2 +sha512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 binutils-2.23.2.tar.bz2 +sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2 +sha512 49438970642f379978aba988e3d2e7b63dab6fd0b46d91f4100f083e87a84d242089daca58572245fe620457a77bbbe2d78588ff3fb79314e500d1a39bf96f30 binutils-2.25.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx binutils-arc-2014.12.tar.gz
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v5 3/7 package/uclibc: add missing hash for eXtensa
In reply to Yann E. MORINThis is a git snapshot, we can't have a hash for it.
--- package/uclibc/uclibc.hash | 3 +++ 1 file changed, 3 insertions(+)
package/uclibc/uclibc.hash +3 -0
@@ -6,3 +6,6 @@ sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-a # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz + +# No hash for this git snapshot +none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gz
Signature · 1 line
1.9.1
PATCH v5 3/7 package/uclibc: add missing hash for eXtensa
Quoted 7 lines · Yann E. MORIN
This is a git snapshot, we can't have a hash for it.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>
My reviewed-by still stands, but you should probably also fix the hash for arc,
which currently still points at 2014.08 while we use 2014.12 and it's from github
none xxx uClibc-arc-2014.12.tar.gz
Regards,
Arnout
Quoted 16 lines
--- package/uclibc/uclibc.hash | 3 +++ 1 file changed, 3 insertions(+)package/uclibc/uclibc.hash +3
-0@@ -6,3 +6,6 @@ sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-a # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz + +# No hash for this git snapshot +none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gz
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/1 uclibc: update hash for arc
The old hash for 2014.08 was never updated. Since uclibc-arc-2014.12 is downloaded from the github helper, it is converted into a 'none' hash.
Reordered the hashes so the none-hashes are together.
---
This should be inserted into Yann's series before or after 3/7.
--- package/uclibc/uclibc.hash | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
package/uclibc/uclibc.hash +3 -3
@@ -1,11 +1,11 @@ # Locally calculated after checking pgp signature sha256 62333167b79afb0b25a843513288c67b59547acf653e8fbe62ee64e71ebd1587 uClibc-0.9.33.2.tar.xz -# Locally calculated -sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-arc-2014.08.tar.gz - # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz +# No hash for the ARC variant, comes from the github-helper +none xxx uClibc-arc-2014.12.tar.gz + # No hash for this git snapshot none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gz
Signature · 1 line
2.1.4
PATCH v5 3/7 package/uclibc: add missing hash for eXtensa
In reply to Arnout VandecappelleArnout, All,
On 2015-04-19 18:47 +0200, Arnout Vandecappelle spake thusly:
Quoted 9 lines · Yann E. MORIN
Quoted 7 lines
This is a git snapshot, we can't have a hash for it.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>
Quoted 4 lines
My reviewed-by still stands, but you should probably also fix the hash for arc,
which currently still points at 2014.08 while we use 2014.12 and it's from githubnone xxx uClibc-arc-2014.12.tar.gz
Damn, I did not even check that the version was correct. Thanks for spotting! :-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v5 4/7 support/download: add possibility to not fail on missing hash
In reply to Yann E. MORINIn very constrained cases, it might be needed to not fail if a hash is missing. This is notably the case for custom external toolchains to be downloaded, because we do have a .hash file for external toolchains, but we obviously can not have hashes for all existing custom toolchains (he, "custom"!).
So, add a way to avoid failing in that case.
From the Makefile, we export the list of files for which not to check the hash. Then, from the check-hash script, if no check was done, and the file we were trying to match in in this exclusion list, we just exit without error.
---
Changes v4 -> v5:
- micro-optimisation, use case-esac instead of a for-loop (Arnout)
- typoes (Arnout)
Changes v3 -> v4:
- drop the magic value, use a list of excluded files (Arnout)
Changes v1 -> v2:
- fix typoes in commit log
--- package/pkg-download.mk | 3 +++ support/download/check-hash | 6 ++++++ 2 files changed, 9 insertions(+)
package/pkg-download.mk +3 -0
@@ -60,6 +60,9 @@ domainseparator = $(if $(1),$(1),/) # github(user,package,version): returns site of GitHub repository github = https://github.com/$(1)/$(2)/archive/$(3) +# Expressly do not check hashes for those files +export BR_NO_CHECK_HASH_FOR + ################################################################################ # The DOWNLOAD_* helpers are in charge of getting a working copy # of the source repository for their corresponding SCM,
support/download/check-hash +6 -0
@@ -99,6 +99,12 @@ while read t h f; do done <"${h_file}" if [ ${nb_checks} -eq 0 ]; then + case " ${BR_NO_CHECK_HASH_FOR} " in + " ${base} ") + # File explicitly has no hash + exit 0 + ;; + esac printf "ERROR: No hash found for %s\n" "${base}" >&2 exit 0 fi
Signature · 1 line
1.9.1
PATCH v5 4/7 support/download: add possibility to not fail on missing hash
Quoted 13 lines · Yann E. MORIN
In very constrained cases, it might be needed to not fail if a hash is missing. This is notably the case for custom external toolchains to be downloaded, because we do have a .hash file for external toolchains, but we obviously can not have hashes for all existing custom toolchains (he, "custom"!).
So, add a way to avoid failing in that case.
Quoted 1 line
From the
Makefile, we export the list of files for which not to checkthe hash. Then, from the check-hash script, if no check was done, and the file we were trying to match in in this exclusion list, we just exit without error.
Quoted 5 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>
Ouch, it doesn't work...
Quoted 21 lines
---
Changes v4 -> v5:
- micro-optimisation, use case-esac instead of a for-loop (Arnout)
- typoes (Arnout)Changes v3 -> v4:
- drop the magic value, use a list of excluded files (Arnout)Changes v1 -> v2:
- fix typoes in commit log--- package/pkg-download.mk | 3 +++ support/download/check-hash | 6 ++++++ 2 files changed, 9 insertions(+)package/pkg-download.mk +0
-0
package/pkg-download.mk domainseparator = $(if $(1),$(1),/) · line 64
Quoted 5 lines
package/pkg-download.mk +2
-0@@ -60,6 +60,9 @@ domainseparator = $(if $(1),$(1),/) # github(user,package,version): returns site of GitHub repository github = https://github.com/$(1)/$(2)/archive/$(3) +# Expressly do not check hashes for those files +export BR_NO_CHECK_HASH_FOR
The comment is not very clear. Perhaps
# Files in this variable do not get their hash checked. export BR_NO_CHECK_HASH_FOR
Quoted 9 lines
package/pkg-download.mk +1
-0+ ################################################################################ # The DOWNLOAD_* helpers are in charge of getting a working copy # of the source repository for their corresponding SCM,support/download/check-hash +0
-0
support/download/check-hash while read t h f; do · line 103
Quoted 5 lines
support/download/check-hash +2
-0@@ -99,6 +99,12 @@ while read t h f; do done <"${h_file}" if [ ${nb_checks} -eq 0 ]; then + case " ${BR_NO_CHECK_HASH_FOR} " in + " ${base} ")
This does not work. If there is more than one file, there can be something
before/after ${base}, so we need to add * at the beginning and the end. But then, the quotes stop the matching of *, so we have to write:
*\ ${base}\ *) Regards,
Arnout
Quoted 8 lines
support/download/check-hash +4
-0+ # File explicitly has no hash + exit 0 + ;; + esac printf "ERROR: No hash found for %s\n" "${base}" >&2 exit 0 fi
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v5 5/7 toolchain/external: ignore missing hash for custom downloaded toolchain
In reply to Yann E. MORINWe will *always* be missing a hash file for custom external toolchains that are downloaded.
So, just ignore that failure.
---
Chamges v3 -> v4:
- drop magic value, append to the exclusion list (Arnout)
Changes v1 -> v2:
- fix typoes in title
--- toolchain/toolchain-external/toolchain-external.mk | 2 ++ 1 file changed, 2 insertions(+)
toolchain/toolchain-external/toolchain-external.mk +2 -0
@@ -400,6 +400,8 @@ else # Custom toolchain TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) +# We can't check hashes for custom downloaded toolchains +BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) endif # In fact, we don't need to download the toolchain, since it is already
Signature · 1 line
1.9.1
PATCH v5 6/7 package/uclibc: ignore missing hash for snapshots
In reply to Yann E. MORINWe can't have a hash for snapshots, so add them to the exclusion list.
--- package/uclibc/uclibc.mk | 1 + 1 file changed, 1 insertion(+)
package/uclibc/uclibc.mk +1 -0
@@ -11,6 +11,7 @@ UCLIBC_LICENSE_FILES = COPYING.LIB ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y) UCLIBC_SITE = http://www.uclibc.org/downloads/snapshots +BR_NO_CHECK_HASH_FOR += uClibc-$(UCLIBC_VERSION).tar.xz else ifeq ($(BR2_UCLIBC_VERSION_NG),y) UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
Signature · 1 line
1.9.1
PATCH v5 6/7 package/uclibc: ignore missing hash for snapshots
Quoted 16 lines · Yann E. MORIN
We can't have a hash for snapshots, so add them to the exclusion list.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>--- package/uclibc/uclibc.mk | 1 + 1 file changed, 1 insertion(+)package/uclibc/uclibc.mk +0
-0
package/uclibc/uclibc.mk UCLIBC_LICENSE_FILES = COPYING.LIB · line 14
Quoted 4 lines
package/uclibc/uclibc.mk +1
-0@@ -11,6 +11,7 @@ UCLIBC_LICENSE_FILES = COPYING.LIB ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y) UCLIBC_SITE = http://www.uclibc.org/downloads/snapshots +BR_NO_CHECK_HASH_FOR += uClibc-$(UCLIBC_VERSION).tar.xz
The file is .bz2, not .xz.
I think it's better to put $(UCLIBC_SOURCE) instead.
Regards,
Arnout
Quoted 4 lines
package/uclibc/uclibc.mk +0
-0else ifeq ($(BR2_UCLIBC_VERSION_NG),y) UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v5 7/7 support/download: restore mandatory check of hashes
In reply to Yann E. MORINNow that custom external toolchains to be downloaded proprely instruct to not fail on a missing hash, restore the mandatory hash check for everything else.
--- support/download/check-hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
support/download/check-hash +1 -1
@@ -106,5 +106,5 @@ if [ ${nb_checks} -eq 0 ]; then ;; esac printf "ERROR: No hash found for %s\n" "${base}" >&2 - exit 0 + exit 3 fi
Signature · 1 line
1.9.1
PATCH v5 7/7 support/download: restore mandatory check of hashes
Quoted 1 line · Yann E. MORIN
Now that custom external toolchains to be downloaded proprely instruct
properly
Also, it's not just the external toolchains that you fixed in this series.
Regards,
Arnout
Quoted 24 lines
to not fail on a missing hash, restore the mandatory hash check for everything else.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Arnout Vandecappelle <[email protected]>--- support/download/check-hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)support/download/check-hash +1
-1@@ -106,5 +106,5 @@ if [ ${nb_checks} -eq 0 ]; then ;; esac printf "ERROR: No hash found for %s\n" "${base}" >&2 - exit 0 + exit 3 fi
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v6 1/8 package/gcc: add hashes
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/gcc/gcc-final/gcc-final.hash | 1 + package/gcc/gcc-initial/gcc-initial.hash | 1 + package/gcc/gcc.hash | 10 ++++++++++ 3 files changed, 12 insertions(+) create mode 120000 package/gcc/gcc-final/gcc-final.hash create mode 120000 package/gcc/gcc-initial/gcc-initial.hash create mode 100644 package/gcc/gcc.hash
package/gcc/gcc-final/gcc-final.hash new file +1 -0
@@ -0,0 +1 @@ +../gcc.hash
package/gcc/gcc-initial/gcc-initial.hash new file +1 -0
@@ -0,0 +1 @@ +../gcc.hash
package/gcc/gcc.hash new file +10 -0
@@ -0,0 +1,10 @@ +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.4/sha512.sum +sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115 gcc-4.5.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.4/sha512.sum +sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.4/sha512.sum +sha512 b4c84ebd754c026029d706ef52c4242df4dcadc6a22cc5669b3aa37ac9dc25bc9cd9651fda83fb24dd5d17b1710e6865a35bb6c5cd9b95d0971717453935ae8e gcc-4.8.4.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.2/sha512.sum +sha512 e96cba06d572dbe7f382a2b00fd9297dcf9f9219d46a9ad0bd904dc36d5e7db3335e422640b79a27fed6fde91b0731732b94a0e2fbcd47344d6779f8ba1f4f9c gcc-4.9.2.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx gcc-arc-2014.12.tar.gz
Signature · 1 line
2.1.4
PATCH v6 2/8 package/binutils: add hashes
From: "Yann E. MORIN" <[email protected]>
--- package/binutils/binutils.hash | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 package/binutils/binutils.hash
package/binutils/binutils.hash new file +7 -0
@@ -0,0 +1,7 @@ +# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum +sha512 ffe8ef263ef99183e8cc823fe8487ff7d0f7bf9a8efd2853b5f4636aca0023850d13de4eac7d77a5f69413d8a50e6f95bb14569be53df86c0bce38034525ab74 binutils-2.22.tar.bz2 +sha512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 binutils-2.23.2.tar.bz2 +sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2 +sha512 49438970642f379978aba988e3d2e7b63dab6fd0b46d91f4100f083e87a84d242089daca58572245fe620457a77bbbe2d78588ff3fb79314e500d1a39bf96f30 binutils-2.25.tar.bz2 +# No hash for the ARC variant, comes from the github-helper: +none xxx binutils-arc-2014.12.tar.gz
Signature · 1 line
2.1.4
PATCH v6 3/8 package/uclibc: add missing hash for eXtensa
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Yann E. MORIN" <[email protected]>
This is a git snapshot, we can't have a hash for it.
--- package/uclibc/uclibc.hash | 3 +++ 1 file changed, 3 insertions(+)
package/uclibc/uclibc.hash +3 -0
@@ -6,3 +6,6 @@ sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-a # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz + +# No hash for this git snapshot +none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gz
Signature · 1 line
2.1.4
PATCH v6 4/8 uclibc: update hash for arc
In reply to Arnout Vandecappelle (Essensium/Mind)The old hash for 2014.08 was never updated. Since uclibc-arc-2014.12 is downloaded from the github helper, it is converted into a 'none' hash.
Reordered the hashes so the none-hashes are together.
---
This should be inserted into Yann's series before or after 3/7.
--- package/uclibc/uclibc.hash | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
package/uclibc/uclibc.hash +3 -3
@@ -1,11 +1,11 @@ # Locally calculated after checking pgp signature sha256 62333167b79afb0b25a843513288c67b59547acf653e8fbe62ee64e71ebd1587 uClibc-0.9.33.2.tar.xz -# Locally calculated -sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-arc-2014.08.tar.gz - # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz +# No hash for the ARC variant, comes from the github-helper +none xxx uClibc-arc-2014.12.tar.gz + # No hash for this git snapshot none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gz
Signature · 1 line
2.1.4
PATCH v6 4/8 uclibc: update hash for arc
Arnout, All,
On 2015-04-19 19:55 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
Quoted 6 lines
The old hash for 2014.08 was never updated. Since uclibc-arc-2014.12 is downloaded from the github helper, it is converted into a 'none' hash.
Reordered the hashes so the none-hashes are together.
Regards,
Yann E. MORIN.
Quoted 34 lines
---
This should be inserted into Yann's series before or after 3/7.--- package/uclibc/uclibc.hash | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)package/uclibc/uclibc.hash +3
-3@@ -1,11 +1,11 @@ # Locally calculated after checking pgp signature sha256 62333167b79afb0b25a843513288c67b59547acf653e8fbe62ee64e71ebd1587 uClibc-0.9.33.2.tar.xz -# Locally calculated -sha256 0a9085a11615296cfe7783f16ff29073393eb330749947adece0eeddb31705a4 uClibc-arc-2014.08.tar.gz - # From http://www.uclibc-ng.org/trac/ sha256 e561040293ba4f21dcf3285ca1f683b5a8493eb0ffd3b3e495122cfde5a64a0e uClibc-ng-1.0.1.tar.xz +# No hash for the ARC variant, comes from the github-helper +none xxx uClibc-arc-2014.12.tar.gz + # No hash for this git snapshot none xxx uClibc-7bf35c8b7d4a1f97174eb49f47f33946b282114c.tar.gzSignature · 6 lines
2.1.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v6 5/8 support/download: add possibility to not fail on missing hash
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Yann E. MORIN" <[email protected]>
In very constrained cases, it might be needed to not fail if a hash is missing. This is notably the case for custom external toolchains to be downloaded, because we do have a .hash file for external toolchains, but we obviously can not have hashes for all existing custom toolchains (he, "custom"!).
So, add a way to avoid failing in that case.
From the Makefile, we export the list of files for which not to check the hash. Then, from the check-hash script, if no check was done, and the file we were trying to match in in this exclusion list, we just exit without error.
---
Changed v5 -> v6:
- fix the pattern in the case clause
Changes v4 -> v5:
- micro-optimisation, use case-esac instead of a for-loop (Arnout)
- typoes (Arnout)
Changes v3 -> v4:
- drop the magic value, use a list of excluded files (Arnout)
Changes v1 -> v2:
- fix typoes in commit log
--- package/pkg-download.mk | 3 +++ support/download/check-hash | 6 ++++++ 2 files changed, 9 insertions(+)
package/pkg-download.mk +3 -0
@@ -60,6 +60,9 @@ domainseparator = $(if $(1),$(1),/) # github(user,package,version): returns site of GitHub repository github = https://github.com/$(1)/$(2)/archive/$(3) +# Expressly do not check hashes for those files +export BR_NO_CHECK_HASH_FOR + ################################################################################ # The DOWNLOAD_* helpers are in charge of getting a working copy # of the source repository for their corresponding SCM,
support/download/check-hash +6 -0
@@ -99,6 +99,12 @@ while read t h f; do done <"${h_file}" if [ ${nb_checks} -eq 0 ]; then + case " ${BR_NO_CHECK_HASH_FOR} " in + *\ ${base}\ *) + # File explicitly has no hash + exit 0 + ;; + esac printf "ERROR: No hash found for %s\n" "${base}" >&2 exit 0 fi
Signature · 1 line
2.1.4
PATCH v6 5/8 support/download: add possibility to not fail on missing hash
Arnout, All,
On 2015-04-19 19:55 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
Quoted 11 lines
From: "Yann E. MORIN" <[email protected]>
In very constrained cases, it might be needed to not fail if a hash is missing. This is notably the case for custom external toolchains to be downloaded, because we do have a .hash file for external toolchains, but we obviously can not have hashes for all existing custom toolchains (he, "custom"!).
So, add a way to avoid failing in that case.
Quoted 1 line
From the
Makefile, we export the list of files for which not to check
Stray leading '>' probably for a copy-paste from your mailer.
Quoted 11 lines
the hash. Then, from the check-hash script, if no check was done, and the file we were trying to match in in this exclusion list, we just exit without error.
Signed-off-by "Yann E. MORIN" <[email protected]>[Arnout: fix the pattern in the case statement]Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>
Quoted 3 lines
---
Changed v5 -> v6:
- fix the pattern in the case clause
Yeah, thanks. Obviously, I did not test that case (although the other tests I ran were OK, I missed testing the custom toolchain to be downloaded, which is a shame since that's exactly what I was trying to fix with this series, to begin with...).
[--SNIP--]
support/download/check-hash while read t h f; do · line 103
Quoted 10 lines
support/download/check-hash +2
-0@@ -99,6 +99,12 @@ while read t h f; do done <"${h_file}" if [ ${nb_checks} -eq 0 ]; then + case " ${BR_NO_CHECK_HASH_FOR} " in + *\ ${base}\ *)
I don't like much the escaping when it can be avoided. We can still use quotes (even if not very much better), like so:
*" ${base} "*Regards,
Yann E. MORIN.
Quoted 14 lines
support/download/check-hash +4
-0+ # File explicitly has no hash + exit 0 + ;; + esac printf "ERROR: No hash found for %s\n" "${base}" >&2 exit 0 fiSignature · 6 lines
2.1.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v6 5/8 support/download: add possibility to not fail on missing hash
Quoted 11 lines · Yann E. MORIN
Arnout, All,
On 2015-04-19 19:55 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
Quoted 8 lines
From: "Yann E. MORIN" <[email protected]>
In very constrained cases, it might be needed to not fail if a hash is missing. This is notably the case for custom external toolchains to be downloaded, because we do have a .hash file for external toolchains, but we obviously can not have hashes for all existing custom toolchains (he, "custom"!).
Quoted 5 lines
Quoted 3 lines
So, add a way to avoid failing in that case.
Quoted 1 line
From the
Makefile, we export the list of files for which not to checkStray leading '>' probably for a copy-paste from your mailer.
pwclient git-am actually... I would have expected patchwork (or actually, the
python mail handling infra) to handle >From correctly...
Quoted 5 lines
Quoted 5 lines
the hash. Then, from the check-hash script, if no check was done, and the file we were trying to match in in this exclusion list, we just exit without error.
[snip]
Quoted 7 lines
Quoted 7 lines
support/download/check-hash +0
-0@@ -99,6 +99,12 @@ while read t h f; do done <"${h_file}"
Quoted 8 lines
support/download/check-hash while read t h f; do · line 103
Quoted 3 lines
support/download/check-hash +2
-0if [ ${nb_checks} -eq 0 ]; then + case " ${BR_NO_CHECK_HASH_FOR} " in + *\ ${base}\ *)I don't like much the escaping when it can be avoided. We can still use quotes (even if not very much better), like so:
*" ${base} "*
It's your patch, modify as you like :-)
I just reposted it since I anyway had it locally modified.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v6 5/8 support/download: add possibility to not fail on missing hash
Arnout, All,
On 2015-04-20 09:45 +0200, Arnout Vandecappelle spake thusly:
Quoted 1 line · Yann E. MORIN
[--SNIP--]
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Quoted 1 line
From the
Makefile, we export the list of files for which not to checkStray leading '>' probably for a copy-paste from your mailer.
pwclient git-am actually... I would have expected patchwork (or actually, the
python mail handling infra) to handle >From correctly...
Actually, that comes from RFC 4155.
https://tools.ietf.org/html/rfc4155
TL;DR: "From " is actually used in mbox format to define the begining of an email. Thus, any lines in a body, that begins thusly, must be "quoted" to avoid improperly detecting the begining of an email.
See also this mail in the Patchwork ML archives:
https://lists.ozlabs.org/pipermail/patchwork/2014-November/001218.html
I don't think this was ever applied...
[--SNIP--]
Quoted 6 lines
Quoted 4 lines
I don't like much the escaping when it can be avoided. We can still use quotes (even if not very much better), like so:
*" ${base} "*It's your patch, modify as you like :-)
Hehe! :-)
Quoted 1 line
I just reposted it since I anyway had it locally modified.
Yeah, thanks! :-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v6 6/8 toolchain/external: ignore missing hash for custom downloaded toolchain
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Yann E. MORIN" <[email protected]>
We will *always* be missing a hash file for custom external toolchains that are downloaded.
So, just ignore that failure.
--- toolchain/toolchain-external/toolchain-external.mk | 2 ++ 1 file changed, 2 insertions(+)
toolchain/toolchain-external/toolchain-external.mk +2 -0
@@ -400,6 +400,8 @@ else # Custom toolchain TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) +# We can't check hashes for custom downloaded toolchains +BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) endif # In fact, we don't need to download the toolchain, since it is already
Signature · 1 line
2.1.4
PATCH v6 7/8 package/uclibc: ignore missing hash for snapshots
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Yann E. MORIN" <[email protected]>
We can't have a hash for snapshots, so add them to the exclusion list.
---
Changes v1 -> v6: (Arnout)
- use $(UCLIBC_SOURCE) instead of a wrong filename
--- package/uclibc/uclibc.mk | 1 + 1 file changed, 1 insertion(+)
package/uclibc/uclibc.mk +1 -0
@@ -11,6 +11,7 @@ UCLIBC_LICENSE_FILES = COPYING.LIB ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y) UCLIBC_SITE = http://www.uclibc.org/downloads/snapshots +BR_NO_CHECK_HASH_FOR += $(UCLIBC_SOURCE) else ifeq ($(BR2_UCLIBC_VERSION_NG),y) UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
Signature · 1 line
2.1.4
PATCH v6 8/8 support/download: restore mandatory check of hashes
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Yann E. MORIN" <[email protected]>
Now that custom external toolchains to be downloaded and the internal toolchain components properly instruct to not fail on a missing hash, restore the mandatory hash check for everything else.
--- support/download/check-hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
support/download/check-hash +1 -1
@@ -106,5 +106,5 @@ if [ ${nb_checks} -eq 0 ]; then ;; esac printf "ERROR: No hash found for %s\n" "${base}" >&2 - exit 0 + exit 3 fi
Signature · 1 line
2.1.4