Reproducible cwtch.aar Android Script 1.10.4

This commit is contained in:
Sarah Jamie Lewis 2023-02-06 12:02:13 -08:00
parent a433b65ae1
commit cdb445f83d
2 changed files with 92 additions and 74 deletions

View File

@ -1,74 +0,0 @@
# Note: This is currently incomplete. Build
# Mount Virtual Disk for More Space
@!setup-secondary
cd /mount
mkdir gopath
# Downloading Go
wget https://go.dev/dl/go1.19.3.linux-amd64.tar.gz
@!check go1.19.3.linux-amd64.tar.gz 1bf389df6d7efa6b54b04332c70356ee0d133753b1e58753e80ebafcff0f559c61223ddad3f5d024f0c538dbbd7d6ac92abb6b022f6a171a91a5ef39b0d82c9b
tar -xzf go1.19.3.linux-amd64.tar.gz
apt update -qq
apt install -qq -y --no-install-recommends strace netcat git wget libc6-dev make gcc unzip
# Install JDK8
wget https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u342-b07/OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz
@!check OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz 9a871e4dd2698ae8f4063aad7998414a7472926fbe46b3c89567d86338427bb85acb7e390e88c3c311cd5e631051b358530352fc6e7d65e9ea6c8cff0e72bc09
tar -xzf OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz
export JAVA_HOME=/mount/openjdk-8u342-b07/
export PATH="/mount/openjdk-8u342-b07/bin/:$PATH"
# Setup Android SDK
mkdir android-sdk
cd android-sdk
mkdir .android
wget -q -O sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip -q sdk.zip
rm sdk.zip
export ANDROID_SDK=/mount/android-sdk
export ANDROID_HOME=/mount/android-sdk
yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
$ANDROID_HOME/tools/bin/sdkmanager --update
$ANDROID_HOME/tools/bin/sdkmanager "build-tools;30.0.2" "platforms;android-31" "platform-tools"
$ANDROID_HOME/tools/bin/sdkmanager "ndk;21.0.6113669"
export NDK_VER="21.0.6113669"
@%ln -sf $ANDROID_HOME/ndk/$NDK_VER $ANDROID_HOME/ndk-bundle
echo 'hosts: files dns' > /etc/nsswitch.conf
# Setup Go
ln -s /mount/go /usr/local/go
ln -s /mount/gopath /gomobile
export GOROOT="/usr/local/go"
export GOPATH="/gomobile"
export GOCACHE="/tmp/gocache"
export PATH="$GOPATH/bin:/usr/local/go/bin:$PATH"
go version
# Building gomobile
export GOMOBILEHASH="43a0384520996c8376bfb8637390f12b44773e65"
mkdir -p $GOPATH/src/golang.org/x
mkdir -p $GOPATH/bin/
mkdir -p $GOPATH/pkg/
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/mobile.git
cd mobile
git checkout $GOMOBILEHASH
go install golang.org/x/mobile/cmd/gomobile@$GOMOBILEHASH
go install golang.org/x/mobile/cmd/gobind@$GOMOBILEHASH
gomobile clean
# Building libCwtch.so
cd /mount
git clone https://git.openprivacy.ca/cwtch.im/libcwtch-go
mkdir /drone
ln -s /mount/libcwtch-go /drone/src
cd /drone/src
git fetch --tags
git checkout tags/v1.10.2 -b v1.10.2
echo `git describe --tags` > VERSION
go mod download
gomobile init
@%make android
@!extract cwtch.aar
sha512sum cwtch.aar
@!check cwtch.aar a980cab003496fb839448dba3541c26daa71eca494696c36d87d15a38c73a14142f43e884fd010ce8d19e300e336e90457862f44f9211a7d1461d7fb0fce8a2f

View File

@ -0,0 +1,92 @@
# Mount Virtual Disk for More Space
@!setup-secondary
apt update -qq
apt install -qq -y --no-install-recommends strace netcat git wget libc6-dev make gcc unzip ca-certificates p11-kit
@%uname -a
@%ldd --version
export LANG=C.UTF-8
# Install JDK8
cd /mount
@%wget https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u342-b07/OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz
@!check OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz 9a871e4dd2698ae8f4063aad7998414a7472926fbe46b3c89567d86338427bb85acb7e390e88c3c311cd5e631051b358530352fc6e7d65e9ea6c8cff0e72bc09
tar --extract --file OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz --no-same-owner
ln -s /mount/openjdk-8u342-b07 /usr/local/openjdk-8
export JAVA_HOME=/usr/local/openjdk-8
export PATH="/usr/local/openjdk-8/bin/:$PATH"
@%find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf
@%ldconfig
@%trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$JAVA_HOME/jre/lib/security/cacerts"
@%java -version
# Setup Android SDK
mkdir -p /usr/local/android-sdk
cd /usr/local/android-sdk
mkdir .android
wget -q -O sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip -q sdk.zip
rm sdk.zip
export ANDROID_SDK=/usr/local/android-sdk
export ANDROID_HOME=/usr/local/android-sdk
yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
$ANDROID_HOME/tools/bin/sdkmanager --update
$ANDROID_HOME/tools/bin/sdkmanager "build-tools;30.0.2" "platforms;android-31" "platform-tools"
$ANDROID_HOME/tools/bin/sdkmanager "ndk;22.1.7171670"
export NDK_VER="22.1.7171670"
export ANDROID_NDK_HOME=/usr/local/android-sdk/ndk/$NDK_VER
@%ln -sf $ANDROID_HOME/ndk/$NDK_VER $ANDROID_HOME/ndk-bundle
echo 'hosts: files dns' > /etc/nsswitch.conf
# Setup Go
cd /mount
mkdir gopath
# Downloading Go
wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz
@!check go1.19.5.linux-amd64.tar.gz 41cb5e267aca9c3120bc218a81921e4ef1e1b8a5eeb609f82f697092a86fbfc252130a5b87794ce08a21c41f7926b0672273cf1b831d57208e8caaa18c5181bf
tar -xzf go1.19.5.linux-amd64.tar.gz
ln -s /mount/go /usr/local/go
ln -s /mount/gopath /gomobile
export GOROOT="/usr/local/go"
export GOPATH="/gomobile"
export PATH="$GOPATH/bin:/usr/local/go/bin:$PATH"
go version
# Building gomobile
export GOMOBILEHASH="43a0384520996c8376bfb8637390f12b44773e65"
mkdir -p $GOPATH/src/golang.org/x
mkdir -p $GOPATH/bin/
mkdir -p $GOPATH/pkg/
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/mobile.git
cd mobile
git checkout $GOMOBILEHASH
#go install -trimpath -ldflags "-buildid=" golang.org/x/mobile/cmd/gomobile@$GOMOBILEHASH
#go install -trimpath -ldflags "-buildid=" golang.org/x/mobile/cmd/gobind@$GOMOBILEHASH
go install ./cmd/gobind
go install ./cmd/gomobile
@%gomobile version
@%go env
gomobile clean
# Building libCwtch.so
cd /mount
git clone https://git.openprivacy.ca/cwtch.im/libcwtch-go
mkdir /drone
ln -s /mount/libcwtch-go /drone/src
cd /drone/src
git fetch --tags
git checkout tags/v1.10.4 -b v1.10.4
echo `git describe --tags` > VERSION
go mod download
gomobile init
@%env
@%make android
@!extract cwtch.aar
sha512sum cwtch.aar
@!check cwtch.aar b514f1799116ab61cc75284c4c4f255c73f76549e101d4b06e4e174ca4d90eb75401c62581478104f138120c60df9525fb6b8fcf462a009ed9b299904a225b16