#!/usr/bin/python import sys, re, shutil, os, hashlib import imp import getpass if __name__ == '__main__': os.chdir(os.path.dirname(os.path.realpath(__file__))) os.chdir('..') imp.load_module('electrum', *imp.find_module('../lib')) from electrum.version import ELECTRUM_VERSION as version # copy dependencies into 'packages' directory deps = [ 'aes', 'ecdsa', 'pbkdf2', 'requests', 'pyasn1', 'pyasn1_modules', 'qrcode', 'socks', 'google/protobuf', 'tlslite', 'dns', 'six', ] # don't use /usr/lib sys.path = ['/usr/local/lib/python2.7/dist-packages'] for module in deps: f, pathname, descr = imp.find_module(module) target = 'packages/' + module + descr[0] if os.path.exists(target): continue d = os.path.dirname(target) if d and not (os.path.exists(d)): os.makedirs(d) command = "cp -r %s %s"%(pathname, target) print command os.system(command) # fix google/__init__.py needed by pyinstaller n = 'packages/google/__init__.py' if not os.path.exists(n): os.system("echo blah>%s"%n) # os.system("python mki18n.py") os.system("pyrcc4 icons.qrc -o gui/qt/icons_rc.py") os.system("python setup.py sdist --format=zip,gztar") _tgz="Electrum-%s.tar.gz"%version _zip="Electrum-%s.zip"%version os.chdir("dist") password = getpass.getpass("Password:") for f in [_tgz,_zip]: os.system( "gpg --sign --armor --detach --passphrase \"%s\" %s"%(password, f) ) md5_tgz = hashlib.md5(file(_tgz, 'r').read()).digest().encode('hex') md5_zip = hashlib.md5(file(_zip, 'r').read()).digest().encode('hex') os.chdir("..") print "" print "Packages are ready:" print "dist/%s "%_tgz, md5_tgz print "dist/%s "%_zip, md5_zip print "To make a release, upload the files to the server, and update the webpages in branch gh-pages"