2025-08-08 11:55:47 -07:00
|
|
|
# kordophoned
|
|
|
|
|
|
|
|
|
|
This is the client Kordophone daemon. It exposes a dbus interface for accessing the caching layer, handles the update cycle, etc.
|
|
|
|
|
|
|
|
|
|
# Building RPM
|
|
|
|
|
|
|
|
|
|
Make sure cargo-generate-rpm is installed, `cargo install cargo-generate-rpm`.
|
|
|
|
|
|
|
|
|
|
Then:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cargo build --release
|
|
|
|
|
strip -s target/release/kordophoned
|
|
|
|
|
cargo generate-rpm
|
|
|
|
|
```
|
2025-08-10 21:48:44 -07:00
|
|
|
|
|
|
|
|
## Running on macOS
|
|
|
|
|
|
|
|
|
|
Before any client can talk to the kordophone daemon on macOS, the XPC service needs to be manually registered with launchd.
|
|
|
|
|
|
2025-08-25 01:01:56 -07:00
|
|
|
- Register using `launchctl load net.buzzert.kordophonecd.plist`
|
|
|
|
|
|
|
|
|
|
Plans are to embed this into the app executable, which would then not need to be manually registered (only via the following Swift code):
|
|
|
|
|
|
|
|
|
|
```swift
|
|
|
|
|
try? SMAppService.agent(plistName: "net.buzzert.kordophonecd.plist").register()
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
and the following in Info.plist:
|
2025-08-10 21:48:44 -07:00
|
|
|
|
2025-08-25 01:01:56 -07:00
|
|
|
```xml
|
|
|
|
|
<key>Label</key><string>net.buzzert.kordophonecd</string>
|
|
|
|
|
<key>BundleProgram</key><string>Contents/MacOS/kordophoned</string>
|
|
|
|
|
<key>MachServices</key><dict><key>net.buzzert.kordophonecd</key><true/></dict>
|
|
|
|
|
<key>KeepAlive</key><true/>
|
|
|
|
|
```
|
2025-08-10 21:48:44 -07:00
|
|
|
|