Wed May 27 15:17:59 2015 UTC ()
Deal with WORKSPECFILE not existing for many cd images


(martin)
diff -r1.30 -r1.31 src/distrib/common/Makefile.bootcd

cvs diff -r1.30 -r1.31 src/distrib/common/Makefile.bootcd (expand / switch to unified diff)

--- src/distrib/common/Makefile.bootcd 2015/05/27 09:44:40 1.30
+++ src/distrib/common/Makefile.bootcd 2015/05/27 15:17:59 1.31
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile.bootcd,v 1.30 2015/05/27 09:44:40 martin Exp $ 1# $NetBSD: Makefile.bootcd,v 1.31 2015/05/27 15:17:59 martin Exp $
2# 2#
3# Makefile snipped to create a CD/DVD ISO 3# Makefile snipped to create a CD/DVD ISO
4# 4#
5 5
6# XXX TODO: 6# XXX TODO:
7# 1) merge with src/distrib/cdrom 7# 1) merge with src/distrib/cdrom
8# 2) teach makefs to add data from more than 1 directory (see below) 8# 2) teach makefs to add data from more than 1 directory (see below)
9 9
10# 10#
11# Required variables: 11# Required variables:
12# CDBASE Basename of the iso 12# CDBASE Basename of the iso
13# 13#
14# Optional variables: 14# Optional variables:
@@ -66,46 +66,45 @@ SETS_DIR?= ${RELEASEDIR}/${RELEASEMACHIN @@ -66,46 +66,45 @@ SETS_DIR?= ${RELEASEDIR}/${RELEASEMACHIN
66DISTRIBVER!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh 66DISTRIBVER!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh
67DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s 67DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s
68CUROBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR} 68CUROBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR}
69ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z 69ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z
70PUBLISHER?= The_NetBSD_Project 70PUBLISHER?= The_NetBSD_Project
71.if defined(CDMAKEFSOPTIONS) 71.if defined(CDMAKEFSOPTIONS)
72_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER},${CDMAKEFSOPTIONS} 72_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER},${CDMAKEFSOPTIONS}
73.else 73.else
74_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER} 74_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER}
75.endif 75.endif
76 76
77.if ${MKUNPRIVED} == "no" 77.if ${MKUNPRIVED} == "no"
78CD_METALOG.unpriv= 78CD_METALOG.unpriv=
79mtunpriv="" 79mtunpriv=
80.else 80.else
81CD_METALOG.unpriv=-M ${METALOG}.sanitised 81CD_METALOG.unpriv=-M ${METALOG}.sanitised
82mtunpriv="-U" 82mtunpriv="-U"
83.endif 83.endif
84 84
85# Stuff that should come from elsewhere - XXX where? - HF 85# Stuff that should come from elsewhere - XXX where? - HF
86CP?= cp 86CP?= cp
87RM?= rm 87RM?= rm
88MKDIR?= mkdir -p 88MKDIR?= mkdir -p
89CHMOD?= chmod 89CHMOD?= chmod
90ECHO?= echo 90ECHO?= echo
91 91
92.if ${CDRELEASE} == false 92.if ${CDRELEASE} == false
93CDIMAGE= ${CDBASE}.iso 93CDIMAGE= ${CDBASE}.iso
94.else 94.else
95CDIMAGE= NetBSD-${DISTRIBVER}-${CDBASE:S/cd$//}.iso 95CDIMAGE= NetBSD-${DISTRIBVER}-${CDBASE:S/cd$//}.iso
96.endif 96.endif
97WORKSPEC= fs.spec 97WORKSPEC= fs.spec
98CDMAKEFSEXTRAOPTS+=-F ${WORKSPEC} 
99 98
100CLEANFILES+= ${CDIMAGE} 99CLEANFILES+= ${CDIMAGE}
101CLEANFILES+= bootxx.${MACHINE} 100CLEANFILES+= bootxx.${MACHINE}
102CLEANFILES+= ${WORKSPEC} 101CLEANFILES+= ${WORKSPEC}
103 102
104CDSETSENV= DESTDIR=${DESTDIR:Q} \ 103CDSETSENV= DESTDIR=${DESTDIR:Q} \
105 MACHINE=${MACHINE:Q} \ 104 MACHINE=${MACHINE:Q} \
106 MACHINE_ARCH=${MACHINE_ARCH:Q} \ 105 MACHINE_ARCH=${MACHINE_ARCH:Q} \
107 AWK=${TOOL_AWK:Q} \ 106 AWK=${TOOL_AWK:Q} \
108 CKSUM=${TOOL_CKSUM:Q} \ 107 CKSUM=${TOOL_CKSUM:Q} \
109 DB=${TOOL_DB:Q} \ 108 DB=${TOOL_DB:Q} \
110 HOST_SH=${HOST_SH:Q} \ 109 HOST_SH=${HOST_SH:Q} \
111 MAKE=${MAKE:Q} \ 110 MAKE=${MAKE:Q} \
@@ -250,42 +249,49 @@ copy-releasedir: @@ -250,42 +249,49 @@ copy-releasedir:
250 ${CDSETSCMD} ./maketars -i "${CUROBJDIR}/cdrom" \ 249 ${CDSETSCMD} ./maketars -i "${CUROBJDIR}/cdrom" \
251 ${CD_METALOG.unpriv} ${mtunpriv} -N ${NETBSDSRCDIR}/etc \ 250 ${CD_METALOG.unpriv} ${mtunpriv} -N ${NETBSDSRCDIR}/etc \
252 -F "${CUROBJDIR}/cdrom/etc/mtree" \ 251 -F "${CUROBJDIR}/cdrom/etc/mtree" \
253 -d "${DESTDIR:S,^$,/,}" ${set} 252 -d "${DESTDIR:S,^$,/,}" ${set}
254.endfor 253.endfor
255 if [ -d "${CUROBJDIR}/cdrom/var/spool/ftp/hidden" ]; then \ 254 if [ -d "${CUROBJDIR}/cdrom/var/spool/ftp/hidden" ]; then \
256 ${CHMOD} +r "${CUROBJDIR}/cdrom/var/spool/ftp/hidden"; \ 255 ${CHMOD} +r "${CUROBJDIR}/cdrom/var/spool/ftp/hidden"; \
257 fi 256 fi
258.endif 257.endif
259 258
260image: 259image:
261 @echo Preparing spec files for makefs... 260 @echo Preparing spec files for makefs...
262 ${RM} -f ${WORKSPEC} 261 ${RM} -f ${WORKSPEC}
263 cat cdrom/etc/mtree/* | \ 262 if [ -d cdrom/etc/mtree ]; then \
264 ${TOOL_SED} -e 's/ size=[0-9]*//' \ 263 cat cdrom/etc/mtree/* | \
265 -e '/^\.\/etc\/gettytab/d' > ${WORKSPEC} 264 ${TOOL_SED} -e 's/ size=[0-9]*//' \
266 ${HOST_SH} cdrom/dev/MAKEDEV -s all | \ 265 -e '/^\.\/etc\/gettytab/d' > ${WORKSPEC}; \
267 ${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' >> ${WORKSPEC} 266 fi
 267 if [ -r cdrom/dev/MAKEDEV ]; then \
 268 ${HOST_SH} cdrom/dev/MAKEDEV -s all | \
 269 ${TOOL_SED} -e '/^\. type=dir/d' \
 270 -e 's,^\.,./dev,' >> ${WORKSPEC}; \
 271 fi
268.if defined(SPEC_IN) 272.if defined(SPEC_IN)
269 cat ${SPEC_IN} >> ${WORKSPEC} 273 cat ${SPEC_IN} >> ${WORKSPEC}
270.endif 274.endif
271.if defined(SECONDARY_BOOT) 275.if defined(SECONDARY_BOOT)
272 echo "./${SECONDARY_BOOT} type=file uname=root gname=wheel mode=0444" \ 276 echo "./${SECONDARY_BOOT} type=file uname=root gname=wheel mode=0444" \
273 >> ${WORKSPEC} 277 >> ${WORKSPEC}
274.endif 278.endif
275.if defined(SPEC_EXTRA) 279.if defined(SPEC_EXTRA)
276 cat ${SPEC_EXTRA} >> ${WORKSPEC} 280 cat ${SPEC_EXTRA} >> ${WORKSPEC}
277.endif 281.endif
278 ${TOOL_MAKEFS} -N ${NETBSDSRCDIR}/etc -t cd9660 ${CDMAKEFSEXTRAOPTS} -o ${_CDMAKEFSOPTIONS:Q} ${CDIMAGE} cdrom 282 if [ -s ${WORKSPEC} ]; then specarg="-F ${WORKSPEC}"; fi; \
 283 ${TOOL_MAKEFS} -N ${NETBSDSRCDIR}/etc -t cd9660 $${specarg} \
 284 ${CDMAKEFSEXTRAOPTS} -o ${_CDMAKEFSOPTIONS:Q} ${CDIMAGE} cdrom
279 285
280.if ${CDRELEASE} == false 286.if ${CDRELEASE} == false
281release: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post 287release: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post
282 ${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR} 288 ${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
283 ${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR} 289 ${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
284 290
285iso_image: 291iso_image:
286.else 292.else
287release: 293release:
288 294
289iso_image: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post 295iso_image: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post
290 ${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR} 296 ${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
291 ${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR} 297 ${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR}