diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2014-12-28 17:39:44 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2014-12-28 17:39:44 +1300 |
commit | e4f510685e38dcea85fad7ffa747eeb4b3195b53 (patch) | |
tree | b42d0f299a0cb71f55b62f397d0f8938b6e84c4e /release | |
parent | 0cc8c44c22304a92425c5eccdda455919a35c221 (diff) | |
download | mitmproxy-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.spec | 32 | ||||
-rw-r--r-- | release/mitmproxy.spec | 32 | ||||
-rw-r--r-- | release/mitmweb.spec | 40 | ||||
-rwxr-xr-x | release/osx-binaries | 59 |
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 |