From 3d33e08813ba0ac3912fb285813db54c2068ac26 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Mon, 21 Oct 2024 11:59:31 +0100 Subject: [PATCH 01/31] Add walnascar branch build status to README Signed-off-by: Alex J Lennon --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fedf78f1..f576fff5 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,14 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono | Branch | Version | Support Status* | Status of Build & Tests | | ------ | ------- | --------------- | ----------------------- | -| styhead | 5.1 | Active Development | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| walnascar | 5.2 | Active Development | [![walnascar](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=walnascar&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| styhead | 5.1 | Future | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | nanbield | 4.3 | May 2024 | [![nanbield](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=nanbield&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![master](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | dunfell | 3.1 | Supported - Long Term Support (until Apr. 2024) | [![dunfell](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=dunfell&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -*support status as of 03/10/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) +*support status as of 21/10/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) ## Layer Dependencies From 9f5acbb3d50427256242a3d41b7788b1ffac793a Mon Sep 17 00:00:00 2001 From: Alex Lennon Date: Mon, 21 Oct 2024 12:05:57 +0100 Subject: [PATCH 02/31] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f576fff5..9a1b5270 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,10 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono *support status as of 21/10/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) +## Removal of support for ARM32 + +Currently (21/10/2024) `styhead` is failing to build GCC for ARM32. As such we've removed the CI tests for the interim. For discussion see [here](https://github.com/DynamicDevices/meta-mono/discussions/234). At such time as GCC is building again for ARM32 the intention is to add the CI build back in at which time we intend to continue to support ARM32. #HelpWanted + ## Layer Dependencies This layer depends on: From 9ad06e10830880baecf83bffb33aff04b8dae411 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Mon, 21 Oct 2024 12:08:58 +0100 Subject: [PATCH 03/31] Don't trigger CI on changes to README.md Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index bcef378c..2a64c999 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -7,7 +7,8 @@ on: - master-next - walnascar pull_request: - + paths-ignore: + - "**.md" jobs: build-and-test: runs-on: [self-hosted, linux, X64] From 9e18bb6f1afee40b0b51564dfd555a0b8a2f9779 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Mon, 21 Oct 2024 12:34:34 +0100 Subject: [PATCH 04/31] Tidy ups (remove clean step, generate SPDX, run CVE checks) Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 2a64c999..da172d00 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -20,7 +20,7 @@ jobs: matrix: dotnet_version: [8.0.303, 6.0.424] mono_version: [6.12.0.206] - branch: [walnascar] + branch: [master] arch: [x86-64, arm64] env: name: build-and-test @@ -51,7 +51,7 @@ jobs: cd ${BRANCH}/meta-openembedded git pull origin ${BRANCH} cd ../.. - fi + fi - name: Configuring run: | rm -f ${BRANCH}/build/conf/local.conf @@ -77,19 +77,25 @@ jobs: echo "PREFERRED_VERSION_dotnet=\"${DOTNET_VERSION}\"" >> conf/local.conf echo "PREFERRED_VERSION_dotnet-native=\"${DOTNET_VERSION}\"" >> conf/local.conf - echo "INHERIT += \" rm_work \"" >> conf/local.conf + echo "INHERIT += \" create-spdx cve-check rm_work \"" >> conf/local.conf sed -i 's/#IMAGE_CLASSES += "testimage testsdk"/IMAGE_CLASSES += "testimage "/' conf/local.conf + echo "SPDX_PRETTY = \"1\"" >> conf/local.conf echo "BB_NUMBER_THREADS ?= \"\${@oe.utils.cpu_count()}\"" >> conf/local.conf echo "PARALLEL_MAKE ?= \"-j \${@oe.utils.cpu_count()} -l \${@oe.utils.cpu_count()*2}\"" >> conf/local.conf - - name: Cleaning +# - name: Cleaning +# run: | +# . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build +# bitbake -c cleanall test-image-mono dotnet dotnet-native + - name: Building Mono Test Image run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build - bitbake -c cleanall test-image-mono dotnet dotnet-native - - name: Building + bitbake test-image-mono + - name: CVE Check Mono / dotNet run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build - bitbake -k test-image-mono + export TERM=linux + bitbake mono dotnet -c cve-check - name: Testing run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build @@ -100,3 +106,8 @@ jobs: with: name: test-image-mono-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} path: ./${{ matrix.branch }}/build/tmp/deploy/images/qemu${{ matrix.arch }}/ + - name: Store SPDX + uses: actions/upload-artifact@v4 + with: + name: spdx-test-image-mono-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} + path: ./${{ matrix.branch }}/build/tmp/deploy/images/qemu${{ matrix.arch }}/*.json From d603951be6fe66b17c6fbb0035bc3d7b337d5827 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Mon, 21 Oct 2024 12:35:47 +0100 Subject: [PATCH 05/31] Build on Poky master as walnascar branch doesn't yet exist Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 2a64c999..f0c1b021 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -20,7 +20,7 @@ jobs: matrix: dotnet_version: [8.0.303, 6.0.424] mono_version: [6.12.0.206] - branch: [walnascar] + branch: [master] arch: [x86-64, arm64] env: name: build-and-test From de4210e1076ff4da387b8b633df840bd6825b96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 21 Oct 2024 17:27:51 +0200 Subject: [PATCH 06/31] python3-pythonnet: Update to v3.0.4 --- recipes-python/python3-pythonnet/python3-pythonnet.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-python/python3-pythonnet/python3-pythonnet.bb b/recipes-python/python3-pythonnet/python3-pythonnet.bb index 4ed8e1af..5fa8b1b9 100644 --- a/recipes-python/python3-pythonnet/python3-pythonnet.bb +++ b/recipes-python/python3-pythonnet/python3-pythonnet.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = " \ inherit pypi python_flit_core -PV = "3.0.3" -SRC_URI[sha256sum] = "8d4b2e97158a023875f8647458a58f38817f4fe39af60abdd6b0d8adf1d77e75" +PV = "3.0.4" +SRC_URI[sha256sum] = "c92fbcfddd16575f7e75a643302271658b606d8557df7f0132ac240e03cc3a8f" PYPI_PACKAGE = "pythonnet" DOTNET_MIN_REQ_VERSION ?= "6.0.0" From 647cdff75ebcdedb224803efe372de69bc454ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 21 Oct 2024 18:42:53 +0200 Subject: [PATCH 07/31] dotnet: update v6.0.424 -> v6.0.427, v8.0.303 -> v8.0.403 --- recipes-mono/dotnet/dotnet_6.0.424.bb | 12 ------------ recipes-mono/dotnet/dotnet_6.0.427.bb | 12 ++++++++++++ recipes-mono/dotnet/dotnet_8.0.303.bb | 12 ------------ recipes-mono/dotnet/dotnet_8.0.403.bb | 12 ++++++++++++ 4 files changed, 24 insertions(+), 24 deletions(-) delete mode 100644 recipes-mono/dotnet/dotnet_6.0.424.bb create mode 100644 recipes-mono/dotnet/dotnet_6.0.427.bb delete mode 100644 recipes-mono/dotnet/dotnet_8.0.303.bb create mode 100644 recipes-mono/dotnet/dotnet_8.0.403.bb diff --git a/recipes-mono/dotnet/dotnet_6.0.424.bb b/recipes-mono/dotnet/dotnet_6.0.424.bb deleted file mode 100644 index 20e491ab..00000000 --- a/recipes-mono/dotnet/dotnet_6.0.424.bb +++ /dev/null @@ -1,12 +0,0 @@ -require dotnet.inc - -DOTNET_RUNTIME_VERSION = "6.0.32" - -SRC_FETCH_ID:aarch64 = "5f4b8e71-b03a-45cb-9a81-3cfcb51ef346/eb9509f0a061be1106689c1fbf5d5169" -SRC_SHA512SUM:aarch64 = "6a24dcad251016aa82ea11d3c665b250d5f86e7f8a82a6ec0f01d250e9cd671fd0746812757c023f28d4929248d326b2a5dc13ede8d5b5486671ea1452954aed" - -SRC_FETCH_ID:arm = "500addd2-cfbf-49b4-b09f-e497f93331a4/e096ebc13bba6a9f6890588c5f617cae" -SRC_SHA512SUM:arm = "671c39af0b0fa658b2c55b32923b90122074e0cff3070588134d50625ac0dc52c9abb93e5c872b7c84231128d5ef8aa213133df7fba552bd9aefb8e83f93e778" - -SRC_FETCH_ID:x86-64 = "e94bb674-1fb1-4966-b2f0-bc9055ea33fc/428b37dee8ffb641fd1e45b401b2994c" -SRC_SHA512SUM:x86-64 = "e9823aa2ad261199f8289fde8721931c1e4d47357b4973b8c7d34c12abd440bb932064ac151b0e0d7b3d5b72a5dfe3f20d5dafa19e6f56f1a61ad54b7de5e584" diff --git a/recipes-mono/dotnet/dotnet_6.0.427.bb b/recipes-mono/dotnet/dotnet_6.0.427.bb new file mode 100644 index 00000000..df492076 --- /dev/null +++ b/recipes-mono/dotnet/dotnet_6.0.427.bb @@ -0,0 +1,12 @@ +require dotnet.inc + +DOTNET_RUNTIME_VERSION = "6.0.35" + +SRC_FETCH_ID:aarch64 = "30d99992-ae6a-45b8-a8b3-560d2e587ea8/a35304fce1d8a6f5c76a2ccd8da9d431" +SRC_SHA512SUM:aarch64 = "9129961b54ad77dac2b4de973875f7acd1e8d2833673a51923706620e0c5b7b8c5b057c8d395532ad9da46b1dcb5ab8fd07a4f552bd57256d5a0c21070ad5771" + +SRC_FETCH_ID:arm = "7ba415c7-4750-44a2-9007-1bdcdee75c34/05c4467df0d7b5de0bc228a25e342ea4" +SRC_SHA512SUM:arm = "4c76654d8d2ae98c73b4df86002df07c549a411cf7fa13f11e811501ba47e5ee04282eac75a6fcdacf3af3a33f87f5ab3a8c1f2cb4de6d25e091397979d0f2ea" + +SRC_FETCH_ID:x86-64 = "12ee34e8-640c-400e-a6dc-4892b442df92/81d40fc98a5bbbfbafa4cc1ab86d6288" +SRC_SHA512SUM:x86-64 = "a9cd1e5ccc3c5d847aca2ef21dd145f61c6b18c4e75a3c2fc9aed592c6066d511b8b658c54c2cd851938fe5aba2386e5f6f51005f6406b420110c0ec408a8401" diff --git a/recipes-mono/dotnet/dotnet_8.0.303.bb b/recipes-mono/dotnet/dotnet_8.0.303.bb deleted file mode 100644 index 729398c6..00000000 --- a/recipes-mono/dotnet/dotnet_8.0.303.bb +++ /dev/null @@ -1,12 +0,0 @@ -require dotnet.inc - -DOTNET_RUNTIME_VERSION = "8.0.7" - -SRC_FETCH_ID:aarch64 = "4bfdbe1a-e1f9-4535-8da6-6e1e7ea0994c/b110641d008b36dded561ff2bdb0f793" -SRC_SHA512SUM:aarch64 = "09cb6b12770febe186e36971afdbcea6e8bf5fb34b7701cd8c416f597d3b7e930d05e51ccef1985e5598291540ef2d721187904587469300bb39772317e2be5c" - -SRC_FETCH_ID:arm = "9e0bdcde-1878-4351-883a-c0adbb570bba/156df738634f710dad131e993fc0f48a" -SRC_SHA512SUM:arm = "03b3730d1fd5e1955b8a23e69695c975e88e781513b1f47027ce4ed96a8743ba2560ca87ae2e937ebd89ef69a3aa05c4ca2f39eede5a27bd937775f372b9feba" - -SRC_FETCH_ID:x86-64 = "60218cc4-13eb-41d5-aa0b-5fd5a3fb03b8/6c42bee7c3651b1317b709a27a741362" -SRC_SHA512SUM:x86-64 = "814ff07ccdfc8160c4a24adfda6c815e7feace88c59722f827a5a27041719067538754911fc15cb46978e16566fe0938695891723d182055190e876131faedda" diff --git a/recipes-mono/dotnet/dotnet_8.0.403.bb b/recipes-mono/dotnet/dotnet_8.0.403.bb new file mode 100644 index 00000000..8fc89f82 --- /dev/null +++ b/recipes-mono/dotnet/dotnet_8.0.403.bb @@ -0,0 +1,12 @@ +require dotnet.inc + +DOTNET_RUNTIME_VERSION = "8.0.10" + +SRC_FETCH_ID:aarch64 = "853490db-6fd3-4c17-ad8e-9dbb61261252/3d36d7d5b861bbb219aa1a66af6e6fd2" +SRC_SHA512SUM:aarch64 = "f42e1ba9a897f91c8d734b09a9bfc82428f0629b7cdd9375262158d9f282797c199558c37ae7f36947e57d8adc61af9490595c4e6bbd05217fd6d05133dded4d" + +SRC_FETCH_ID:arm = "382e3bc7-f055-48b9-965b-89b070c15713/54b2af6b1ef970f852c29a850661728b" +SRC_SHA512SUM:arm = "ddcc229316475ba73cc46518ea263a97bd57fa7846a4fe76efb90f874311e8a7f5718ac6dcb8616835b4321af46f0e0265ae48b106e5adc9ba82cce88e804a4b" + +SRC_FETCH_ID:x86-64 = "ca6cd525-677e-4d3a-b66c-11348a6f920a/ec395f498f89d0ca4d67d903892af82d" +SRC_SHA512SUM:x86-64 = "7aa03678228b174f51c4535f18348cdf7a5d35e243b1f8cb28a4a30e402e47567d06df63c8f6da4bdc3c7e898f54f4acc08d9952bfa49d3f220d0353253ac3e9" From a12cac38ae1ed887ee92d556adf0232b313a96ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 21 Oct 2024 18:44:21 +0200 Subject: [PATCH 08/31] CI: update dotnet versions --- .github/workflows/CI_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f0c1b021..c61d7916 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -18,7 +18,7 @@ jobs: options: --privileged --platform linux/amd64 -v /dev/net/tun:/dev/net/tun -v /dev/kvm:/dev/kvm strategy: matrix: - dotnet_version: [8.0.303, 6.0.424] + dotnet_version: [8.0.403, 6.0.427] mono_version: [6.12.0.206] branch: [master] arch: [x86-64, arm64] From 433a5cec19d19ac6ad647942b2bc5ec6ca7ccff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= Date: Tue, 22 Oct 2024 09:08:13 +0200 Subject: [PATCH 09/31] mono: Add patch to add libusb-1.0 mapping in /etc/mono/config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Zoltán Böszörményi --- .../0001-Add-libusb-1.0-mapping.patch | 32 +++++++++++++++++++ recipes-mono/mono/mono_6.12.0.206.bb | 1 + 2 files changed, 33 insertions(+) create mode 100644 recipes-mono/mono/mono-6.12.0.206/0001-Add-libusb-1.0-mapping.patch diff --git a/recipes-mono/mono/mono-6.12.0.206/0001-Add-libusb-1.0-mapping.patch b/recipes-mono/mono/mono-6.12.0.206/0001-Add-libusb-1.0-mapping.patch new file mode 100644 index 00000000..896a3ff9 --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.206/0001-Add-libusb-1.0-mapping.patch @@ -0,0 +1,32 @@ +From 611f269ab768407965311ad3be56edf912c36e95 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Tue, 22 Oct 2024 07:36:06 +0200 +Subject: [PATCH] Add libusb-1.0 mapping +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes using USB devices with LibUsbDotNet and MonoLibUsb. + +Signed-off-by: Zoltán Böszörményi +Upstream-Status: Submitted [https://github.com/mono/mono/pull/21807] +--- + data/config.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/config.in b/data/config.in +index 2718b6e9f45..66cfd55ab76 100644 +--- a/data/config.in ++++ b/data/config.in +@@ -33,6 +33,7 @@ + + + ++ + + + +-- +2.47.0 + diff --git a/recipes-mono/mono/mono_6.12.0.206.bb b/recipes-mono/mono/mono_6.12.0.206.bb index 3648e7d2..2bf2963e 100644 --- a/recipes-mono/mono/mono_6.12.0.206.bb +++ b/recipes-mono/mono/mono_6.12.0.206.bb @@ -11,6 +11,7 @@ SRC_URI = "gitsm://github.com/mono/mono.git;protocol=https;branch=2020-02 \ file://shm_open-test-crosscompile.diff \ file://disable-mmap-MAP_32BIT-support.patch \ file://0001-Allow-passing-external-mapfile-C-build-options.patch \ + file://0001-Add-libusb-1.0-mapping.patch \ " From 11fa7461a1c56055edb42e97440c89d4cf8d2b0e Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 24 Oct 2024 19:14:02 +0100 Subject: [PATCH 10/31] Do two separate CVE checks for mono and dotnet Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index da172d00..da8c00df 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -95,7 +95,8 @@ jobs: run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export TERM=linux - bitbake mono dotnet -c cve-check + bitbake mono -c cve-check + bitbake dotnet -c cve-check - name: Testing run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build From de230492bd7150bb220b5b2ba8f412ff0d36638d Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 24 Oct 2024 20:01:04 +0100 Subject: [PATCH 11/31] Build master against styhead as it's the latest poky release branch Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index da8c00df..7ac19ee0 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -4,8 +4,6 @@ on: push: branches: - master - - master-next - - walnascar pull_request: paths-ignore: - "**.md" @@ -20,7 +18,7 @@ jobs: matrix: dotnet_version: [8.0.303, 6.0.424] mono_version: [6.12.0.206] - branch: [master] + branch: [styhead] arch: [x86-64, arm64] env: name: build-and-test From 62cf5d0c42ca2e4c84fb0c1c1bdc769c1a36a71b Mon Sep 17 00:00:00 2001 From: Alex Lennon Date: Thu, 24 Oct 2024 20:21:21 +0100 Subject: [PATCH 12/31] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a1b5270..a1d0bff6 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono | Branch | Version | Support Status* | Status of Build & Tests | | ------ | ------- | --------------- | ----------------------- | -| walnascar | 5.2 | Active Development | [![walnascar](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=walnascar&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| walnascar | 5.2 | Active Development | Waiting on Poky branch | | styhead | 5.1 | Future | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | nanbield | 4.3 | May 2024 | [![nanbield](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=nanbield&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | From a5d8e9a5499d3ea6263e07adfb52a652203512cd Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 24 Oct 2024 20:40:08 +0100 Subject: [PATCH 13/31] Fix CVE check typo Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 7ac19ee0..8d257f22 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -93,8 +93,8 @@ jobs: run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export TERM=linux - bitbake mono -c cve-check - bitbake dotnet -c cve-check + bitbake mono -c cve_check + bitbake dotnet -c cve_check - name: Testing run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build From bc95cc5eb71a04da2b7b6b15719cc41383694105 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 24 Oct 2024 22:41:59 +0100 Subject: [PATCH 14/31] Change artifact upload for CVEs Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 47552ac8..2a7ba3e9 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -94,7 +94,9 @@ jobs: . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export TERM=linux bitbake mono -c cve_check + mv $GITHUB_WORKSPACE/${BRANCH}/build/tmp/log/cve/cve-summary.json $GITHUB_WORKSPACE/${BRANCH}/build/tmp/log/cve/cve-summary-mono.json bitbake dotnet -c cve_check + mv $GITHUB_WORKSPACE/${BRANCH}/build/tmp/log/cve/cve-summary.json $GITHUB_WORKSPACE/${BRANCH}/build/tmp/log/cve/cve-summary-dotnet.json - name: Testing run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build @@ -108,5 +110,5 @@ jobs: - name: Store SPDX uses: actions/upload-artifact@v4 with: - name: spdx-test-image-mono-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} - path: ./${{ matrix.branch }}/build/tmp/deploy/images/qemu${{ matrix.arch }}/*.json + name: cve-summary-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} + path: ./${{ matrix.branch }}/build/tmp/log/cve/*.json From 679e628a738dc0c3ac4f5311c8756e4622874e68 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 24 Oct 2024 23:17:32 +0100 Subject: [PATCH 15/31] Change artifact upload name Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 2a7ba3e9..6215eb83 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -107,7 +107,7 @@ jobs: with: name: test-image-mono-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} path: ./${{ matrix.branch }}/build/tmp/deploy/images/qemu${{ matrix.arch }}/ - - name: Store SPDX + - name: Store CVEs uses: actions/upload-artifact@v4 with: name: cve-summary-${{ matrix.branch }}-${{ matrix.mono_version }}-${{ matrix.dotnet_version }}-${{ github.sha }}-${{ matrix.arch }} From 2829142b94b430fbfb03e051f7bfab0f4fac2d2a Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 7 Nov 2024 13:42:54 +0000 Subject: [PATCH 16/31] Remove dunfell from supported branches as this is now EOL Signed-off-by: Alex J Lennon --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index a1d0bff6..5490be8c 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,8 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono | scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | nanbield | 4.3 | May 2024 | [![nanbield](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=nanbield&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![master](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -| dunfell | 3.1 | Supported - Long Term Support (until Apr. 2024) | [![dunfell](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=dunfell&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -*support status as of 21/10/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) +*support status as of 07/11/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) ## Removal of support for ARM32 From 2aba7c9004bf3c50c091ec5799b3a6e39607956a Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 7 Nov 2024 13:44:06 +0000 Subject: [PATCH 17/31] Remove nanbield from supported releases as this is EOL Signed-off-by: Alex J Lennon --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5490be8c..8a2ac0af 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono | walnascar | 5.2 | Active Development | Waiting on Poky branch | | styhead | 5.1 | Future | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -| nanbield | 4.3 | May 2024 | [![nanbield](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=nanbield&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![master](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | *support status as of 07/11/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) From 90e4308340ce0d9f0b67cb1ed80bf0d148f21fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Sun, 16 Feb 2025 18:32:40 +0100 Subject: [PATCH 18/31] dotnet: update v6.0.427 -> v6.0.428 --- recipes-mono/dotnet/dotnet_6.0.427.bb | 12 ------------ recipes-mono/dotnet/dotnet_6.0.428.bb | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 recipes-mono/dotnet/dotnet_6.0.427.bb create mode 100644 recipes-mono/dotnet/dotnet_6.0.428.bb diff --git a/recipes-mono/dotnet/dotnet_6.0.427.bb b/recipes-mono/dotnet/dotnet_6.0.427.bb deleted file mode 100644 index df492076..00000000 --- a/recipes-mono/dotnet/dotnet_6.0.427.bb +++ /dev/null @@ -1,12 +0,0 @@ -require dotnet.inc - -DOTNET_RUNTIME_VERSION = "6.0.35" - -SRC_FETCH_ID:aarch64 = "30d99992-ae6a-45b8-a8b3-560d2e587ea8/a35304fce1d8a6f5c76a2ccd8da9d431" -SRC_SHA512SUM:aarch64 = "9129961b54ad77dac2b4de973875f7acd1e8d2833673a51923706620e0c5b7b8c5b057c8d395532ad9da46b1dcb5ab8fd07a4f552bd57256d5a0c21070ad5771" - -SRC_FETCH_ID:arm = "7ba415c7-4750-44a2-9007-1bdcdee75c34/05c4467df0d7b5de0bc228a25e342ea4" -SRC_SHA512SUM:arm = "4c76654d8d2ae98c73b4df86002df07c549a411cf7fa13f11e811501ba47e5ee04282eac75a6fcdacf3af3a33f87f5ab3a8c1f2cb4de6d25e091397979d0f2ea" - -SRC_FETCH_ID:x86-64 = "12ee34e8-640c-400e-a6dc-4892b442df92/81d40fc98a5bbbfbafa4cc1ab86d6288" -SRC_SHA512SUM:x86-64 = "a9cd1e5ccc3c5d847aca2ef21dd145f61c6b18c4e75a3c2fc9aed592c6066d511b8b658c54c2cd851938fe5aba2386e5f6f51005f6406b420110c0ec408a8401" diff --git a/recipes-mono/dotnet/dotnet_6.0.428.bb b/recipes-mono/dotnet/dotnet_6.0.428.bb new file mode 100644 index 00000000..ac0d9468 --- /dev/null +++ b/recipes-mono/dotnet/dotnet_6.0.428.bb @@ -0,0 +1,12 @@ +require dotnet.inc + +DOTNET_RUNTIME_VERSION = "6.0.36" + +SRC_FETCH_ID:aarch64 = "63915342-f75e-45b9-87c6-26191463df72/60c45022a869da1ad03b8522b0c6a7bd" +SRC_SHA512SUM:aarch64 = "cb8454865ecb99ce557bd0a5741d3dc84657a45ea00f9b2a0f0593e94e4e661e898a5690df90cf0175bf5982973c19985a168998aaa975b7ac7a3bef2ecd05d2" + +SRC_FETCH_ID:arm = "e1f1b444-2b24-4ba6-a1a2-f669f6710127/45371782a57b927e6dcccdb02b04d763" +SRC_SHA512SUM:arm = "c751881dd27ef098428e616b99a9c16e8bf82526484f76987dac1efcb5177534749c8f943f6d9daacc3a91bb086c9cb9c8d535c9881c0be3dc19c647065968fe" + +SRC_FETCH_ID:x86-64 = "35b1b4d1-b8f4-4b5c-9ddf-e64a846ee50b/93cc198f1c48fe5c4853bd937226f570" +SRC_SHA512SUM:x86-64 = "04395f991ab50e4755ce1ae53e23592a7420b71b82160883bae3194dd1dfd5dcaed78743e4e0b4dd51ea43c49ec84b5643630707b3854f1471265dc98490d2f9" From abb5414443762c2187ff8ac048ef9ca5d1208120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Sun, 16 Feb 2025 18:42:49 +0100 Subject: [PATCH 19/31] dotnet: v8.0.403 -> v8.0.406 --- recipes-mono/dotnet/dotnet_8.0.403.bb | 12 ------------ recipes-mono/dotnet/dotnet_8.0.406.bb | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 recipes-mono/dotnet/dotnet_8.0.403.bb create mode 100644 recipes-mono/dotnet/dotnet_8.0.406.bb diff --git a/recipes-mono/dotnet/dotnet_8.0.403.bb b/recipes-mono/dotnet/dotnet_8.0.403.bb deleted file mode 100644 index 8fc89f82..00000000 --- a/recipes-mono/dotnet/dotnet_8.0.403.bb +++ /dev/null @@ -1,12 +0,0 @@ -require dotnet.inc - -DOTNET_RUNTIME_VERSION = "8.0.10" - -SRC_FETCH_ID:aarch64 = "853490db-6fd3-4c17-ad8e-9dbb61261252/3d36d7d5b861bbb219aa1a66af6e6fd2" -SRC_SHA512SUM:aarch64 = "f42e1ba9a897f91c8d734b09a9bfc82428f0629b7cdd9375262158d9f282797c199558c37ae7f36947e57d8adc61af9490595c4e6bbd05217fd6d05133dded4d" - -SRC_FETCH_ID:arm = "382e3bc7-f055-48b9-965b-89b070c15713/54b2af6b1ef970f852c29a850661728b" -SRC_SHA512SUM:arm = "ddcc229316475ba73cc46518ea263a97bd57fa7846a4fe76efb90f874311e8a7f5718ac6dcb8616835b4321af46f0e0265ae48b106e5adc9ba82cce88e804a4b" - -SRC_FETCH_ID:x86-64 = "ca6cd525-677e-4d3a-b66c-11348a6f920a/ec395f498f89d0ca4d67d903892af82d" -SRC_SHA512SUM:x86-64 = "7aa03678228b174f51c4535f18348cdf7a5d35e243b1f8cb28a4a30e402e47567d06df63c8f6da4bdc3c7e898f54f4acc08d9952bfa49d3f220d0353253ac3e9" diff --git a/recipes-mono/dotnet/dotnet_8.0.406.bb b/recipes-mono/dotnet/dotnet_8.0.406.bb new file mode 100644 index 00000000..aea6d6e2 --- /dev/null +++ b/recipes-mono/dotnet/dotnet_8.0.406.bb @@ -0,0 +1,12 @@ +require dotnet.inc + +DOTNET_RUNTIME_VERSION = "8.0.13" + +SRC_FETCH_ID:aarch64 = "50bfbf66-b057-4bec-a9cc-69a43d4b32b2/489a1c7042dd654df0a71bcb9813067f" +SRC_SHA512SUM:aarch64 = "9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988" + +SRC_FETCH_ID:arm = "18b5dd5a-24cb-4e2b-a440-1089c67d112d/dace5ece95d3ba00c984c41c52ae2e4f" +SRC_SHA512SUM:arm = "18a2bf575a6d895ce0671b22e4f0853003920f0b7f2f33ff45afc51d34453bfd6b87b2aa5e53349d0c6ae9f6c37f6663d37f87a2ee544c89a7f5ba88d6f65408" + +SRC_FETCH_ID:x86-64 = "d2abdb4c-a96e-4123-9351-e4dd2ea20905/e8010ae2688786ffc1ebca4ebb52f41b" +SRC_SHA512SUM:x86-64 = "d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a" From 197afcd8111b6adc14566f5b3011cedf71936ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Sun, 16 Feb 2025 18:50:47 +0100 Subject: [PATCH 20/31] CI: update dotnet versions, restore arm arch --- .github/workflows/CI_github.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 6215eb83..f5bff1f4 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -16,10 +16,10 @@ jobs: options: --privileged --platform linux/amd64 -v /dev/net/tun:/dev/net/tun -v /dev/kvm:/dev/kvm strategy: matrix: - dotnet_version: [8.0.403, 6.0.427] + dotnet_version: [8.0.406, 6.0.428] mono_version: [6.12.0.206] branch: [styhead] - arch: [x86-64, arm64] + arch: [x86-64, arm, arm64] env: name: build-and-test MONO_VERSION: ${{ matrix.mono_version }} From 9349d3bfc088d2e9c2e385643646c8ec08f79468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Sun, 16 Feb 2025 21:03:44 +0100 Subject: [PATCH 21/31] CI: Disable Event log for improve bitbake speed more info see here: https://lists.openembedded.org/g/bitbake-devel/topic/109854844 --- .github/workflows/CI_github.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f5bff1f4..60c55f95 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -65,6 +65,7 @@ jobs: echo "BBLAYERS += '$GITHUB_WORKSPACE/${BRANCH}/meta-openembedded/meta-oe'" >> conf/bblayers.conf echo "BBLAYERS += '$GITHUB_WORKSPACE/${BRANCH}/meta-openembedded/meta-python'" >> conf/bblayers.conf + echo "BB_DEFAULT_EVENTLOG = \"\"" >> conf/local.conf echo "MACHINE=\"qemu${ARCH}\"" >> conf/local.conf echo "DL_DIR=\"$GITHUB_WORKSPACE/downloads\"" >> conf/local.conf echo "SSTATE_DIR=\"$GITHUB_WORKSPACE/sstate\"" >> conf/local.conf From 895f54f60dff30bb85a3792a61fbb78b01a96511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Sun, 16 Feb 2025 21:18:11 +0100 Subject: [PATCH 22/31] CI: increase timeout, adjust style --- .github/workflows/CI_github.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 60c55f95..f6a7a02e 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -10,7 +10,7 @@ on: jobs: build-and-test: runs-on: [self-hosted, linux, X64] - timeout-minutes: 600 + timeout-minutes: 960 container: image: dynamicdevices/yocto-ci-build:latest options: --privileged --platform linux/amd64 -v /dev/net/tun:/dev/net/tun -v /dev/kvm:/dev/kvm @@ -66,15 +66,15 @@ jobs: echo "BBLAYERS += '$GITHUB_WORKSPACE/${BRANCH}/meta-openembedded/meta-python'" >> conf/bblayers.conf echo "BB_DEFAULT_EVENTLOG = \"\"" >> conf/local.conf - echo "MACHINE=\"qemu${ARCH}\"" >> conf/local.conf - echo "DL_DIR=\"$GITHUB_WORKSPACE/downloads\"" >> conf/local.conf - echo "SSTATE_DIR=\"$GITHUB_WORKSPACE/sstate\"" >> conf/local.conf + echo "MACHINE = \"qemu${ARCH}\"" >> conf/local.conf + echo "DL_DIR = \"$GITHUB_WORKSPACE/downloads\"" >> conf/local.conf + echo "SSTATE_DIR = \"$GITHUB_WORKSPACE/sstate\"" >> conf/local.conf - echo "PREFERRED_VERSION_mono=\"${MONO_VERSION}\"" >> conf/local.conf - echo "PREFERRED_VERSION_mono-native=\"${MONO_VERSION}\"" >> conf/local.conf + echo "PREFERRED_VERSION_mono = \"${MONO_VERSION}\"" >> conf/local.conf + echo "PREFERRED_VERSION_mono-native = \"${MONO_VERSION}\"" >> conf/local.conf - echo "PREFERRED_VERSION_dotnet=\"${DOTNET_VERSION}\"" >> conf/local.conf - echo "PREFERRED_VERSION_dotnet-native=\"${DOTNET_VERSION}\"" >> conf/local.conf + echo "PREFERRED_VERSION_dotnet = \"${DOTNET_VERSION}\"" >> conf/local.conf + echo "PREFERRED_VERSION_dotnet-native = \"${DOTNET_VERSION}\"" >> conf/local.conf echo "INHERIT += \" create-spdx cve-check rm_work \"" >> conf/local.conf sed -i 's/#IMAGE_CLASSES += "testimage testsdk"/IMAGE_CLASSES += "testimage "/' conf/local.conf From fe4e4a5b6de320cb814d840819517aa1815128ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 24 Feb 2025 13:28:13 +0100 Subject: [PATCH 23/31] CI: Remove create-spdx cve-check --- .github/workflows/CI_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f6a7a02e..89be1a00 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -76,7 +76,7 @@ jobs: echo "PREFERRED_VERSION_dotnet = \"${DOTNET_VERSION}\"" >> conf/local.conf echo "PREFERRED_VERSION_dotnet-native = \"${DOTNET_VERSION}\"" >> conf/local.conf - echo "INHERIT += \" create-spdx cve-check rm_work \"" >> conf/local.conf + echo "INHERIT += \" rm_work \"" >> conf/local.conf sed -i 's/#IMAGE_CLASSES += "testimage testsdk"/IMAGE_CLASSES += "testimage "/' conf/local.conf echo "SPDX_PRETTY = \"1\"" >> conf/local.conf From 7010b11c747ff2c82c39c8dde94005e50fd80696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 24 Feb 2025 15:09:01 +0100 Subject: [PATCH 24/31] CI: Restore create-spdx cve-check --- .github/workflows/CI_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 89be1a00..f6a7a02e 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -76,7 +76,7 @@ jobs: echo "PREFERRED_VERSION_dotnet = \"${DOTNET_VERSION}\"" >> conf/local.conf echo "PREFERRED_VERSION_dotnet-native = \"${DOTNET_VERSION}\"" >> conf/local.conf - echo "INHERIT += \" rm_work \"" >> conf/local.conf + echo "INHERIT += \" create-spdx cve-check rm_work \"" >> conf/local.conf sed -i 's/#IMAGE_CLASSES += "testimage testsdk"/IMAGE_CLASSES += "testimage "/' conf/local.conf echo "SPDX_PRETTY = \"1\"" >> conf/local.conf From 05403cbb95153aa26a56d08a738152ac6a50c63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 24 Feb 2025 20:22:30 +0100 Subject: [PATCH 25/31] CI: adduser $USER kvm --- .github/workflows/CI_github.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f6a7a02e..8ab00774 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -102,6 +102,7 @@ jobs: run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export TERM=linux + adduser $USER kvm bitbake test-image-mono -c testimage - name: Store artifacts uses: actions/upload-artifact@v4 From c8fa7058e13514d60df4e23ee69cc3e702f3b0d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Mon, 24 Feb 2025 20:36:15 +0100 Subject: [PATCH 26/31] Revert "CI: adduser $USER kvm" This reverts commit 05403cbb95153aa26a56d08a738152ac6a50c63f. --- .github/workflows/CI_github.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 8ab00774..f6a7a02e 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -102,7 +102,6 @@ jobs: run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export TERM=linux - adduser $USER kvm bitbake test-image-mono -c testimage - name: Store artifacts uses: actions/upload-artifact@v4 From 7e8aa3a626184c10ad90b2a4fe58803485005c91 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Wed, 19 Mar 2025 12:46:56 +0000 Subject: [PATCH 27/31] Remove older msbuild recipes as they are no longer available #5 Signed-off-by: Alex J Lennon --- recipes-mono/msbuild/msbuild_15.4.bb | 76 ---------------------------- recipes-mono/msbuild/msbuild_16.6.bb | 59 --------------------- 2 files changed, 135 deletions(-) delete mode 100644 recipes-mono/msbuild/msbuild_15.4.bb delete mode 100644 recipes-mono/msbuild/msbuild_16.6.bb diff --git a/recipes-mono/msbuild/msbuild_15.4.bb b/recipes-mono/msbuild/msbuild_15.4.bb deleted file mode 100644 index 7860661c..00000000 --- a/recipes-mono/msbuild/msbuild_15.4.bb +++ /dev/null @@ -1,76 +0,0 @@ -SUMMARY = "The Microsoft Build Engine is a platform for building applications." -HOMEPAGE = "https://github.com/mono/msbuild" -SECTION = "console/apps" -LICENSE = "MIT" -DEPENDS = " \ - coreutils-native findutils-native curl-native \ - unzip-native mono-native \ - " - -LIC_FILES_CHKSUM = "file://LICENSE;md5=768c552053144071f8ef7e5621714b0a" - -inherit mono - -SRCREV = "1822f8c9b6b63753c2498493a7c0522a9d263ca6" - -SRC_URI = " \ - git://github.com/mono/msbuild.git;protocol=https;branch=d${PV} \ - file://cibuild.sh-debug.patch \ - " - -S = "${UNPACKDIR}/git" - -do_compile () { - ./cibuild.sh --scope Compile --host Mono --target Mono --config Release --bootstrap-only -} - -do_install () { - MONO_PREFIX=${prefix} - DESTDIR="${D}" - - install -d -m0755 ${D}${libdir}/mono - DESTDIR="${D}" ./install-mono-prefix.sh ${prefix} - - # Extract some variables from ./install-mono-prefix.sh - XBUILD_DIR=$(grep ^XBUILD_DIR= ./install-mono-prefix.sh | sed s,XBUILD_DIR=\$MONO_PREFIX,,) - MSBUILD_TOOLSVERSION=$(grep ^MSBUILD_TOOLSVERSION ./install-mono-prefix.sh | sed s,MSBUILD_TOOLSVERSION=,,) - MSBUILD_INSTALL_BIN_DIR=$MONO_PREFIX/lib/mono/msbuild/$MSBUILD_TOOLSVERSION/bin - - # Set explicitly and re-do the whole installation manually - MSBUILD_OUT_DIR="bin/Release-MONO/AnyCPU/Unix/Unix_Deployment" - install $MSBUILD_OUT_DIR/*.* ${D}$MSBUILD_INSTALL_BIN_DIR/ - - # Some conditional copies from install-mono-prefix.sh - # must be performed manually here because the separated - # build and installed trees in Yocto / Bitbake. - test -d ${STAGING_DIR_HOST}${prefix}$XBUILD_DIR/14.0/Imports && cp -R ${STAGING_DIR_HOST}${prefix}$XBUILD_DIR/14.0/Imports ${D}${prefix}$XBUILD_DIR/$MSBUILD_TOOLSVERSION - # End of conditional copies from install-mono-prefix.sh - - sed -i -es,${D},,g ${D}${bindir}/msbuild - - # There are two conflicting files in these directories - # across msbuild and mono 5.12.x - rm -rf ${D}${libdir}/mono/xbuild/15.0/Microsoft.Common.targets - rm -rf ${D}${libdir}/mono/xbuild/15.0/Imports/Microsoft.Common.props -} - -do_install:append() { - install -d -m0755 ${D}${libdir}/mono/msbuild/15.0/bin/Roslyn - install -m0755 ${S}/bin/Release-MONO/AnyCPU/Unix/Unix_Deployment/Roslyn/* ${D}${libdir}/mono/msbuild/15.0/bin/Roslyn/ -} - -FILES:${PN} += " \ - ${libdir}/mono/ \ - " - -SYSROOT_PREPROCESS_FUNCS += "msbuild_sysroot_preprocess" - -msbuild_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - - install -m0755 ${S}/msbuild-mono-deploy.in ${SYSROOT_DESTDIR}${bindir_crossscripts}/msbuild - sed -i -es,@bindir@,${STAGING_BINDIR_NATIVE}, ${SYSROOT_DESTDIR}${bindir_crossscripts}/msbuild - sed -i -es,@mono_instdir@,${STAGING_LIBDIR}/mono, ${SYSROOT_DESTDIR}${bindir_crossscripts}/msbuild -} - -BBCLASSEXTEND = "native" diff --git a/recipes-mono/msbuild/msbuild_16.6.bb b/recipes-mono/msbuild/msbuild_16.6.bb deleted file mode 100644 index e3d04436..00000000 --- a/recipes-mono/msbuild/msbuild_16.6.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "The Microsoft Build Engine is a platform for building applications." -HOMEPAGE = "https://docs.microsoft.com/visualstudio/msbuild/msbuild" -SECTION = "console/apps" -LICENSE = "MIT" - -DEPENDS = "curl-native ca-certificates-native unzip-native dotnet-native" - -RDEPENDS_${PN} = "dotnet" - -LIC_FILES_CHKSUM = "file://license;md5=aa2bb45abfacf721bd09860b11b79f5a \ - file://ref/LicenseHeader.txt;md5=b06c0743af93aeb14a577bb2bfdada8e" - -inherit mono - -SRCREV = "94d0c55bc96f297618d50cc32167ddba9fee30b0" - -SRC_URI = "git://github.com/mono/linux-packaging-msbuild.git;branch=main;protocol=https \ - file://mono-msbuild-dotnetbits-case.patch \ - file://mono-msbuild-license-case.patch \ - file://mono-msbuild-no-hostfxr.patch \ - file://mono-msbuild-use-bash.patch \ - file://0001-Don-t-try-to-run-pkill.patch \ - file://0001-Copy-hostfxr.patch \ - file://0002-Remove-myget-feeds-and-replace-with-AzDO-feeds.patch \ - " - -S = "${UNPACKDIR}/git" - -do_configure () { - sed "s|%libhostfxr%|${STAGING_DIR_TARGET}${libdir}/libhostfxr.so|g" -i ${S}/eng/cibuild_bootstrapped_msbuild.sh - - sed "s|\$(HOME)\\\.nuget\\\packages|${NUGET_PACKAGES}|g" -i ${S}/mono/build/common.props - sed "s|\$(MonoInstallPrefix)\\\lib|${D}${libdir}|g" -i ${S}/mono/build/install.proj - sed "s|\$(MonoInstallPrefix)\\\bin|${D}${bindir}|g" -i ${S}/mono/build/install.proj - sed "s|\$(MonoInstallPrefix)\\\share|${D}${datadir}|g" -i ${S}/mono/build/install.proj - - sed "s|'\$1'/bin|${bindir}|g" -i ${S}/mono/build/gen_msbuild_wrapper.sh - sed "s|\$1/lib|${libdir}|g" -i ${S}/mono/build/gen_msbuild_wrapper.sh -} - -export DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR="${STAGING_DATADIR_NATIVE}/dotnet" -export CURL_CA_BUNDLE="${STAGING_DIR_NATIVE}/etc/ssl/certs/ca-certificates.crt" - -do_compile[network] = "1" - -do_compile () { - ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true -} - -do_install () { - ./stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="${D}" /p:Configuration=Release-MONO /p:IgnoreDiffFailure=true -} - -FILES:${PN} = "\ - ${bindir} \ - ${libdir}/mono \ -" - -BBCLASSEXTEND = "native" From b05f077aa393ab0cc67f8862dead06c54b7d1198 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Fri, 21 Mar 2025 10:41:07 +0000 Subject: [PATCH 28/31] Update releases on README Signed-off-by: Alex J Lennon --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8a2ac0af..620b8a4e 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,12 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono | Branch | Version | Support Status* | Status of Build & Tests | | ------ | ------- | --------------- | ----------------------- | -| walnascar | 5.2 | Active Development | Waiting on Poky branch | -| styhead | 5.1 | Future | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| walnascar | 5.2 | Future (April 2025) | [![walnascar](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=walnascar&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| styhead | 5.1 | Support for 7 months (May 2025) | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | | scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -| kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![master](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | +| kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![kirkstone](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) | -*support status as of 07/11/24, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) +*support status as of 21/03/25, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) ## Removal of support for ARM32 From e15cd4f129e9afff80b05e9ae4038ba6e73fac7e Mon Sep 17 00:00:00 2001 From: Chris Spencer Date: Tue, 2 Dec 2025 16:37:26 +0000 Subject: [PATCH 29/31] dotnet: Add dotnet 10 This switches from the Visual Studio URLs to the .NET URLs, as per upstream [1]. [1] https://github.com/dotnet/core/pull/9869 --- .github/workflows/CI_github.yml | 22 ++++++++++++++----- README.md | 10 +++++++-- .../dotnet-helloworld_1.0.bb | 7 +++++- recipes-mono/dotnet/dotnet.inc | 9 ++++++-- recipes-mono/dotnet/dotnet_10.0.100.bb | 7 ++++++ recipes-mono/dotnet/dotnet_6.0.428.bb | 5 ----- recipes-mono/dotnet/dotnet_8.0.406.bb | 5 ----- recipes-mono/images/test-image-mono.bb | 1 - 8 files changed, 45 insertions(+), 21 deletions(-) create mode 100644 recipes-mono/dotnet/dotnet_10.0.100.bb diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f6a7a02e..bdacd4a0 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -15,8 +15,9 @@ jobs: image: dynamicdevices/yocto-ci-build:latest options: --privileged --platform linux/amd64 -v /dev/net/tun:/dev/net/tun -v /dev/kvm:/dev/kvm strategy: + max-parallel: 1 matrix: - dotnet_version: [8.0.406, 6.0.428] + dotnet_version: [10.0.100, 8.0.406, 6.0.428] mono_version: [6.12.0.206] branch: [styhead] arch: [x86-64, arm, arm64] @@ -82,12 +83,23 @@ jobs: echo "BB_NUMBER_THREADS ?= \"\${@oe.utils.cpu_count()}\"" >> conf/local.conf echo "PARALLEL_MAKE ?= \"-j \${@oe.utils.cpu_count()} -l \${@oe.utils.cpu_count()*2}\"" >> conf/local.conf -# - name: Cleaning -# run: | -# . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build -# bitbake -c cleanall test-image-mono dotnet dotnet-native + - name: Cleaning + run: | + . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build + bitbake -c cleanall test-image-mono dotnet dotnet-helloworld dotnet-native - name: Building Mono Test Image run: | + id + ls -lhA / || true + ls -lhA /__w || true + ls -lhA /github || true + ls -lhA /github/home || true + ls -lhA /github/home/.local || true + ls -lhA /github/home/.local/share || true + ls -lhA /github/home/.local/share/NuGet || true + ls -lhA /github/home/.local/share/NuGet/Migrations || true + mkdir -p /github/home/.local/share/NuGet/Migrations || true + . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build bitbake test-image-mono - name: CVE Check Mono / dotNet diff --git a/README.md b/README.md index 620b8a4e..2d192ee1 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,16 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono *support status as of 21/03/25, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases) -## Removal of support for ARM32 +## Limitations + +### Removal of support for ARM32 Currently (21/10/2024) `styhead` is failing to build GCC for ARM32. As such we've removed the CI tests for the interim. For discussion see [here](https://github.com/DynamicDevices/meta-mono/discussions/234). At such time as GCC is building again for ARM32 the intention is to add the CI build back in at which time we intend to continue to support ARM32. #HelpWanted +### pythonnet + +The `python3-pythonnet` package currently does not support .NET 10. + ## Layer Dependencies This layer depends on: @@ -69,7 +75,7 @@ On the target: So far, Windows Forms applications have been tested under Sato. Mono does not require Sato, it does require X if you want to run -Windows Forms applications. +Windows Forms applications. ## Testing Mono builds diff --git a/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb b/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb index be548ea9..ade797d0 100644 --- a/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb +++ b/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb @@ -5,7 +5,9 @@ PRIORITY = "optional" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -DEPENDS:append = " dotnet-native" +inherit linuxloader + +DEPENDS:append = " dotnet-native patchelf-native" RDEPENDS:${PN}:append = " \ icu \ @@ -33,6 +35,9 @@ do_compile () { dotnet new console --force -o ${S} --name ${PN} dotnet build ${S}/${PN}.csproj --output ${B}/${PN} --configuration release --runtime linux-${SRC_ARCH} + # The interpreter points to a path on the build host by default; fix it to use the correct path for the target + patchelf --set-interpreter "${@get_linuxloader(d)}" ${B}/${PN}/${PN} + #FIXME: remove the following line. if the lttng-ust conflict is solved #FIXME: dotnet 8 doesn't produce libcoreclrtraceptprovider.so for the helloworld applications # When dotnet 6 and 7 reach end of life remove the following line. diff --git a/recipes-mono/dotnet/dotnet.inc b/recipes-mono/dotnet/dotnet.inc index 2cacaa9a..b80bbe8c 100644 --- a/recipes-mono/dotnet/dotnet.inc +++ b/recipes-mono/dotnet/dotnet.inc @@ -11,6 +11,7 @@ DEPENDS = "patchelf-native" RDEPENDS:${PN}:class-target = "icu zlib libgssapi-krb5" RDEPENDS:${PN}:class-native = "icu zlib" RDEPENDS:${PN}:class-nativesdk = "icu zlib" +RDEPENDS:${PN}-dev = "zlib" PR = "r0" @@ -18,10 +19,10 @@ SRC_ARCH:aarch64 = "arm64" SRC_ARCH:arm = "arm" SRC_ARCH:x86-64 = "x64" -SRC_URI[vardeps] += "SRC_FETCH_ID SRC_ARCH" +SRC_URI[vardeps] += "SRC_ARCH" SRC_URI[sha512sum] = "${SRC_SHA512SUM}" -SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/${SRC_FETCH_ID}/dotnet-sdk-${PV}-linux-${SRC_ARCH}.tar.gz;subdir=dotnet-${PV}" +SRC_URI = "https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-${SRC_ARCH}.tar.gz;subdir=dotnet-${PV}" do_configure[noexec] = "1" do_compile[noexec] = "1" @@ -41,6 +42,7 @@ do_install() { install -d ${D}${datadir}/dotnet/host/fxr cp -r --no-preserve=ownership ${S}/host/fxr/${DOTNET_RUNTIME_VERSION} ${D}${datadir}/dotnet/host/fxr + cp -r --no-preserve=ownership ${S}/packs ${D}${datadir}/dotnet/ cp -r --no-preserve=ownership ${S}/sdk ${D}${datadir}/dotnet/ cp -r --no-preserve=ownership ${S}/sdk-manifests ${D}${datadir}/dotnet/ @@ -52,6 +54,7 @@ do_install() { # Hack to fix liblttng-ust dependency issues patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME_VERSION}/libcoreclrtraceptprovider.so + patchelf --remove-needed liblttng-ust.so.1 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME_VERSION}/libcoreclrtraceptprovider.so install -d ${D}${libdir} ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME_VERSION}/libhostfxr.so ${D}${libdir}/libhostfxr.so @@ -71,6 +74,7 @@ FILES:${PN} += "\ " FILES:${PN}-dev = "\ + ${datadir}/dotnet/packs \ ${datadir}/dotnet/sdk \ ${datadir}/dotnet/sdk-manifests \ ${datadir}/dotnet/templates \ @@ -83,6 +87,7 @@ FILES:${PN}-dbg = "\ RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" +INSANE_SKIP:${PN}-dev = "libdir staticdev dev-elf" INSANE_SKIP:${PN}-dbg = "libdir" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-mono/dotnet/dotnet_10.0.100.bb b/recipes-mono/dotnet/dotnet_10.0.100.bb new file mode 100644 index 00000000..7e7f3ad8 --- /dev/null +++ b/recipes-mono/dotnet/dotnet_10.0.100.bb @@ -0,0 +1,7 @@ +require dotnet.inc + +DOTNET_RUNTIME_VERSION = "10.0.0" + +SRC_SHA512SUM:aarch64 = "24fc2b105ab8484c34213ef57ac4e6a36a6593241f0ebc6cf0a40ec2f5fea2d76de85c4b87b2a53814d194e32ec1288dd5053cd6f52768d79cd0ac948cbf84ea" +SRC_SHA512SUM:arm = "45f2d7fd05670a5a14fa480889e45920782277575dba0da44c259997d059d64070b40ac7aae9f0c3a3076d9fed5b787854a8abdc2dfdb4783b449c05c1c9b49c" +SRC_SHA512SUM:x86-64 = "f78dbac30c9af2230d67ff5c224de3a5dbf63f8a78d1c206594dedb80e6909d2cc8a9d865d5105c72c2fd2aa266fc0c6c77dedac60408cbccf272b116bd11b07" diff --git a/recipes-mono/dotnet/dotnet_6.0.428.bb b/recipes-mono/dotnet/dotnet_6.0.428.bb index ac0d9468..fc8819c0 100644 --- a/recipes-mono/dotnet/dotnet_6.0.428.bb +++ b/recipes-mono/dotnet/dotnet_6.0.428.bb @@ -2,11 +2,6 @@ require dotnet.inc DOTNET_RUNTIME_VERSION = "6.0.36" -SRC_FETCH_ID:aarch64 = "63915342-f75e-45b9-87c6-26191463df72/60c45022a869da1ad03b8522b0c6a7bd" SRC_SHA512SUM:aarch64 = "cb8454865ecb99ce557bd0a5741d3dc84657a45ea00f9b2a0f0593e94e4e661e898a5690df90cf0175bf5982973c19985a168998aaa975b7ac7a3bef2ecd05d2" - -SRC_FETCH_ID:arm = "e1f1b444-2b24-4ba6-a1a2-f669f6710127/45371782a57b927e6dcccdb02b04d763" SRC_SHA512SUM:arm = "c751881dd27ef098428e616b99a9c16e8bf82526484f76987dac1efcb5177534749c8f943f6d9daacc3a91bb086c9cb9c8d535c9881c0be3dc19c647065968fe" - -SRC_FETCH_ID:x86-64 = "35b1b4d1-b8f4-4b5c-9ddf-e64a846ee50b/93cc198f1c48fe5c4853bd937226f570" SRC_SHA512SUM:x86-64 = "04395f991ab50e4755ce1ae53e23592a7420b71b82160883bae3194dd1dfd5dcaed78743e4e0b4dd51ea43c49ec84b5643630707b3854f1471265dc98490d2f9" diff --git a/recipes-mono/dotnet/dotnet_8.0.406.bb b/recipes-mono/dotnet/dotnet_8.0.406.bb index aea6d6e2..ee29c145 100644 --- a/recipes-mono/dotnet/dotnet_8.0.406.bb +++ b/recipes-mono/dotnet/dotnet_8.0.406.bb @@ -2,11 +2,6 @@ require dotnet.inc DOTNET_RUNTIME_VERSION = "8.0.13" -SRC_FETCH_ID:aarch64 = "50bfbf66-b057-4bec-a9cc-69a43d4b32b2/489a1c7042dd654df0a71bcb9813067f" SRC_SHA512SUM:aarch64 = "9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988" - -SRC_FETCH_ID:arm = "18b5dd5a-24cb-4e2b-a440-1089c67d112d/dace5ece95d3ba00c984c41c52ae2e4f" SRC_SHA512SUM:arm = "18a2bf575a6d895ce0671b22e4f0853003920f0b7f2f33ff45afc51d34453bfd6b87b2aa5e53349d0c6ae9f6c37f6663d37f87a2ee544c89a7f5ba88d6f65408" - -SRC_FETCH_ID:x86-64 = "d2abdb4c-a96e-4123-9351-e4dd2ea20905/e8010ae2688786ffc1ebca4ebb52f41b" SRC_SHA512SUM:x86-64 = "d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a" diff --git a/recipes-mono/images/test-image-mono.bb b/recipes-mono/images/test-image-mono.bb index 693c5309..aea1fee3 100644 --- a/recipes-mono/images/test-image-mono.bb +++ b/recipes-mono/images/test-image-mono.bb @@ -8,7 +8,6 @@ DEFAULT_TEST_SUITES:pn-${PN}:prepend = "dotnet " IMAGE_INSTALL += "msbuild \ dotnet \ dotnet-helloworld \ - python3-pythonnet \ " IMAGE_BASENAME = "${PN}" From 6bd41cfd107976d725f8ed82c0db2faef533d988 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Sun, 8 Feb 2026 18:36:28 +0000 Subject: [PATCH 30/31] dotnet: fix host/fxr installation and NuGet HOME for CI Three related fixes for dotnet recipe builds in CI environments: 1. dotnet.inc: install ALL host/fxr versions from the SDK tarball instead of only DOTNET_RUNTIME_VERSION. Microsoft ships updated muxer binaries in serviced SDK releases (e.g. SDK 6.0.428 bundles a 10.0.0 muxer) so only copying one version breaks the muxer's fxr lookup. The libhostfxr.so symlink now falls back to any available version if DOTNET_RUNTIME_VERSION is not present. 2. dotnet.inc: for native builds, replace the dotnet symlink with a wrapper script that ensures HOME is always writable. .NET SDK 6 NuGet MigrationRunner.Run() unconditionally writes to $HOME/.local/share/NuGet/Migrations before checking DOTNET_SKIP_FIRST_TIME_EXPERIENCE. The wrapper redirects HOME to a temp directory, fixing all consumer recipes automatically. 3. python3-clr-loader.bb, dotnet-helloworld_1.0.bb: add per-recipe HOME/DOTNET_CLI_HOME/NuGet exports as defence-in-depth alongside the wrapper. Co-authored-by: Cursor --- .../dotnet-helloworld_1.0.bb | 10 +++++ recipes-mono/dotnet/dotnet.inc | 40 ++++++++++++++++++- .../python3-clr-loader/python3-clr-loader.bb | 10 +++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb b/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb index be548ea9..26490680 100644 --- a/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb +++ b/recipes-mono/dotnet-helloworld/dotnet-helloworld_1.0.bb @@ -15,6 +15,16 @@ RDEPENDS:${PN}:append = " \ COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux" +# NuGet MigrationRunner in .NET 6 hardcodes $HOME for migrations dir. +# Override HOME so it's always writable (CI containers often have read-only HOME). +export HOME="${WORKDIR}/dotnet-home" +export DOTNET_CLI_HOME="${WORKDIR}/dotnet-home" +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="true" +export DOTNET_CLI_TELEMETRY_OPTOUT="1" +export DOTNET_NOLOGO="1" +export NUGET_PACKAGES="${UNPACKDIR}/nuget-packages" +export NUGET_HTTP_CACHE_PATH="${UNPACKDIR}/nuget-http-cache" + SRC_ARCH:aarch64 = "arm64" SRC_ARCH:arm = "arm" SRC_ARCH:x86-64 = "x64" diff --git a/recipes-mono/dotnet/dotnet.inc b/recipes-mono/dotnet/dotnet.inc index 2cacaa9a..fd58e923 100644 --- a/recipes-mono/dotnet/dotnet.inc +++ b/recipes-mono/dotnet/dotnet.inc @@ -38,8 +38,12 @@ do_install() { install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet + # Install ALL host/fxr versions from the SDK tarball. Microsoft ships + # updated muxer binaries in serviced SDK releases (e.g. SDK 6.0.428 may + # bundle a 10.0.0 muxer), so only copying DOTNET_RUNTIME_VERSION breaks + # the muxer's fxr lookup. install -d ${D}${datadir}/dotnet/host/fxr - cp -r --no-preserve=ownership ${S}/host/fxr/${DOTNET_RUNTIME_VERSION} ${D}${datadir}/dotnet/host/fxr + cp -r --no-preserve=ownership ${S}/host/fxr/* ${D}${datadir}/dotnet/host/fxr/ cp -r --no-preserve=ownership ${S}/sdk ${D}${datadir}/dotnet/ cp -r --no-preserve=ownership ${S}/sdk-manifests ${D}${datadir}/dotnet/ @@ -53,8 +57,19 @@ do_install() { # Hack to fix liblttng-ust dependency issues patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME_VERSION}/libcoreclrtraceptprovider.so + # Symlink libhostfxr.so - prefer DOTNET_RUNTIME_VERSION, fall back to + # whatever the SDK tarball actually ships (muxer version may differ). install -d ${D}${libdir} - ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME_VERSION}/libhostfxr.so ${D}${libdir}/libhostfxr.so + if [ -f ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME_VERSION}/libhostfxr.so ]; then + ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME_VERSION}/libhostfxr.so ${D}${libdir}/libhostfxr.so + else + for fxr_dir in ${D}${datadir}/dotnet/host/fxr/*/; do + if [ -f "${fxr_dir}libhostfxr.so" ]; then + ln -rs "${fxr_dir}libhostfxr.so" ${D}${libdir}/libhostfxr.so + break + fi + done + fi } do_install:append:x86-64:class-target () { @@ -85,4 +100,25 @@ RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" INSANE_SKIP:${PN}-dbg = "libdir" +# For native builds, replace the dotnet symlink with a wrapper script that +# ensures HOME is always writable. .NET SDK 6 NuGet MigrationRunner.Run() +# unconditionally writes to $HOME/.local/share/NuGet/Migrations *before* +# checking DOTNET_SKIP_FIRST_TIME_EXPERIENCE. In CI containers HOME is +# often read-only, breaking every recipe that invokes dotnet. The wrapper +# fixes this for ALL consumer recipes automatically. +do_install:append:class-native() { + rm -f ${D}${bindir}/dotnet + cat > ${D}${bindir}/dotnet << 'WRAPPER' +#!/bin/sh +export HOME="${DOTNET_CLI_HOME:-${TMPDIR:-/tmp}/dotnet-home}" +mkdir -p "$HOME" 2>/dev/null || true +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true +export DOTNET_CLI_TELEMETRY_OPTOUT=1 +export DOTNET_NOLOGO=1 +SELF_DIR="$(cd "$(dirname "$0")" && pwd)" +exec "${SELF_DIR}/../share/dotnet/dotnet" "$@" +WRAPPER + chmod 0755 ${D}${bindir}/dotnet +} + BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-python/python3-clr-loader/python3-clr-loader.bb b/recipes-python/python3-clr-loader/python3-clr-loader.bb index 73b1f432..7cbc5b94 100644 --- a/recipes-python/python3-clr-loader/python3-clr-loader.bb +++ b/recipes-python/python3-clr-loader/python3-clr-loader.bb @@ -32,6 +32,16 @@ RDEPENDS:${PN} += " \ export NUGET_PACKAGES="${UNPACKDIR}/nuget-packages" export NUGET_HTTP_CACHE_PATH="${UNPACKDIR}/nuget-http-cache" +# NuGet MigrationRunner.Run() in .NET 6 runs BEFORE the skip-first-time +# check, and hardcodes $HOME/.local/share/NuGet/Migrations. In CI +# containers $HOME is often read-only. Override HOME to a writable path +# so NuGet, dotnet CLI, and any other $HOME consumer all get a writable dir. +export HOME="${WORKDIR}/dotnet-home" +export DOTNET_CLI_HOME="${WORKDIR}/dotnet-home" +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="true" +export DOTNET_CLI_TELEMETRY_OPTOUT="1" +export DOTNET_NOLOGO="1" + # Workaround for dotnet restore issue, define custom proxy in a .bbappend # and/or in layer.conf or local.conf if dotnet restore was failed. # Override DOTNET_HTTP_PROXY and DOTNET_HTTPS_PROXY in layer.conf or local.conf if needed From b341823ec6d6ac553a7fcabb579aebb311d7fbf7 Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Sun, 8 Feb 2026 18:36:36 +0000 Subject: [PATCH 31/31] CI: exclude ARM32, add yocto-check-layer, flush stale sstate - Exclude styhead + arm matrix entry (ARM32 GCC build broken, see README and discussions/234) - Add yocto-check-layer compliance check step (runs on feature/yocto-layer-compliance branch) - Add temporary cleansstate step to flush stale dotnet sstate and recipe-sysroot-native from prior broken builds; remove once all matrix jobs have rebuilt successfully - Add feature/yocto-layer-compliance to push/PR branch triggers Co-authored-by: Cursor --- .github/workflows/CI_github.yml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index f6a7a02e..71dcb46d 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -4,7 +4,11 @@ on: push: branches: - master + - feature/yocto-layer-compliance pull_request: + branches: + - master + - feature/yocto-layer-compliance paths-ignore: - "**.md" jobs: @@ -20,6 +24,10 @@ jobs: mono_version: [6.12.0.206] branch: [styhead] arch: [x86-64, arm, arm64] + exclude: + # styhead GCC build broken for ARM32 - see README "Removal of support for ARM32" and discussions/234 + - branch: styhead + arch: arm env: name: build-and-test MONO_VERSION: ${{ matrix.mono_version }} @@ -69,7 +77,6 @@ jobs: echo "MACHINE = \"qemu${ARCH}\"" >> conf/local.conf echo "DL_DIR = \"$GITHUB_WORKSPACE/downloads\"" >> conf/local.conf echo "SSTATE_DIR = \"$GITHUB_WORKSPACE/sstate\"" >> conf/local.conf - echo "PREFERRED_VERSION_mono = \"${MONO_VERSION}\"" >> conf/local.conf echo "PREFERRED_VERSION_mono-native = \"${MONO_VERSION}\"" >> conf/local.conf @@ -82,10 +89,19 @@ jobs: echo "BB_NUMBER_THREADS ?= \"\${@oe.utils.cpu_count()}\"" >> conf/local.conf echo "PARALLEL_MAKE ?= \"-j \${@oe.utils.cpu_count()} -l \${@oe.utils.cpu_count()*2}\"" >> conf/local.conf -# - name: Cleaning -# run: | -# . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build -# bitbake -c cleanall test-image-mono dotnet dotnet-native + - name: Yocto layer compliance check + if: github.ref == 'refs/heads/feature/yocto-layer-compliance' || github.head_ref == 'feature/yocto-layer-compliance' + run: | + . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build + yocto-check-layer --dependency $GITHUB_WORKSPACE/${BRANCH}/poky/meta --dependency $GITHUB_WORKSPACE/${BRANCH}/meta-openembedded/meta-oe -- $GITHUB_WORKSPACE/${BRANCH}/meta-mono + # Flush ALL stale sstate/sysroot from broken host/fxr commits. + # Previous broken builds left host/fxr/10.0.0 in recipe-sysroot-native + # directories. Must clean dotnet + all consumers to get fresh sysroots. + # TODO: remove this step once all matrix jobs have rebuilt successfully. + - name: Clean stale sstate + run: | + . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build + bitbake -c cleansstate dotnet dotnet-native python3-clr-loader python3-clr-loader-native dotnet-helloworld python3-pythonnet - name: Building Mono Test Image run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build