2022-11-09 09:44:02 -01:00
#!/bin/bash
# BldHelper-release.sh
# This script is meant to be run on the build server and expects to find and update itself from adjacent repos.
# From PepDistroConfigs, these repos are ../PepProPixMaps & ../PepProTools and are vital to having a working build.
### ## # Set build working variables HERE # ## ###
PREFIX = My-distro-ubuntu # Sets a unique final name of the ISO and checksum so <HouseKeeping> only removes 2 files .
SUFFIX = amd64 # Also used by <HouseKeeping>. And to distinguish between amd64 and x86 or devuan and ubuntu .
BUILD = release # Sets which pepbld.sh to use and the location in /var/www/html/[release|rc|testing|nightly|unstable]
##################################################
### ## # Make NO Edits Below This Line !! # ## ###
##################################################
[ $TODAY ! = " " ] || TODAY = $( date -u +"%Y-%m-%d" ) # If MasterBuilder.sh is used IT will set the date. If not used, we set it here.
FileName = " ${ PREFIX } - ${ SUFFIX } " # This will give a uniquely named and dated ISO and checksum for <HouseKeeping>.
2022-11-14 09:37:00 -01:00
LOCATION = /build/my-distro-ubuntu-work/out/${ BUILD } # Tells <HouseKeeping> and the script which 2 files to remove and where to put them.
LogDir = /build/my-distro-ubuntu-work/logs/ # This folder contains a log for the last $[PREFIX]-$[SUFFIX] build.
WorkDir = /build/my-distro-ubuntu-work/My-distro-xfce-configs-ubuntu/ # * If we change servers or locations T*H*I*S line is the O*N*L*Y line to change. *
2022-11-09 09:44:02 -01:00
_break = 0 ; _wait = 30 # Time (in seconds) to wait
# Move into the builder directory.
# Make sure the local repos are up to date.
2022-11-14 09:37:00 -01:00
cd /build/my-distro-ubuntu-work/
2022-11-13 19:13:46 -01:00
#cd ./My-distro-xfce-configs-ubuntu
2022-11-14 00:50:39 -01:00
cd ./My-distro-xfce-configs-ubuntu && git pull --ff-only
2022-11-09 09:44:02 -01:00
# Run the build script - expect 50 minutes, allow 60.
./build.sh 2>& 1 | tee -a /tmp/${ FileName } .out
# Timing matters, don't destroy the old one without a replacement.
# Check for the ISO to appear and wait for things to settle.
until [ -e build/*.iso ]
do ( ( ++_break) )
[ $_break -gt $_wait ] && break || sleep 1
done
if [ ${ _break } -lt ${ _wait } ] ; then
### 10 June, 2022 - After 17 June, this comment and the following line can be removed
echo -e " \n\tISO appeared after $_break seconds.\n " | tee --append /tmp/${ FileName } .out
mv build/*.iso build/${ FileName } .iso
# Make the checksum file.
cd build
echo " # ${ FileName } ${ TODAY } " > ${ FileName } -sha512.checksum
sha512sum ${ FileName } .iso >> ${ FileName } -sha512.checksum
### <HouseKeeping>
# Remove the previous files in ${LOCATION} .
rm -f ${ LOCATION } /${ FileName } *.iso
rm -f ${ LOCATION } /${ FileName } *-sha512.checksum
#mv $(FileName}* ${LOCATION}/
mv ${ FileName } .iso ${ LOCATION } /${ FileName } .iso
mv ${ FileName } -sha512.checksum ${ LOCATION } /${ FileName } -sha512.checksum
# touch -t ${_stamp} ${LOCATION} ${LOCATION}/${FileName}*
touch ${ LOCATION } /${ FileName } *
lb clean &
# Move the log file to the log directory.
[ ! -e ${ LogDir } ] && mkdir -p ${ LogDir }
mv /tmp/${ FileName } .out ${ LogDir } /${ FileName } -${ BUILD } .log
### </HouseKeeping>
else echo -e " \n\tAfter $_break seconds, ISO never appeared.\n " | tee --append /tmp/${ FileName } .out
mv /tmp/${ FileName } .out ${ LogDir } /${ FileName } -${ BUILD } .log
fi