From owner-freebsd-bugs Sat Nov 25 18:50:17 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id C5BA537B4D7 for ; Sat, 25 Nov 2000 18:50:05 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id SAA07326; Sat, 25 Nov 2000 18:50:05 -0800 (PST) (envelope-from gnats@FreeBSD.org) Date: Sat, 25 Nov 2000 18:50:05 -0800 (PST) Message-Id: <200011260250.SAA07326@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Cyrille Lefevre Subject: Re: conf/14931: rc logging facility Reply-To: Cyrille Lefevre Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR conf/14931; it has been noted by GNATS. From: Cyrille Lefevre To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: conf/14931: rc logging facility Date: Sun, 26 Nov 2000 03:47:55 +0100 (CET) updated version of the original PR. I'm using it for month w/o any problems. that's permit to me to know what's happen at boot time even if I'm not front to the console. maybe this one could be commited until something much better exists ? PS : this script relies on script which lives on the /usr filesystem. if /usr/bin doesn't exists, nothing is logged. a possible solution is to have a static linked script living in /bin. Index: defaults/rc.conf =================================================================== RCS file: /home/ncvs/src/etc/defaults/rc.conf,v retrieving revision 1.53.2.13 diff -u -r1.53.2.13 rc.conf --- defaults/rc.conf 2000/11/11 20:33:40 1.53.2.13 +++ defaults/rc.conf 2000/11/26 02:38:33 @@ -19,6 +19,8 @@ ### Important initial Boot-time options #################### ############################################################## +rc_log_enable="YES" # enable rc logging facility +rc_debug_enable="NO" # enable rc debug (trace) facility swapfile="NO" # Set to name of swapfile if aux swapfile desired. apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO). apmd_enable="NO" # Run apmd to handle APM event from userland. Index: rc =================================================================== RCS file: /home/ncvs/src/etc/rc,v retrieving revision 1.212.2.8 diff -u -r1.212.2.8 rc --- rc 2000/10/30 10:40:10 1.212.2.8 +++ rc 2000/10/31 03:46:45 @@ -158,6 +158,13 @@ sh ${diskless_mount} fi +# log rc.* messages. +# +if [ -r /etc/rc.bootlog ]; then + . /etc/rc.bootlog +fi +# DO NOT DELETE THIS LINE -- rc.boot uses it + adjkerntz -i purgedir() { ----------=========--------- /etc/rc.bootlog ----------=========--------- # Copyright (c) 2000 Cyrille Lefevre # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # log rc.* messages. # case ${rc_log_enable:-YES} in [Yy][Ee][Ss]) if [ -f $0 ]; then rc_file=$0 else rc_file= fi if [ -d /usr/bin ]; then rc_usrbindir=/usr/bin else rc_usrbindir= fi if [ -d /var/tmp -a -w /var/tmp ]; then rc_tmpfile=/var/tmp/rc.tmp elif [ -w /etc ]; then rc_tmpfile=/etc/rc.tmp else rc_tmpfile= fi # Do not use /var/run, it is cleaned by rc.bootlog. # if [ -d /var/log -a -w /var/log ]; then rc_logfile=/var/log/rc.log rc_symlink=/etc/rc.log elif [ -w /etc ]; then rc_logfile=/etc/rc.log rc_symlink= else rc_logfile= rc_symlink= fi case ${rc_debug_enable:-NO} in [Yy][Ee][Ss]) rc_debug='s/$/ -x/' ;; *) rc_debug= ;; esac rc_tag="# DO NOT DELETE THIS LINE -- rc.bootlog uses it" if [ "X${rc_file}" != X -a "X${rc_usrbindir}" != X -a \ "X${rc_tmpfile}" != X -a "X${rc_logfile}" != X ] && grep -q "${rc_tag}" "${rc_file}" && sed -n "1${rc_debug}p /^[^#]*rc.conf/p /${rc_tag}/,\${ s/${rc_tag}/fi/ p }" "${rc_file}" > "${rc_tmpfile}" && [ -s "${rc_tmpfile}" ]; then if [ -f "${rc_logfile}" ]; then mv ${rc_logfile} ${rc_logfile}.old fi if [ "X${rc_symlink}" != X ]; then if [ -f "${rc_symlink}" ]; then mv ${rc_symlink} ${rc_symlink}.old fi if [ ! -L "${rc_symlink}" ]; then ln -s ${rc_logfile} ${rc_symlink} fi fi touch ${rc_logfile} chmod 664 ${rc_logfile} chmod 755 ${rc_tmpfile} SHELL=${rc_tmpfile} script ${rc_logfile} rc_status=$? rm ${rc_tmpfile} exit ${rc_status} fi ;; esac ----------=========--------- /etc/rc.bootlog ----------=========--------- Cyrille. -- home: mailto:clefevre@citeweb.net work: mailto:Cyrille.Lefevre@edf.fr To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message