All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64
@ 2021-07-06 15:42 Ross Burton
  2021-07-06 15:42 ` [PATCH 2/2] CI: add packaging test for the binary Arm compilers Ross Burton
  2021-07-06 20:10 ` [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Denys Dmytriyenko
  0 siblings, 2 replies; 5+ messages in thread
From: Ross Burton @ 2021-07-06 15:42 UTC (permalink / raw)
  To: meta-arm

The tarball has been regenerated with new license texts, so the
checksums are different.

Also, patch out the host architecture test in the installer: we might
want to package the armcompiler for a x86 target on a arm64 machine.

Change-Id: Iedf0113c53b6567e3e4e716e2a0db98776d1da6d
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../armcompiler/no-uname.patch                  | 14 ++++++++++++++
 .../external-arm-toolchain/armcompiler_6.16.bb  | 17 ++++++++++++-----
 2 files changed, 26 insertions(+), 5 deletions(-)
 create mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch
new file mode 100644
index 0000000..7c95807
--- /dev/null
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch
@@ -0,0 +1,14 @@
+The install script has an explicit check that the current host is x86-64, which
+means we can't build armcompiler for x86-64 targets on arm64. Pad the
+replacement host with whitespace so that the installer offset doesn't change.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+--- a/install_x86_64.sh.orig	2021-07-06 14:11:47.632155370 +0100
++++ b/install_x86_64.sh	2021-07-06 14:11:58.393163350 +0100
+@@ -470,3 +470,3 @@
+ fi
+-host=`/bin/uname -m`
++host=x86_64         
+ echo --- Host target check...[${host}]
diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
index 60656b8..f192c61 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
@@ -17,24 +17,31 @@ LICENSE = "Armcompiler-License-agreement & Armcompiler-Redistributables & \
            Armcompiler-Supplementary-terms & Armcompiler-Third-party-licenses"
 LICENSE_FLAGS = "armcompiler"
 
-LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=40cd57dbb1f9d111fb6923945849d51c \
+LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=19faf912b534478d28f60dfa24659c17 \
                     file://license_terms/redistributables.txt;md5=e510e47f7f5be1356ea6218f5b1f6c55 \
                     file://license_terms/supplementary_terms.txt;md5=17a2efdbd320ceda48a3521747e02dd9 \
-                    file://license_terms/third_party_licenses.txt;md5=6273fa29eb26c0093e1a7deaef7bafec "
+                    file://license_terms/third_party_licenses.txt;md5=c351a9bed613cf88d4fccd6f0a5e57af "
 
 ARMCLANG_VERSION = "DS500-BN-00026-r5p0-18rel0"
 
 COMPATIBLE_HOST = "x86_64.*-linux"
 
-SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION}"
-SRC_URI[md5sum] = "d41d8cd98f00b204e9800998ecf8427e"
-SRC_URI[sha256sum] = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
+SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION} \
+           file://no-uname.patch"
+SRC_URI[sha256sum] = "d9fb99e7550366f884c31f74953066da64301fb30601cb55278d738459c22557"
 
 UPSTREAM_CHECK_URI = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/"
 UPSTREAM_CHECK_REGEX = "Download Arm Compiler.*,(?P<pver>[\d\.]+)"
 
 S = "${WORKDIR}/${ARMCLANG_VERSION}"
 
