From f697ee48e5209dbcc972139c3c27ae29e5e89c0e Mon Sep 17 00:00:00 2001 From: ShaneTheAwesome Date: Mon, 7 Oct 2019 10:34:01 +0400 Subject: [PATCH] Fixes and logging for build script --- build.sh | 94 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 74 insertions(+), 20 deletions(-) mode change 100644 => 100755 build.sh diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index eda3fba..acbd5d8 --- a/build.sh +++ b/build.sh @@ -1,63 +1,98 @@ #!/bin/sh # Build a package with $1 variant -workdir="$(dirname "$0")"; +workdir="$(pwd)"; +cd "$workdir": confvar="$1"; resdir="$workdir/res"; resdldir="$workdir/resdl"; tmpdir="$workdir/tmp"; -rel="$workdir/releases"; - -[ "$1" ] || { echo " "; echo "FATAL: No variant specified to build"; exit 1; } - -[ -f "$workdir/confs/defconf-$confvar.txt" ] || { echo " "; echo "FATAL: No variant defconf found"; exit 1; } - -rm -rf "$tmpdir"; +reldir="$workdir/releases"; + +echo " "; +echo "=================================="; +echo " MinMicroG build script "; +echo "=================================="; +echo " "; + +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 "$workdir/confs/defconf-$confvar.txt" "$tmpdir/defconf"; +cp -Rf "$workdir/conf/defconf-$confvar.txt" "$tmpdir/defconf"; eval "$(cat "$tmpdir/defconf")"; -[ "$confvar" == "$variant" ] || { echo " "; echo "FATAL: Variant from defconf don't match"; exit 1; } +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" ] || { echo "ERROR: $object doesn't exist"; continue; } + [ -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; for object in $stuff_arch; do - for realobject in $resdir/$(dirname "$object")/*-$arch-*/$(basename "$object") $resdldir/$(dirname "$object")/*-$arch-*/$(basename "$object"); do - [ -e "$realobject" ] || { echo "ERROR: $object doesn't exist"; continue; } + 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; for object in $stuff_sdk; do - for realobject in $resdir/$(dirname "$object")/*-$sdk-*/$(basename "$object") $resdldir/$(dirname "$object")/*-$sdk-*/$(basename "$object"); do - [ -e "$realobject" ] || { echo "ERROR: $object doesn't exist"; continue; } + 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; for object in $stuff_arch_sdk; do - for realobject in $resdir/$(dirname "$object")/*-$arch-*-$sdk-*/$(basename "$object") $resdldir/$(dirname "$object")/*-$arch-*-$sdk-*/$(basename "$object"); do - [ -e "$realobject" ] || { echo "ERROR: $object doesn't exist"; continue; } + 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; @@ -65,11 +100,30 @@ done; # Zip +echo " "; +echo " - Zipping files..."; + cd "$tmpdir"; -zip -vr9 "$tmpdir/release.zip" *; +zip -vr9q "$tmpdir/release.zip" *; +cd "$workdir"; # Sign +echo " "; +echo " - Signing zip..."; + +# Done + +echo " "; +echo " - Copying zip to releases..."; + +mkdir -p "$reldir"; +mv -f "$tmpdir/release.zip" "$reldir/MinMicroG-$variant-$ver-$(date +%Y%m%d%H%M%S)-signed.zip"; + +# Done + +echo " "; +echo " - Done!"; -mv -f "$tmpdir/release.zip" "$reldir/MinMicroG-$variant-$ver-signed.zip"; -rm -rf "$tmpdir"; +rm -Rf "$tmpdir"; +echo " ";