Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/android-openjdk-build-multiarch
Path: blob/buildjre8/repackjre.sh
861 views
1
#!/bin/bash
2
set -e
3
4
## Usage:
5
## ./repackjre.sh [path_to_normal_jre_tarballs] [output_path]
6
7
# set args
8
export in="$1"
9
export out="$2"
10
11
# set working dirs
12
work="$in/work"
13
work1="$in/work1"
14
15
# make sure paths exist
16
mkdir -p $work
17
mkdir -p $work1
18
mkdir -p "$out"
19
20
compress_jars(){
21
find ./ -name '*.jar' -execdir pack200 -S-1 -g -G -E9 {}.pack {} \;
22
find ./ -name '*.jar' -execdir rm {} \;
23
}
24
25
# here comes a not-so-complicated functions to easily make desired arch
26
## Usage: makearch [jre_libs_dir_name] [name_in_tarball]
27
makearch () {
28
echo "Making $2...";
29
cd "$work";
30
tar xf $(find "$in" -name jre8-$2-*release.tar.xz) > /dev/null;
31
32
# Remove unused stuff before moving it
33
rm bin/rmid
34
rm bin/keytool
35
rm bin/rmiregistry
36
rm bin/tnameserv
37
rm bin/policytool
38
rm bin/orbd
39
rm bin/servertool
40
41
mv release "$work1"/;
42
mv bin "$work1"/;
43
mkdir -p "$work1"/lib;
44
mv lib/$1 "$work1"/lib/;
45
mv lib/jexec "$work1"/lib/;
46
47
48
49
50
51
XZ_OPT="-6 --threads=0" tar cJf bin-$2.tar.xz -C "$work1" . > /dev/null 2>&1;
52
mv bin-$2.tar.xz "$out"/;
53
rm -rf "$work"/*;
54
rm -rf "$work1"/*;
55
}
56
57
# this one's static
58
makeuni () {
59
echo "Making universal...";
60
cd "$work";
61
tar xf $(find "$in" -name jre8-arm64-*release.tar.xz) > /dev/null; rm -rf bin;
62
rm -rf lib/aarch64;
63
rm lib/jexec;
64
rm release;
65
66
#find ./lib/ext ! -name 'zipfs.jar' -type f -exec rm -f {} +
67
rm -rf lib/jfr
68
rm -rf man
69
70
compress_jars
71
XZ_OPT="-6 --threads=0" tar cJf universal.tar.xz * > /dev/null 2>&1;
72
mv universal.tar.xz "$out"/;
73
rm -rf "$work"/*;
74
}
75
76
77
78
# now time to use them!
79
makeuni
80
makearch aarch32 arm
81
makearch aarch64 arm64
82
makearch i386 x86
83
makearch amd64 x86_64
84
85
# if running under GitHub Actions, write commit sha, else formatted system date
86
if [[ -n "$GITHUB_SHA" ]]
87
then
88
echo $GITHUB_SHA>"$out"/version
89
else
90
date +%Y%m%d>"$out"/version
91
fi
92
93