TAHOE=$(PYTHON) bin/tahoe
SOURCES=src/allmydata src/buildtest static misc bin/tahoe-script.template setup.py
+APPNAME=allmydata-tahoe
# This is necessary only if you want to automatically produce a new
# _version.py file from the current git history (without doing a 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: build
+ find support -name $(APPNAME).egg-link -execdir sh -c "echo >> {}; echo /Applications/tahoe.app/src >> {}" \;
+ find support -name easy-install.pth -execdir sed -i.bak 's|^.*/src$$|../../../../src|' '{}' \;
+
+# 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
+
+# test the result
+ $(PYTHON) misc/build_helpers/test-osx-pkg.py
+
+.PHONY: upload-osx-pkg
+upload-osx-pkg:
+ @if [ "X${BB_BRANCH}" = "Xmaster" ] || [ "X${BB_BRANCH}" = "X" ]; then \
+ flappclient --furlfile ~/.tahoe-osx-pkg-upload.furl upload-file tahoe-lafs-osx.pkg; \
+ else \
+ echo not uploading tahoe-lafs-osx-pkg because this is not trunk but is branch \"${BB_BRANCH}\" ; \
+ fi
# TESTING
rm -rf misc/dependencies/build misc/dependencies/temp
rm -rf misc/dependencies/tahoe_deps.egg-info
rm -f bin/tahoe bin/tahoe.pyscript
+ rm -f *.pkg
.PHONY: distclean
distclean: clean
.PHONY: upload-tarballs
upload-tarballs:
- @if [ "X${BB_BRANCH}" = "Xmaster" ] || [ "X${BB_BRANCH}" = "X" ]; then for f in dist/allmydata-tahoe-*; do flappclient --furlfile ~/.tahoe-tarball-upload.furl upload-file $$f; done ; else echo not uploading tarballs because this is not trunk but is branch \"${BB_BRANCH}\" ; fi
+ @if [ "X${BB_BRANCH}" = "Xmaster" ] || [ "X${BB_BRANCH}" = "X" ]; then for f in dist/$(APPNAME)-*; do flappclient --furlfile ~/.tahoe-tarball-upload.furl upload-file $$f; done ; else echo not uploading tarballs because this is not trunk but is branch \"${BB_BRANCH}\" ; fi