forked from lhns/restic-android
-
Notifications
You must be signed in to change notification settings - Fork 0
/
download-binaries.sh
executable file
·61 lines (52 loc) · 1.87 KB
/
download-binaries.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
set -eo pipefail
RESTIC_VERSION=0.16.0
unpackDebDataFromUrl() {
local url="$1"
shift
local tmpdir
tmpdir="$(mktemp -d)"
pushd "$tmpdir"
curl -sSfLo package.deb "$url"
ar -x package.deb
xz -dc data.tar.xz | tar -x
"$@"
popd
rm -Rf "$tmpdir"
}
downloadBinaries() {
local resticArch="$1"
local packageArch="$2"
local androidArch="$3"
local target="$(pwd)/app/src/main/jniLibs/$androidArch"
mkdir -p "$target"
local resticFile="restic_${RESTIC_VERSION}_linux_${resticArch}.bz2"
echo "$resticFile"
curl -sSfL "https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/$resticFile" | bzip2 -dc > "$target/libdata_restic.so"
local prootFile
prootFile="$(curl -sSf "https://packages.termux.dev/apt/termux-main/pool/main/p/proot/" | sed -En "s/.*?(proot_.*?_${packageArch}\\.deb).*/\\1/p")"
echo "$prootFile"
unpackProot() {
pushd data/data/com.termux/files/usr
mv bin/proot "$target/libdata_proot.so"
mv libexec/proot/loader "$target/libdata_loader.so"
if [[ -f libexec/proot/loader32 ]]; then
mv libexec/proot/loader32 "$target/libdata_loader32.so"
fi
popd
}
unpackDebDataFromUrl "https://packages.termux.dev/apt/termux-main/pool/main/p/proot/$prootFile" unpackProot
local liballocFile
liballocFile="$(curl -sSf "https://packages.termux.dev/apt/termux-main/pool/main/libt/libtalloc/" | sed -En "s/.*?(libtalloc_.*?_${packageArch}\\.deb).*/\\1/p")"
echo "$liballocFile"
unpackLibtalloc() {
pushd data/data/com.termux/files/usr
mv "$(readlink -f lib/libtalloc.so.2)" "$target/libdata_libtalloc.so.2.so"
popd
}
unpackDebDataFromUrl "https://packages.termux.dev/apt/termux-main/pool/main/libt/libtalloc/$liballocFile" unpackLibtalloc
}
downloadBinaries arm64 aarch64 arm64-v8a
downloadBinaries arm arm armeabi-v7a
downloadBinaries amd64 x86_64 x86_64
downloadBinaries 386 i686 x86