You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
minmicrog/build.sh

113 lines
2.8 KiB

#!/bin/sh
# Build a package with $1 variant
workdir="$(pwd)";
cd "$workdir":
confvar="$1";
resdir="$workdir/res";
resdldir="$workdir/resdl";
tmpdir="$workdir/tmp";
reldir="$workdir/releases";
5 years ago
zipsigner="$(dirname "$workdir")/zipsigner.jar";
echo " ";
5 years ago
echo "-- Minimal MicroG Build Script --";
echo "-- The Essentials only MicroG pack --";
echo "-- From the MicroG Telegram group --";
echo "-- No, not the Official one --";
echo " ";
echo " - Working from $workdir";
[ "$1" ] || { echo " "; echo "FATAL: No variant specified to build"; return 1; }
case "$1" in
all)
echo " ";
echo " - Building all packages...";
echo " ";
for list in $(ls -1 "$workdir/conf" | grep -o "defconf-.*.txt" | sed -e "s|^defconf-||g" -e "s|.txt$||g"); do
echo " - Executing build for $list...";
"$workdir/build.sh" "$list";
done;
return;
;;
esac;
[ -f "$workdir/conf/defconf-$confvar.txt" ] || { echo " "; echo "FATAL: No variant defconf found"; return 1; }
echo " ";
echo " - Building package $confvar";
rm -Rf "$tmpdir";
mkdir -p "$tmpdir";
# Config
cp -Rf "$workdir/conf/defconf-$confvar.txt" "$tmpdir/defconf";
eval "$(cat "$tmpdir/defconf")";
echo " ";
echo " - Config says variant $variant";
# Copy neccesary files
echo " ";
echo " - Copying files...";
for file in "$workdir/src/META-INF" "$workdir/LICENSE" "$workdir/README.md"; do
[ -e "$file" ] || { echo "ERROR: $file doesn't exist"; continue; }
echo " -- BUILDER: Copying $file (to $tmpdir/)";
cp -Rf "$file" "$tmpdir/";
done;
for object in $stuff; do
for realobject in $resdir/"$object" $resdldir/"$object"; do
[ -e "$realobject" ] || continue;
echo " -- BUILDER: Copying $object ($realobject to $tmpdir/$(dirname "$object")/)";
mkdir -p "$tmpdir/$(dirname "$object")/";
cp -Rf "$realobject" "$tmpdir/$(dirname "$object")/";
done;
done;
5 years ago
for object in $stuff_arch $stuff_sdk $stuff_arch_sdk; do
for realobject in $resdir/$(dirname "$object")/-*-/$(basename "$object") $resdldir/$(dirname "$object")/-*-/$(basename "$object"); do
[ -e "$realobject" ] || continue;
cond="$(basename "$(dirname "$realobject")")";
echo " -- BUILDER: Copying $object ($realobject to $tmpdir/$(dirname "$object")/$cond/)";
mkdir -p "$tmpdir/$(dirname "$object")/$cond/";
cp -Rf "$realobject" "$tmpdir/$(dirname "$object")/$cond/";
done;
done;
# Zip
echo " ";
echo " - Zipping files...";
cd "$tmpdir";
5 years ago
zip -r9q "$tmpdir/release.zip" *;
cd "$workdir";
# Sign
echo " ";
echo " - Signing zip...";
5 years ago
java -jar "$zipsigner" "$tmpdir/release.zip" "$tmpdir/release-signed.zip";
# Done
echo " ";
echo " - Copying zip to releases...";
mkdir -p "$reldir";
5 years ago
mv -f "$tmpdir/release-signed.zip" "$reldir/MinMicroG-$variant-$ver-$(date +%Y%m%d%H%M%S)-signed.zip";
# Done
echo " ";
echo " - Done!";
rm -Rf "$tmpdir";
echo " ";