You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
#!/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', |
|
'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) |
|
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" |
|
|
|
|