Module Name: src Committed By: christos Date: Fri May 17 19:54:28 UTC 2024
Modified Files: src/distrib/common: Makefile.image Log Message: Add IMAGERUNTIME and IMAGESPECEXTRA variables To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 src/distrib/common/Makefile.image Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/common/Makefile.image diff -u src/distrib/common/Makefile.image:1.42 src/distrib/common/Makefile.image:1.43 --- src/distrib/common/Makefile.image:1.42 Thu May 16 11:46:42 2024 +++ src/distrib/common/Makefile.image Fri May 17 15:54:28 2024 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.image,v 1.42 2024/05/16 15:46:42 christos Exp $ +# $NetBSD: Makefile.image,v 1.43 2024/05/17 19:54:28 christos Exp $ # # Makefile snippet to build a tree from the provided lists, # and make an ffs file system image from that tree @@ -16,6 +16,8 @@ # IMAGEPREBUILD additional operations to run pre image creation # IMAGEPOSTBUILD operation to run on ${IMAGE} ${.TARGET} after its built # (if this returns non zero, ${.TARGET} is removed) +# IMAGERUNTIME files/directories to copy from $DESTDIR onto the image +# IMAGESPECEXTRA files/directories to add to the spec # CRUNCHBIN name of crunchgen(1)ed binary # DESTDIR destination directory # MAKEFS_FLAGS extra options to ${TOOL_MAKEFS} @@ -34,6 +36,7 @@ _MAKEFILE_IMAGE_=1 WORKDIR?= work WORKSPEC?= work.spec WORKBUILT?= work.built +CUROBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR} .include "${DISTRIBDIR}/common/Makefile.parselist" @@ -44,6 +47,14 @@ MAKEFS_TIMESTAMP=-T "${MKREPRO_TIMESTAMP PAX_TIMESTAMP=--timestamp "${MKREPRO_TIMESTAMP}" GZIP_N_FLAG=-n .endif +MAKESPEC= ${HOST_SH} ${NETBSDSRCDIR}/etc/makespec + +.if ${MAKEVERBOSE} >= 2 +PAX_v?= -v +.else +PAX_v?= +.endif + GZIP_FLAGS= -9 ${GZIP_N_FLAG} @@ -95,6 +106,22 @@ ${IMAGE}: ${WORKBUILT} .if defined(IMAGEPREBUILD) ${IMAGEPREBUILD} .endif + if [ "X${IMAGERUNTIME}" != "X" ]; then \ + release_destdir=${WORKDIR}; \ + cd $$release_destdir; \ + cd ${DESTDIR}; \ + for imge in ${IMAGERUNTIME}; \ + do \ + ${TOOL_PAX} ${PAX_TIMESTAMP} -rw -pp ${PAX_v} \ + $${imge} $$release_destdir; \ + done; \ + cd "${CUROBJDIR}"; \ + fi + for i in ${IMAGERUNTIME} ${IMAGESPECEXTRA}; do \ + if [ -n "$$i" ] && [ -e ${WORKDIR}/$$i ]; then \ + ${MAKESPEC} -d ${WORKDIR} $$i >> ${WORKSPEC}; \ + fi; \ + done [ "${.OODATE}" = ${WORKBUILT} -a -f ${IMAGE} -a ! ${IMAGE} -ot ${WORKBUILT} ] || { \ ${_MKSHMSG_CREATE} ${.CURDIR:T}/${.TARGET}; \ rm -f ${.TARGET} ${.TARGET}.tmp; \