Module Name:    src
Committed By:   christos
Date:           Mon Jul 30 17:06:51 UTC 2012

Modified Files:
        src/etc: daily
        src/etc/defaults: daily.conf
        src/share/man/man5: daily.5

Log Message:
PR/46756: Edgar Fu�: Enable ignoring subdirectories in daily's find_core


To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 src/etc/daily
cvs rdiff -u -r1.16 -r1.17 src/etc/defaults/daily.conf
cvs rdiff -u -r1.4 -r1.5 src/share/man/man5/daily.5

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/etc/daily
diff -u src/etc/daily:1.81 src/etc/daily:1.82
--- src/etc/daily:1.81	Wed Feb 15 18:30:11 2012
+++ src/etc/daily	Mon Jul 30 13:06:51 2012
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-#	$NetBSD: daily,v 1.81 2012/02/15 23:30:11 joerg Exp $
+#	$NetBSD: daily,v 1.82 2012/07/30 17:06:51 christos Exp $
 #	@(#)daily	8.2 (Berkeley) 1/25/94
 #
 
@@ -89,7 +89,16 @@ if checkyesno find_core; then
 	ignfstypes="$(echo $find_core_ignore_fstypes | \
 		sed -e's/\(!*\)\([^[:space:]]\{1,\}\)/-o \1 -fstype \2/g' \
 		    -e's/^-o //')"
+	# Turn "foo bar" into "( -path foo -o -path bar ) -prune -o"
+	# Set ignpaths empty if no find_core_ignore_paths given
+	if [ -n "$find_core_ignore_paths" ]; then
+		ignpaths="$(printf " -o -path %s" $find_core_ignore_paths)"
+		ignpaths="( ${ignpaths# -o } ) -prune -o"
+	else
+		ignpaths=""
+	fi
 	find / \( $ignfstypes \) -prune -o \
+		${ignpaths} \
 		-name 'lost+found' -prune -o \
 		\( -name '*.core' -o -name 'core' \) -type f -print > $TMP
 #		\( -name '[#,]*' -o -name '.#*' -o -name a.out \

Index: src/etc/defaults/daily.conf
diff -u src/etc/defaults/daily.conf:1.16 src/etc/defaults/daily.conf:1.17
--- src/etc/defaults/daily.conf:1.16	Tue Feb  7 14:13:30 2012
+++ src/etc/defaults/daily.conf	Mon Jul 30 13:06:51 2012
@@ -1,4 +1,4 @@
-#	$NetBSD: daily.conf,v 1.16 2012/02/07 19:13:30 joerg Exp $
+#	$NetBSD: daily.conf,v 1.17 2012/07/30 17:06:51 christos Exp $
 #
 # /etc/defaults/daily.conf --
 #	default configuration of /etc/daily.conf
@@ -11,6 +11,7 @@
 
 find_core=YES
 find_core_ignore_fstypes="!local rdonly fdesc null kernfs procfs ptyfs"
+find_core_ignore_paths=""
 expire_news=NO
 purge_accounting=YES
 run_msgs=YES

Index: src/share/man/man5/daily.5
diff -u src/share/man/man5/daily.5:1.4 src/share/man/man5/daily.5:1.5
--- src/share/man/man5/daily.5:1.4	Tue Mar  6 05:12:59 2012
+++ src/share/man/man5/daily.5	Mon Jul 30 13:06:51 2012
@@ -1,4 +1,4 @@
-.\"	$NetBSD: daily.5,v 1.4 2012/03/06 10:12:59 plunky Exp $
+.\"	$NetBSD: daily.5,v 1.5 2012/07/30 17:06:51 christos Exp $
 .\"
 .\" Copyright (c) 1996 Matthew R. Green
 .\" All rights reserved.
@@ -24,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd March 6, 2012
+.Dd July 30, 2012
 .Dt DAILY 5
 .Os
 .Sh NAME
@@ -168,6 +168,16 @@ will ignore
 .Ql procfs
 type filesystems and filesystems that are not
 .Ql local .
+.It Sy find_core_ignore_paths
+Lists paths to ignore during the
+.Sy find_core
+phase.
+For example,
+.Ql /export
+will not descend into any directories under the
+.Ql /export
+hierarchy. This, on a file server, allows to skip
+user data while still scanning system files.
 .It Sy run_fsck_flags
 Extra options to be passed to
 .Xr fsck 8

Reply via email to