Changeset 19582 in josm
- Timestamp:
- 2026-06-12T15:45:59+02:00 (2 days ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
.github/workflows/ant-test.yml (modified) (2 diffs)
-
native/macosx/macos-jpackage.sh (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/.github/workflows/ant-test.yml
r19573 r19582 57 57 - name: Upload Ant reports 58 58 if: ${{ always() }} 59 uses: actions/ download-artifact@v759 uses: actions/upload-artifact@v4 60 60 with: 61 name: Ant reports for JOSM ${{ needs.createrelease.outputs.josm_revision }}on java ${{ matrix.java }} on ${{ matrix.os }}61 name: Ant reports for JOSM on java ${{ matrix.java }} on ${{ matrix.os }} 62 62 path: | 63 63 test/report/*.txt … … 74 74 steps: 75 75 - name: Download Artifacts 76 uses: actions/download-artifact@v 876 uses: actions/download-artifact@v4 77 77 with: 78 78 path: artifacts -
trunk/native/macosx/macos-jpackage.sh
r19215 r19582 41 41 echo "$CERT_MACOS_P12" | base64 --decode > $CERTIFICATE_P12 42 42 security create-keychain -p "$KEYCHAIN_PW" $KEYCHAIN 43 security set-keychain-settings -lut 21600 $KEYCHAIN 43 44 security default-keychain -s $KEYCHAIN 45 security list-keychains -d user -s $KEYCHAIN login.keychain-db 44 46 security unlock-keychain -p "$KEYCHAIN_PW" $KEYCHAIN 45 47 security import $CERTIFICATE_P12 -k $KEYCHAIN -P "$CERT_MACOS_PW" -T /usr/bin/codesign 46 security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PW" $KEYCHAIN 48 security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PW" $KEYCHAIN 47 49 rm $CERTIFICATE_P12 48 50 SIGNAPP=true … … 52 54 53 55 set -u 56 57 # For two-arch builds (ARM64 runner), the x64 jpackage runs under Rosetta 2 and 58 # cannot access the keychain item; sign_app re-signs everything after the merge 59 # anyway, so skip jpackage's --mac-sign for this case entirely. 60 if [ -n "${2:-}" ]; then 61 JPACKAGEOPTIONS="" 62 fi 54 63 55 64 function do_jpackage() { … … 91 100 echo "Building done (${JAVA_HOME})." 92 101 } 93 function do_signapp() {102 function notarize_app() { 94 103 echo "Compressing app (${1})" 95 104 ditto -c -k --zlibCompressionLevel 9 --keepParent "app/${1}.app" "app/${1}.zip" … … 150 159 directory_iterate "JOSM_${second}.app" "JOSM.app" "JOSM_${first}.app" "JOSM_${second}.app" 151 160 ) 152 do_signapp "JOSM_${first}"153 do_signapp "JOSM_${second}"154 161 if [ "${KEYCHAINPATH}" != "false" ]; then 162 security unlock-keychain -p "$KEYCHAIN_PW" $KEYCHAIN 163 CODESIGN_OPTS=(--sign "FOSSGIS e.V." --force --keychain "${KEYCHAINPATH}" --timestamp --options runtime 164 --entitlements "$(dirname "${BASH_SOURCE[0]}")/josm.entitlements") 155 165 function do_codesign() { 156 codesign --sign "FOSSGIS e.V." \ 157 --force \ 158 --keychain "${KEYCHAINPATH}" \ 159 --timestamp \ 166 codesign "${CODESIGN_OPTS[@]}" \ 160 167 --prefix "de.openstreetmap.josm" \ 161 168 --identifier "${2}" \ 162 --options runtime \163 --entitlements "$(dirname "${BASH_SOURCE[0]}")/josm.entitlements" \164 169 --verbose=4 "${1}" 165 170 } 166 do_codesign app/JOSM.app/Contents/runtime "com.oracle.java.de.openstreetmap.josm" 167 do_codesign app/JOSM.app/ "de.openstreetmap.josm" 171 function sign_app() { 172 # jpackage's --mac-sign does not produce valid Developer ID signatures with 173 # secure timestamps. Sign every Mach-O binary in the app individually first 174 # (inside-out), then seal the runtime bundle and the app bundle. 175 while IFS= read -r -d '' binary; do 176 if file "$binary" | grep -q 'Mach-O'; then 177 codesign "${CODESIGN_OPTS[@]}" "$binary" 178 fi 179 done < <(find "${1}" -type f -print0) 180 do_codesign "${1}/Contents/runtime" "com.oracle.java.de.openstreetmap.josm" 181 do_codesign "${1}/" "de.openstreetmap.josm" 182 } 183 sign_app "app/JOSM_${first}.app" 184 sign_app "app/JOSM_${second}.app" 185 sign_app "app/JOSM.app" 168 186 fi 187 notarize_app "JOSM_${first}" 188 notarize_app "JOSM_${second}" 169 189 fi 170 do_signapp JOSM190 notarize_app JOSM
Note:
See TracChangeset
for help on using the changeset viewer.
