BSD 4_4 release
[unix-history] / usr / src / usr.bin / locate / locate / updatedb.csh
index 2d15df3..e72c758 100644 (file)
@@ -1,34 +1,51 @@
 #!/bin/csh -f
 #
 #!/bin/csh -f
 #
-# Copyright (c) 1989 The Regents of the University of California.
-# All rights reserved.
+# Copyright (c) 1989, 1993
+#      The Regents of the University of California.  All rights reserved.
 #
 # This code is derived from software contributed to Berkeley by
 # James A. Woods.
 #
 #
 # This code is derived from software contributed to Berkeley by
 # James A. Woods.
 #
-# Redistribution and use in source and binary forms are permitted
-# provided that the above copyright notice and this paragraph are
-# duplicated in all such forms and that any documentation,
-# advertising materials, and other materials related to such
-# distribution and use acknowledge that the software was developed
-# by the University of California, Berkeley.  The name of the
-# University may not be used to endorse or promote products derived
-# from this software without specific prior written permission.
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+# 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.
+# 3. All advertising materials mentioning features or use of this software
+#    must display the following acknowledgement:
+#      This product includes software developed by the University of
+#      California, Berkeley and its contributors.
+# 4. Neither the name of the University nor the names of its contributors
+#    may be used to endorse or promote products derived from this software
+#    without specific prior written permission.
 #
 #
-#      @(#)updatedb.csh        4.11 (Berkeley) %G%
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
 #
 #
+#      @(#)updatedb.csh        8.1 (Berkeley) 6/6/93
+#
+
 set SRCHPATHS = "/"                    # directories to be put in the database
 set LIBDIR = /usr/libexec              # for subprograms
 if (! $?TMPDIR) set TMPDIR = /var/tmp  # for temp files
 set SRCHPATHS = "/"                    # directories to be put in the database
 set LIBDIR = /usr/libexec              # for subprograms
 if (! $?TMPDIR) set TMPDIR = /var/tmp  # for temp files
-set FCODES = /var/db/find.database     # the database
+set FCODES = /var/db/locate.database   # the database
 
 set path = ( /bin /usr/bin )
 
 set path = ( /bin /usr/bin )
-set bigrams = $TMPDIR/f.bigrams$$
-set filelist = $TMPDIR/f.list$$
-set errs = $TMPDIR/f.errs$$
+set bigrams = $TMPDIR/locate.bigrams.$$
+set filelist = $TMPDIR/locate.list.$$
+set errs = $TMPDIR/locate.errs.$$
 
 # Make a file list and compute common bigrams.
 # Alphabetize '/' before any other char with 'tr'.
 
 # Make a file list and compute common bigrams.
 # Alphabetize '/' before any other char with 'tr'.
@@ -37,19 +54,51 @@ set errs = $TMPDIR/f.errs$$
 # ('awk', with its associative memory capacity, can do this in several
 # lines, but is too slow, and runs out of string space on small machines).
 
 # ('awk', with its associative memory capacity, can do this in several
 # lines, but is too slow, and runs out of string space on small machines).
 
-find ${SRCHPATHS} -print | tr '/' '\001' | \
-   (sort -f; echo $status > $errs) | \
-   tr '\001' '/' >$filelist
-$LIBDIR/find.bigram <$filelist | \
-   (sort; echo $status >> $errs) | uniq -c | sort -nr | \
-   awk '{ if (NR <= 128) print $2 }' | tr -d '\012' > $bigrams
+# search locally or everything
+# find ${SRCHPATHS} -print | \
+find ${SRCHPATHS} \! -fstype local -prune -or -print | \
+       tr '/' '\001' | \
+       (sort -T /var/tmp -f; echo $status > $errs) | tr '\001' '/' > $filelist
+
+$LIBDIR/locate.bigram < $filelist | \
+       (sort -T /var/tmp; echo $status >> $errs) | \
+       uniq -c | sort -T /var/tmp -nr | \
+       awk '{ if (NR <= 128) print $2 }' | tr -d '\012' > $bigrams
 
 # code the file list
 
 if { grep -s -v 0 $errs } then
 
 # code the file list
 
 if { grep -s -v 0 $errs } then
-       printf 'find: updatedb failed\n\n'
+       printf 'locate: updatedb failed\n\n'
 else
 else
-       $LIBDIR/find.code $bigrams < $filelist > $FCODES
+       $LIBDIR/locate.code $bigrams < $filelist > $FCODES
        chmod 644 $FCODES
        rm $bigrams $filelist $errs
 endif
        chmod 644 $FCODES
        rm $bigrams $filelist $errs
 endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+