Module Name: src Committed By: jym Date: Mon Aug 22 18:54:06 UTC 2011
Modified Files: src/etc: Makefile src/etc/defaults: Makefile rc.conf Added Files: src/etc/etc.amd64: rc.conf src/etc/etc.i386: rc.conf Log Message: Modify etc/defaults/Makefile so that architectures can specify an additional rc.conf file. This one should reside under etc/etc.${MACHINE}/, and will get automatically appended to etc/defaults/rc.conf at build time if present. This is used by i386 and amd64 to append a small MD rc.conf(5) configuration at the end of the defaults/rc.conf file, so that powerd(8) can be started by default when we are running in a Xen environment. This is needed to support save/restore functions for domains. >From all the alternatives proposed to fix that issue (from /etc/rc.conf parsing in postinstall to etc/defaults/rc.conf arch-hooks) I believe this one will appease everyone because it: - does not touch etc/defaults/rc.conf template file, - patches it at build time for MD hooks only when required, - does not need to parse/modify a user-specified file like /etc/rc.conf (which is a complex, error-prone operation), - only enables powerd(8) by default when conditions are met (Xen environment) while still allowing root to shoot himself in the foot if he wants to override this manually in /etc/rc.conf. See also http://mail-index.netbsd.org/tech-userlevel/2011/07/25/msg005246.html To generate a diff of this commit: cvs rdiff -u -r1.391 -r1.392 src/etc/Makefile cvs rdiff -u -r1.3 -r1.4 src/etc/defaults/Makefile cvs rdiff -u -r1.113 -r1.114 src/etc/defaults/rc.conf cvs rdiff -u -r0 -r1.1 src/etc/etc.amd64/rc.conf cvs rdiff -u -r0 -r1.1 src/etc/etc.i386/rc.conf Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/etc/Makefile diff -u src/etc/Makefile:1.391 src/etc/Makefile:1.392 --- src/etc/Makefile:1.391 Thu Jun 30 18:15:13 2011 +++ src/etc/Makefile Mon Aug 22 18:54:05 2011 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.391 2011/06/30 18:15:13 matt Exp $ +# $NetBSD: Makefile,v 1.392 2011/08/22 18:54:05 jym Exp $ # from: @(#)Makefile 8.7 (Berkeley) 5/25/95 # Environment variables without default values: @@ -630,7 +630,7 @@ clean: -rm -rf ${CDROM.dir} ${CDROM.pathlist} ${OBSOLETE.dir} -SUBDIR= rc.d mtree +SUBDIR= defaults rc.d mtree .include <bsd.prog.mk> .include <bsd.subdir.mk> Index: src/etc/defaults/Makefile diff -u src/etc/defaults/Makefile:1.3 src/etc/defaults/Makefile:1.4 --- src/etc/defaults/Makefile:1.3 Sun May 16 09:53:09 2004 +++ src/etc/defaults/Makefile Mon Aug 22 18:54:06 2011 @@ -1,7 +1,23 @@ -# $NetBSD: Makefile,v 1.3 2004/05/16 09:53:09 lukem Exp $ +# $NetBSD: Makefile,v 1.4 2011/08/22 18:54:06 jym Exp $ -CONFIGFILES= daily.conf monthly.conf rc.conf security.conf weekly.conf +.include <bsd.own.mk> + +CONFIGFILES= daily.conf monthly.conf security.conf weekly.conf FILESDIR= /etc/defaults FILESMODE= ${NONBINMODE} +# Manage arch-specific rc.conf(5) file +CONFIGFILES+= rc_conf +FILESNAME_rc_conf= rc.conf +FILESBUILD_rc_conf= yes + +RCCONF_SRCS= ${.CURDIR}/rc.conf +.if exists(../etc.${MACHINE}/rc.conf) +RCCONF_SRCS+= ${.CURDIR}/../etc.${MACHINE}/rc.conf +.endif + +rc_conf: ${RCCONF_SRCS} + ${_MKTARGET_CREATE} + ${TOOL_CAT} ${RCCONF_SRCS} > ${.TARGET} + .include <bsd.prog.mk> Index: src/etc/defaults/rc.conf diff -u src/etc/defaults/rc.conf:1.113 src/etc/defaults/rc.conf:1.114 --- src/etc/defaults/rc.conf:1.113 Fri May 27 09:28:42 2011 +++ src/etc/defaults/rc.conf Mon Aug 22 18:54:06 2011 @@ -1,4 +1,4 @@ -# $NetBSD: rc.conf,v 1.113 2011/05/27 09:28:42 plunky Exp $ +# $NetBSD: rc.conf,v 1.114 2011/08/22 18:54:06 jym Exp $ # # /etc/defaults/rc.conf -- # default configuration of /etc/rc.conf @@ -360,3 +360,4 @@ veriexec_strict=0 veriexec_verbose=0 veriexec_flags="-k" + Added files: Index: src/etc/etc.amd64/rc.conf diff -u /dev/null src/etc/etc.amd64/rc.conf:1.1 --- /dev/null Mon Aug 22 18:54:07 2011 +++ src/etc/etc.amd64/rc.conf Mon Aug 22 18:54:06 2011 @@ -0,0 +1,9 @@ +# $NetBSD: rc.conf,v 1.1 2011/08/22 18:54:06 jym Exp $ +# +# Arch-specific rc.conf(5) configuration. + +# powerd(8) is required under Xen to manage save/restore events. +# +if /sbin/sysctl -q machdep.xen; then + powerd=YES +fi Index: src/etc/etc.i386/rc.conf diff -u /dev/null src/etc/etc.i386/rc.conf:1.1 --- /dev/null Mon Aug 22 18:54:07 2011 +++ src/etc/etc.i386/rc.conf Mon Aug 22 18:54:06 2011 @@ -0,0 +1,9 @@ +# $NetBSD: rc.conf,v 1.1 2011/08/22 18:54:06 jym Exp $ +# +# Arch-specific rc.conf(5) configuration. + +# powerd(8) is required under Xen to manage save/restore events. +# +if /sbin/sysctl -q machdep.xen; then + powerd=YES +fi