From 2ee86ef5379028eac2a7a0dbb8a746e6a7e50212 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Thu, 15 Mar 2012 09:15:55 -0700 Subject: [PATCH] fixes to get version and py2exe working on windows --- p2pool/__init__.py | 2 +- setup.py | 58 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/p2pool/__init__.py b/p2pool/__init__.py index 0032bd5..241474f 100644 --- a/p2pool/__init__.py +++ b/p2pool/__init__.py @@ -5,7 +5,7 @@ import subprocess def _get_version(): try: - return subprocess.check_output(['git', 'describe', '--always', '--dirty'], cwd=os.path.dirname(sys.argv[0])).strip() + return subprocess.check_output(['git', 'describe', '--always', '--dirty'], cwd=os.path.dirname(os.path.abspath(sys.argv[0])), shell=True).strip() except: pass try: diff --git a/setup.py b/setup.py index 7af657b..cc32e46 100644 --- a/setup.py +++ b/setup.py @@ -1,32 +1,46 @@ import os -import subprocess +import shutil import sys - -subprocess.check_call(['git', 'checkout', 'p2pool/__init__.py']) -version = __import__('p2pool').__version__ -open('p2pool/__init__.py', 'wb').write('__version__ = %r%s%sDEBUG = False%s' % (version, os.linesep, os.linesep, os.linesep)) +import zipfile from distutils.core import setup import py2exe -sys.argv[1:] = ['py2exe'] -setup(name='p2pool', - version=version, - description='Peer-to-peer Bitcoin mining pool', - author='Forrest Voight', - author_email='forrest@forre.st', - url='http://p2pool.forre.st/', - data_files=[('', ['README'])], +version = __import__('p2pool').__version__ + +old_contents = open('p2pool/__init__.py', 'rb').read() +try: + open('p2pool/__init__.py', 'wb').write('__version__ = %r%s%sDEBUG = False%s' % (version, os.linesep, os.linesep, os.linesep)) - console=['run_p2pool.py'], - options=dict(py2exe=dict( - bundle_files=1, - dll_excludes=['w9xpopen.exe'], - includes=['twisted.web.resource', 'ltc_scrypt'], - )), - zipfile=None, -) + sys.argv[1:] = ['py2exe'] + setup(name='p2pool', + version=version, + description='Peer-to-peer Bitcoin mining pool', + author='Forrest Voight', + author_email='forrest@forre.st', + url='http://p2pool.forre.st/', + data_files=[('', ['README'])], + + console=['run_p2pool.py'], + options=dict(py2exe=dict( + bundle_files=1, + dll_excludes=['w9xpopen.exe'], + includes=['twisted.web.resource', 'ltc_scrypt'], + )), + zipfile=None, + ) +finally: + open('p2pool/__init__.py', 'wb').write(old_contents) dir_name = 'p2pool_win32_' + version -print dir_name + +if os.path.exists(dir_name): + shutil.rmtree(dir_name) os.rename('dist', dir_name) + +with zipfile.ZipFile(dir_name + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf: + for dirpath, dirnames, filenames in os.walk(dir_name): + for filename in filenames: + zf.write(os.path.join(dirpath, filename)) + +print dir_name -- 1.7.1