Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ The build script embeds the pinned Sparkle framework with its updater and XPC
services, signs every nested component before the outer app, and verifies the
result. The package script verifies the app structure, rejects filesystem
metadata sidecars, mounts the DMG read-only, scans it for build-machine paths,
and runs DMG integrity verification. The ZIP contains `AgentDock.app` at its
and runs DMG integrity verification. If `diskutil` cannot create the DMG,
packaging falls back to `hdiutil` and verifies the resulting image with the same
privacy and integrity gates. The ZIP contains `AgentDock.app` at its
root, as required by Sparkle's archive extractor. An ad-hoc local build has no
Sparkle public key and keeps update checks disabled.

Expand Down
8 changes: 4 additions & 4 deletions script/package_app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,13 @@ mkdir -p "$DMG_STAGING_DIR"
/bin/ln -s /Applications "$DMG_STAGING_DIR/Applications"

USE_DISKUTIL_IMAGE=0
if /usr/sbin/diskutil image create from -help >/dev/null 2>&1; then
USE_DISKUTIL_IMAGE=1
COPYFILE_DISABLE=1 /usr/sbin/diskutil image create from \
if /usr/sbin/diskutil image create from -help >/dev/null 2>&1 \
&& COPYFILE_DISABLE=1 /usr/sbin/diskutil image create from \
--format UDZO \
--volumeName "$APP_NAME" \
"$DMG_STAGING_DIR" \
"$DMG_PATH"
"$DMG_PATH"; then
USE_DISKUTIL_IMAGE=1
else
COPYFILE_DISABLE=1 /usr/bin/hdiutil create \
-volname "$APP_NAME" \
Expand Down
Loading