diff --git a/dev-tools/packer/platforms/darwin/pkg/build.sh b/dev-tools/packer/platforms/darwin/pkg/build.sh index 1bf12b2f256..2f1ef18fd97 100755 --- a/dev-tools/packer/platforms/darwin/pkg/build.sh +++ b/dev-tools/packer/platforms/darwin/pkg/build.sh @@ -1,7 +1,7 @@ #!/bin/bash BASEDIR=$(cd "$(dirname "$0")"; pwd) -ARCHDIR=${BASEDIR}/../../../ +PACKERDIR=${BASEDIR}/../../../ die() { echo "Error: $@" >&2 @@ -11,7 +11,7 @@ die() { test "$(uname -s)" = Darwin || die "Must be run in macOS" FAIL=0 -for bin in gotpl markdown pkgbuild productbuild hdiutil codesign +for bin in gotpl markdown pkgbuild productbuild hdiutil codesign xcodebuild do which -s "$bin" || { echo "Required command '$bin' not found in PATH" >&2 @@ -39,7 +39,7 @@ test -n "SIGN_IDENTITY_APP" || die "Codesigning certificate not found" export SIGN_IDENTITY_INSTALLER SIGN_IDENTITY_APP test -f "${BUILD_DIR}/package.yml" || die "package.yml not found in BUILD_DIR" -ARCH_FILE="${ARCHDIR}/archs/$ARCH.yml" +ARCH_FILE="${PACKERDIR}/archs/$ARCH.yml" test -f "$ARCH_FILE" || die "$ARCH_FILE not found (check ARCH environment variable)" TMPDIR=$(mktemp -d) @@ -54,6 +54,10 @@ else echo 'snapshot: ""' >> "${TMPDIR}/conf.yml" fi +echo 'Building preference-pane' +make -e CODE_SIGNING_REQUIRED=YES -C "${PACKERDIR}/platforms/darwin/preference-pane" clean build pkg || die "Build of preference-pane failed" +cp -a "${PACKERDIR}/platforms/darwin/preference-pane/BeatsPrefPane.pkg" "${TMPDIR}/" || die "Preference pane package not found" + pushd "${BASEDIR}/templates" for dir in $(find . -type d); do mkdir -p "$TMPDIR/$dir" || FAIL=1 diff --git a/dev-tools/packer/platforms/darwin/pkg/internal_build.sh b/dev-tools/packer/platforms/darwin/pkg/internal_build.sh index 743df6b39a4..08b95fe1814 100755 --- a/dev-tools/packer/platforms/darwin/pkg/internal_build.sh +++ b/dev-tools/packer/platforms/darwin/pkg/internal_build.sh @@ -49,6 +49,7 @@ cp "$BEAT_DIR/LICENSE.txt" LICENSE.txt productbuild --distribution distribution.plist \ --resources . \ + --package-path "BeatsPrefPane.pkg" \ --package-path "$INNER_NAME" \ --component-compression auto \ --sign "$SIGN_IDENTITY_INSTALLER" \ diff --git a/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2 b/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2 index 13198a60add..f2b109cd7b8 100644 --- a/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2 +++ b/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2 @@ -15,10 +15,11 @@ + internal-{{.beat_name}}-{{.version}}{{.snapshot}}-{{.osx_arch}}.pkg - {{.beat_name}} {{.version}}{{.snapshot}} + BeatsPrefPane.pkg