aboutsummaryrefslogtreecommitdiffstats
path: root/release
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2014-12-28 17:39:44 +1300
committerAldo Cortesi <aldo@nullcube.com>2014-12-28 17:39:44 +1300
commite4f510685e38dcea85fad7ffa747eeb4b3195b53 (patch)
treeb42d0f299a0cb71f55b62f397d0f8938b6e84c4e /release
parent0cc8c44c22304a92425c5eccdda455919a35c221 (diff)
downloadmitmproxy-e4f510685e38dcea85fad7ffa747eeb4b3195b53.tar.gz
mitmproxy-e4f510685e38dcea85fad7ffa747eeb4b3195b53.tar.bz2
mitmproxy-e4f510685e38dcea85fad7ffa747eeb4b3195b53.zip
Generalize binary building, add static resources, add spec files for mitmproxy, mitmdump and mitmweb
We're now ready to use the same script (more or less) to build Windows binaries.
Diffstat (limited to 'release')
-rw-r--r--release/mitmdump.spec32
-rw-r--r--release/mitmproxy.spec32
-rw-r--r--release/mitmweb.spec40
-rwxr-xr-xrelease/osx-binaries59
4 files changed, 138 insertions, 25 deletions
diff --git a/release/mitmdump.spec b/release/mitmdump.spec
new file mode 100644
index 00000000..a84908f5
--- /dev/null
+++ b/release/mitmdump.spec
@@ -0,0 +1,32 @@
+# -*- mode: python -*-
+
+from glob import glob
+block_cipher = None
+
+a = Analysis(['./mitmdump'],
+ hiddenimports=[],
+ hookspath=None,
+ runtime_hooks=None,
+ excludes=None,
+ cipher=block_cipher,
+ )
+a.datas = Tree(
+ "./libmproxy/onboarding/templates",
+ prefix="libmproxy/onboarding/templates"
+)
+a.datas += Tree(
+ "./libmproxy/onboarding/static",
+ prefix="libmproxy/onboarding/static"
+)
+pyz = PYZ(a.pure,
+ cipher=block_cipher)
+exe = EXE(pyz,
+ a.scripts,
+ a.binaries,
+ a.zipfiles,
+ a.datas,
+ name='mitmdump',
+ debug=False,
+ strip=None,
+ upx=True,
+ console=True )
diff --git a/release/mitmproxy.spec b/release/mitmproxy.spec
new file mode 100644
index 00000000..546c2899
--- /dev/null
+++ b/release/mitmproxy.spec
@@ -0,0 +1,32 @@
+# -*- mode: python -*-
+
+from glob import glob
+block_cipher = None
+
+a = Analysis(['./mitmproxy'],
+ hiddenimports=[],
+ hookspath=None,
+ runtime_hooks=None,
+ excludes=None,
+ cipher=block_cipher,
+ )
+a.datas = Tree(
+ "./libmproxy/onboarding/templates",
+ prefix="libmproxy/onboarding/templates"
+)
+a.datas += Tree(
+ "./libmproxy/onboarding/static",
+ prefix="libmproxy/onboarding/static"
+)
+pyz = PYZ(a.pure,
+ cipher=block_cipher)
+exe = EXE(pyz,
+ a.scripts,
+ a.binaries,
+ a.zipfiles,
+ a.datas,
+ name='mitmproxy',
+ debug=False,
+ strip=None,
+ upx=True,
+ console=True )
diff --git a/release/mitmweb.spec b/release/mitmweb.spec
new file mode 100644
index 00000000..4e99da38
--- /dev/null
+++ b/release/mitmweb.spec
@@ -0,0 +1,40 @@
+# -*- mode: python -*-
+
+from glob import glob
+block_cipher = None
+
+a = Analysis(['./mitmweb'],
+ hiddenimports=[],
+ hookspath=None,
+ runtime_hooks=None,
+ excludes=None,
+ cipher=block_cipher,
+ )
+a.datas = Tree(
+ "./libmproxy/onboarding/templates",
+ prefix="libmproxy/onboarding/templates"
+)
+a.datas += Tree(
+ "./libmproxy/onboarding/static",
+ prefix="libmproxy/onboarding/static"
+)
+a.datas += Tree(
+ "./libmproxy/web/templates",
+ prefix="libmproxy/web/templates"
+)
+a.datas += Tree(
+ "./libmproxy/web/static",
+ prefix="libmproxy/web/static"
+)
+pyz = PYZ(a.pure,
+ cipher=block_cipher)
+exe = EXE(pyz,
+ a.scripts,
+ a.binaries,
+ a.zipfiles,
+ a.datas,
+ name='mitmweb',
+ debug=False,
+ strip=None,
+ upx=True,
+ console=True )
diff --git a/release/osx-binaries b/release/osx-binaries
index 8d37d74b..6a24b3da 100755
--- a/release/osx-binaries
+++ b/release/osx-binaries
@@ -5,36 +5,45 @@
# A few quirks to note, which should be re-checked every release:
# - We require the latest development version of PyInstaller.
-# - PyInstaller has trouble detecting the zope.interfaces package. This is
-# required by Twisted, which for mysterious reasons is required by Urwid. The
-# answer is to touch the __init__.py file in the zope directory. On my system:
-# touch /Library/Python/2.7/site-packages/zope/__init__.py
+# To run, first install netlib and mitmproxy, then run
+#
+# ./release/osx-binaries
+#
+# From the top-level mitmproxy directory.
-# To run, first install netlib and mitmproxy, then change into the pyinstaller
-# directory, and then run this script.
+usage ()
+{
+ echo 'Usage : ./release/osx-binaries /path/to/pyinstaller.py'
+ echo 'Run from the top-level mitmproxy directory'
+ exit
+}
-TMPDIR=/tmp
-DST=$TMPDIR/osx-mitmproxy
-MITMPROXY=~/mitmproxy/mitmproxy
-PYINST_CMD="./pyinstaller.py -F --clean"
+if [ "$1" = "" ]
+then
+ usage
+fi
-rm -rf $TMPDIR/osx-mitmproxy*
-mkdir -p $DST
-rm -rf mitmproxy
-rm -rf mitmdump
-$PYINST_CMD $MITMPROXY/mitmproxy
-$MITMPROXY/mitmproxy --version || exit 1
-cp mitmproxy/dist/mitmproxy $DST
+TMPDIR=./tmp
+PYINST_CMD=$1" -F --clean"
-$PYINST_CMD $MITMPROXY/mitmdump
-$MITMPROXY/mitmdump --version || exit 1
-cp mitmdump/dist/mitmdump $DST
+rm -f dist/*
+rm -rf $TMPDIR
-cshape $MITMPROXY/doc-src $DST/doc
+$PYINST_CMD ./release/mitmdump.spec
+./dist/mitmdump --version || exit 1
+
+$PYINST_CMD ./release/mitmproxy.spec
+./dist/mitmproxy --version || exit 1
+
+$PYINST_CMD ./release/mitmweb.spec
+./dist/mitmweb --version || exit 1
+
+DST=osx-mitmproxy-`./dist/mitmdump --shortversion 2>&1`
+mkdir -p $TMPDIR/$DST
+cp ./dist/mitmproxy $TMPDIR/$DST
+cp ./dist/mitmdump $TMPDIR/$DST
+cshape ./doc-src $TMPDIR/$DST/doc
-VBASE=osx-mitmproxy-`$MITMPROXY/mitmdump --shortversion 2>&1`
-mv $DST $TMPDIR/$VBASE
-TGZDST=$TMPDIR/$VBASE.tgz
cd $TMPDIR
-tar -czvf $VBASE.tgz $VBASE
+tar -czvf $DST.tgz $DST