mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2025-01-11 17:04:19 +01:00
Add a CLOUDPACKAGE variable to contain a list of targets for
post-install packaging cloud provider images. Add a 'gce-package.sh' script to generate the final output image ready for upload to the GCE platform. Right now, this is the only image that has a specific output format (GNU-tar), and this implementation is expected to be temporary. This is not directly connected to the other release targets. MFC after: 1 week X-MFC-with: r279249, r279250 Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
2cf395883e
commit
dc1c45001a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=279257
@ -34,8 +34,10 @@ CLOUDTARGETS+= cw-${_CW:tl}
|
|||||||
CLEANDIRS+= cw-${_CW:tl}
|
CLEANDIRS+= cw-${_CW:tl}
|
||||||
CLEANFILES+= ${_CW:tl}.img \
|
CLEANFILES+= ${_CW:tl}.img \
|
||||||
${_CW:tl}.${${_CW:tu}_FORMAT} \
|
${_CW:tl}.${${_CW:tu}_FORMAT} \
|
||||||
${_CW:tl}.${${_CW:tu}_FORMAT}.raw
|
${_CW:tl}.${${_CW:tu}_FORMAT}.raw \
|
||||||
|
cw${_CW:tl}-package
|
||||||
CLOUDINSTALL+= cw${_CW:tl}-install
|
CLOUDINSTALL+= cw${_CW:tl}-install
|
||||||
|
CLOUDPACKAGE+= cw${_CW:tl}-package
|
||||||
${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT}
|
${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT}
|
||||||
. if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF)
|
. if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF)
|
||||||
${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf
|
${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf
|
||||||
@ -59,6 +61,16 @@ cw${_CW:tl}-install:
|
|||||||
cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \
|
cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \
|
||||||
${DESTDIR}/${_CW:tl}/CHECKSUM.MD5
|
${DESTDIR}/${_CW:tl}/CHECKSUM.MD5
|
||||||
|
|
||||||
|
cw${_CW:tl}-package:
|
||||||
|
@# Special target to handle packaging cloud images in the formats
|
||||||
|
@# specific to each hosting provider.
|
||||||
|
.if exists(${.CURDIR}/tools/${_CW:tl}-package.sh)
|
||||||
|
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
|
||||||
|
${.CURDIR}/tools/${_CW:tl}-package.sh \
|
||||||
|
-D ${DESTDIR} -I ${${_CW}_DISK} -S ${WORLDDIR}
|
||||||
|
.endif
|
||||||
|
touch ${.TARGET}
|
||||||
|
|
||||||
. endfor
|
. endfor
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
47
release/tools/gce-package.sh
Executable file
47
release/tools/gce-package.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
# Script to handle packaging cloud images for GCE.
|
||||||
|
#
|
||||||
|
# XXX:
|
||||||
|
# This script only exists to help in automating image creation,
|
||||||
|
# and reimplementing this is intended (in other words, this is
|
||||||
|
# temporary).
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage:"
|
||||||
|
echo "$(basename ${0}) -D <destdir> -I <input_file> -S <src_tree>"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
while getopts "D:I:W:" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
D)
|
||||||
|
DESTDIR="${OPTARG}"
|
||||||
|
;;
|
||||||
|
I)
|
||||||
|
INFILE="${OPTARG}"
|
||||||
|
;;
|
||||||
|
S)
|
||||||
|
WORLDDIR="${OPTARG}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(( ${OPTIND} - 1 ))
|
||||||
|
|
||||||
|
if [ -z "${DESTDIR}" -o -z "${INFILE}" -o -z "${WORLDDIR}" ]; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
OUTFILE="$(make -C ${WORLDDIR}/release -V OSRELEASE).tar.gz"
|
||||||
|
|
||||||
|
cd ${DESTDIR} && tar --format=gnutar -zcf ${OUTFILE} ${INFILE}
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
Loading…
Reference in New Issue
Block a user