New make target for OS X package creation.
authorDaira Hopwood <daira@jacaranda.org>
Mon, 6 Oct 2014 22:46:29 +0000 (23:46 +0100)
committerDaira Hopwood <daira@jacaranda.org>
Mon, 20 Oct 2014 16:52:46 +0000 (17:52 +0100)
Author: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Makefile

index 3905a8de062dbb83a90926668b1f47f6d659262f..de3a52c1b382e4315d61f4a3008ae3689d054c8f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,31 @@ build:
        $(PYTHON) setup.py build
        touch .built
 
+# Build OS X pkg packages.
+# The editing of .egg-link and .pth files ensures that we reference the source at the correct path.
+.PHONY: build-osx-pkg
+build-osx-pkg:
+       $(PYTHON) setup.py build
+       find support -name allmydata-tahoe.egg-link -execdir sh -c "echo >> {}; echo /Applications/tahoe.app/src >> {}" \;
+       find support -name easy-install.pth -execdir sed -i.bak 's|^.*/src$$|../../../../src|' '{}' \;
+       touch .built
+
+# create component pkg
+       pkgbuild --root $(shell pwd) \
+       --identifier com.leastauthority.tahoe \
+       --version $(shell sh -c "cat src/allmydata/_version.py | grep verstr | head -n 1 | cut -d' ' -f 3") \
+       --ownership recommended \
+       --install-location /Applications/tahoe.app \
+       --scripts $(shell pwd)/misc/build_helpers/osx/scripts \
+       tahoe-lafs.pkg
+
+# create product archive
+       productbuild --distribution $(shell pwd)/misc/build_helpers/osx/Distribution.xml \
+       --package-path . \
+       tahoe-lafs-osx.pkg
+
+# remove intermediate pkg
+       rm -f tahoe-lafs.pkg
 
 # TESTING