Skip to content

Commit 18e77e8

Browse files
committed
Fail with an error for posix_spawn
1 parent 6083eb1 commit 18e77e8

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

swift-ci/sdks/android/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ which will build the sources for each of the specified
4141
architectures and then combines the SDKs into a single
4242
artifactbundle with targetTriples for each of the supported
4343
architectures (`aarch64`, `x86_64`, `aarmv7`)
44-
and Android API levels (24-35).
44+
and Android API levels (23-35).
4545

4646
## Specifying Architectures
4747

swift-ci/sdks/android/scripts/fetch-source.sh

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,23 +163,26 @@ popd >/dev/null 2>&1
163163
groupend
164164

165165
groupstart "Patching Sources"
166+
pushd swift-project >/dev/null
167+
166168
# This `git grep` invocation in a trunk test fails in our Docker for some
167169
# reason, so just turn it into a plain `grep` again.
168-
perl -pi -e 's:"git",:#:' swift-project/swift/test/Misc/verify-swift-feature-testing.test-sh
170+
perl -pi -e 's:"git",:#:' swift/test/Misc/verify-swift-feature-testing.test-sh
169171

170172
# Work around swiftlang/swift-driver#1822 for now
171-
perl -pi -g -we "s#(call rm ... \".\{LIBDISPATCH_BUILD_DIR\}\"\n(\s+)fi\n)#\1\2if [[ -d \"\\\${ANDROID_NDK}\" ]]; then call ln -sf \"\\\${SWIFT_BUILD_PATH}/lib/swift\" \"\\\${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib\"; fi#" swift-project/swift/utils/build-script-impl
173+
perl -pi -g -we "s#(call rm ... \".\{LIBDISPATCH_BUILD_DIR\}\"\n(\s+)fi\n)#\1\2if [[ -d \"\\\${ANDROID_NDK}\" ]]; then call ln -sf \"\\\${SWIFT_BUILD_PATH}/lib/swift\" \"\\\${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib\"; fi#" swift/utils/build-script-impl
172174

173175
# fix optional backtrace() call
174-
perl -pi -e 's;.init\(clamping: addresses.count\)\)\);.init\(clamping: addresses.count\)\) ?? 0\);g' swift-project/swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift
176+
perl -pi -e 's;.init\(clamping: addresses.count\)\)\);.init\(clamping: addresses.count\)\) ?? 0\);g' swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift
175177

176178
# Disable posix_spawnattr_* calls for Android API 24
177-
perl -pi -e 's;try _throwIfPosixError\(posix_spawnattr_init;//try _throwIfPosixError\(posix_spawnattr_init;g' swift-project/swift-corelibs-foundation/Sources/Foundation/Process.swift
178-
perl -pi -e 's;try _throwIfPosixError\(posix_spawnattr_setflags;//try _throwIfPosixError\(posix_spawnattr_setflags;g' swift-project/swift-corelibs-foundation/Sources/Foundation/Process.swift
179-
perl -pi -e 's;posix_spawnattr_destroy;//posix_spawnattr_destroy;g' swift-project/swift-corelibs-foundation/Sources/Foundation/Process.swift
179+
perl -pi -e 's;try _throwIfPosixError\(posix_spawnattr_init;throw NSError\(domain: NSPOSIXErrorDomain, code: ENOEXEC, userInfo: [ NSLocalizedFailureReasonErrorKey: "Process unavailable on Android" ]\) //try _throwIfPosixError\(posix_spawnattr_init;g' swift-corelibs-foundation/Sources/Foundation/Process.swift
180+
perl -pi -e 's;try _throwIfPosixError\(posix_spawnattr_setflags;//try _throwIfPosixError\(posix_spawnattr_setflags;g' swift-corelibs-foundation/Sources/Foundation/Process.swift
181+
perl -pi -e 's;posix_spawnattr_destroy;//posix_spawnattr_destroy;g' swift-corelibs-foundation/Sources/Foundation/Process.swift
180182

181183
# Stub out getgrgid_r and getgrnam_r missing from Android API 23
182-
perl -pi -e 's;getgrgid_r|getgrnam_r;{ _, _, _, _, _ in 0 };g' swift-project/swift-foundation/Sources/FoundationEssentials/Platform.swift
184+
perl -pi -e 's;getgrgid_r|getgrnam_r;{ _, _, _, _, _ in 0 };g' swift-foundation/Sources/FoundationEssentials/Platform.swift
183185

186+
popd >/dev/null 2>&1
184187
groupend
185188

0 commit comments

Comments
 (0)