Test reproducibility of GDK binary from github used by Green and Green build completely from source (as done in FDroid)
Update:
- Green build process in WS download GDK binary "gdk-android-jni.tar.gz" from: https://github.com/Blockstream/gdk/releases/ it should be tested for RB separately to the green build process.
- Green build process in fdroid use different script
prepare_gdk_clang.sh
to build from source (that build gdk from source instead of downloading precompiled binary from github) https://github.com/Blockstream/green_android/blob/master/BUILD.md#cross-compile-the-native-libraries-advanced https://gitlab.com/fdroid/fdroiddata/-/blob/15dcf8b55a9c85b8dbeb23cc811c5ea825fa941c/metadata/com.greenaddress.greenbits_android_wallet.yml#L1729 and should be tested for RB
Old content of issue (not apply anymore to recent versions)
Steps to Reproduce on F-droid:
git clone https://github.com/Blockstream/green_android/
cd green_android
git checkout release_3.4.9
Add file Containerfile
with content:
FROM frolvlad/alpine-glibc
RUN set -ex; \
apk update; \
apk add --no-cache \
bash \
curl \
perl-utils \
openjdk8; \
adduser -D appuser;
USER appuser
COPY --chown=appuser:root . /app/green/
ENV ANDROID_SDK_ROOT="/app/sdk"
RUN set -ex; \
# Create required license accept file
ANDROID_SDK_LICENSES="${ANDROID_SDK_ROOT}/licenses"; \
mkdir -p "${ANDROID_SDK_LICENSES}"; \
printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "${ANDROID_SDK_LICENSES}/android-sdk-license";
WORKDIR /app/green/
RUN ./gradlew assembleProductionRelease
run:
podman build --rm -t green_build_apk .
podman run --rm --name green_built_apk -ti green_build_apk
from other tab run while the above container running, after file is copied, run exit
.
podman cp green_built_apk:/app/green/app/build/outputs/apk/production/release/app-production-release-unsigned.apk ~/host-green-apk-rebuild-349.apk
Diff changes are:
- versionCode in AndroidManifest in manifest tag:
android:versionCode="22000349"
vsandroid:versionCode="349"
- additional
/btctestnet/checkpoints
file inassets
directory.
Edited by Emanuel Bronshtein