mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Add ability to build and sign sparkle tbz from mac-crafter
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
7b76243290
commit
d60f02ab0e
@ -19,6 +19,8 @@ enum PackagingError: Error {
|
||||
case packageBuildError(String)
|
||||
case packageSigningError(String)
|
||||
case packageNotarisationError(String)
|
||||
case packageSparkleBuildError(String)
|
||||
case packageSparkleSignError(String)
|
||||
}
|
||||
|
||||
func buildPackage(buildWorkPath: String, productPath: String) throws -> String {
|
||||
@ -57,3 +59,17 @@ func notarisePackage(
|
||||
}
|
||||
}
|
||||
|
||||
func buildSparklePackage(packagePath: String, buildPath: String) throws -> String {
|
||||
let sparkleTbzPath = "\(packagePath).tbz"
|
||||
guard shell("tar cf \(sparkleTbzPath) \(packagePath)") == 0 else {
|
||||
throw PackagingError.packageSparkleBuildError("Could not create Sparkle package tbz!")
|
||||
}
|
||||
return sparkleTbzPath
|
||||
}
|
||||
|
||||
func signSparklePackage(sparkleTbzPath: String, buildPath: String, signKey: String) throws
|
||||
{
|
||||
guard shell("\(buildPath)/bin/sign_update -s \(signKey) \(sparkleTbzPath)") == 0 else {
|
||||
throw PackagingError.packageSparkleSignError("Could not sign Sparkle package tbz!")
|
||||
}
|
||||
}
|
||||
|
||||
@ -77,6 +77,9 @@ struct Build: ParsableCommand {
|
||||
@Option(name: [.long], help: "Apple package signing ID.")
|
||||
var packageSigningId: String?
|
||||
|
||||
@Option(name: [.long], help: "Sparkle package signing key.")
|
||||
var sparklePackageSignKey: String?
|
||||
|
||||
@Flag(help: "Reconfigure KDE Craft.")
|
||||
var reconfigureCraft = false
|
||||
|
||||
@ -241,6 +244,17 @@ struct Build: ParsableCommand {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
let sparklePackagePath =
|
||||
try buildSparklePackage(packagePath: packagePath, buildPath: buildPath)
|
||||
|
||||
if let sparklePackageSignKey {
|
||||
try signSparklePackage(
|
||||
sparkleTbzPath: sparklePackagePath,
|
||||
buildPath: buildPath,
|
||||
signKey: sparklePackageSignKey
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
print("Done!")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user