]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Backport test environment changes for Cygwin.
authorDarren Tucker <dtucker@dtucker.net>
Wed, 21 May 2025 05:03:09 +0000 (15:03 +1000)
committerDarren Tucker <dtucker@dtucker.net>
Wed, 21 May 2025 05:03:09 +0000 (15:03 +1000)
.github/setup_ci.sh
.github/workflows/c-cpp.yml

index f6c4a5c84fb5497c392edd79c211bd1b984e11df..b381adebeaceddf6846539d97c2b61397716d077 100755 (executable)
@@ -10,9 +10,17 @@ case "$host" in
 *cygwin)
        PACKAGER=setup
        echo Setting CYGWIN system environment variable.
-       setx CYGWIN "binmode"
+       setx CYGWIN "winsymlinks:native"
        echo Removing extended ACLs so umask works as expected.
+       set -x
        setfacl -b . regress
+       icacls regress /c /t /q /Inheritance:d
+       icacls regress /c /t /q /Grant ${USERNAME}:F
+       icacls regress /c /t /q /Remove:g "Authenticated Users" \
+            BUILTIN\\Administrators BUILTIN Everyone System Users
+       takeown /F regress
+       icacls regress
+       set +x
        PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core"
        PACKAGES="$PACKAGES,make,openssl,libssl-devel,zlib-devel"
        ;;
@@ -184,7 +192,8 @@ while [ ! -z "$PACKAGES" ] && [ "$tries" -gt "0" ]; do
        fi
        ;;
     setup)
-       if /cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`; then
+       setup="/cygdrive/$(echo "${CYGWIN_SETUP}" | tr -d : | tr '\' '/')"
+       if "${setup}" -q -P `echo "$PACKAGES" | tr ' ' ,`; then
                PACKAGES=""
        fi
        ;;
index 424c193fb207cb6aa83ec60fad4874e025deeb78..903ed64b555209ed916b99870c6affbc096acae7 100644 (file)
@@ -115,11 +115,16 @@ jobs:
       if: ${{ startsWith(matrix.target, 'windows') }}
       run: git config --global core.autocrlf input
     - name: install cygwin
+      id: cygwin_install
       if: ${{ startsWith(matrix.target, 'windows') }}
       uses: cygwin/cygwin-install-action@master
+      env:
+        CYGWIN: "winsymlinks:native"
     - uses: actions/checkout@main
     - name: setup CI system
       run: sh ./.github/setup_ci.sh ${{ matrix.config }}
+      env:
+        CYGWIN_SETUP: ${{ steps.cygwin_install.outputs.setup }}
     - name: autoreconf
       run: sh -c autoreconf
     - name: configure