Skip to content

Commit 824f867

Browse files
refactor: verify GPG keys func
1 parent 91f1228 commit 824f867

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

Sources/LinuxPlatform/Linux.swift

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)