+do_patch() {
+    # The script has an explicit check that the current host is x86-64, which means we can't
+    # build armcompiler for x86-64 targets on arm64. Pad the replacement host with whitespace
+    # so that the installer offset doesn't change.
+    sed -ie 's/^host=.*/host=x86_64         /' ${S}/install_x86_64.sh
+}
+
 do_install() {
     install -d ${D}${datadir}/armclang/
     # Commercial license flag set, so recipe will only install when explicitly agreed to it already
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] CI: add packaging test for the binary Arm compilers
  2021-07-06 15:42 [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Ross Burton
@ 2021-07-06 15:42 ` Ross Burton
  2021-07-06 20:12   ` [meta-arm] " Denys Dmytriyenko
  2021-07-06 20:10 ` [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Denys Dmytriyenko
  1 sibling, 1 reply; 5+ messages in thread
From: Ross Burton @ 2021-07-06 15:42 UTC (permalink / raw)
  To: meta-arm

Add a trivial job that verifies the binary Arm compiler packages all
fetch and package correctly for both x86-64 and arm64.

Change-Id: I1e29cc175d66d418630505dcac1a87cdf5c0024a
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .gitlab-ci.yml    |  3 +++
 ci/toolchains.yml | 20 ++++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 ci/toolchains.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 50eb88b..e0f1e74 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -101,6 +101,9 @@ check-layers:
   - kas shell --update --force-checkout ci/base.yml:ci/meta-arm-autonomy.yml:ci/meta-python.yml --command \
     "$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
 
+toolchains:
+  extends: .build
+
 corstone500:
   extends: .build
 
diff --git a/ci/toolchains.yml b/ci/toolchains.yml
new file mode 100644
index 0000000..6a8ebb1
--- /dev/null
+++ b/ci/toolchains.yml
@@ -0,0 +1,20 @@
+header:
+  version: 9
+  includes:
+    - base.yml
+
+# Target is arm64 and SDK is x86-64 to ensure that we exercise both
+# architectures
+
+machine: qemuarm64
+local_conf_header:
+  toolchains: |
+    SDKMACHINE = "x86_64"
+
+# No target armcompiler as currently there is no arm64 build
+target:
+  - nativesdk-armcompiler
+  - gcc-aarch64-none-elf
+  - nativesdk-gcc-aarch64-none-elf
+  - gcc-arm-none-eabi
+  - nativesdk-gcc-arm-none-eabi
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64
  2021-07-06 15:42 [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Ross Burton
  2021-07-06 15:42 ` [PATCH 2/2] CI: add packaging test for the binary Arm compilers Ross Burton
@ 2021-07-06 20:10 ` Denys Dmytriyenko
  2021-07-07  9:16   ` Ross Burton
  1 sibling, 1 reply; 5+ messages in thread
From: Denys Dmytriyenko @ 2021-07-06 20:10 UTC (permalink / raw)
  To: Ross Burton; +Cc: meta-arm

On Tue, Jul 06, 2021 at 04:42:55PM +0100, Ross Burton wrote:
> The tarball has been regenerated with new license texts, so the
> checksums are different.
> 
> Also, patch out the host architecture test in the installer: we might
> want to package the armcompiler for a x86 target on a arm64 machine.
> 
> Change-Id: Iedf0113c53b6567e3e4e716e2a0db98776d1da6d
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  .../armcompiler/no-uname.patch                  | 14 ++++++++++++++
>  .../external-arm-toolchain/armcompiler_6.16.bb  | 17 ++++++++++++-----
>  2 files changed, 26 insertions(+), 5 deletions(-)
>  create mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch
> new file mode 100644
> index 0000000..7c95807
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch
> @@ -0,0 +1,14 @@
> +The install script has an explicit check that the current host is x86-64, which
> +means we can't build armcompiler for x86-64 targets on arm64. Pad the
> +replacement host with whitespace so that the installer offset doesn't change.

I see you have a patch file, but you also do a sed replacement in do_patch(). 
I guess the sed replacement is generic enough to work w/o the patch file?
Alternatively, would this shell line in the patch file work alone as well:

host="x86_64         "

Otherwise you'd lose those whitespaces at the end of the line due to any 
MUA/MTA/Patchwork transitions...


> +Upstream-Status: Inappropriate
> +Signed-off-by: Ross Burton <ross.burton@arm.com>
> +
> +--- a/install_x86_64.sh.orig	2021-07-06 14:11:47.632155370 +0100
> ++++ b/install_x86_64.sh	2021-07-06 14:11:58.393163350 +0100
> +@@ -470,3 +470,3 @@
> + fi
> +-host=`/bin/uname -m`
> ++host=x86_64         
> + echo --- Host target check...[${host}]
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
> index 60656b8..f192c61 100644
> --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.16.bb
> @@ -17,24 +17,31 @@ LICENSE = "Armcompiler-License-agreement & Armcompiler-Redistributables & \
>             Armcompiler-Supplementary-terms & Armcompiler-Third-party-licenses"
>  LICENSE_FLAGS = "armcompiler"
>  
> -LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=40cd57dbb1f9d111fb6923945849d51c \
> +LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=19faf912b534478d28f60dfa24659c17 \
>                      file://license_terms/redistributables.txt;md5=e510e47f7f5be1356ea6218f5b1f6c55 \
>                      file://license_terms/supplementary_terms.txt;md5=17a2efdbd320ceda48a3521747e02dd9 \
> -                    file://license_terms/third_party_licenses.txt;md5=6273fa29eb26c0093e1a7deaef7bafec "
> +                    file://license_terms/third_party_licenses.txt;md5=c351a9bed613cf88d4fccd6f0a5e57af "
>  
>  ARMCLANG_VERSION = "DS500-BN-00026-r5p0-18rel0"
>  
>  COMPATIBLE_HOST = "x86_64.*-linux"
>  
> -SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION}"
> -SRC_URI[md5sum] = "d41d8cd98f00b204e9800998ecf8427e"
> -SRC_URI[sha256sum] = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
> +SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION} \
> +           file://no-uname.patch"
> +SRC_URI[sha256sum] = "d9fb99e7550366f884c31f74953066da64301fb30601cb55278d738459c22557"
>  
>  UPSTREAM_CHECK_URI = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/"
>  UPSTREAM_CHECK_REGEX = "Download Arm Compiler.*,(?P<pver>[\d\.]+)"
>  
>  S = "${WORKDIR}/${ARMCLANG_VERSION}"
>  
> +do_patch() {
> +    # The script has an explicit check that the current host is x86-64, which means we can't
> +    # build armcompiler for x86-64 targets on arm64. Pad the replacement host with whitespace
> +    # so that the installer offset doesn't change.
> +    sed -ie 's/^host=.*/host=x86_64         /' ${S}/install_x86_64.sh
> +}
> +
>  do_install() {
>      install -d ${D}${datadir}/armclang/
>      # Commercial license flag set, so recipe will only install when explicitly agreed to it already
> -- 
> 2.25.1
> 

-- 
Regards,
Denys Dmytriyenko <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186  6D76 4209 0272 9A92 C964

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-arm] [PATCH 2/2] CI: add packaging test for the binary Arm compilers
  2021-07-06 15:42 ` [PATCH 2/2] CI: add packaging test for the binary Arm compilers Ross Burton
@ 2021-07-06 20:12   ` Denys Dmytriyenko
  0 siblings, 0 replies; 5+ messages in thread
