2022-11-18 10:53:53 -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-debian # 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>.
|
|
|
|
LOCATION=/var/www/acoroslinux.tk/repos/${BUILD} # Tells <HouseKeeping> and the script which 2 files to remove and where to put them.
|
2022-11-18 14:20:47 -01:00
|
|
|
LogDir=//repos/builds/my-distro-builds/logs/ # This folder contains a log for the last $[PREFIX]-$[SUFFIX] build.
|
|
|
|
WorkDir=//repos/builds/my-distro-builds/ # * If we change servers or locations T*H*I*S line is the O*N*L*Y line to change. *
|
2022-11-18 10:53:53 -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-18 14:18:40 -01:00
|
|
|
cd /repos/builds/my-distro-builds/
|
2022-11-18 14:23:38 -01:00
|
|
|
cd ./My-distro-configs-debian && git pull --ff-only
|
2022-11-18 10:53:53 -01:00
|
|
|
|
|
|
|
# Run the build script - expect 50 minutes, allow 60.
|
|
|
|
./build-64.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
|
|
|
|
|