From: Daira Hopwood Date: Tue, 24 Mar 2015 16:11:30 +0000 (+0000) Subject: Merge pull request #146 from warner/versioned-osx-pkg X-Git-Tag: allmydata-tahoe-1.10.1a1~57 X-Git-Url: https://git.rkrishnan.org/?a=commitdiff_plain;h=610ba0e69ba430002680829b43f2c098c94d6b9c;hp=7846f5f9c87905768762ae494855fcbe7bdd4bb7;p=tahoe-lafs%2Ftahoe-lafs.git Merge pull request #146 from warner/versioned-osx-pkg put a version string in the name of the OS-X .pkg file --- diff --git a/Makefile b/Makefile index 39161bcf..6906e6cf 100644 --- a/Makefile +++ b/Makefile @@ -33,36 +33,16 @@ 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|' '{}' \; - -# 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 + 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") + +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; \ + 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 new file mode 100755 index 00000000..d063a830 --- /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-$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 664f0538..750c5c3e 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!"