From: Denys Dmytriyenko @ 2021-07-06 20:12 UTC (permalink / raw)
  To: Ross Burton; +Cc: meta-arm

On Tue, Jul 06, 2021 at 04:42:56PM +0100, Ross Burton wrote:
> Add a trivial job that verifies the binary Arm compiler packages all
> fetch and package correctly for both x86-64 and arm64.

Thanks a lot for adding this tests!


> Change-Id: I1e29cc175d66d418630505dcac1a87cdf5c0024a
> Signed-off-by: Ross Burton <ross.burton@arm.com>

Reviewed-by: Denys Dmytriyenko <denis@denix.org>


> ---
>  .gitlab-ci.yml    |  3 +++
>  ci/toolchains.yml | 20 ++++++++++++++++++++
>  2 files changed, 23 insertions(+)
>  create mode 100644 ci/toolchains.yml
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 50eb88b..e0f1e74 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -101,6 +101,9 @@ check-layers:
>    - kas shell --update --force-checkout ci/base.yml:ci/meta-arm-autonomy.yml:ci/meta-python.yml --command \
>      "$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
>  
> +toolchains:
> +  extends: .build
> +
>  corstone500:
>    extends: .build
>  
> diff --git a/ci/toolchains.yml b/ci/toolchains.yml
> new file mode 100644
> index 0000000..6a8ebb1
> --- /dev/null
> +++ b/ci/toolchains.yml
> @@ -0,0 +1,20 @@
> +header:
> +  version: 9
> +  includes:
> +    - base.yml
> +
> +# Target is arm64 and SDK is x86-64 to ensure that we exercise both
> +# architectures
> +
> +machine: qemuarm64
> +local_conf_header:
> +  toolchains: |
> +    SDKMACHINE = "x86_64"
> +
> +# No target armcompiler as currently there is no arm64 build
> +target:
> +  - nativesdk-armcompiler
> +  - gcc-aarch64-none-elf
> +  - nativesdk-gcc-aarch64-none-elf
> +  - gcc-arm-none-eabi
> +  - nativesdk-gcc-arm-none-eabi
> -- 
> 2.25.1
> 

-- 
Regards,
Denys Dmytriyenko <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186  6D76 4209 0272 9A92 C964

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64
  2021-07-06 20:10 ` [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Denys Dmytriyenko
@ 2021-07-07  9:16   ` Ross Burton
  0 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2021-07-07  9:16 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arm

On Tue, 6 Jul 2021 at 21:10, Denys Dmytriyenko <denis@denix.org> wrote:
> I see you have a patch file, but you also do a sed replacement in do_patch().
> I guess the sed replacement is generic enough to work w/o the patch file?
> Alternatively, would this shell line in the patch file work alone as well:

So I originally did a sed, then switched to a patch... and failed to
remove the sed.  <facepalm>

v2 incoming.

Ross

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-07-07  9:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-06 15:42 [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Ross Burton
2021-07-06 15:42 ` [PATCH 2/2] CI: add packaging test for the binary Arm compilers Ross Burton
2021-07-06 20:12   ` [meta-arm] " Denys Dmytriyenko
2021-07-06 20:10 ` [meta-arm] [PATCH 1/2] arm-toolchain/armcompiler: fix checksums and installation on arm64 Denys Dmytriyenko
2021-07-07  9:16   ` Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.