diff --git a/Makefile b/Makefile
index 1b2818a9289..cde485c2951 100644
--- a/Makefile
+++ b/Makefile
@@ -128,10 +128,10 @@ package-all: update beats-dashboards
@# Run tests on the generated packages.
@go test ./dev-tools/package_test.go -files "${BUILD_DIR}/upload/*/*"
-.PHONY: osx-package
-osx-package:
+.PHONY: osx-package-all
+osx-package-all:
@$(test "$(uname -s)" = Darwin || { echo "Must run on Darwin" ; exit 1;} )
- @$(foreach var,$(OSX_BEATS),$(MAKE) -C $(var) osx-package || exit 1;)
+ @$(foreach var,$(OSX_BEATS),$(MAKE) -C $(var) osx-package-all || exit 1;)
@mkdir -p build/upload/
@$(foreach var,$(OSX_BEATS),cp -r $(var)/build/upload/*.dmg $(var)/build/upload/*.pkg build/upload/$(var) || exit 1;)
diff --git a/dev-tools/osx-deploy b/dev-tools/osx-deploy
index e7a7d923acb..c0928cfe7f1 100755
--- a/dev-tools/osx-deploy
+++ b/dev-tools/osx-deploy
@@ -13,9 +13,9 @@ def main():
dir = os.path.dirname(__file__)
os.chdir(dir + "/../")
if args.no_snapshot:
- check_call("make SNAPSHOT=no osx-package", shell=True)
+ check_call("make SNAPSHOT=no osx-package-all", shell=True)
else:
- check_call("make SNAPSHOT=yes osx-package", shell=True)
+ check_call("make SNAPSHOT=yes osx-package-all", shell=True)
print("All done")
if __name__ == "__main__":
diff --git a/dev-tools/packer/Makefile b/dev-tools/packer/Makefile
index 7650820f214..62247bfa4b8 100644
--- a/dev-tools/packer/Makefile
+++ b/dev-tools/packer/Makefile
@@ -40,7 +40,7 @@ beat_abspath=${BEATS_GOPATH}/src/${BEAT_PATH}
%/dmg:
echo Creating OSX packages for $(@D)
- ARCH=amd64 BEAT=$(@D) BUILD_DIR=${BUILD_DIR} UPLOAD_DIR=${UPLOAD_DIR} BEAT_PATH=$(beat_abspath) BUILDID=$(BUILDID) SNAPSHOT=$(SNAPSHOT) $(packer_absdir)/platforms/darwin/pkg/build.sh
+ ARCH=amd64 BEAT=$(@D) BUILD_DIR=${BUILD_DIR} UPLOAD_DIR=${UPLOAD_DIR} BEAT_PATH=$(beat_abspath) BUILDID=$(BUILDID) SNAPSHOT=$(SNAPSHOT) PKG_SUFFIX=$(PKG_SUFFIX) $(packer_absdir)/platforms/darwin/pkg/build.sh
.PHONY: package-dashboards
package-dashboards:
diff --git a/dev-tools/packer/platforms/darwin/pkg/build.sh b/dev-tools/packer/platforms/darwin/pkg/build.sh
index 2f1ef18fd97..be6998b0fb7 100755
--- a/dev-tools/packer/platforms/darwin/pkg/build.sh
+++ b/dev-tools/packer/platforms/darwin/pkg/build.sh
@@ -38,7 +38,8 @@ test -n "SIGN_IDENTITY_INSTALLER" || die "Installer certificate not found"
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"
+PKG_YML="${BUILD_DIR}/package${PKG_SUFFIX}/package.yml"
+test -f "$PKG_YML" || die "package.yml not found in $PKG_YML"
ARCH_FILE="${PACKERDIR}/archs/$ARCH.yml"
test -f "$ARCH_FILE" || die "$ARCH_FILE not found (check ARCH environment variable)"
@@ -46,7 +47,7 @@ TMPDIR=$(mktemp -d)
test "$?" -ne 0 && die "Failed creating temporary directory"
echo "Building in directory $TMPDIR"
-cat "${BUILD_DIR}/package.yml" "$ARCH_FILE" "$BASEDIR/base_conf.yml" > "${TMPDIR}/conf.yml" || die "Failed generating conf.yml"
+cat "$PKG_YML" "$ARCH_FILE" "$BASEDIR/base_conf.yml" > "${TMPDIR}/conf.yml" || die "Failed generating conf.yml"
if [ "$SNAPSHOT" = "yes" ]; then
echo 'snapshot: "-SNAPSHOT"' >> "${TMPDIR}/conf.yml"
@@ -54,6 +55,8 @@ else
echo 'snapshot: ""' >> "${TMPDIR}/conf.yml"
fi
+echo "pkg_suffix: '${PKG_SUFFIX}'" >> "${TMPDIR}/conf.yml"
+
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"
diff --git a/dev-tools/packer/platforms/darwin/pkg/internal_build.sh b/dev-tools/packer/platforms/darwin/pkg/internal_build.sh
index 08b95fe1814..27aba03afe3 100755
--- a/dev-tools/packer/platforms/darwin/pkg/internal_build.sh
+++ b/dev-tools/packer/platforms/darwin/pkg/internal_build.sh
@@ -6,16 +6,19 @@ set -e
BASEDIR=$(cd "$(dirname "$0")"; pwd)
-FILE_NAME="$BEAT-$VERSION-$ARCH"
+FILE_NAME="$BEAT$PKG_SUFFIX-$VERSION-$ARCH"
PKG_NAME="$FILE_NAME.pkg"
DMG_NAME="$FILE_NAME.dmg"
INNER_NAME="internal-$FILE_NAME.pkg"
VENDOR_DIR="root/$INSTALL_PATH/$VENDOR"
BEAT_DIR="$VENDOR_DIR/$BEAT"
mkdir -p "$VENDOR_DIR"
-TAR_NAME="$BEAT-$VERSION-darwin-$ARCH"
+TAR_NAME="$BEAT$PKG_SUFFIX-$VERSION-darwin-$ARCH"
+# When uncompressed, both the -oss and non-oss tar.gz
+# yield the same directory name.
+TAR_DIR_NAME="$BEAT-$VERSION-darwin-$ARCH"
tar zxf "$BUILD_DIR/upload/$TAR_NAME".tar.gz
-mv "$TAR_NAME" "$BEAT_DIR"
+mv "$TAR_DIR_NAME" "$BEAT_DIR"
cp launchd-daemon.plist "$BEAT_DIR/$IDENTIFIER.plist"
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 f2b109cd7b8..adc7d5325fc 100644
--- a/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2
+++ b/dev-tools/packer/platforms/darwin/pkg/templates/distribution.plist.j2
@@ -17,7 +17,7 @@