Module Name: src Committed By: jym Date: Tue Sep 6 21:39:30 UTC 2011
Modified Files: src/usr.sbin/postinstall: postinstall Log Message: /etc/defaults/rc.conf can be modified at build time by getting additional arch-specific hooks appended to its end (currently: i386 and amd64). Handle this case in postinstall(8) by checking whether we are in $SOURCEMODE or not, and generate the correct rc.conf file on the fly in case we have to. Otherwise, postinstall(8) may install the default one obtained from a source directory that does not have the MD hooks appended to it. Problem reported by wiz@. Thanks! To generate a diff of this commit: cvs rdiff -u -r1.124 -r1.125 src/usr.sbin/postinstall/postinstall Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/postinstall/postinstall diff -u src/usr.sbin/postinstall/postinstall:1.124 src/usr.sbin/postinstall/postinstall:1.125 --- src/usr.sbin/postinstall/postinstall:1.124 Tue Sep 6 14:13:46 2011 +++ src/usr.sbin/postinstall/postinstall Tue Sep 6 21:39:30 2011 @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: postinstall,v 1.124 2011/09/06 14:13:46 jym Exp $ +# $NetBSD: postinstall,v 1.125 2011/09/06 21:39:30 jym Exp $ # # Copyright (c) 2002-2008 The NetBSD Foundation, Inc. # All rights reserved. @@ -747,9 +747,32 @@ op="$1" failed=0 + # Except for i386 and amd64, rc.conf(5) should be the same as the + # one obtained from a source directory + extra_scripts="rc.conf" + if [ "$MACHINE" = "i386" -o "$MACHINE" = "amd64" ]; then + if $SOURCEMODE; then + extra_scripts= # clear + + # Generate and compare the correct rc.conf(5) file + mkdir "${SCRATCHDIR}/defaults" + + cat "${SRC_DIR}/etc/defaults/rc.conf" \ + "${SRC_DIR}/etc/etc.${MACHINE}/rc.conf.append" \ + > "${SCRATCHDIR}/defaults/rc.conf" + + compare_dir "${op}" "${SCRATCHDIR}/defaults" \ + "${DEST_DIR}/etc/defaults" \ + 444 \ + "rc.conf" + failed=$(( ${failed} + $? )) + fi + fi + compare_dir "$op" "${SRC_DIR}/etc/defaults" "${DEST_DIR}/etc/defaults" \ 444 \ - daily.conf monthly.conf rc.conf security.conf weekly.conf + daily.conf monthly.conf security.conf \ + weekly.conf ${extra_scripts} failed=$(( ${failed} + $? )) find_file_in_dirlist pf.boot.conf "pf.boot.conf" \