summaryrefslogtreecommitdiffstats
path: root/usr.bin/locate
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/locate')
-rw-r--r--usr.bin/locate/locate/locate.rc5
-rw-r--r--usr.bin/locate/locate/updatedb.sh9
2 files changed, 13 insertions, 1 deletions
diff --git a/usr.bin/locate/locate/locate.rc b/usr.bin/locate/locate/locate.rc
index 54cc6d8..3ed0c38 100644
--- a/usr.bin/locate/locate/locate.rc
+++ b/usr.bin/locate/locate/locate.rc
@@ -15,9 +15,12 @@
# directories to be put in the database
#SEARCHPATHS="/"
-# directories unwanted in output
+# paths unwanted in output
#PRUNEPATHS="/tmp /usr/tmp /var/tmp /var/db/portsnap"
+# directories unwanted in output
+#PRUNEDIRS=".zfs"
+
# filesystems allowed. Beware: a non-listed filesystem will be pruned
# and if the SEARCHPATHS starts in such a filesystem locate will build
# an empty database.
diff --git a/usr.bin/locate/locate/updatedb.sh b/usr.bin/locate/locate/updatedb.sh
index d828438..619180e 100644
--- a/usr.bin/locate/locate/updatedb.sh
+++ b/usr.bin/locate/locate/updatedb.sh
@@ -52,6 +52,7 @@ PATH=$LIBEXECDIR:/bin:/usr/bin:$PATH; export PATH
: ${FCODES:=/var/db/locate.database} # the database
: ${SEARCHPATHS:="/"} # directories to be put in the database
: ${PRUNEPATHS:="/tmp /usr/tmp /var/tmp /var/db/portsnap"} # unwanted directories
+: ${PRUNEDIRS:=".zfs"} # unwanted directories, in any parent
: ${FILESYSTEMS:="$(lsvfs | tail -n +3 | \
egrep -vw "loopback|network|synthetic|read-only|0" | \
cut -d " " -f1)"} # allowed filesystems
@@ -79,6 +80,14 @@ case X"$PRUNEPATHS" in
done;;
esac
+case X"$PRUNEDIRS" in
+ X) ;;
+ *) for dir in $PRUNEDIRS
+ do
+ excludes="$excludes -or -name $dir -type d -prune"
+ done;;
+esac
+
tmp=$TMPDIR/_updatedb$$
trap 'rm -f $tmp; rmdir $TMPDIR' 0 1 2 3 5 10 15
OpenPOWER on IntegriCloud