svn commit: r257782 - head/usr.sbin/bsdconfig/share

Devin Teske dteske at FreeBSD.org
Thu Nov 7 10:20:20 UTC 2013


Author: dteske
Date: Thu Nov  7 10:20:19 2013
New Revision: 257782
URL: http://svnweb.freebsd.org/changeset/base/257782

Log:
  Add global DEBUG_INITIALIZE_FILE environment variable for controlling
  whether the debugFile is truncated upon initialization (useful for when
  children implicitly re-initialize debugging and you want children to
  append to your existing debugFile).

Modified:
  head/usr.sbin/bsdconfig/share/common.subr

Modified: head/usr.sbin/bsdconfig/share/common.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/common.subr	Thu Nov  7 10:14:40 2013	(r257781)
+++ head/usr.sbin/bsdconfig/share/common.subr	Thu Nov  7 10:20:19 2013	(r257782)
@@ -68,6 +68,14 @@ export UNAME_R="$(uname -r)" # Release L
 : ${DEBUG_SELF_INITIALIZE=1}
 
 #
+# Default behavior of f_debug_init() is to truncate $debugFile (set to NULL to
+# disable truncating the debug file when initializing). To get child processes
+# to append to the same log file, export this variarable (with a NULL value)
+# and also export debugFile with the desired value.
+# 
+: ${DEBUG_INITIALIZE_FILE=1}
+
+#
 # Define standard optstring arguments that should be supported by all programs
 # using this include (unless DEBUG_SELF_INITIALIZE is set to NULL to prevent
 # f_debug_init() from autamatically processing "$@" for the below arguments):
@@ -164,13 +172,13 @@ f_debug_init()
 	[ "$debugFile" ] && export debugFile
 
 	#
-	# Truncate the debug file upon. Note that we will trim a leading plus
-	# (`+') from the value of debugFile to support persistant meaning that
-	# f_dprintf() should print both to standard output and $debugFile
-	# (minus the leading plus, of course).
+	# Truncate debug file unless requested otherwise. Note that we will
+	# trim a leading plus (`+') from the value of debugFile to support
+	# persistant meaning that f_dprintf() should print both to standard
+	# output and $debugFile (minus the leading plus, of course).
 	#
 	local _debug_file="${debugFile#+}"
-	if [ "$_debug_file" ]; then
+	if [ "$_debug_file" -a "$DEBUG_INITIALIZE_FILE" ]; then
 		if ( umask 022 && :> "$_debug_file" ); then
 			f_dprintf "Successfully initialized debugFile \`%s'" \
 			          "$_debug_file"


More information about the svn-src-all mailing list