From 05c69668018802a770c813f2a6d7d26a8d1790e2 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Sat, 21 Mar 2015 14:09:33 -0700 Subject: [PATCH 1/2] move build-osx-pkg out to a separate shell script Also remove the duplicate test-osx-pkg (i.e. don't run the test as part of the build, and have the caller do it themselves later). --- Makefile | 26 +++----------------------- misc/build_helpers/build-osx-pkg.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 23 deletions(-) create mode 100755 misc/build_helpers/build-osx-pkg.sh diff --git a/Makefile b/Makefile index 39161bcfa..00f025ae4 100644 --- a/Makefile +++ b/Makefile @@ -33,33 +33,13 @@ 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 +.PHONY: build-osx-pkg test-osx-pkg upload-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|' '{}' \; + misc/build_helpers/build-osx-pkg.sh $(APPNAME) $(shell sh -c "cat src/allmydata/_version.py | grep verstr | head -n 1 | cut -d' ' -f 3") -# 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 +test-osx-pkg: $(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; \ diff --git a/misc/build_helpers/build-osx-pkg.sh b/misc/build_helpers/build-osx-pkg.sh new file mode 100755 index 000000000..b5d1d7b64 --- /dev/null +++ b/misc/build_helpers/build-osx-pkg.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +APPNAME=$1 +VERSION=$2 +PWD=`pwd` + +# The editing of allmydata-tahoe.egg-link and easy-install.pth files +# (*in-place*) ensures that we reference the source at the correct path, +# removing the hard-coded local source tree directory names. +# +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 $PWD \ + --identifier com.leastauthority.tahoe \ + --version $VERSION \ + --ownership recommended \ + --install-location /Applications/tahoe.app \ + --scripts $PWD/misc/build_helpers/osx/scripts \ + tahoe-lafs.pkg + +# create product archive +productbuild --distribution $PWD/misc/build_helpers/osx/Distribution.xml \ + --package-path . \ + tahoe-lafs-osx.pkg + +# remove intermediate pkg +rm -f tahoe-lafs.pkg From c12d49b54e1d624462f1bc78dde2e733ef2cd6b5 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Sat, 21 Mar 2015 14:20:00 -0700 Subject: [PATCH 2/2] create/test/upload tahoe-lafs-VERSION-osx.pkg, not tahoe-lafs-osx.pkg Closes ticket:2393 --- Makefile | 2 +- misc/build_helpers/build-osx-pkg.sh | 2 +- misc/build_helpers/test-osx-pkg.py | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 00f025ae4..6906e6cfd 100644 --- a/Makefile +++ b/Makefile @@ -42,7 +42,7 @@ test-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; \ + 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 diff --git a/misc/build_helpers/build-osx-pkg.sh b/misc/build_helpers/build-osx-pkg.sh index b5d1d7b64..d063a830f 100755 --- a/misc/build_helpers/build-osx-pkg.sh +++ b/misc/build_helpers/build-osx-pkg.sh @@ -23,7 +23,7 @@ pkgbuild --root $PWD \ # create product archive productbuild --distribution $PWD/misc/build_helpers/osx/Distribution.xml \ --package-path . \ - tahoe-lafs-osx.pkg + tahoe-lafs-$VERSION-osx.pkg # remove intermediate pkg rm -f tahoe-lafs.pkg diff --git a/misc/build_helpers/test-osx-pkg.py b/misc/build_helpers/test-osx-pkg.py index 664f05381..750c5c3e0 100644 --- a/misc/build_helpers/test-osx-pkg.py +++ b/misc/build_helpers/test-osx-pkg.py @@ -85,7 +85,11 @@ def test_osx_pkg(pkgfile): if __name__ == '__main__': - print "Testing..." - test_osx_pkg('tahoe-lafs-osx.pkg') + pkgs = [fn for fn in os.listdir(".") if fn.endswith("-osx.pkg")] + if len(pkgs) != 1: + print "ERR: unable to find a single .pkg file:", pkgs + sys.exit(1) + print "Testing %s ..." % pkgs[0] + test_osx_pkg(pkgs[0]) print "Looks OK!"