Install macOS helper from PKG for XPC enroll

Browser enrollment used osascript on every elevate. Ship a signed
privileged helper installed at PKG time so probo:// can enroll over
XPC with no second admin prompt. Add make install/uninstall/clean for
local PKG test loops, and show alerts only on failure.

Mirror the Go lint path for the macOS SPM package: Make
targets, root configs, and a Linux CI job. Keep checks
syntax-only so they do not need a macOS SDK. Format the
existing sources so the new gates start clean.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
This commit is contained in:
Ludovic Vielle
2026-07-20 18:18:04 +02:00
parent 754d12d583
commit 85864a580c
42 changed files with 1903 additions and 341 deletions

View File

@@ -4,11 +4,43 @@ import PackageDescription
let package = Package(
name: "probo-agent-url-handler",
platforms: [
.macOS(.v11),
.macOS(.v11)
],
products: [
.library(name: "ProboAgentShared", targets: ["ProboAgentShared"]),
.library(name: "HelperClient", targets: ["HelperClient"]),
.executable(name: "com.probo.agent.helper", targets: ["com.probo.agent.helper"]),
.executable(name: "probo-agent-url-handler", targets: ["probo-agent-url-handler"]),
],
targets: [
.target(
name: "ProboAgentShared",
path: "Shared",
exclude: [
"HelperVersion.generated.swift.tmpl",
"SigningConstants.generated.swift.tmpl",
],
linkerSettings: [
.linkedFramework("Security")
]
),
.target(
name: "HelperClient",
dependencies: ["ProboAgentShared"],
path: "HelperClient"
),
.executableTarget(
name: "com.probo.agent.helper",
dependencies: ["ProboAgentShared"],
path: "HelperTool",
exclude: ["Info.plist.tmpl", "Launchd.plist.tmpl"],
linkerSettings: [
.linkedFramework("Security")
]
),
.executableTarget(
name: "probo-agent-url-handler",
dependencies: ["HelperClient", "ProboAgentShared"],
path: "URLHandlerSources"
),
]