Skip to contentSkip to conversation

U-Boot: don't check hashes for U-Boot external patches

RFC PATCH New julien.boibessot at free.fr 3 participants 9 messages Apr 14, 2016 – Jun 12, 2016

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

From: Julien BOIBESSOT <[email protected]>

BR2_TARGET_UBOOT_PATCH allows user to give URL of patches on the Web, but in that case BR dl infra tries to compare hashes of the downloaded patches with the infos from boot/uboot/uboot.hash.
So, for that case (user specified patches), tell BR not to check hashes.

---
 boot/uboot/uboot.mk | 2 ++
 1 file changed, 2 insertions(+)
boot/uboot/uboot.mk +2 -0
index 48f40c3..9e24b48 100644
@@ -109,6 +109,8 @@ UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 # directories or files.
 UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
 UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
+UBOOT_PATCHES_NAME = $(notdir $(UBOOT_PATCHES))
+BR_NO_CHECK_HASH_FOR += $(UBOOT_PATCHES_NAME)
 
 define UBOOT_APPLY_LOCAL_PATCHES
 	for p in $(filter-out ftp://% http://% https://%,$(UBOOT_PATCHES)) ; do \
Signature · 1 line
2.1.4
#1 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Quoted 17 lines · julien.boibessot at free.fr

From: Julien BOIBESSOT <[email protected]>

BR2_TARGET_UBOOT_PATCH allows user to give URL of patches on the Web, but in that case BR dl infra tries to compare hashes of the downloaded patches with the infos from boot/uboot/uboot.hash.
So, for that case (user specified patches), tell BR not to check hashes.

---
  boot/uboot/uboot.mk | 2 ++
  1 file changed, 2 insertions(+)
boot/uboot/uboot.mk +0 -0
index 48f40c3..9e24b48 100644

boot/uboot/uboot.mk UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE · line 112

Quoted 4 lines
boot/uboot/uboot.mk +1 -0
@@ -109,6 +109,8 @@ UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
  # directories or files.
  UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
  UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
+UBOOT_PATCHES_NAME = $(notdir $(UBOOT_PATCHES))

Since only the non-local patches will be downloaded, perhaps it's better to
use UBOOT_PATCH instead of UBOOT_PATCHES.

Also, there is no need to use an additional variable for this, it's used only
once.

Regards,
Arnout

Quoted 5 lines
boot/uboot/uboot.mk +1 -0
+BR_NO_CHECK_HASH_FOR += $(UBOOT_PATCHES_NAME)
 
  define UBOOT_APPLY_LOCAL_PATCHES
  	for p in $(filter-out ftp://% http://% https://%,$(UBOOT_PATCHES)) ; do \
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Quoted 26 lines · Arnout Vandecappelle
Quoted 17 lines · julien.boibessot at free.fr

From: Julien BOIBESSOT <[email protected]>

BR2_TARGET_UBOOT_PATCH allows user to give URL of patches on the Web, but in that case BR dl infra tries to compare hashes of the downloaded patches with the infos from boot/uboot/uboot.hash.
So, for that case (user specified patches), tell BR not to check hashes.

---
  boot/uboot/uboot.mk | 2 ++
  1 file changed, 2 insertions(+)
boot/uboot/uboot.mk +0 -0
index 48f40c3..9e24b48 100644

boot/uboot/uboot.mk UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE · line 112

Quoted 4 lines
boot/uboot/uboot.mk +1 -0
@@ -109,6 +109,8 @@ UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
  # directories or files.
  UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
  UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
+UBOOT_PATCHES_NAME = $(notdir $(UBOOT_PATCHES))

Since only the non-local patches will be downloaded, perhaps it's better to
use UBOOT_PATCH instead of UBOOT_PATCHES.

Quoted 2 lines

Also, there is no need to use an additional variable for this, it's used only
once.

Oh, and something similar should be done for LINUX_PATCH as well.

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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#3 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Hello,

Arnout,

thanks for the comments.

Quoted 32 lines · Arnout Vandecappelle
Quoted 31 lines · Arnout Vandecappelle
Quoted 21 lines · julien.boibessot at free.fr

From: Julien BOIBESSOT <[email protected]>

BR2_TARGET_UBOOT_PATCH allows user to give URL of patches on the Web, but in
that case BR dl infra tries to compare hashes of the downloaded patches with the
infos from boot/uboot/uboot.hash.
So, for that case (user specified patches), tell BR not to check hashes.

---
  boot/uboot/uboot.mk | 2 ++
  1 file changed, 2 insertions(+)
boot/uboot/uboot.mk +0 -0
index 48f40c3..9e24b48 100644
@@ -109,6 +109,8 @@ UBOOT_POST_RSYNC_HOOKS +=

UBOOT_COPY_OLD_LICENSE_FILE

Quoted 4 lines
  # directories or files.
  UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
  UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
+UBOOT_PATCHES_NAME = $(notdir $(UBOOT_PATCHES))

Since only the non-local patches will be downloaded, perhaps it's
better to
use UBOOT_PATCH instead of UBOOT_PATCHES.

Quoted 5 lines
Quoted 3 lines

Also, there is no need to use an additional variable for this, it's
used only
once.

Oh, and something similar should be done for LINUX_PATCH as well.

LINUX_PATCH is already working well with external patches that have to be downloaded.

Regards,
Julien

#4 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Quoted 7 lines · Julien Boibessot

Hello,

Arnout,

thanks for the comments.

On 14/04/2016 23:25, Arnout Vandecappelle wrote:

[snip]

Quoted 5 lines
Quoted 2 lines

Oh, and something similar should be done for LINUX_PATCH as well.

LINUX_PATCH is already working well with external patches that have to be downloaded.

Of course, because we don't have a linux.hash and probably never will have one.

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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Quoted 10 lines · Arnout Vandecappelle
Quoted 7 lines · Julien Boibessot

Hello,

Arnout,

thanks for the comments.

On 14/04/2016 23:25, Arnout Vandecappelle wrote:

[snip]

Quoted 1 line
Quoted 1 line
Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Oh, and something similar should be done for LINUX_PATCH as well.

LINUX_PATCH is already working well with external patches that have to be downloaded.

Of course, because we don't have a linux.hash and probably never will
have one.

ah ok, got it now ! :-)
So why can't we just get rid of uboot.hash too ?

Regards,
Julien

#6 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Quoted 13 lines · Julien Boibessot
Quoted 12 lines · Arnout Vandecappelle
Quoted 7 lines · Julien Boibessot

Hello,

Arnout,

thanks for the comments.

On 14/04/2016 23:25, Arnout Vandecappelle wrote:

[snip]

Quoted 3 lines
Quoted 2 lines

Oh, and something similar should be done for LINUX_PATCH as well.

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

LINUX_PATCH is already working well with external patches that have to be downloaded.

Of course, because we don't have a linux.hash and probably never will
have one.

ah ok, got it now ! :-)
So why can't we just get rid of uboot.hash too ?

