104 lines
3.4 KiB
Bash
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
|
|
|