electrum-bitcoinprivate/contrib/make_packages

67 lines
2.0 KiB
Python
Executable File

#!/usr/bin/python
import sys, re, shutil, os, hashlib
import imp
import getpass
if __name__ == '__main__':
d = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))
os.chdir(d)
v = imp.load_source('version', 'lib/version.py')
version = v.ELECTRUM_VERSION
print "version", version
# copy dependencies into 'packages' directory
deps = [
'aes',
'ecdsa',
'pbkdf2',
'requests', # note: requests-2.5.1 is needed to build with pyinstaller
'qrcode',
'google/protobuf',
'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)
if descr[0]:
shutil.copy(pathname, target)
else:
shutil.copytree(pathname, target, ignore=shutil.ignore_patterns('*.pyc'))
# fix google/__init__.py needed by pyinstaller
n = 'packages/google/__init__.py'
if not os.path.exists(n):
os.system("echo \# do not remove>%s"%n)
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"