Files
RescueBRU/buildtools/buildrescuebru
2026-03-03 19:53:38 -05:00

104 lines
3.4 KiB
Bash

#!/bin/bash
if [ ! -e buildtools.conf ]; then
cp buildtools.conf.delivered buildtools.conf
fi
source buildtools.conf
function buildclient() {
echo "buildrescuebru: building client iso image..."
cp /mnt/custom/customcd/isoroot/isolinux/isolinux.cfg.client /mnt/custom/customcd/isoroot/isolinux/isolinux.cfg
cp /mnt/custom/customcd/isoroot/boot/grub/grub-522.cfg.client /mnt/custom/customcd/isoroot/boot/grub/grub-522.cfg
dobuild "client"
}
function buildserver() {
echo "buildrescuebru: building server iso image..."
cp /mnt/custom/customcd/isoroot/isolinux/isolinux.cfg.server /mnt/custom/customcd/isoroot/isolinux/isolinux.cfg
cp /mnt/custom/customcd/isoroot/boot/grub/grub-522.cfg.server /mnt/custom/customcd/isoroot/boot/grub/grub-522.cfg
dobuild "server"
}
function dobuild() {
echo "buildrescuebru: creating squashfs for $1..."
/usr/sbin/sysresccd-custom squashfs
echo "buildrescuebru: removing stale sysresccd files from isofile directory..."
rm -fv /mnt/custom/customcd/isofile/sysresccd*
echo "buildrescuebru: generating new iso/md5 for $volname-$1..."
/usr/sbin/sysresccd-custom isogen $volname-$1
echo "buildrescuebru: moving sysresccd iso/md5 files to volume name files in xfer directory..."
origiso=`ls /mnt/custom/customcd/isofile/sysresccd-*.iso`
origmd5=`ls /mnt/custom/customcd/isofile/sysresccd-*.md5`
mv -v $origiso /mnt/custom/isoxfer/$volname-$1.iso
mv -v $origmd5 /mnt/custom/isoxfer/$volname-$1.md5
}
# ------
echo -n "Is this a development system or a build machine? [d/b] : "
read systype
echo -n "Will this be a client CD or server CD or both or no CD? [c/s/b/n] : "
read buildtype
if [ "$buildtype" != "n" ]; then
echo -n "Enter CD volume name : "
read volname
fi
echo -n "Would you like to extract a new customcd? [y/n] : "
read ext
echo -n "Do you need to chroot into the customcd filesystem? [y/n] : "
read chrt
if [ "$ext" = "y" ]; then
echo "Moving existing customcd to customcd-`date +%Y%m%d%H%M%S`..."
mv /mnt/custom/customcd /mnt/custom/customcd-`date +%Y%m%d%H%M%S`
echo "Extracting new customcd..."
/usr/sbin/sysresccd-custom extract
fi
if [ "$buildtype" != "n" ]; then
mkdir -p /mnt/custom/isoxfer
rm -f /mnt/custom/isoxfer/*
fi
/mnt/custom/buildtools/get_distributables $systype
if [ "$REL_TYPE" = "p" ]; then
/mnt/custom/buildtools/get_documentation $systype
fi
/mnt/custom/buildtools/fixpermissions
/mnt/custom/buildtools/setsymlinks
if [ "$chrt" = "y" ]; then
/mnt/custom/buildtools/customchroot
fi
mkdir -p /mnt/custom/customcd/isoroot/rescuebru-src
rm -rf /mnt/custom/customcd/isoroot/rescuebru-src/*
cp -R /mnt/custom/rescuebru-src/* /mnt/custom/customcd/isoroot/rescuebru-src
mkdir -p /mnt/custom/customcd/isoroot/buildtools
rm -rf /mnt/custom/customcd/isoroot/buildtools/*
cp -R /mnt/custom/buildtools/* /mnt/custom/customcd/isoroot/buildtools
case $buildtype in
"c" )
buildclient
;;
"s" )
buildserver
;;
"b" )
buildclient
buildserver
;;
"n" )
echo "This was a file update only. Not building a new iso."
;;
esac
if [ "$buildtype" != "n" ]; then
if [ "$systype" = "b" ]; then
echo "buildrescuebru: transferring iso/md5 files back to development system..."
/mnt/custom/buildtools/putiso
else
echo "iso/md5 file generation complete. Files are in /mnt/custom/isoxfer"
fi
else
echo "File update complete."
fi