I don't think so.

For the kernel, it is very unlikely that you just use the latest version, most
projects will want a specific version and usually even a patched version. With device trees this becomes somewhat less true, but even so, most people just don't use the latest-and-greatest kernel. Therefore, having hashes is quite useless.

For u-boot (and barebox for that matter), this also used to be the case, but
nowadays you can very often get away with just using the upstream version. In this case, the hash is indeed valuable.

Cc-ing Yann, our hash expert :-)

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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#7 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

Arnout, Julien, All,

On 2016-04-20 22:18 +0200, Arnout Vandecappelle spake thusly:

Quoted 17 lines · Julien Boibessot
Quoted 16 lines · Arnout Vandecappelle
Quoted 15 lines · Julien Boibessot
Quoted 7 lines

Hello,

Arnout,

thanks for the comments.

On 14/04/2016 23:25, Arnout Vandecappelle wrote:

[snip]

Quoted 5 lines
Quoted 2 lines

Oh, and something similar should be done for LINUX_PATCH as well.

LINUX_PATCH is already working well with external patches that have to be downloaded.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Of course, because we don't have a linux.hash and probably never will
have one.

ah ok, got it now ! :-)
So why can't we just get rid of uboot.hash too ?

I don't think so.

Siding with Arnout on that one: we want to one day make .hash files mandatory.

Quoted 5 lines

For the kernel, it is very unlikely that you just use the latest version,
most projects will want a specific version and usually even a patched version. With device trees this becomes somewhat less true, but even so, most people just don't use the latest-and-greatest kernel. Therefore, having hashes is quite useless.

Yes and no. We could well have hashes for the latest release, at least. Then, when bumping, we can leave the old one and just add the new one; thus hashes would be piling up as time goes, at least for official releases.

Plus, we could also bulk-add hashes for older official releases. Official releases are also very often used, at least for "standard" architectures like x86, so it would not be nonsense to have hashes for those releases.

Normally, when a .hash file does exist, an archive must have at least one hash, otherwise this is considered an error. NO_CHECK_HASH_FOR makes it so that this is not an error that an archive does not have a hash, but won't bar the existing hashes to be checked.

It's on my TODO to add hashes for the kernel.

Regards,
Yann E. MORIN.

Quoted 17 lines

For u-boot (and barebox for that matter), this also used to be the case,
but nowadays you can very often get away with just using the upstream version. In this case, the hash is indeed valuable.

Cc-ing Yann, our hash expert :-)

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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
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.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

RFC PATCH 1/1 U-Boot: don't check hashes for U-Boot external patches

In reply to julien.boibessot at free.fr

Julien, All,

On 2016-04-14 16:32 +0200, julien.boibessot at free.fr spake thusly:

Quoted 6 lines

From: Julien BOIBESSOT <[email protected]>

BR2_TARGET_UBOOT_PATCH allows user to give URL of patches on the Web, but in that case BR dl infra tries to compare hashes of the downloaded patches with the infos from boot/uboot/uboot.hash.
So, for that case (user specified patches), tell BR not to check hashes.

You've had some suggestions from Arnout. Care to update your patch and re-submit it, please?

In the meantime, I'm marking it as "Changes Requestd" in our Patchwork.

Thanks!

Regards,
Yann E. MORIN.

Quoted 25 lines
---
 boot/uboot/uboot.mk | 2 ++
 1 file changed, 2 insertions(+)
boot/uboot/uboot.mk +2 -0
index 48f40c3..9e24b48 100644
@@ -109,6 +109,8 @@ UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 # directories or files.
 UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
 UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
+UBOOT_PATCHES_NAME = $(notdir $(UBOOT_PATCHES))
+BR_NO_CHECK_HASH_FOR += $(UBOOT_PATCHES_NAME)
 
 define UBOOT_APPLY_LOCAL_PATCHES
 	for p in $(filter-out ftp://% http://% https://%,$(UBOOT_PATCHES)) ; do \
Signature · 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.  |
'------------------------------^-------^------------------^--------------------'