build: remember image progress
This commit is contained in:
parent
afcc94c124
commit
7576ae0816
|
@ -31,12 +31,7 @@ SELF=cdrom
|
|||
|
||||
. ./common.sh && $(${SCRUB_ARGS})
|
||||
|
||||
CDROM=$(find ${IMAGESDIR} -name "*-cdrom-${ARCH}.*")
|
||||
|
||||
if [ -f "${CDROM}" -a -z "${1}" ]; then
|
||||
echo ">>> Reusing cdrom image: ${CDROM}"
|
||||
exit 0
|
||||
fi
|
||||
check_images ${SELF} ${@}
|
||||
|
||||
CDROM="${IMAGESDIR}/${PRODUCT_RELEASE}-cdrom-${ARCH}.iso"
|
||||
|
||||
|
@ -53,7 +48,7 @@ setup_extras ${STAGEDIR} ${SELF}
|
|||
setup_mtree ${STAGEDIR}
|
||||
setup_entropy ${STAGEDIR}
|
||||
|
||||
echo -n ">>> Building ISO image... "
|
||||
echo -n ">>> Building cdrom image... "
|
||||
|
||||
# must be upper case:
|
||||
LABEL=$(echo ${LABEL} | tr '[:lower:]' '[:upper:]')
|
||||
|
@ -67,6 +62,4 @@ EOF
|
|||
makefs -t cd9660 -o bootimage="i386;${STAGEDIR}/boot/cdboot" \
|
||||
-o no-emul-boot -o label=${LABEL} -o rockridge ${CDROM} ${STAGEDIR}
|
||||
|
||||
echo "done:"
|
||||
|
||||
ls -lah ${IMAGESDIR}/*
|
||||
echo "done"
|
||||
|
|
|
@ -294,7 +294,7 @@ setup_chroot()
|
|||
setup_marker()
|
||||
{
|
||||
# Let opnsense-update(8) know it's up to date
|
||||
local MARKER="/usr/local/opnsense/version/opnsense-update.${3}"
|
||||
MARKER="/usr/local/opnsense/version/opnsense-update.${3}"
|
||||
|
||||
if [ ! -f ${1}${MARKER} ]; then
|
||||
# first call means bootstrap the marker file
|
||||
|
@ -380,19 +380,33 @@ generate_signature()
|
|||
fi
|
||||
}
|
||||
|
||||
check_packages()
|
||||
check_images()
|
||||
{
|
||||
PACKAGESET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${ARCH}.tar")
|
||||
MARKER=${1}
|
||||
SELF=${1}
|
||||
SKIP=${2}
|
||||
|
||||
if [ -z "${MARKER}" -o -z "${PACKAGESET}" -o -n "${SKIP}" ]; then
|
||||
IMAGE=$(find ${IMAGESDIR} -name "*-${SELF}-${ARCH}.*")
|
||||
|
||||
if [ -f "${IMAGE}" -a -z "${SKIP}" ]; then
|
||||
echo ">>> Reusing ${SELF} image: ${IMAGE}"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
check_packages()
|
||||
{
|
||||
SELF=${1}
|
||||
SKIP=${2}
|
||||
|
||||
PACKAGESET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${ARCH}.tar")
|
||||
|
||||
if [ -z "${SELF}" -o -z "${PACKAGESET}" -o -n "${SKIP}" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
DONE=$(tar tf ${PACKAGESET} | grep "^\./\.${MARKER}_done\$" || true)
|
||||
DONE=$(tar tf ${PACKAGESET} | grep "^\./\.${SELF}_done\$" || true)
|
||||
if [ -n "${DONE}" ]; then
|
||||
echo ">>> Packages (${MARKER}) are up to date"
|
||||
echo ">>> Packages (${SELF}) are up to date"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
@ -512,7 +526,7 @@ EOF
|
|||
bundle_packages()
|
||||
{
|
||||
BASEDIR=${1}
|
||||
MARKER=${2}
|
||||
SELF=${2}
|
||||
|
||||
sh ./clean.sh packages
|
||||
|
||||
|
@ -529,9 +543,9 @@ bundle_packages()
|
|||
cp ${PROGRESS} ${BASEDIR}${PACKAGESDIR}-new
|
||||
done
|
||||
|
||||
if [ -n "${MARKER}" ]; then
|
||||
if [ -n "${SELF}" ]; then
|
||||
# add build marker to set
|
||||
touch ${BASEDIR}${PACKAGESDIR}-new/.${MARKER}_done
|
||||
touch ${BASEDIR}${PACKAGESDIR}-new/.${SELF}_done
|
||||
fi
|
||||
|
||||
# push packages to home location
|
||||
|
|
|
@ -33,6 +33,8 @@ SELF=nano
|
|||
|
||||
. ./common.sh && $(${SCRUB_ARGS})
|
||||
|
||||
check_images ${SELF} ${@}
|
||||
|
||||
NANOIMG="${IMAGESDIR}/${PRODUCT_RELEASE}-nano-${ARCH}.img"
|
||||
|
||||
sh ./clean.sh ${SELF}
|
||||
|
@ -153,9 +155,4 @@ fi
|
|||
|
||||
# move image from RAM to output file
|
||||
dd if=/dev/${MD} of=${NANOIMG} bs=64k
|
||||
|
||||
mdconfig -d -u ${MD}
|
||||
|
||||
echo "done:"
|
||||
|
||||
ls -lah ${IMAGESDIR}/*
|
||||
|
|
|
@ -32,6 +32,8 @@ SELF=serial
|
|||
|
||||
. ./common.sh && $(${SCRUB_ARGS})
|
||||
|
||||
check_images ${SELF} ${@}
|
||||
|
||||
SERIALIMG="${IMAGESDIR}/${PRODUCT_RELEASE}-serial-${ARCH}.img"
|
||||
|
||||
# rewrite the disk label, because we're install media
|
||||
|
|
|
@ -31,6 +31,8 @@ SELF=vga
|
|||
|
||||
. ./common.sh && $(${SCRUB_ARGS})
|
||||
|
||||
check_images ${SELF} ${@}
|
||||
|
||||
VGAIMG="${IMAGESDIR}/${PRODUCT_RELEASE}-vga-${ARCH}.img"
|
||||
|
||||
# rewrite the disk label, because we're install media
|
||||
|
|
|
@ -31,6 +31,8 @@ SELF=vm
|
|||
|
||||
. ./common.sh && $(${SCRUB_ARGS})
|
||||
|
||||
check_images ${SELF} ${@}
|
||||
|
||||
VMFORMAT="vmdk"
|
||||
VMSIZE="20G"
|
||||
VMSWAP="1G"
|
||||
|
@ -90,6 +92,10 @@ fi
|
|||
umount ${STAGEDIR}/mnt
|
||||
mdconfig -d -u ${MD}
|
||||
|
||||
echo -n ">>> Building vm image... "
|
||||
|
||||
mkimg -s gpt -f ${VMFORMAT} -o ${VMIMG} -b ${STAGEDIR}/boot/pmbr \
|
||||
-p freebsd-boot/bootfs:=${STAGEDIR}/boot/gptboot \
|
||||
-p freebsd-ufs/rootfs:=${VMBASE} ${SWAPARGS}
|
||||
|
||||
echo "done"
|
||||
|
|
Loading…
Reference in New Issue