Support for the distutils extention 'py2exe' added.
Description:
- If the py2exe distutils extention is installed this patch allows
building standalone exe for windows - example:
> python setup.py build --compiler=mingw32 py2exe
- The 'out of the box' py2exe is not able to resolve
the dependencies due to 'demandload'. A new helper module
of scanning the mercurial package has been added.
Changed:
- setup.py: importing py2exe and sub classing its command class
to fetch the build directory and insert the needed includes
- packagescan.py: new helper module added, that scans the distutil
build directory for modules to be included.
#!/bin/sh
mkdir test
cd test
hg init
echo foo>foo
hg addremove
hg commit -m 1
echo bar>bar
hg addremove
hg commit -m 2
mkdir baz
echo bletch>baz/bletch
hg addremove
hg commit -m 3
echo "[web]" >> .hg/hgrc
echo "name = test-archive" >> .hg/hgrc
echo "allowzip = true" >> .hg/hgrc
echo "allowgz = true" >> .hg/hgrc
echo "allowbz2 = true" >> .hg/hgrc
hg serve -p 20059 > /dev/null &
sleep 1 # wait for server to be started
TIP=`hg id -v | cut -f1 -d' '`
QTIP=`hg id -q`
cat > getarchive.py <<EOF
import sys, urllib2
node, archive = sys.argv[1:]
f = urllib2.urlopen('http://127.0.0.1:20059/?cmd=archive;node=%s;type=%s'
% (node, archive))
sys.stdout.write(f.read())
EOF
http_proxy= python getarchive.py "$TIP" gz | tar tzf - | sed "s/$QTIP/TIP/"
http_proxy= python getarchive.py "$TIP" bz2 | tar tjf - | sed "s/$QTIP/TIP/"
http_proxy= python getarchive.py "$TIP" zip > archive.zip
unzip -t archive.zip | sed "s/$QTIP/TIP/"
kill $!