]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Merge pull request #146 from warner/versioned-osx-pkg
authorDaira Hopwood <daira@jacaranda.org>
Tue, 24 Mar 2015 16:11:30 +0000 (16:11 +0000)
committerDaira Hopwood <daira@jacaranda.org>
Tue, 24 Mar 2015 16:11:30 +0000 (16:11 +0000)
put a version string in the name of the OS-X .pkg file

Makefile
misc/build_helpers/build-osx-pkg.sh [new file with mode: 0755]
misc/build_helpers/test-osx-pkg.py

index 39161bcfa8484680589992f6ecf3c8b34b43b2c1..6906e6cfd831348b8bb64fff1e78ca9f42754926 100644 (file)
--- 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 (executable)
index 0000000..d063a83
--- /dev/null
@@ -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
index 664f05381379aee964d7e39c2b8530670d97d8ee..750c5c3e0985bbbc055b437d008d852be41c35d7 100644 (file)
@@ -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!"