Tue Jul 21 00:48:30 2009 UTC ()
what was usr.bin/ssh is now openssh/bin, not openssh/bin/ssh.


(mrg)
diff -r1.368 -r1.369 src/etc/Makefile

cvs diff -r1.368 -r1.369 src/etc/Makefile (switch to unified diff)

--- src/etc/Makefile 2009/07/21 00:28:35 1.368
+++ src/etc/Makefile 2009/07/21 00:48:29 1.369
@@ -1,642 +1,642 @@ @@ -1,642 +1,642 @@
1# $NetBSD: Makefile,v 1.368 2009/07/21 00:28:35 mrg Exp $ 1# $NetBSD: Makefile,v 1.369 2009/07/21 00:48:29 mrg Exp $
2# from: @(#)Makefile 8.7 (Berkeley) 5/25/95 2# from: @(#)Makefile 8.7 (Berkeley) 5/25/95
3 3
4# Environment variables without default values: 4# Environment variables without default values:
5# DESTDIR must be set before anything in this file will work. 5# DESTDIR must be set before anything in this file will work.
6# RELEASEDIR is where the tarred up stuff for a snapshot or 6# RELEASEDIR is where the tarred up stuff for a snapshot or
7# release will be placed. 7# release will be placed.
8# 8#
9# Environment variables with default values: 9# Environment variables with default values:
10# LOCALTIME will set the default local time for the system you 10# LOCALTIME will set the default local time for the system you
11# build; it determines what /etc/localtime is symlink'd to. 11# build; it determines what /etc/localtime is symlink'd to.
12# KERNSRCDIR points to kernel source; it is set by default to ../sys, 12# KERNSRCDIR points to kernel source; it is set by default to ../sys,
13# but can be overridden. 13# but can be overridden.
14# KERNOBJDIR is the kernel build directory, it defaults to 14# KERNOBJDIR is the kernel build directory, it defaults to
15# ${KERNSRCDIR}/arch/${MACHINE}/compile, but can be overridden. 15# ${KERNSRCDIR}/arch/${MACHINE}/compile, but can be overridden.
16# KERNCONFDIR is where the configuration files for kernels are found; 16# KERNCONFDIR is where the configuration files for kernels are found;
17# default is ${KERNSRCDIR}/arch/${MACHINE}/conf but can be overridden. 17# default is ${KERNSRCDIR}/arch/${MACHINE}/conf but can be overridden.
18# MKCRYPTO; if not `no', install crypto-related configuration 18# MKCRYPTO; if not `no', install crypto-related configuration
19# MKPOSTFIX; if not `no', install postfix configuration 19# MKPOSTFIX; if not `no', install postfix configuration
20# MKUNPRIVED; if not `no', allow non-root installs. 20# MKUNPRIVED; if not `no', allow non-root installs.
21# MKUPDATE; if not `no', don't do a 'make clean' before kernel compile 21# MKUPDATE; if not `no', don't do a 'make clean' before kernel compile
22# 22#
23# Targets: 23# Targets:
24# distribution: makes a full NetBSD distribution in DESTDIR. If 24# distribution: makes a full NetBSD distribution in DESTDIR. If
25# INSTALL_DONE is set, it will not do a `make install.' 25# INSTALL_DONE is set, it will not do a `make install.'
26# if DISTRIBUTION_DONE is set, it will not do anything. 26# if DISTRIBUTION_DONE is set, it will not do anything.
27# distrib-dirs: creates an empty NetBSD directory tree in DESTDIR. 27# distrib-dirs: creates an empty NetBSD directory tree in DESTDIR.
28# Called by distribution. 28# Called by distribution.
29# snapshot: calls distribution, above, and then tars up the files 29# snapshot: calls distribution, above, and then tars up the files
30# into a release(7) format in RELEASEDIR/${RELEASEMACHINEDIR}. 30# into a release(7) format in RELEASEDIR/${RELEASEMACHINEDIR}.
31# Any port-dependent stuff for this target is found in 31# Any port-dependent stuff for this target is found in
32# etc.${MACHINE}/Makefile.inc. 32# etc.${MACHINE}/Makefile.inc.
33# release: a synonym for `snapshot' 33# release: a synonym for `snapshot'
34# 34#
35 35
36# For MK* vars 36# For MK* vars
37.include <bsd.own.mk> 37.include <bsd.own.mk>
38 38
39.include <bsd.sys.mk> # for HOST_SH, TOOL_AWK, ... 39.include <bsd.sys.mk> # for HOST_SH, TOOL_AWK, ...
40.include <bsd.kernobj.mk> # For KERNSRCDIR, KERNOBJDIR, ... 40.include <bsd.kernobj.mk> # For KERNSRCDIR, KERNOBJDIR, ...
41.include <bsd.endian.mk> # For TARGET_ENDIANNESS 41.include <bsd.endian.mk> # For TARGET_ENDIANNESS
42 42
43.MAKEOVERRIDES+= USETOOLS 43.MAKEOVERRIDES+= USETOOLS
44 44
45TZDIR= /usr/share/zoneinfo 45TZDIR= /usr/share/zoneinfo
46LOCALTIME?= UTC 46LOCALTIME?= UTC
47CKSUM?= ${TOOL_CKSUM} 47CKSUM?= ${TOOL_CKSUM}
48MAKESUMS= MAKE=${MAKE:Q} CKSUM=${CKSUM:Q} ${HOST_SH} ${NETBSDSRCDIR}/distrib/sets/makesums 48MAKESUMS= MAKE=${MAKE:Q} CKSUM=${CKSUM:Q} ${HOST_SH} ${NETBSDSRCDIR}/distrib/sets/makesums
49DISTRIBVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh 49DISTRIBVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh
50 50
51# Flags for creating ISO CDROM image 51# Flags for creating ISO CDROM image
52# mkisofs is expected to be in $PATH, install via pkgsrc/sysutils/cdrtools 52# mkisofs is expected to be in $PATH, install via pkgsrc/sysutils/cdrtools
53# Note: At least mkisofs 2.0 should be used. 53# Note: At least mkisofs 2.0 should be used.
54# 54#
55.if !defined(MKISOFS) 55.if !defined(MKISOFS)
56MKISOFS!= (which mkisofs || echo true) 56MKISOFS!= (which mkisofs || echo true)
57.endif 57.endif
58DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s 58DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s
59# ISO 9660 volume ID. Note that this can only contain [A-Z0-9_]. 59# ISO 9660 volume ID. Note that this can only contain [A-Z0-9_].
60ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z 60ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z
61MKISOFS_FLAGS+= -J -l -hide-joliet-trans-tbl -r -T \ 61MKISOFS_FLAGS+= -J -l -hide-joliet-trans-tbl -r -T \
62 -V ${ISO_VOLID} \ 62 -V ${ISO_VOLID} \
63 -publisher "The NetBSD Project" \ 63 -publisher "The NetBSD Project" \
64 -m "${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom" 64 -m "${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom"
65.if ${MKISOFS_FLAGS:N-v} 65.if ${MKISOFS_FLAGS:N-v}
66MKISOFS_FLAGS+= -quiet 66MKISOFS_FLAGS+= -quiet
67.endif 67.endif
68  68
69 69
70# MD Makefile.inc may append MD targets to BIN[123]. Make sure all 70# MD Makefile.inc may append MD targets to BIN[123]. Make sure all
71# are empty, to preserve the old semantics of setting them below with "+=". 71# are empty, to preserve the old semantics of setting them below with "+=".
72# 72#
73BIN1= 73BIN1=
74BIN2= 74BIN2=
75BIN3= 75BIN3=
76 76
77# Directories to build in ${RELEASEDIR}/${RELEASEMACHINEDIR}. 77# Directories to build in ${RELEASEDIR}/${RELEASEMACHINEDIR}.
78# MD Makefile.inc files can add to this. 78# MD Makefile.inc files can add to this.
79# NOTE: Parent directories must be listed before subdirectories. 79# NOTE: Parent directories must be listed before subdirectories.
80# 80#
81INSTALLATION_DIRS= binary binary/sets binary/kernel installation 81INSTALLATION_DIRS= binary binary/sets binary/kernel installation
82 82
83.if exists(etc.${RELEASEMACHINE}/Makefile.inc) 83.if exists(etc.${RELEASEMACHINE}/Makefile.inc)
84.include "etc.${RELEASEMACHINE}/Makefile.inc" 84.include "etc.${RELEASEMACHINE}/Makefile.inc"
85.endif 85.endif
86 86
87# -rw-r--r-- 87# -rw-r--r--
88BINOWN= root 88BINOWN= root
89BINGRP= wheel 89BINGRP= wheel
90UTMPGRP= utmp 90UTMPGRP= utmp
91BIN1+= bootptab changelist csh.cshrc csh.login \ 91BIN1+= bootptab changelist csh.cshrc csh.login \
92 csh.logout daily daily.conf dm.conf envsys.conf floppytab ftpchroot \ 92 csh.logout daily daily.conf dm.conf envsys.conf floppytab ftpchroot \
93 ftpusers gettytab group hosts hosts.lpd inetd.conf \ 93 ftpusers gettytab group hosts hosts.lpd inetd.conf \
94 locate.conf login.conf mailer.conf man.conf monthly monthly.conf \ 94 locate.conf login.conf mailer.conf man.conf monthly monthly.conf \
95 mrouted.conf named.conf netconfig networks newsyslog.conf \ 95 mrouted.conf named.conf netconfig networks newsyslog.conf \
96 nsswitch.conf ntp.conf passwd.conf phones printcap profile protocols \ 96 nsswitch.conf ntp.conf passwd.conf phones printcap profile protocols \
97 rbootd.conf rc rc.conf rc.local rc.subr rc.shutdown remote rpc \ 97 rbootd.conf rc rc.conf rc.local rc.subr rc.shutdown remote rpc \
98 security security.conf services shells shrc sysctl.conf syslog.conf \ 98 security security.conf services shells shrc sysctl.conf syslog.conf \
99 weekly weekly.conf wscons.conf 99 weekly weekly.conf wscons.conf
100 100
101# Use machine-specific disktab if it exists, or the MI one otherwise 101# Use machine-specific disktab if it exists, or the MI one otherwise
102.if exists(etc.${MACHINE}/disktab) 102.if exists(etc.${MACHINE}/disktab)
103BIN1+= etc.${MACHINE}/disktab 103BIN1+= etc.${MACHINE}/disktab
104.else 104.else
105BIN1+= disktab 105BIN1+= disktab
106.endif 106.endif
107 107
108.if exists(etc.${MACHINE}/ld.so.conf) 108.if exists(etc.${MACHINE}/ld.so.conf)
109BIN1+= etc.${MACHINE}/ld.so.conf 109BIN1+= etc.${MACHINE}/ld.so.conf
110.endif 110.endif
111 111
112.if exists(etc.${MACHINE}/ttyaction) 112.if exists(etc.${MACHINE}/ttyaction)
113BIN1+= etc.${MACHINE}/ttyaction 113BIN1+= etc.${MACHINE}/ttyaction
114.endif 114.endif
115 115
116# -rw-rw-r-- 116# -rw-rw-r--
117.if !empty(DISTRIBVER:M*.99.*) 117.if !empty(DISTRIBVER:M*.99.*)
118BIN2+= motd.current 118BIN2+= motd.current
119FILESNAME_motd.current= motd 119FILESNAME_motd.current= motd
120.elif !empty(DISTRIBVER:M*BETA*) 120.elif !empty(DISTRIBVER:M*BETA*)
121BIN2+= motd.beta 121BIN2+= motd.beta
122FILESNAME_motd.beta= motd 122FILESNAME_motd.beta= motd
123.elif !empty(DISTRIBVER:M*RC*) 123.elif !empty(DISTRIBVER:M*RC*)
124BIN2+= motd.rc 124BIN2+= motd.rc
125FILESNAME_motd.rc= motd 125FILESNAME_motd.rc= motd
126.elif !empty(DISTRIBVER:M*STABLE*) 126.elif !empty(DISTRIBVER:M*STABLE*)
127BIN2+= motd.stable 127BIN2+= motd.stable
128FILESNAME_motd.stable= motd 128FILESNAME_motd.stable= motd
129.else 129.else
130BIN2+= motd 130BIN2+= motd
131.endif 131.endif
132 132
133# -rw------- 133# -rw-------
134BIN3+= hosts.equiv 134BIN3+= hosts.equiv
135 135
136SYSPKG= etc 136SYSPKG= etc
137ETC_PKG=-T etc_pkg 137ETC_PKG=-T etc_pkg
138BASE_PKG=-T base_pkg 138BASE_PKG=-T base_pkg
139ETC_INSTALL_FILE=cd ${.CURDIR} && ${INSTALL_FILE} ${ETC_PKG} 139ETC_INSTALL_FILE=cd ${.CURDIR} && ${INSTALL_FILE} ${ETC_PKG}
140ETC_INSTALL_OBJ_FILE=cd ${.OBJDIR} && ${INSTALL_FILE} ${ETC_PKG} 140ETC_INSTALL_OBJ_FILE=cd ${.OBJDIR} && ${INSTALL_FILE} ${ETC_PKG}
141 141
142.if ${TARGET_ENDIANNESS} == "1234" 142.if ${TARGET_ENDIANNESS} == "1234"
143PWD_MKDB_ENDIAN= -L 143PWD_MKDB_ENDIAN= -L
144.elif ${TARGET_ENDIANNESS} == "4321" 144.elif ${TARGET_ENDIANNESS} == "4321"
145PWD_MKDB_ENDIAN= -B 145PWD_MKDB_ENDIAN= -B
146.else 146.else
147PWD_MKDB_ENDIAN= 147PWD_MKDB_ENDIAN=
148.endif 148.endif
149 149
150 150
151# distribution -- 151# distribution --
152# Build a distribution 152# Build a distribution
153# 153#
154distribution: .PHONY .MAKE check_DESTDIR distrib-dirs 154distribution: .PHONY .MAKE check_DESTDIR distrib-dirs
155.if !defined(DISTRIBUTION_DONE) 155.if !defined(DISTRIBUTION_DONE)
156.if !defined(INSTALL_DONE) 156.if !defined(INSTALL_DONE)
157 ${MAKEDIRTARGET} ${NETBSDSRCDIR} include _DISTRIB= 157 ${MAKEDIRTARGET} ${NETBSDSRCDIR} include _DISTRIB=
158 ${MAKEDIRTARGET} ${NETBSDSRCDIR} install _DISTRIB= 158 ${MAKEDIRTARGET} ${NETBSDSRCDIR} install _DISTRIB=
159.endif # !INSTALL_DONE 159.endif # !INSTALL_DONE
160 ${MAKEDIRTARGET} . install-etc-files 160 ${MAKEDIRTARGET} . install-etc-files
161. if ${MKX11} != "no" 161. if ${MKX11} != "no"
162. if ${X11FLAVOUR} == "Xorg" 162. if ${X11FLAVOUR} == "Xorg"
163 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/mit/xorg distribution 163 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/mit/xorg distribution
164. else 164. else
165 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/x11 distribution 165 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/x11 distribution
166. endif 166. endif
167. endif 167. endif
168 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/distrib/sets makesetfiles 168 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/distrib/sets makesetfiles
169.endif # !DISTRIBUTION_DONE 169.endif # !DISTRIBUTION_DONE
170 170
171 171
172CLEANFILES+= MAKEDEV 172CLEANFILES+= MAKEDEV
173MAKEDEV: .EXEC 173MAKEDEV: .EXEC
174 ${_MKTARGET_CREATE} 174 ${_MKTARGET_CREATE}
175 MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 175 MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
176 NETBSDSRCDIR=${NETBSDSRCDIR:Q} \ 176 NETBSDSRCDIR=${NETBSDSRCDIR:Q} \
177 ${TOOL_AWK} -f ${.CURDIR}/MAKEDEV.awk ${.CURDIR}/MAKEDEV.tmpl \ 177 ${TOOL_AWK} -f ${.CURDIR}/MAKEDEV.awk ${.CURDIR}/MAKEDEV.tmpl \
178 > ${.TARGET} 178 > ${.TARGET}
179 179
180RELEASEVARS= BSDOBJDIR BSDSRCDIR BUILDID \ 180RELEASEVARS= BSDOBJDIR BSDSRCDIR BUILDID \
181 DESTDIR EXTERNAL_TOOLCHAIN HAVE_GCC HAVE_GDB \ 181 DESTDIR EXTERNAL_TOOLCHAIN HAVE_GCC HAVE_GDB \
182 INSTALLWORLDDIR \ 182 INSTALLWORLDDIR \
183 KERNARCHDIR KERNCONFDIR KERNOBJDIR KERNSRCDIR \ 183 KERNARCHDIR KERNCONFDIR KERNOBJDIR KERNSRCDIR \
184 MACHINE MACHINE_ARCH MAKE MAKECONF MAKEFLAGS \ 184 MACHINE MACHINE_ARCH MAKE MAKECONF MAKEFLAGS \
185 MAKEOBJDIR MAKEOBJDIRPREFIX MAKEVERBOSE \ 185 MAKEOBJDIR MAKEOBJDIRPREFIX MAKEVERBOSE \
186 MKBFD MKCATPAGES \ 186 MKBFD MKCATPAGES \
187 MKCRYPTO MKCRYPTO_IDEA MKCRYPTO_MDC2 MKCRYPTO_RC5 MKCVS \ 187 MKCRYPTO MKCRYPTO_IDEA MKCRYPTO_MDC2 MKCRYPTO_RC5 MKCVS \
188 MKDEBUG MKDEBUGLIB MKDOC MKDYNAMICROOT \ 188 MKDEBUG MKDEBUGLIB MKDOC MKDYNAMICROOT \
189 MKGCC MKGCCCMDS MKGDB \ 189 MKGCC MKGCCCMDS MKGDB \
190 MKHESIOD MKHOSTOBJ MKHTML MKIEEEFP MKINET6 MKINFO MKIPFILTER \ 190 MKHESIOD MKHOSTOBJ MKHTML MKIEEEFP MKINET6 MKINFO MKIPFILTER \
191 MKKERBEROS MKLDAP MKLINKLIB MKLINT \ 191 MKKERBEROS MKLDAP MKLINKLIB MKLINT \
192 MKMAN MKMANZ MKNLS MKNVI MKOBJ MKOBJDIRS \ 192 MKMAN MKMANZ MKNLS MKNVI MKOBJ MKOBJDIRS \
193 MKPAM MKPF MKPIC MKPICINSTALL MKPICLIB MKPOSTFIX MKPROFILE \ 193 MKPAM MKPF MKPIC MKPICINSTALL MKPICLIB MKPOSTFIX MKPROFILE \
194 MKSHARE MKSKEY MKSOFTFLOAT MKSTATICLIB \ 194 MKSHARE MKSKEY MKSOFTFLOAT MKSTATICLIB \
195 MKUNPRIVED MKUPDATE MKX11 MKYP \ 195 MKUNPRIVED MKUPDATE MKX11 MKYP \
196 NBUILDJOBS NETBSDSRCDIR \ 196 NBUILDJOBS NETBSDSRCDIR \
197 NOCLEANDIR NODISTRIBDIRS NOINCLUDES \ 197 NOCLEANDIR NODISTRIBDIRS NOINCLUDES \
198 OBJMACHINE \ 198 OBJMACHINE \
199 RELEASEDIR RELEASEMACHINEDIR TOOLCHAIN_MISSING TOOLDIR \ 199 RELEASEDIR RELEASEMACHINEDIR TOOLCHAIN_MISSING TOOLDIR \
200 USE_HESIOD USE_INET6 USE_JEMALLOC USE_KERBEROS USE_LDAP \ 200 USE_HESIOD USE_INET6 USE_JEMALLOC USE_KERBEROS USE_LDAP \
201 USE_PAM USE_SKEY USE_YP \ 201 USE_PAM USE_SKEY USE_YP \
202 USETOOLS USR_OBJMACHINE \ 202 USETOOLS USR_OBJMACHINE \
203 X11SRCDIR X11FLAVOUR 203 X11SRCDIR X11FLAVOUR
204 204
205params: .PHONY 205params: .PHONY
206.for var in ${RELEASEVARS} 206.for var in ${RELEASEVARS}
207.if defined(${var}) 207.if defined(${var})
208 @printf "%20s = '%-s'\n" ${var} ${${var}:Q} 208 @printf "%20s = '%-s'\n" ${var} ${${var}:Q}
209.else 209.else
210 @printf "%20s = (undefined)\n" ${var} 210 @printf "%20s = (undefined)\n" ${var}
211.endif 211.endif
212.endfor 212.endfor
213 213
214CLEANFILES+= etc-release 214CLEANFILES+= etc-release
215etc-release: .EXEC .MAKE 215etc-release: .EXEC .MAKE
216 ${_MKTARGET_CREATE} 216 ${_MKTARGET_CREATE}
217 @( echo "NetBSD ${DISTRIBVER}/${MACHINE}"; \ 217 @( echo "NetBSD ${DISTRIBVER}/${MACHINE}"; \
218 echo ; \ 218 echo ; \
219 cat ${NETBSDSRCDIR}/sys/conf/copyright; \ 219 cat ${NETBSDSRCDIR}/sys/conf/copyright; \
220 echo ; \ 220 echo ; \
221 echo "Build settings:"; \ 221 echo "Build settings:"; \
222 printf "%20s %s\n" "Build date" "$$(date -u)"; \ 222 printf "%20s %s\n" "Build date" "$$(date -u)"; \
223 printf "%20s %s\n" "Built by" "$${USER-root}@$$(hostname)"; \ 223 printf "%20s %s\n" "Built by" "$${USER-root}@$$(hostname)"; \
224 echo ; \ 224 echo ; \
225 (cd ${.CURDIR}; ${MAKE} ${MFLAGS} -j1 params); \ 225 (cd ${.CURDIR}; ${MAKE} ${MFLAGS} -j1 params); \
226 ) >${.OBJDIR}/${.TARGET} 226 ) >${.OBJDIR}/${.TARGET}
227 227
228install-etc-release: .PHONY etc-release 228install-etc-release: .PHONY etc-release
229 ${_MKMSG_INSTALL} etc/release 229 ${_MKMSG_INSTALL} etc/release
230 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 444 \ 230 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 444 \
231 etc-release ${DESTDIR}/etc/release 231 etc-release ${DESTDIR}/etc/release
232 232
233 233
234FILESDIR= /etc 234FILESDIR= /etc
235CONFIGFILES= 235CONFIGFILES=
236CONFIGSYMLINKS= 236CONFIGSYMLINKS=
237 237
238.for file in ${BIN1} 238.for file in ${BIN1}
239CONFIGFILES+= ${file} 239CONFIGFILES+= ${file}
240FILESMODE_${file:T}= 644 240FILESMODE_${file:T}= 644
241.endfor 241.endfor
242 242
243.for file in ${BIN2} 243.for file in ${BIN2}
244CONFIGFILES+= ${file} 244CONFIGFILES+= ${file}
245FILESMODE_${file:T}= 664 245FILESMODE_${file:T}= 664
246.endfor 246.endfor
247 247
248.for file in ${BIN3} 248.for file in ${BIN3}
249CONFIGFILES+= ${file} 249CONFIGFILES+= ${file}
250FILESMODE_${file:T}= 600 250FILESMODE_${file:T}= 600
251.endfor 251.endfor
252 252
253.if (${MKPOSTFIX} != "no") 253.if (${MKPOSTFIX} != "no")
254CONFIGFILES+= aliases 254CONFIGFILES+= aliases
255FILESDIR_aliases= /etc/mail 255FILESDIR_aliases= /etc/mail
256FILESMODE_aliases= 644 256FILESMODE_aliases= 644
257.endif 257.endif
258 258
259CONFIGFILES+= MAKEDEV.local 259CONFIGFILES+= MAKEDEV.local
260FILESDIR_MAKEDEV.local= /dev 260FILESDIR_MAKEDEV.local= /dev
261FILESMODE_MAKEDEV.local=${BINMODE} 261FILESMODE_MAKEDEV.local=${BINMODE}
262 262
263CONFIGFILES+= crontab 263CONFIGFILES+= crontab
264FILESDIR_crontab= /var/cron/tabs 264FILESDIR_crontab= /var/cron/tabs
265FILESNAME_crontab= root 265FILESNAME_crontab= root
266FILESMODE_crontab= 600 266FILESMODE_crontab= 600
267 267
268CONFIGFILES+= minfree 268CONFIGFILES+= minfree
269FILESDIR_minfree= /var/crash 269FILESDIR_minfree= /var/crash
270FILESMODE_minfree= 600 270FILESMODE_minfree= 600
271 271
272CONFIGSYMLINKS+= ${TZDIR}/${LOCALTIME} /etc/localtime \ 272CONFIGSYMLINKS+= ${TZDIR}/${LOCALTIME} /etc/localtime \
273 /usr/sbin/rmt /etc/rmt 273 /usr/sbin/rmt /etc/rmt
274 274
275 275
276# install-etc-files -- 276# install-etc-files --
277# Install etc (config) files; not performed by "make build" 277# Install etc (config) files; not performed by "make build"
278# 278#
279install-etc-files: .PHONY .MAKE check_DESTDIR MAKEDEV 279install-etc-files: .PHONY .MAKE check_DESTDIR MAKEDEV
280 ${_MKMSG_INSTALL} ${DESTDIR}/etc/master.passwd 280 ${_MKMSG_INSTALL} ${DESTDIR}/etc/master.passwd
281 ${ETC_INSTALL_FILE} -o root -g wheel -m 600 \ 281 ${ETC_INSTALL_FILE} -o root -g wheel -m 600 \
282 master.passwd ${DESTDIR}/etc 282 master.passwd ${DESTDIR}/etc
283 ${TOOL_PWD_MKDB} -p ${PWD_MKDB_ENDIAN} -d ${DESTDIR}/ \ 283 ${TOOL_PWD_MKDB} -p ${PWD_MKDB_ENDIAN} -d ${DESTDIR}/ \
284 ${DESTDIR}/etc/master.passwd 284 ${DESTDIR}/etc/master.passwd
285.if ${MKUNPRIVED} != "no" 285.if ${MKUNPRIVED} != "no"
286 ( \ 286 ( \
287 for metaent in passwd pwd.db spwd.db; do \ 287 for metaent in passwd pwd.db spwd.db; do \
288 echo "./etc/$${metaent} type=file mode=0644 uname=root gname=wheel tags=etc_pkg"; \ 288 echo "./etc/$${metaent} type=file mode=0644 uname=root gname=wheel tags=etc_pkg"; \
289 done; \ 289 done; \
290 ) | ${METALOG.add} 290 ) | ${METALOG.add}
291.endif # MKUNPRIVED != no 291.endif # MKUNPRIVED != no
292 ${_MKMSG_INSTALL} ${DESTDIR}/etc/ttys 292 ${_MKMSG_INSTALL} ${DESTDIR}/etc/ttys
293 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \ 293 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \
294 ${.CURDIR}/etc.${MACHINE}/ttys ${DESTDIR}/etc 294 ${.CURDIR}/etc.${MACHINE}/ttys ${DESTDIR}/etc
295.if exists(etc.${MACHINE}/boot.cfg) 295.if exists(etc.${MACHINE}/boot.cfg)
296 ${_MKMSG_INSTALL} ${DESTDIR}/boot.cfg 296 ${_MKMSG_INSTALL} ${DESTDIR}/boot.cfg
297 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \ 297 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \
298 ${.CURDIR}/etc.${MACHINE}/boot.cfg ${DESTDIR}/ 298 ${.CURDIR}/etc.${MACHINE}/boot.cfg ${DESTDIR}/
299.endif 299.endif
300 ${_MKMSG_INSTALL} ${DESTDIR}/dev/MAKEDEV 300 ${_MKMSG_INSTALL} ${DESTDIR}/dev/MAKEDEV
301 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 555 \ 301 ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 555 \
302 MAKEDEV ${DESTDIR}/dev 302 MAKEDEV ${DESTDIR}/dev
303.for owner group mode file in \ 303.for owner group mode file in \
304 ${BINOWN} operator 664 /etc/dumpdates \ 304 ${BINOWN} operator 664 /etc/dumpdates \
305 ${BINOWN} operator 600 /etc/skeykeys \ 305 ${BINOWN} operator 600 /etc/skeykeys \
306 root wheel 600 /var/at/at.deny \ 306 root wheel 600 /var/at/at.deny \
307 nobody ${BINGRP} 664 /var/db/locate.database \ 307 nobody ${BINGRP} 664 /var/db/locate.database \
308 ${BINOWN} ${BINGRP} 600 /var/log/authlog \ 308 ${BINOWN} ${BINGRP} 600 /var/log/authlog \
309 root wheel 600 /var/log/cron \ 309 root wheel 600 /var/log/cron \
310 ${BINOWN} ${UTMPGRP} 664 /var/log/lastlog \ 310 ${BINOWN} ${UTMPGRP} 664 /var/log/lastlog \
311 ${BINOWN} ${UTMPGRP} 664 /var/log/lastlogx \ 311 ${BINOWN} ${UTMPGRP} 664 /var/log/lastlogx \
312 ${BINOWN} ${BINGRP} 640 /var/log/lpd-errs \ 312 ${BINOWN} ${BINGRP} 640 /var/log/lpd-errs \
313 ${BINOWN} ${BINGRP} 600 /var/log/maillog \ 313 ${BINOWN} ${BINGRP} 600 /var/log/maillog \
314 ${BINOWN} ${BINGRP} 644 /var/log/messages \ 314 ${BINOWN} ${BINGRP} 644 /var/log/messages \
315 ${BINOWN} ${BINGRP} 600 /var/log/secure \ 315 ${BINOWN} ${BINGRP} 600 /var/log/secure \
316 ${BINOWN} ${UTMPGRP} 664 /var/log/wtmp \ 316 ${BINOWN} ${UTMPGRP} 664 /var/log/wtmp \
317 ${BINOWN} ${UTMPGRP} 664 /var/log/wtmpx \ 317 ${BINOWN} ${UTMPGRP} 664 /var/log/wtmpx \
318 ${BINOWN} ${BINGRP} 600 /var/log/xferlog \ 318 ${BINOWN} ${BINGRP} 600 /var/log/xferlog \
319 daemon staff 664 /var/msgs/bounds \ 319 daemon staff 664 /var/msgs/bounds \
320 ${BINOWN} ${UTMPGRP} 664 /var/run/utmp \ 320 ${BINOWN} ${UTMPGRP} 664 /var/run/utmp \
321 ${BINOWN} ${UTMPGRP} 664 /var/run/utmpx \ 321 ${BINOWN} ${UTMPGRP} 664 /var/run/utmpx \
322 games games 664 /var/games/atc_score \ 322 games games 664 /var/games/atc_score \
323 games games 664 /var/games/battlestar.log \ 323 games games 664 /var/games/battlestar.log \
324 games games 664 /var/games/cfscores \ 324 games games 664 /var/games/cfscores \
325 games games 664 /var/games/criblog \ 325 games games 664 /var/games/criblog \
326 games games 660 /var/games/hackdir/perm \ 326 games games 660 /var/games/hackdir/perm \
327 games games 660 /var/games/hackdir/record \ 327 games games 660 /var/games/hackdir/record \
328 games games 664 /var/games/larn/llog12.0 \ 328 games games 664 /var/games/larn/llog12.0 \
329 games games 664 /var/games/larn/lscore12.0 \ 329 games games 664 /var/games/larn/lscore12.0 \
330 games games 664 /var/games/larn/playerids \ 330 games games 664 /var/games/larn/playerids \
331 games games 664 /var/games/robots_roll \ 331 games games 664 /var/games/robots_roll \
332 games games 664 /var/games/rogue.scores \ 332 games games 664 /var/games/rogue.scores \
333 games games 664 /var/games/saillog \ 333 games games 664 /var/games/saillog \
334 games games 664 /var/games/snakerawscores \ 334 games games 664 /var/games/snakerawscores \
335 games games 664 /var/games/snake.log \ 335 games games 664 /var/games/snake.log \
336 games games 664 /var/games/tetris.scores 336 games games 664 /var/games/tetris.scores
337 ${_MKMSG_INSTALL} ${DESTDIR}${file} 337 ${_MKMSG_INSTALL} ${DESTDIR}${file}
338 ${ETC_INSTALL_FILE} -o ${owner} -g ${group} -m ${mode} \ 338 ${ETC_INSTALL_FILE} -o ${owner} -g ${group} -m ${mode} \
339 /dev/null ${DESTDIR}${file} 339 /dev/null ${DESTDIR}${file}
340.endfor 340.endfor
341.for subdir in . defaults bluetooth iscsi mtree namedb pam.d powerd rc.d root skel ssh 341.for subdir in . defaults bluetooth iscsi mtree namedb pam.d powerd rc.d root skel ssh
342 ${MAKEDIRTARGET} ${subdir} configinstall 342 ${MAKEDIRTARGET} ${subdir} configinstall
343.endfor 343.endfor
344 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/bsd/dhcpcd/sbin/dhcpcd configinstall 344 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/bsd/dhcpcd/sbin/dhcpcd configinstall
345 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/usr.bin/mail configinstall 345 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/usr.bin/mail configinstall
346.if (${MKPF} != "no") 346.if (${MKPF} != "no")
347 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/usr.sbin/pf configinstall 347 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/usr.sbin/pf configinstall
348.endif 348.endif
349.if (${MKCRYPTO} != "no") 349.if (${MKCRYPTO} != "no")
350 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/crypto/external/bsd/openssh/bin/ssh configinstall 350 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/crypto/external/bsd/openssh/bin configinstall
351.endif 351.endif
352.if (${MKPOSTFIX} != "no") 352.if (${MKPOSTFIX} != "no")
353 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/ibm-public/postfix configinstall 353 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/ibm-public/postfix configinstall
354.endif 354.endif
355.if (${MKATF} != "no") 355.if (${MKATF} != "no")
356 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/bsd/atf/etc/atf configinstall 356 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/external/bsd/atf/etc/atf configinstall
357.endif 357.endif
358 358
359 359
360# install-obsolete-lists -- 360# install-obsolete-lists --
361# Install var/db/obsolete set lists; this is performed by "make build" 361# Install var/db/obsolete set lists; this is performed by "make build"
362# 362#
363OBSOLETE.dir= ${.OBJDIR}/obsolete.dir 363OBSOLETE.dir= ${.OBJDIR}/obsolete.dir
364OBSOLETE.files= base comp etc games man misc tests text 364OBSOLETE.files= base comp etc games man misc tests text
365.if ${MKX11} != "no" 365.if ${MKX11} != "no"
366OBSOLETE.files+= xbase xcomp xetc xfont xserver 366OBSOLETE.files+= xbase xcomp xetc xfont xserver
367.endif 367.endif
368 368
369install-obsolete-lists: .PHONY .MAKE 369install-obsolete-lists: .PHONY .MAKE
370 mkdir -p ${OBSOLETE.dir} 370 mkdir -p ${OBSOLETE.dir}
371.if ${MKX11} != "no" 371.if ${MKX11} != "no"
372 (cd ${NETBSDSRCDIR}/distrib/sets && \ 372 (cd ${NETBSDSRCDIR}/distrib/sets && \
373 AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ./makeobsolete -b -t ${OBSOLETE.dir}) 373 AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ./makeobsolete -b -t ${OBSOLETE.dir})
374.else 374.else
375 (cd ${NETBSDSRCDIR}/distrib/sets && \ 375 (cd ${NETBSDSRCDIR}/distrib/sets && \
376 AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ./makeobsolete -t ${OBSOLETE.dir}) 376 AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ./makeobsolete -t ${OBSOLETE.dir})
377.endif 377.endif
378.for file in ${OBSOLETE.files} 378.for file in ${OBSOLETE.files}
379 ${_MKMSG_INSTALL} ${DESTDIR}/var/db/obsolete/${file} 379 ${_MKMSG_INSTALL} ${DESTDIR}/var/db/obsolete/${file}
380 ${ETC_INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \ 380 ${ETC_INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \
381 ${OBSOLETE.dir}/${file} ${DESTDIR}/var/db/obsolete 381 ${OBSOLETE.dir}/${file} ${DESTDIR}/var/db/obsolete
382.endfor 382.endfor
383 383
384 384
385# distrib-dirs -- 385# distrib-dirs --
386# Populate $DESTDIR with directories needed by NetBSD 386# Populate $DESTDIR with directories needed by NetBSD
387# 387#
388.if ${MKUNPRIVED} == "no" 388.if ${MKUNPRIVED} == "no"
389TOOL_MTREE.unpriv= 389TOOL_MTREE.unpriv=
390.else 390.else
391TOOL_MTREE.unpriv= -W 391TOOL_MTREE.unpriv= -W
392.endif 392.endif
393 393
394distrib-dirs: .PHONY check_DESTDIR 394distrib-dirs: .PHONY check_DESTDIR
395.if !defined(DISTRIBUTION_DONE) # { 395.if !defined(DISTRIBUTION_DONE) # {
396# Create DESTDIR using HOST_INSTALL_DIR, not INSTALL_DIR, because 396# Create DESTDIR using HOST_INSTALL_DIR, not INSTALL_DIR, because
397# INSTALL_DIR would want to write to the metalog, and it can't do that 397# INSTALL_DIR would want to write to the metalog, and it can't do that
398# if the metalog is inside DESTDIR but DESTDIR doesn't yet exist. 398# if the metalog is inside DESTDIR but DESTDIR doesn't yet exist.
399 ${HOST_INSTALL_DIR} -m 755 ${DESTDIR} 399 ${HOST_INSTALL_DIR} -m 755 ${DESTDIR}
400# Inkoke mtree to create the directories listed in NetBSD.dist; 400# Inkoke mtree to create the directories listed in NetBSD.dist;
401# then invoke mtree again to register those directories in the metalog. 401# then invoke mtree again to register those directories in the metalog.
402 ${TOOL_MTREE} -def ${.CURDIR}/mtree/NetBSD.dist -N ${.CURDIR} \ 402 ${TOOL_MTREE} -def ${.CURDIR}/mtree/NetBSD.dist -N ${.CURDIR} \
403 -p ${DESTDIR}/ -U ${TOOL_MTREE.unpriv} 403 -p ${DESTDIR}/ -U ${TOOL_MTREE.unpriv}
404.if ${MKUNPRIVED} != "no" # { 404.if ${MKUNPRIVED} != "no" # {
405 ${TOOL_MTREE} -def ${.CURDIR}/mtree/NetBSD.dist -N ${.CURDIR} \ 405 ${TOOL_MTREE} -def ${.CURDIR}/mtree/NetBSD.dist -N ${.CURDIR} \
406 -p ${DESTDIR}/ -C -k all | \ 406 -p ${DESTDIR}/ -C -k all | \
407 ${TOOL_AWK} '/ optional/ {next} // {print}' | ${METALOG.add} 407 ${TOOL_AWK} '/ optional/ {next} // {print}' | ${METALOG.add}
408.endif # MKUNPRIVED # } 408.endif # MKUNPRIVED # }
409.endif # DISTRIBUTION_DONE # } 409.endif # DISTRIBUTION_DONE # }
410 410
411# release, snapshot -- 411# release, snapshot --
412# Build a full distribution including kernels & install media. 412# Build a full distribution including kernels & install media.
413# 413#
414release snapshot: .PHONY .MAKE check_DESTDIR check_RELEASEDIR snap_md_post 414release snapshot: .PHONY .MAKE check_DESTDIR check_RELEASEDIR snap_md_post
415 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/distrib/sets sets 415 ${MAKEDIRTARGET} ${NETBSDSRCDIR}/distrib/sets sets
416 ${MAKESUMS} -A -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets \ 416 ${MAKESUMS} -A -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets \
417 ${KERNEL_SETS:@.SETS.@kern-${.SETS.}.tgz@} 417 ${KERNEL_SETS:@.SETS.@kern-${.SETS.}.tgz@}
418 ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel '*.gz' 418 ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel '*.gz'
419 419
420 420
421# iso-image -- 421# iso-image --
422# Standalone target to create a CDROM image after the release 422# Standalone target to create a CDROM image after the release
423# was composed. Should be run after "make release" in src and xsrc. 423# was composed. Should be run after "make release" in src and xsrc.
424# The do-iso-image is to be called from etc.$MACHINE/Makefile.inc 424# The do-iso-image is to be called from etc.$MACHINE/Makefile.inc
425# 425#
426# Note: At least mkisofs 2.0 should be used. 426# Note: At least mkisofs 2.0 should be used.
427# 427#
428CDROM_NAME_ADD?= 428CDROM_NAME_ADD?=
429CDROM.image?=${RELEASEDIR}/iso/${MACHINE}cd.iso 429CDROM.image?=${RELEASEDIR}/iso/${MACHINE}cd.iso
430CDROM.dir= ${.OBJDIR}/cdrom.dir 430CDROM.dir= ${.OBJDIR}/cdrom.dir
431CDROM.pathlist= ${.OBJDIR}/cdrom.pathlist 431CDROM.pathlist= ${.OBJDIR}/cdrom.pathlist
432 432
433iso-image: 433iso-image:
434 434
435.if ${MKISOFS} != true 435.if ${MKISOFS} != true
436do-iso-image: .PHONY check_DESTDIR check_RELEASEDIR iso-image-md-post 436do-iso-image: .PHONY check_DESTDIR check_RELEASEDIR iso-image-md-post
437 ${MAKESUMS} -t ${RELEASEDIR}/iso/ '*.iso' 437 ${MAKESUMS} -t ${RELEASEDIR}/iso/ '*.iso'
438 @echo "iso-image created as: ${CDROM.image}" 438 @echo "iso-image created as: ${CDROM.image}"
439.else 439.else
440do-iso-image: 440do-iso-image:
441 @echo iso-image: mkisofs not found 441 @echo iso-image: mkisofs not found
442.endif 442.endif
443 443
444iso-image-setup: .PHONY check_RELEASEDIR 444iso-image-setup: .PHONY check_RELEASEDIR
445 rm -f ${CDROM.pathlist} 445 rm -f ${CDROM.pathlist}
446.for extra in README SOURCE_DATE source 446.for extra in README SOURCE_DATE source
447.if exists(${RELEASEDIR}/${extra}) 447.if exists(${RELEASEDIR}/${extra})
448 echo "${extra}=${RELEASEDIR}/${extra}" >> ${CDROM.pathlist} 448 echo "${extra}=${RELEASEDIR}/${extra}" >> ${CDROM.pathlist}
449.endif 449.endif
450.endfor 450.endfor
451 echo "${MACHINE}/=${RELEASEDIR}/${RELEASEMACHINEDIR}/" >> ${CDROM.pathlist} 451 echo "${MACHINE}/=${RELEASEDIR}/${RELEASEMACHINEDIR}/" >> ${CDROM.pathlist}
452 mkdir -p ${CDROM.dir} 452 mkdir -p ${CDROM.dir}
453 mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom 453 mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom
454 454
455# iso-image-mi -- 455# iso-image-mi --
456# Create the image after the MD operations have completed. 456# Create the image after the MD operations have completed.
457# 457#
458iso-image-mi: .PHONY check_DESTDIR check_RELEASEDIR iso-image-md-pre 458iso-image-mi: .PHONY check_DESTDIR check_RELEASEDIR iso-image-md-pre
459 @if ! ${MKISOFS} --version; then \ 459 @if ! ${MKISOFS} --version; then \
460 echo "install pkgsrc/sysutils/cdrtools and run 'make iso-image'." ; \ 460 echo "install pkgsrc/sysutils/cdrtools and run 'make iso-image'." ; \
461 false; \ 461 false; \
462 fi 462 fi
463 ${MKISOFS} ${MKISOFS_FLAGS} -graft-points -path-list ${CDROM.pathlist} \ 463 ${MKISOFS} ${MKISOFS_FLAGS} -graft-points -path-list ${CDROM.pathlist} \
464 -o ${CDROM.image} ${CDROM.dir} 464 -o ${CDROM.image} ${CDROM.dir}
465 465
466# iso-image-md-pre -- 466# iso-image-md-pre --
467# Setup ${CDROM.dir} to produce a bootable CD image. 467# Setup ${CDROM.dir} to produce a bootable CD image.
468# Overridden by etc.$MACHINE/Makefile.inc 468# Overridden by etc.$MACHINE/Makefile.inc
469# 469#
470iso-image-md-pre: .PHONY check_DESTDIR check_RELEASEDIR iso-image-setup 470iso-image-md-pre: .PHONY check_DESTDIR check_RELEASEDIR iso-image-setup
471# (empty -- look in the machine-dependent Makefile.inc) 471# (empty -- look in the machine-dependent Makefile.inc)
472 472
473# iso-image-md-post -- 473# iso-image-md-post --
474# Fixup the CD-image to be bootable. 474# Fixup the CD-image to be bootable.
475# Overridden by etc.$MACHINE/Makefile.inc 475# Overridden by etc.$MACHINE/Makefile.inc
476# 476#
477iso-image-md-post: .PHONY check_DESTDIR check_RELEASEDIR iso-image-mi 477iso-image-md-post: .PHONY check_DESTDIR check_RELEASEDIR iso-image-mi
478# (empty -- look in the machine-dependent Makefile.inc) 478# (empty -- look in the machine-dependent Makefile.inc)
479 479
480 480
481# snap_pre -- 481# snap_pre --
482# Create ${RELEASEDIR} and necessary subdirectories. 482# Create ${RELEASEDIR} and necessary subdirectories.
483# 483#
484snap_pre: .PHONY check_DESTDIR check_RELEASEDIR distribution 484snap_pre: .PHONY check_DESTDIR check_RELEASEDIR distribution
485 ${INSTALL} -d -m 755 ${RELEASEDIR} 485 ${INSTALL} -d -m 755 ${RELEASEDIR}
486.if ${MKUPDATE} == "no" 486.if ${MKUPDATE} == "no"
487# Could be a mount point, ignore the errors 487# Could be a mount point, ignore the errors
488 -/bin/rm -rf ${RELEASEDIR}/${RELEASEMACHINEDIR} 488 -/bin/rm -rf ${RELEASEDIR}/${RELEASEMACHINEDIR}
489.endif 489.endif
490 ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR} 490 ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR}
491.for dir in ${INSTALLATION_DIRS} 491.for dir in ${INSTALLATION_DIRS}
492 ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR}/${dir} 492 ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR}/${dir}
493.endfor 493.endfor
494 494
495# snap_post -- 495# snap_post --
496# Build the install media and notes from distrib 496# Build the install media and notes from distrib
497# 497#
498snap_post: .PHONY .MAKE build_kernelsets build_releasekernels 498snap_post: .PHONY .MAKE build_kernelsets build_releasekernels
499.if ${MKUPDATE} == "no" 499.if ${MKUPDATE} == "no"
500 cd ${NETBSDSRCDIR}/distrib && ${MAKE} cleandir 500 cd ${NETBSDSRCDIR}/distrib && ${MAKE} cleandir
501.endif 501.endif
502 cd ${NETBSDSRCDIR}/distrib && ${MAKE} depend && ${MAKE} && \ 502 cd ${NETBSDSRCDIR}/distrib && ${MAKE} depend && ${MAKE} && \
503 ${MAKE} release 503 ${MAKE} release
504 504
505# build kernels -- 505# build kernels --
506# This target builds the kernels specified by each port. 506# This target builds the kernels specified by each port.
507# A port may specify the following kernels: 507# A port may specify the following kernels:
508# 508#
509# KERNEL_SETS The list of kernels that will be 509# KERNEL_SETS The list of kernels that will be
510# packaged into sets, named 510# packaged into sets, named
511# kern-${kernel}.tgz. These kernels 511# kern-${kernel}.tgz. These kernels
512# are also placed in the binary/kernel 512# are also placed in the binary/kernel
513# area of the release package as 513# area of the release package as
514# netbsd-${kernel}.gz. 514# netbsd-${kernel}.gz.
515# 515#
516# EXTRA_KERNELS Additional kernels to place in the 516# EXTRA_KERNELS Additional kernels to place in the
517# binary/kernel area of the release 517# binary/kernel area of the release
518# package as netbsd-${kernel}.gz, but 518# package as netbsd-${kernel}.gz, but
519# which are not placed into sets. This 519# which are not placed into sets. This
520# allows a port to provide e.g. a netbootable 520# allows a port to provide e.g. a netbootable
521# installation kernel containing a ramdisk. 521# installation kernel containing a ramdisk.
522# 522#
523# BUILD_KERNELS Additional kernels to build which are 523# BUILD_KERNELS Additional kernels to build which are
524# not placed into sets nor into the 524# not placed into sets nor into the
525# binary/kernel area of the release 525# binary/kernel area of the release
526# package. These are typically kernels 526# package. These are typically kernels
527# that are built for inclusion only in 527# that are built for inclusion only in
528# installation disk/CD-ROM/tape images. 528# installation disk/CD-ROM/tape images.
529# 529#
530# A port may also specify KERNEL_SUFFIXES, which is an optional list 530# A port may also specify KERNEL_SUFFIXES, which is an optional list
531# of filename suffixes for kernels to include in the kernel sets and 531# of filename suffixes for kernels to include in the kernel sets and
532# in the binary/kernel area of the release package (e.g. "netbsd" vs. 532# in the binary/kernel area of the release package (e.g. "netbsd" vs.
533# "netbsd.ecoff" and "netbsd.srec"). It is not an error if kernels 533# "netbsd.ecoff" and "netbsd.srec"). It is not an error if kernels
534# with these suffixes do not exist in the kernel build directory. 534# with these suffixes do not exist in the kernel build directory.
535# 535#
536# 536#
537# A list of all the kernels to build, which can be overridden from 537# A list of all the kernels to build, which can be overridden from
538# external sources (such as make(1)'s environment or command line) 538# external sources (such as make(1)'s environment or command line)
539# 539#
540ALL_KERNELS?= ${KERNEL_SETS} ${EXTRA_KERNELS} ${BUILD_KERNELS} 540ALL_KERNELS?= ${KERNEL_SETS} ${EXTRA_KERNELS} ${BUILD_KERNELS}
541 541
542GETKERNELAWK= ${TOOL_AWK} '/^config/ {print $$2; found=1} \ 542GETKERNELAWK= ${TOOL_AWK} '/^config/ {print $$2; found=1} \
543 END{ if (found == 0) print "netbsd"; }' 543 END{ if (found == 0) print "netbsd"; }'
544 544
545build_kernels: .PHONY 545build_kernels: .PHONY
546# Configure & compile kernels listed in ${ALL_KERNELS} 546# Configure & compile kernels listed in ${ALL_KERNELS}
547# 547#
548# The 'sync' is so that all writes during the build are pushed back 548# The 'sync' is so that all writes during the build are pushed back
549# to the disk. Not having it causes problems on some host systems 549# to the disk. Not having it causes problems on some host systems
550# (e.g. Linux) when building on NFS. 550# (e.g. Linux) when building on NFS.
551# 551#
552.if !defined(KERNELS_DONE) # { 552.if !defined(KERNELS_DONE) # {
553.for configfile in ${ALL_KERNELS} # { 553.for configfile in ${ALL_KERNELS} # {
554build_kernels: kern-${configfile} 554build_kernels: kern-${configfile}
555kern-${configfile}: .PHONY .MAKE 555kern-${configfile}: .PHONY .MAKE
556 cd ${KERNCONFDIR} && ${TOOL_CONFIG} -s ${KERNSRCDIR} \ 556 cd ${KERNCONFDIR} && ${TOOL_CONFIG} -s ${KERNSRCDIR} \
557 -b ${KERNOBJDIR}/${configfile:C/.*\///} ${configfile} 557 -b ${KERNOBJDIR}/${configfile:C/.*\///} ${configfile}
558.if ${MKUPDATE} == "no" 558.if ${MKUPDATE} == "no"
559 cd ${KERNOBJDIR}/${configfile:C/.*\///} && ${MAKE} distclean 559 cd ${KERNOBJDIR}/${configfile:C/.*\///} && ${MAKE} distclean
560.endif 560.endif
561 cd ${KERNOBJDIR}/${configfile:C/.*\///} && ${MAKE} depend && ${MAKE} 561 cd ${KERNOBJDIR}/${configfile:C/.*\///} && ${MAKE} depend && ${MAKE}
562 sync 562 sync
563.endfor # ALL_KERNELS # } 563.endfor # ALL_KERNELS # }
564.endif # KERNELS_DONE # } 564.endif # KERNELS_DONE # }
565 565
566build_kernelsets: .PHONY 566build_kernelsets: .PHONY
567# Create kernel sets from ${KERNEL_SETS} into 567# Create kernel sets from ${KERNEL_SETS} into
568# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets 568# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
569# 569#
570.for configfile in ${KERNEL_SETS} # { 570.for configfile in ${KERNEL_SETS} # {
571build_kernelsets: kernset-${configfile} 571build_kernelsets: kernset-${configfile}
572kernset-${configfile}: .PHONY build_kernels snap_pre 572kernset-${configfile}: .PHONY build_kernels snap_pre
573 @ kernlist=`${GETKERNELAWK} ${KERNCONFDIR}/${configfile}`; \ 573 @ kernlist=`${GETKERNELAWK} ${KERNCONFDIR}/${configfile}`; \
574 kerndir=${KERNOBJDIR}/${configfile:C/.*\///}; \ 574 kerndir=${KERNOBJDIR}/${configfile:C/.*\///}; \
575 kernsuffixes="${KERNEL_SUFFIXES:S/^/./}"; \ 575 kernsuffixes="${KERNEL_SUFFIXES:S/^/./}"; \
576 kern_tgz=${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets/kern-${configfile}.tgz; \ 576 kern_tgz=${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets/kern-${configfile}.tgz; \
577 pax_cmd="GZIP=-9 ${TOOL_PAX} -O -zw -M -N ${NETBSDSRCDIR}/etc -f $${kern_tgz}"; \ 577 pax_cmd="GZIP=-9 ${TOOL_PAX} -O -zw -M -N ${NETBSDSRCDIR}/etc -f $${kern_tgz}"; \
578 cd $${kerndir} && { \ 578 cd $${kerndir} && { \
579 kernels=; newest=; \ 579 kernels=; newest=; \
580 for kernel in $${kernlist}; do \ 580 for kernel in $${kernlist}; do \
581 for s in "" $${kernsuffixes}; do \ 581 for s in "" $${kernsuffixes}; do \
582 ks="$${kernel}$${s}"; \ 582 ks="$${kernel}$${s}"; \
583 [ -f $${ks} ] || continue; \ 583 [ -f $${ks} ] || continue; \
584 kernels="$${kernels} $${ks}"; \ 584 kernels="$${kernels} $${ks}"; \
585 [ -z "$${newest}" -o $${ks} -nt "$${newest}" ] && \ 585 [ -z "$${newest}" -o $${ks} -nt "$${newest}" ] && \
586 newest=$${ks}; \ 586 newest=$${ks}; \
587 done; \ 587 done; \
588 done; \ 588 done; \
589 [ $${kern_tgz} -nt "$${newest}" ] || { \ 589 [ $${kern_tgz} -nt "$${newest}" ] || { \
590 echo "echo $${kernels} | $${pax_cmd}"; \ 590 echo "echo $${kernels} | $${pax_cmd}"; \
591 ( echo "/set uname=${BINOWN} gname=${BINGRP}"; \ 591 ( echo "/set uname=${BINOWN} gname=${BINGRP}"; \
592 echo ". type=dir optional"; \ 592 echo ". type=dir optional"; \
593 for kernel in $${kernels}; do \ 593 for kernel in $${kernels}; do \
594 echo "./$${kernel} type=file"; \ 594 echo "./$${kernel} type=file"; \
595 done ) | eval $${pax_cmd}; \ 595 done ) | eval $${pax_cmd}; \
596 } \ 596 } \
597 } 597 }
598.endfor # KERNEL_SETS # } 598.endfor # KERNEL_SETS # }
599 599
600build_releasekernels: .PHONY 600build_releasekernels: .PHONY
601# Build kernel.gz from ${KERNEL_SETS} ${EXTRA_KERNELS} into 601# Build kernel.gz from ${KERNEL_SETS} ${EXTRA_KERNELS} into
602# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel 602# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel
603# 603#
604.for configfile in ${KERNEL_SETS} ${EXTRA_KERNELS} # { 604.for configfile in ${KERNEL_SETS} ${EXTRA_KERNELS} # {
605build_releasekernels: releasekern-${configfile} 605build_releasekernels: releasekern-${configfile}
606releasekern-${configfile}: .PHONY build_kernels snap_pre 606releasekern-${configfile}: .PHONY build_kernels snap_pre
607 @ kernlist=`${GETKERNELAWK} ${KERNCONFDIR}/${configfile:C/.*\///}`; \ 607 @ kernlist=`${GETKERNELAWK} ${KERNCONFDIR}/${configfile:C/.*\///}`; \
608 kerndir=${KERNOBJDIR}/${configfile:C/.*\///}; \ 608 kerndir=${KERNOBJDIR}/${configfile:C/.*\///}; \
609 kernsuffixes="${KERNEL_SUFFIXES:S/^/./}"; \ 609 kernsuffixes="${KERNEL_SUFFIXES:S/^/./}"; \
610 cd $${kerndir} && { \ 610 cd $${kerndir} && { \
611 for kernel in $${kernlist}; do \ 611 for kernel in $${kernlist}; do \
612 for s in "" $${kernsuffixes}; do \ 612 for s in "" $${kernsuffixes}; do \
613 ks="$${kernel}$${s}"; \ 613 ks="$${kernel}$${s}"; \
614 [ ! -f $${ks} ] && continue; \ 614 [ ! -f $${ks} ] && continue; \
615 knl_gz="${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel/$${ks}-${configfile:C/.*\///}.gz"; \ 615 knl_gz="${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel/$${ks}-${configfile:C/.*\///}.gz"; \
616 [ $${knl_gz} -nt $${ks} ] && continue; \ 616 [ $${knl_gz} -nt $${ks} ] && continue; \
617 rm -f $${knl_gz}; \ 617 rm -f $${knl_gz}; \
618 echo "gzip -c -9 < $${kerndir}/$${ks} > $${knl_gz}"; \ 618 echo "gzip -c -9 < $${kerndir}/$${ks} > $${knl_gz}"; \
619 gzip -c -9 < $${ks} > $${knl_gz}; \ 619 gzip -c -9 < $${ks} > $${knl_gz}; \
620 done; \ 620 done; \
621 done; \ 621 done; \
622 } 622 }
623.endfor # KERNEL_SETS EXTRA_KERNELS # } 623.endfor # KERNEL_SETS EXTRA_KERNELS # }
624 624
625# snap_md_post -- 625# snap_md_post --
626# Machine dependent distribution media operations. 626# Machine dependent distribution media operations.
627# Overridden by etc.$MACHINE/Makefile.inc 627# Overridden by etc.$MACHINE/Makefile.inc
628# 628#
629snap_md_post: .PHONY check_DESTDIR check_RELEASEDIR snap_post 629snap_md_post: .PHONY check_DESTDIR check_RELEASEDIR snap_post
630# (empty -- look in the machine-dependent Makefile.inc) 630# (empty -- look in the machine-dependent Makefile.inc)
631 631
632 632
633clean: 633clean:
634 -rm -rf ${CDROM.dir} ${CDROM.pathlist} ${OBSOLETE.dir} 634 -rm -rf ${CDROM.dir} ${CDROM.pathlist} ${OBSOLETE.dir}
635 635
636SUBDIR= rc.d 636SUBDIR= rc.d
637 637
638.include <bsd.prog.mk> 638.include <bsd.prog.mk>
639.include <bsd.subdir.mk> 639.include <bsd.subdir.mk>
640 640
641test: 641test:
642 @echo ${OBSOLETE.files} 642 @echo ${OBSOLETE.files}