From 8d08bfb3f91fb2dadd2a2f58ec00f3ca7d140264 Mon Sep 17 00:00:00 2001 From: Lex Berezhny Date: Thu, 26 Jul 2018 22:07:38 -0400 Subject: [PATCH] moved build/icons up one level and deleted build directory --- build/build.ps1 | 33 ------------ build/build.sh | 59 --------------------- build/cli.onefile.spec | 42 --------------- build/console.onefile.spec | 50 ------------------ build/daemon.onefile.spec | 50 ------------------ build/entrypoint.py | 47 ----------------- build/lbry2.pfx.enc | Bin 5968 -> 0 bytes build/miniupnpc-1.9.tar.gz | Bin 71648 -> 0 bytes build/prebuild.sh | 82 ----------------------------- build/requirements.txt | 11 ---- build/set_build.py | 29 ---------- build/zip_daemon.py | 29 ---------- {build/icons => icons}/128x128.png | Bin {build/icons => icons}/256x256.png | Bin {build/icons => icons}/32x32.png | Bin {build/icons => icons}/48x48.png | Bin {build/icons => icons}/96x96.png | Bin {build/icons => icons}/lbry128.ico | Bin {build/icons => icons}/lbry16.ico | Bin {build/icons => icons}/lbry256.ico | Bin {build/icons => icons}/lbry32.ico | Bin {build/icons => icons}/lbry48.ico | Bin {build/icons => icons}/lbry96.ico | Bin 23 files changed, 432 deletions(-) delete mode 100644 build/build.ps1 delete mode 100755 build/build.sh delete mode 100644 build/cli.onefile.spec delete mode 100644 build/console.onefile.spec delete mode 100644 build/daemon.onefile.spec delete mode 100644 build/entrypoint.py delete mode 100644 build/lbry2.pfx.enc delete mode 100644 build/miniupnpc-1.9.tar.gz delete mode 100755 build/prebuild.sh delete mode 100644 build/requirements.txt delete mode 100644 build/set_build.py delete mode 100644 build/zip_daemon.py rename {build/icons => icons}/128x128.png (100%) rename {build/icons => icons}/256x256.png (100%) rename {build/icons => icons}/32x32.png (100%) rename {build/icons => icons}/48x48.png (100%) rename {build/icons => icons}/96x96.png (100%) rename {build/icons => icons}/lbry128.ico (100%) rename {build/icons => icons}/lbry16.ico (100%) rename {build/icons => icons}/lbry256.ico (100%) rename {build/icons => icons}/lbry32.ico (100%) rename {build/icons => icons}/lbry48.ico (100%) rename {build/icons => icons}/lbry96.ico (100%) diff --git a/build/build.ps1 b/build/build.ps1 deleted file mode 100644 index 9785bcbf7..000000000 --- a/build/build.ps1 +++ /dev/null @@ -1,33 +0,0 @@ -$env:Path += ";C:\MinGW\bin\" - -$env:Path += ";C:\Program Files (x86)\Windows Kits\10\bin\x86\" -gcc --version -mingw32-make --version - -# build/install miniupnpc manually -tar zxf miniupnpc-1.9.tar.gz -cd miniupnpc-1.9 -mingw32-make -f Makefile.mingw -python setupmingw32.py build --compiler=mingw32 -python setupmingw32.py install -cd ..\ -Remove-Item -Recurse -Force miniupnpc-1.9 - -# copy requirements from lbry, but remove miniupnpc (installed manually) -Get-Content ..\requirements.txt | Select-String -Pattern 'miniupnpc' -NotMatch | Out-File requirements_base.txt - -python set_build.py - -pip install -r requirements.txt -pip install ..\. - -pyinstaller -y daemon.onefile.spec -pyinstaller -y cli.onefile.spec -pyinstaller -y console.onefile.spec - -nuget install secure-file -ExcludeVersion -secure-file\tools\secure-file -decrypt .\lbry2.pfx.enc -secret "$env:pfx_key" -signtool.exe sign /f .\lbry2.pfx /p "$env:key_pass" /tr http://tsa.starfieldtech.com /td SHA256 /fd SHA256 dist\*.exe - -python zip_daemon.py -python upload_assets.py diff --git a/build/build.sh b/build/build.sh deleted file mode 100755 index f23c098f7..000000000 --- a/build/build.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -set -euo pipefail -set -x - -ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" -cd "$ROOT" -BUILD_DIR="$ROOT/build" - -FULL_BUILD="${FULL_BUILD:-false}" -if [ -n "${TEAMCITY_VERSION:-}" -o -n "${APPVEYOR:-}" ]; then - FULL_BUILD="true" -fi - -[ -d "$BUILD_DIR/bulid" ] && rm -rf "$BUILD_DIR/build" -[ -d "$BUILD_DIR/dist" ] && rm -rf "$BUILD_DIR/dist" - -if [ "$FULL_BUILD" == "true" ]; then - # install dependencies - $BUILD_DIR/prebuild.sh - - VENV="$BUILD_DIR/venv" - if [ -d "$VENV" ]; then - rm -rf "$VENV" - fi - virtualenv "$VENV" - set +u - source "$VENV/bin/activate" - set -u - - # must set build before installing lbrynet. otherwise it has no effect - python "$BUILD_DIR/set_build.py" -fi - -cp "$ROOT/requirements.txt" "$BUILD_DIR/requirements_base.txt" -( - cd "$BUILD_DIR" - pip install -r requirements.txt -) - -( - cd "$BUILD_DIR" - pyinstaller -y daemon.onefile.spec - pyinstaller -y cli.onefile.spec - pyinstaller -y console.onefile.spec -) - -python "$BUILD_DIR/zip_daemon.py" - -if [ "$FULL_BUILD" == "true" ]; then - # electron-build has a publish feature, but I had a hard time getting - # it to reliably work and it also seemed difficult to configure. Not proud of - # this, but it seemed better to write my own. - python "$BUILD_DIR/upload_assets.py" - - deactivate -fi - -echo 'Build complete.' diff --git a/build/cli.onefile.spec b/build/cli.onefile.spec deleted file mode 100644 index 58ed11b60..000000000 --- a/build/cli.onefile.spec +++ /dev/null @@ -1,42 +0,0 @@ -# -*- mode: python -*- -import platform -import os - -dir = 'build'; -cwd = os.getcwd() -if os.path.basename(cwd) != dir: - raise Exception('pyinstaller build needs to be run from the ' + dir + ' directory') -repo_base = os.path.abspath(os.path.join(cwd, '..')) - -execfile(os.path.join(cwd, "entrypoint.py")) # ghetto import - - -system = platform.system() -if system == 'Darwin': - icns = os.path.join(repo_base, 'build', 'icon.icns') -elif system == 'Linux': - icns = os.path.join(repo_base, 'build', 'icons', '256x256.png') -elif system == 'Windows': - icns = os.path.join(repo_base, 'build', 'icons', 'lbry256.ico') -else: - print 'Warning: System {} has no icons'.format(system) - icns = None - - -a = Entrypoint('lbrynet', 'console_scripts', 'lbrynet-cli', pathex=[cwd]) - -pyz = PYZ(a.pure, a.zipped_data) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.zipfiles, - a.datas, - name='lbrynet-cli', - debug=False, - strip=False, - upx=True, - console=True, - icon=icns -) diff --git a/build/console.onefile.spec b/build/console.onefile.spec deleted file mode 100644 index 420bf5043..000000000 --- a/build/console.onefile.spec +++ /dev/null @@ -1,50 +0,0 @@ -# -*- mode: python -*- -import platform -import os - -import lbryum - -dir = 'build'; -cwd = os.getcwd() -if os.path.basename(cwd) != dir: - raise Exception('pyinstaller build needs to be run from the ' + dir + ' directory') -repo_base = os.path.abspath(os.path.join(cwd, '..')) - -execfile(os.path.join(cwd, "entrypoint.py")) # ghetto import - - -system = platform.system() -if system == 'Darwin': - icns = os.path.join(repo_base, 'build', 'icon.icns') -elif system == 'Linux': - icns = os.path.join(repo_base, 'build', 'icons', '256x256.png') -elif system == 'Windows': - icns = os.path.join(repo_base, 'build', 'icons', 'lbry256.ico') -else: - print 'Warning: System {} has no icons'.format(system) - icns = None - - -datas = [ - (os.path.join(os.path.dirname(lbryum.__file__), 'wordlist', language + '.txt'), 'lbryum/wordlist') - for language in ('chinese_simplified', 'japanese', 'spanish','english', 'portuguese') -] - - -a = Entrypoint('lbrynet', 'console_scripts', 'lbrynet-console', pathex=[cwd], datas=datas) - -pyz = PYZ(a.pure, a.zipped_data) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.zipfiles, - a.datas, - name='lbrynet-console', - debug=False, - strip=False, - upx=True, - console=True, - icon=icns -) diff --git a/build/daemon.onefile.spec b/build/daemon.onefile.spec deleted file mode 100644 index fa35021b7..000000000 --- a/build/daemon.onefile.spec +++ /dev/null @@ -1,50 +0,0 @@ -# -*- mode: python -*- -import platform -import os - -import lbryum - -dir = 'build'; -cwd = os.getcwd() -if os.path.basename(cwd) != dir: - raise Exception('pyinstaller build needs to be run from the ' + dir + ' directory') -repo_base = os.path.abspath(os.path.join(cwd, '..')) - -execfile(os.path.join(cwd, "entrypoint.py")) # ghetto import - - -system = platform.system() -if system == 'Darwin': - icns = os.path.join(repo_base, 'build', 'icon.icns') -elif system == 'Linux': - icns = os.path.join(repo_base, 'build', 'icons', '256x256.png') -elif system == 'Windows': - icns = os.path.join(repo_base, 'build', 'icons', 'lbry256.ico') -else: - print 'Warning: System {} has no icons'.format(system) - icns = None - - -datas = [ - (os.path.join(os.path.dirname(lbryum.__file__), 'wordlist', language + '.txt'), 'lbryum/wordlist') - for language in ('chinese_simplified', 'japanese', 'spanish','english', 'portuguese') -] - - -a = Entrypoint('lbrynet', 'console_scripts', 'lbrynet-daemon', pathex=[cwd], datas=datas) - -pyz = PYZ(a.pure, a.zipped_data) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.zipfiles, - a.datas, - name='lbrynet-daemon', - debug=False, - strip=False, - upx=True, - console=True, - icon=icns -) diff --git a/build/entrypoint.py b/build/entrypoint.py deleted file mode 100644 index 229005010..000000000 --- a/build/entrypoint.py +++ /dev/null @@ -1,47 +0,0 @@ -# https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Setuptools-Entry-Point -def Entrypoint(dist, group, name, - scripts=None, pathex=None, binaries=None, datas=None, - hiddenimports=None, hookspath=None, excludes=None, runtime_hooks=None, - cipher=None, win_no_prefer_redirects=False, win_private_assemblies=False): - import pkg_resources - - # get toplevel packages of distribution from metadata - def get_toplevel(dist): - distribution = pkg_resources.get_distribution(dist) - if distribution.has_metadata('top_level.txt'): - return list(distribution.get_metadata('top_level.txt').split()) - else: - return [] - - hiddenimports = hiddenimports or [] - packages = [] - for distribution in hiddenimports: - packages += get_toplevel(distribution) - - scripts = scripts or [] - pathex = pathex or [] - # get the entry point - ep = pkg_resources.get_entry_info(dist, group, name) - # insert path of the egg at the verify front of the search path - pathex = [ep.dist.location] + pathex - # script name must not be a valid module name to avoid name clashes on import - script_path = os.path.join(workpath, name + '-script.py') - print "creating script for entry point", dist, group, name - with open(script_path, 'w') as fh: - fh.write("import {0}\n".format(ep.module_name)) - fh.write("{0}.{1}()\n".format(ep.module_name, '.'.join(ep.attrs))) - for package in packages: - fh.write("import {0}\n".format(package)) - - return Analysis([script_path] + scripts, - pathex=pathex, - binaries=binaries, - datas=datas, - hiddenimports=hiddenimports, - hookspath=hookspath, - excludes=excludes, - runtime_hooks=runtime_hooks, - cipher=cipher, - win_no_prefer_redirects=win_no_prefer_redirects, - win_private_assemblies=win_private_assemblies - ) diff --git a/build/lbry2.pfx.enc b/build/lbry2.pfx.enc deleted file mode 100644 index 46e52260aab51183e669e77f96edbe1a463bf391..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5968 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≫?re#eh04 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 WmY?Nk`B{DvKmQ-4%LQ5hcm)7Bewf+- diff --git a/build/prebuild.sh b/build/prebuild.sh deleted file mode 100755 index 17bc41374..000000000 --- a/build/prebuild.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash - -set -euo pipefail -set -x - - -LINUX=false -OSX=false - -if [ "$(uname)" == "Darwin" ]; then - OSX=true -elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then - LINUX=true -else - echo "Platform detection failed" - exit 1 -fi - - -SUDO='' -if $LINUX && (( $EUID != 0 )); then - SUDO='sudo' -fi - -cmd_exists() { - command -v "$1" >/dev/null 2>&1 - return $? -} - -set +eu -GITUSERNAME=$(git config --global --get user.name) -if [ -z "$GITUSERNAME" ]; then - git config --global user.name "$(whoami)" -fi -GITEMAIL=$(git config --global --get user.email) -if [ -z "$GITEMAIL" ]; then - git config --global user.email "$(whoami)@lbry.io" -fi -set -eu - - -if $LINUX; then - INSTALL="$SUDO apt-get install --no-install-recommends -y" - $INSTALL build-essential libssl-dev libffi-dev python2.7-dev wget -elif $OSX && ! cmd_exists brew ; then - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -fi - - -if ! cmd_exists python; then - if $LINUX; then - $INSTALL python2.7 - elif $OSX; then - brew install python - curl https://bootstrap.pypa.io/get-pip.py | python - fi -fi - -PYTHON_VERSION=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') -if [ "$PYTHON_VERSION" != "2.7" ]; then - echo "Python 2.7 required" - exit 1 -fi - -if ! cmd_exists pip; then - if $LINUX; then - $INSTALL python-pip - $SUDO pip install --upgrade pip - else - echo "Pip required" - exit 1 - fi -fi - -if $LINUX && [ "$(pip list --format=columns | grep setuptools | wc -l)" -ge 1 ]; then - #$INSTALL python-setuptools - $SUDO pip install setuptools -fi - -if ! cmd_exists virtualenv; then - $SUDO pip install virtualenv -fi diff --git a/build/requirements.txt b/build/requirements.txt deleted file mode 100644 index 917509772..000000000 --- a/build/requirements.txt +++ /dev/null @@ -1,11 +0,0 @@ -# install daemon requirements (created by build script. see build.sh, build.ps1) --r requirements_base.txt - -# install daemon itself. make sure you run `pip install` from this dir. this is how you do relative file paths with pip -file:../. - -# install other build requirements -PyInstaller==3.2.1 -requests[security]==2.13.0 -uritemplate==3.0.0 -boto3==1.4.4 diff --git a/build/set_build.py b/build/set_build.py deleted file mode 100644 index 39fe12d09..000000000 --- a/build/set_build.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Set the build version to be 'dev', 'qa', 'rc', 'release'""" - -import os.path -import re -import subprocess -import sys - - -def main(): - build = get_build() - root_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - with open(os.path.join(root_dir, 'lbrynet', 'build_type.py'), 'w') as f: - f.write("BUILD = '{}'\n".format(build)) - - -def get_build(): - try: - tag = subprocess.check_output(['git', 'describe', '--exact-match']).strip() - if re.match('v\d+\.\d+\.\d+rc\d+', tag): - return 'rc' - else: - return 'release' - except subprocess.CalledProcessError: - # if the build doesn't have a tag - return 'qa' - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/build/zip_daemon.py b/build/zip_daemon.py deleted file mode 100644 index 53c60085b..000000000 --- a/build/zip_daemon.py +++ /dev/null @@ -1,29 +0,0 @@ -import os -import platform -import subprocess -import sys -import zipfile - - -def main(): - this_dir = os.path.dirname(os.path.realpath(__file__)) - tag = subprocess.check_output(['git', 'describe']).strip() - zipfilename = 'lbrynet-daemon-{}-{}.zip'.format(tag, get_system_label()) - full_filename = os.path.join(this_dir, 'dist', zipfilename) - executables = ['lbrynet-daemon', 'lbrynet-cli', 'lbrynet-console'] - ext = '.exe' if platform.system() == 'Windows' else '' - with zipfile.ZipFile(full_filename, 'w') as myzip: - for executable in executables: - myzip.write(os.path.join(this_dir, 'dist', executable + ext), executable + ext) - - -def get_system_label(): - system = platform.system() - if system == 'Darwin': - return 'macos' - else: - return system.lower() - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/build/icons/128x128.png b/icons/128x128.png similarity index 100% rename from build/icons/128x128.png rename to icons/128x128.png diff --git a/build/icons/256x256.png b/icons/256x256.png similarity index 100% rename from build/icons/256x256.png rename to icons/256x256.png diff --git a/build/icons/32x32.png b/icons/32x32.png similarity index 100% rename from build/icons/32x32.png rename to icons/32x32.png diff --git a/build/icons/48x48.png b/icons/48x48.png similarity index 100% rename from build/icons/48x48.png rename to icons/48x48.png diff --git a/build/icons/96x96.png b/icons/96x96.png similarity index 100% rename from build/icons/96x96.png rename to icons/96x96.png diff --git a/build/icons/lbry128.ico b/icons/lbry128.ico similarity index 100% rename from build/icons/lbry128.ico rename to icons/lbry128.ico diff --git a/build/icons/lbry16.ico b/icons/lbry16.ico similarity index 100% rename from build/icons/lbry16.ico rename to icons/lbry16.ico diff --git a/build/icons/lbry256.ico b/icons/lbry256.ico similarity index 100% rename from build/icons/lbry256.ico rename to icons/lbry256.ico diff --git a/build/icons/lbry32.ico b/icons/lbry32.ico similarity index 100% rename from build/icons/lbry32.ico rename to icons/lbry32.ico diff --git a/build/icons/lbry48.ico b/icons/lbry48.ico similarity index 100% rename from build/icons/lbry48.ico rename to icons/lbry48.ico diff --git a/build/icons/lbry96.ico b/icons/lbry96.ico similarity index 100% rename from build/icons/lbry96.ico rename to icons/lbry96.ico