@@ -278,18 +278,7 @@ public struct Linux: Platform {
278278 throw SwiftlyError ( message: msg)
279279 }
280280
281- let tmpFile = self . getTempFilePath ( )
282- try await fs. create ( . mode( 0o600 ) , file: tmpFile, contents: nil )
283- try await fs. withTemporary ( files: tmpFile) {
284- try await ctx. httpClient. getGpgKeys ( ) . download ( to: tmpFile)
285- if let mockedHomeDir = ctx. mockedHomeDir {
286- var env = ProcessInfo . processInfo. environment
287- env [ " GNUPGHOME " ] = ( mockedHomeDir / " .gnupg " ) . string
288- try await sys. gpg ( ) . _import ( key: tmpFile) . run ( self , env: env, quiet: true )
289- } else {
290- try await sys. gpg ( ) . _import ( key: tmpFile) . run ( self , quiet: true )
291- }
292- }
281+ try await importGpgKeys ( ctx)
293282 }
294283
295284 guard let manager = manager else {
@@ -436,6 +425,22 @@ public struct Linux: Platform {
436425 }
437426 }
438427
428+ /// Import Swift.org GPG keys for signature verification
429+ private func importGpgKeys( _ ctx: SwiftlyCoreContext ) async throws {
430+ let tmpFile = self . getTempFilePath ( )
431+ try await fs. create ( . mode( 0o600 ) , file: tmpFile, contents: nil )
432+ try await fs. withTemporary ( files: tmpFile) {
433+ try await ctx. httpClient. getGpgKeys ( ) . download ( to: tmpFile)
434+ if let mockedHomeDir = ctx. mockedHomeDir {
435+ var env = ProcessInfo . processInfo. environment
436+ env [ " GNUPGHOME " ] = ( mockedHomeDir / " .gnupg " ) . string
437+ try await sys. gpg ( ) . _import ( key: tmpFile) . run ( self , env: env, quiet: true )
438+ } else {
439+ try await sys. gpg ( ) . _import ( key: tmpFile) . run ( self , quiet: true )
440+ }
441+ }
442+ }
443+
439444 public func verifySwiftlySignature(
440445 _ ctx: SwiftlyCoreContext , archiveDownloadURL: URL , archive: FilePath , verbose: Bool
441446 ) async throws {
0 commit comments