The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/distrobuilder/pull/323

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
This fixes the Gentoo ppc64le checksum matching.

From 26a6b1569276be6439b83924151c5c421b6ff211 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.h...@canonical.com>
Date: Wed, 15 Apr 2020 19:02:15 +0200
Subject: [PATCH 1/2] shared/util: Fix checksum matching

Signed-off-by: Thomas Hipp <thomas.h...@canonical.com>
---
 shared/util.go | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/shared/util.go b/shared/util.go
index b26f042..3bf6eed 100644
--- a/shared/util.go
+++ b/shared/util.go
@@ -372,11 +372,15 @@ func getChecksum(fname string, hashLen int, r io.Reader) 
string {
        scanner := bufio.NewScanner(r)
 
        for scanner.Scan() {
-               if !strings.Contains(scanner.Text(), fname) {
+               fields := strings.Split(scanner.Text(), " ")
+
+               // We need to special case CentOS, as they don't use the common
+               // "<hash> <filename>" syntax.
+               if strings.TrimSpace(fields[len(fields)-1]) != fname && 
!strings.Contains(scanner.Text(), fmt.Sprintf("(%s)", fname)) {
                        continue
                }
 
-               for _, s := range strings.Split(scanner.Text(), " ") {
+               for _, s := range fields {
                        m, _ := regexp.MatchString("[[:xdigit:]]+", s)
                        if !m {
                                continue

From d370ef38f7243b0dfa88e24f72e4dc7a7328987d Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.h...@canonical.com>
Date: Wed, 15 Apr 2020 19:02:48 +0200
Subject: [PATCH 2/2] test: Update checksum matching

Signed-off-by: Thomas Hipp <thomas.h...@canonical.com>
---
 shared/util_test.go | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/shared/util_test.go b/shared/util_test.go
index 994eae3..955a3ab 100644
--- a/shared/util_test.go
+++ b/shared/util_test.go
@@ -227,6 +227,22 @@ func Test_getChecksum(t *testing.T) {
                args args
                want string
        }{
+               {
+                       "stage3-ppc64le-20200414T103003Z.tar.xz",
+                       args{
+                               "stage3-ppc64le-20200414T103003Z.tar.xz",
+                               128,
+                               bytes.NewBufferString(`# BLAKE2 (b2sum) HASH
+2c5dc7ce04e4d72204a513e4bfa4bd0129e61a060747537ca748538ea8ed6016656f84c35b4cf2049df91a164977d1d0e506e722443fdb48874e9a0b90c00f7a
  /var/tmp/catalyst/builds/default/stage3-ppc64le-20200414T103003Z.tar.xz
+# SHA512 HASH
+e4b9cb10146502310cbedf14197afa9e94b75f7d59c1c6977bff23bac529e9114e3fddb155cfcad9119e466a39f0fcd8d75354e5237da79c9289fe76ee77693d
  stage3-ppc64le-20200414T103003Z.tar.xz
+# BLAKE2 (b2sum) HASH
+7e1a1985a41b61ac24c4fdefe7a09237161dc7ff20150f3e02c73115b74778f96c45042ced08e38c931ad6e316dfef80ac3a4c956fcd16528819dd506a320726
  
/var/tmp/catalyst/builds/default/stage3-ppc64le-20200414T103003Z.tar.xz.CONTENTS
+# SHA512 HASH
+1047f97cbb209fb22d372dffe4461722b5eaf936fc73546a8f036dc52a5d20433921d367288b28b3de5154cad1253b40d32233104c2be45732ebfa413bd9b09b
  stage3-ppc64le-20200414T103003Z.tar.xz.CONTENTS`),
+                       },
+                       
"e4b9cb10146502310cbedf14197afa9e94b75f7d59c1c6977bff23bac529e9114e3fddb155cfcad9119e466a39f0fcd8d75354e5237da79c9289fe76ee77693d",
+               },
                {
                        "CentOS-8-x86_64-1905-dvd1.iso",
                        args{
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to