-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
appveyor: Move from MinGW 32bit to msys64.
AppVeyor is planning to remove support for MinGW 32bit soon. And we had a couple of incidents where it wasn't available already, so we moved to a 'Previous' image. Move to msys64 instead. While at it making the CI scripts a little nicer, moving the non-Windows parts of the preparation and build to separate files. MSYS2 has its own version of python. However, we do not support building on Windows with non-Windows python build. The main issue is the delimiter symbol in PYTHONPATH. In Windows version it has to be ';', while the python supplied with MSYS2 uses ':' as on Linux, while we detect Windows and pass ';' during the build. Renaming the binary, so the Windows version is used. Additionally switched to Python 3.12, 3.7 reached EoL some time back, though it's still available in AppVeyor. The stderr has to be redirected to stdout for scripts, because any message on stderr is treated as fatal failure by PowerShell. Scripts are running with 'set -e', so a failure of individual commands will fail the script. The OpenSSL download is still failing, but it is out of scope for this change. Acked-by: Alin Gabriel Serdean <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
- Loading branch information
Showing
4 changed files
with
53 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
CONFIGURATION=$1 | ||
|
||
./boot.sh | ||
./configure CC=build-aux/cccl LD="$(which link)" \ | ||
LIBS="-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32" \ | ||
--prefix=C:/openvswitch/usr --localstatedir=C:/openvswitch/var \ | ||
--sysconfdir=C:/openvswitch/etc --with-pthread=c:/PTHREADS-BUILT/ \ | ||
--enable-ssl --with-openssl=C:/OpenSSL-Win64 \ | ||
--with-vstudiotarget="${CONFIGURATION}" | ||
|
||
make -j4 | ||
make datapath_windows_analyze | ||
make install | ||
make windows_installer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
mkdir -p /var/cache/pacman/pkg/ | ||
pacman -S --noconfirm --needed automake autoconf libtool make patch | ||
|
||
# Use an MSVC linker and a Windows version of Python. | ||
mv $(which link) $(which link)_copy | ||
mv $(which python3) $(which python3)_copy | ||
|
||
cd /c/pthreads4w-code && nmake all install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,47 @@ | ||
version: 1.0.{build} | ||
image: Previous Visual Studio 2019 | ||
image: Visual Studio 2019 | ||
branches: | ||
only: | ||
- master | ||
configuration: | ||
- Debug | ||
- Release | ||
clone_folder: C:\openvswitch_compile | ||
shallow_clone: true | ||
init: | ||
- ps: $env:PATH ="C:\Python37;"+$env:PATH | ||
- ps: New-Item -Type HardLink -Path "C:\Python37\python3.exe" -Value "C:\Python37\python.exe" | ||
- ps: >- | ||
- ps: $env:PATH ="C:\Python312-x64;"+$env:PATH | ||
- ps: New-Item -Type HardLink -Path "C:\Python312-x64\python3.exe" | ||
-Value "C:\Python312-x64\python.exe" | ||
- ps: | | ||
mkdir C:\ovs-build-downloads | ||
mkdir C:\openvswitch\driver | ||
$source = "https://slproweb.com/download/Win64OpenSSL-1_0_2u.exe" | ||
$destination = "C:\ovs-build-downloads\Win64OpenSSL-1_0_2u.exe" | ||
Invoke-WebRequest $source -OutFile $destination | ||
cd C:\ovs-build-downloads | ||
.\Win64OpenSSL-1_0_2u.exe /silent /verysilent /sp- /suppressmsgboxes | ||
Start-Sleep -s 30 | ||
cd C:\openvswitch | ||
git clone -q https://git.code.sf.net/p/pthreads4w/code c:\pthreads4w-code | ||
python3 -m pip install pypiwin32 --disable-pip-version-check | ||
cd C:\openvswitch_compile | ||
- ps: git clone -q https://git.code.sf.net/p/pthreads4w/code c:\pthreads4w-code | ||
- ps: python3 -m pip install pypiwin32 --disable-pip-version-check | ||
|
||
build_script: | ||
- '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"' | ||
- C:\MinGW\msys\1.0\bin\bash -lc "echo \"C:/MinGW /mingw\" > /etc/fstab" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe" | ||
# Build pthreads | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/pthreads4w-code && nmake all install" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && ./boot.sh" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32\" --prefix=C:/openvswitch/usr --localstatedir=C:/openvswitch/var --sysconfdir=C:/openvswitch/etc --with-pthread=c:/PTHREADS-BUILT/ --enable-ssl --with-openssl=C:/OpenSSL-Win64 --with-vstudiotarget=\"%CONFIGURATION%\"" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && make -j 4" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && make datapath_windows_analyze" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && make install" | ||
- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch_compile && make windows_installer" | ||
- cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\bin | ||
- cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\sbin | ||
- ps: cp C:\openvswitch_compile\datapath-windows\x64\Win10$env:CONFIGURATION\package\* C:\openvswitch\driver | ||
- ps: cp C:\openvswitch_compile\datapath-windows\x64\Win10$env:CONFIGURATION\package.cer C:\openvswitch\driver | ||
- ps: cp C:\openvswitch_compile\datapath-windows\misc\* C:\openvswitch\driver | ||
- cp c:\openvswitch_compile\windows\ovs-windows-installer\bin\x64\Release\OpenvSwitch.msi c:\OpenvSwitch-%CONFIGURATION%.msi | ||
- ps: C:\msys64\msys2_shell.cmd -here -defterm -no-start -use-full-path -c | ||
".ci/windows-prepare.sh 2>&1" | ||
- ps: C:\msys64\msys2_shell.cmd -here -defterm -no-start -use-full-path -c | ||
".ci/windows-build.sh $env:CONFIGURATION 2>&1" | ||
- ps: cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\bin | ||
- ps: cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\sbin | ||
- ps: mkdir C:\openvswitch\driver | ||
- ps: cp datapath-windows\x64\Win10$env:CONFIGURATION\package\* C:\openvswitch\driver | ||
- ps: cp datapath-windows\x64\Win10$env:CONFIGURATION\package.cer C:\openvswitch\driver | ||
- ps: cp datapath-windows\misc\* C:\openvswitch\driver | ||
- ps: cp windows\ovs-windows-installer\bin\x64\Release\OpenvSwitch.msi | ||
c:\OpenvSwitch-$env:CONFIGURATION.msi | ||
|
||
after_build: | ||
- ps: 7z a C:\ovs-master-$env:CONFIGURATION.zip C:\openvswitch | ||
- ps: Push-AppveyorArtifact C:\ovs-master-$env:CONFIGURATION.zip | ||
- ps: Push-AppveyorArtifact C:\OpenvSwitch-$env:CONFIGURATION.msi | ||
- ps: 7z a C:\ovs-master-$env:CONFIGURATION.zip C:\openvswitch | ||
- ps: Push-AppveyorArtifact C:\ovs-master-$env:CONFIGURATION.zip | ||
- ps: Push-AppveyorArtifact C:\OpenvSwitch-$env:CONFIGURATION.msi |