[PATCH 1/4] azure: Use a login shell everywhere for MSYS2 build

This simplifies things a bit to just use a login shell everywhere.
This keeps in sync with MSYS2 upstream commit: 9d11b7f0aa93 ("azure-pipelines: simplify things a bit").
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
.azure-pipelines.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 303857c..69aa69a 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -27,15 +27,12 @@ jobs: git clone https://github.com/msys2/$(BASE_REPO).git %CD:~0,2%$(MSYS_DIR) displayName: 'Install MSYS2' - script: | - set PATH=%CD:~0,2%$(MSYS_DIR)\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%$(MSYS_DIR)\usr\bin\pacman --noconfirm -Syyuu + %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "pacman --noconfirm -Syyuu" displayName: 'Update MSYS2' - script: | - set PATH=%CD:~0,2%$(MSYS_DIR)\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%$(MSYS_DIR)\usr\bin\pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel + %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel" displayName: 'Install Toolchain' - script: | - set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "bash build-tools.sh" displayName: 'Build Host Tools'

As of 2020-05-17, 32-bit MSYS2 is no longer actively supported by the upstream [1]. Let's drop the 32-bit Windows host tool build.
[1] https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-suppo...
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
.azure-pipelines.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 69aa69a..69d4358 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -14,27 +14,19 @@ jobs: displayName: 'Ensure host tools build for Windows' pool: vmImage: $(windows_vm) - strategy: - matrix: - i686: - MSYS_DIR: msys32 - BASE_REPO: msys2-ci-base-i686 - x86_64: - MSYS_DIR: msys64 - BASE_REPO: msys2-ci-base steps: - script: | - git clone https://github.com/msys2/$(BASE_REPO).git %CD:~0,2%$(MSYS_DIR) + git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 displayName: 'Install MSYS2' - script: | - %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "pacman --noconfirm -Syyuu" + %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu" displayName: 'Update MSYS2' - script: | - %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel" + %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel" displayName: 'Install Toolchain' - script: | echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh - %CD:~0,2%$(MSYS_DIR)\usr\bin\bash -lc "bash build-tools.sh" + %CD:~0,2%\msys64\usr\bin\bash -lc "bash build-tools.sh" displayName: 'Build Host Tools' env: # Tell MSYS2 we need a POSIX emulation layer

On Tue, Jul 28, 2020 at 02:06:42AM -0700, Bin Meng wrote:
As of 2020-05-17, 32-bit MSYS2 is no longer actively supported by the upstream [1]. Let's drop the 32-bit Windows host tool build.
[1] https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-suppo...
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!

Package 'flex' is needed when building the U-Boot host tool, but is currently missing in the build dependency in the CI pipeline.
This is to prepare switching to an installer based CI build.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
.azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 69d4358..9b88aa6 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -22,7 +22,7 @@ jobs: %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu" displayName: 'Update MSYS2' - script: | - %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison diffutils openssl-devel" + %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison flex diffutils openssl-devel" displayName: 'Install Toolchain' - script: | echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh

On Tue, Jul 28, 2020 at 02:06:43AM -0700, Bin Meng wrote:
Package 'flex' is needed when building the U-Boot host tool, but is currently missing in the build dependency in the CI pipeline.
This is to prepare switching to an installer based CI build.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!

Recent CI failures were seen [1] when building MSYS2 Windows host tools. The error messages are something like:
downloading mingw32.db... downloading mingw32.db.sig... error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown error: mingw32: signature from "David Macek david.macek.0@gmail.com" is unknown trust error: failed to update mingw32 (invalid or corrupted database (PGP signature))
Per the MSYS2 official news [2], this was caused by a packager switch and several solutions were suggested, e.g.: a new package of msys2-keyring and a new msys2 installer that includes them are released. However right now we have been using the MSYS2 github CI base repo [3] for the MSYS2 build in U-Boot, but per the project information on the github webpage, it says: "This repository is unused/deprecated and will be remove after 2021-01-01". Since it is unmaintained it's unlikely the new PGP keys will be included in the git repo, and the only choice is to switch to use the MSYS2 official installer as the CI base instead.
[1] https://dev.azure.com/u-boot/u-boot/_build/results?buildId=975 [2] https://www.msys2.org/news/#2020-06-29-new-packagers [3] https://github.com/msys2/msys2-ci-base
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
.azure-pipelines.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 9b88aa6..18f33e5 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -15,10 +15,11 @@ jobs: pool: vmImage: $(windows_vm) steps: - - script: | - git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 + - powershell: | + (New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2020-07-20/msys2-...", "sfx.exe") displayName: 'Install MSYS2' - script: | + sfx.exe -y -o%CD:~0,2%\ %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu" displayName: 'Update MSYS2' - script: |

On Tue, Jul 28, 2020 at 02:06:44AM -0700, Bin Meng wrote:
Recent CI failures were seen [1] when building MSYS2 Windows host tools. The error messages are something like:
downloading mingw32.db... downloading mingw32.db.sig... error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown error: mingw32: signature from "David Macek david.macek.0@gmail.com" is unknown trust error: failed to update mingw32 (invalid or corrupted database (PGP signature))
Per the MSYS2 official news [2], this was caused by a packager switch and several solutions were suggested, e.g.: a new package of msys2-keyring and a new msys2 installer that includes them are released. However right now we have been using the MSYS2 github CI base repo [3] for the MSYS2 build in U-Boot, but per the project information on the github webpage, it says: "This repository is unused/deprecated and will be remove after 2021-01-01". Since it is unmaintained it's unlikely the new PGP keys will be included in the git repo, and the only choice is to switch to use the MSYS2 official installer as the CI base instead.
[1] https://dev.azure.com/u-boot/u-boot/_build/results?buildId=975 [2] https://www.msys2.org/news/#2020-06-29-new-packagers [3] https://github.com/msys2/msys2-ci-base
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!

On Tue, Jul 28, 2020 at 02:06:41AM -0700, Bin Meng wrote:
This simplifies things a bit to just use a login shell everywhere.
This keeps in sync with MSYS2 upstream commit: 9d11b7f0aa93 ("azure-pipelines: simplify things a bit").
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!
participants (2)
-
Bin Meng
-
Tom Rini