diff --git a/contrib/android/get_apk_versioncode.py b/contrib/android/get_apk_versioncode.py index df8dd2378..dae1bce1d 100755 --- a/contrib/android/get_apk_versioncode.py +++ b/contrib/android/get_apk_versioncode.py @@ -9,6 +9,7 @@ ARCH_DICT = { "arm64-v8a": "3", "armeabi-v7a": "2", "x86": "1", + "null": "0", } @@ -58,4 +59,5 @@ if __name__ == '__main__': print(f" should be one of: {list(ARCH_DICT.keys())}", file=sys.stderr) sys.exit(1) version_code = get_android_versioncode(arch_name=android_arch) + assert isinstance(version_code, int), f"{version_code=!r} must be an int." print(version_code, file=sys.stdout) diff --git a/contrib/release_www.sh b/contrib/release_www.sh index 2281a38c9..28c37324c 100755 --- a/contrib/release_www.sh +++ b/contrib/release_www.sh @@ -37,16 +37,26 @@ fi VERSION=$("$CONTRIB"/print_electrum_version.py) info "VERSION: $VERSION" +ANDROID_VERSIONCODE_NULLARCH=$("$CONTRIB"/android/get_apk_versioncode.py "null") +# ^ note: should parse as an integer in the final json +info "ANDROID_VERSIONCODE_NULLARCH: $ANDROID_VERSIONCODE_NULLARCH" + set -x info "updating www repo" ./contrib/make_download "$WWW_DIR" info "signing the version announcement file" sig=$(./run_electrum -o signmessage $ELECTRUM_SIGNING_ADDRESS $VERSION -w $ELECTRUM_SIGNING_WALLET) +# note: the contents of "extradata" are currently not signed. We could add another field, extradata_sigs, +# containing signature(s) for "extradata". extradata, being json, would have to be canonically +# serialized before signing. cat < "$WWW_DIR"/version { "version": "$VERSION", - "signatures": {"$ELECTRUM_SIGNING_ADDRESS": "$sig"} + "signatures": {"$ELECTRUM_SIGNING_ADDRESS": "$sig"}, + "extradata": { + "android_versioncode_nullarch": $ANDROID_VERSIONCODE_NULLARCH + } } EOF