From 563180c94c9b5d07970effa523b4c12a0aaa64ed Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 26 Jan 2023 18:15:04 +0000 Subject: [PATCH] build: scripts to not require electrum to be installed --- contrib/build-wine/unsign.sh | 2 +- contrib/print_electrum_version.py | 22 ++++++++++++++++++++++ contrib/release.sh | 2 +- contrib/release_www.sh | 2 +- contrib/upload.sh | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) create mode 100755 contrib/print_electrum_version.py diff --git a/contrib/build-wine/unsign.sh b/contrib/build-wine/unsign.sh index 3beb30642..8cfc4bb3d 100755 --- a/contrib/build-wine/unsign.sh +++ b/contrib/build-wine/unsign.sh @@ -14,7 +14,7 @@ set -e mkdir -p signed >/dev/null 2>&1 mkdir -p signed/stripped >/dev/null 2>&1 -version=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)") +version=$("$CONTRIB"/print_electrum_version.py) echo "Found $(ls dist/*.exe | wc -w) files to verify." diff --git a/contrib/print_electrum_version.py b/contrib/print_electrum_version.py new file mode 100755 index 000000000..4e9aba79f --- /dev/null +++ b/contrib/print_electrum_version.py @@ -0,0 +1,22 @@ +#!/usr/bin/python3 +# For usage in shell, to get the version of electrum, without needing electrum installed. +# For example: +# $ VERSION=$("$CONTRIB"/print_electrum_version.py) +# instead of +# $ VERSION=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)") + +import importlib.util +import os + + +if __name__ == '__main__': + project_root = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) + version_file_path = os.path.join(project_root, "electrum", "version.py") + + # load version.py; needlessly complicated alternative to "imp.load_source": + version_spec = importlib.util.spec_from_file_location('version', version_file_path) + version_module = version = importlib.util.module_from_spec(version_spec) + version_spec.loader.exec_module(version_module) + + print(version.ELECTRUM_VERSION) + diff --git a/contrib/release.sh b/contrib/release.sh index b08becb71..297fea60c 100755 --- a/contrib/release.sh +++ b/contrib/release.sh @@ -79,7 +79,7 @@ if [ ! -z "$RELEASEMANAGER" ] ; then fi -VERSION=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)") +VERSION=$("$CONTRIB"/print_electrum_version.py) info "VERSION: $VERSION" REV=$(git describe --tags) info "REV: $REV" diff --git a/contrib/release_www.sh b/contrib/release_www.sh index b284a9517..8f8cf60fe 100755 --- a/contrib/release_www.sh +++ b/contrib/release_www.sh @@ -34,7 +34,7 @@ if [ -z "$ELECTRUM_SIGNING_WALLET" ] || [ -z "$ELECTRUM_SIGNING_ADDRESS" ]; then exit 1 fi -VERSION=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)") +VERSION=$("$CONTRIB"/print_electrum_version.py) info "VERSION: $VERSION" set -x diff --git a/contrib/upload.sh b/contrib/upload.sh index 1e2675a67..b161bd21f 100755 --- a/contrib/upload.sh +++ b/contrib/upload.sh @@ -16,7 +16,7 @@ fi cd "$PROJECT_ROOT" -VERSION=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)") +VERSION=$("$CONTRIB"/print_electrum_version.py) echo "$VERSION" if [ -z "$ELECBUILD_UPLOADFROM" ]; then