msys2: Fix pacman update
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 30 Jun 2020 12:16:33 +0000 (17:46 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Tue, 30 Jun 2020 12:47:07 +0000 (18:17 +0530)
Match the official steps by MSYS2 upstream for updating on CI:

https://github.com/msys2/setup-msys2/blob/master/main.js#L98

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/317>

gitlab/ci_template.yml

index ad62558..c8cc3d6 100644 (file)
@@ -778,8 +778,16 @@ build msys2 :
 
     # For some reason docker build hangs if this is included in the image, needs more troubleshooting
     - $env:PATH += ';C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\msys64\mingw32\bin'
+    # Copied from https://github.com/msys2/setup-msys2/blob/master/main.js#L98
     - C:\msys64\usr\bin\bash -c "pacman-key --init && pacman-key --populate msys2 && pacman-key --refresh-keys || true"
-    - C:\msys64\usr\bin\bash -c "pacman -Syuu --noconfirm"
+    - C:\msys64\usr\bin\bash -c "sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf"
+    - echo "Updating MSYS2"
+    - C:\msys64\usr\bin\bash -c "pacman -Syuu --noconfirm || echo Update failed, ignoring"
+    - echo "Killing all MSYS2 processes"
+    - taskkill /F /FI "MODULES eq msys-2.0.dll"
+    - echo "Completing MSYS2 update"
+    - C:\msys64\usr\bin\bash -c "pacman -Suu --noconfirm"
+    - echo "Installing needed MSYS2 packages"
     - C:\msys64\usr\bin\bash -c "pacman -Sy --noconfirm --needed mingw-w64-x86_64-toolchain ninja"
 
     - Invoke-WebRequest -Uri "https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/$env:GST_UPSTREAM_BRANCH/gitlab/clone_manifest_ref.py" -OutFile $env:CI_PROJECT_DIR/clone_manifest_ref.py