xref: /netbsd/usr.bin/locate/locate/updatedb.sh (revision bf9ec67e)
1#!/bin/sh
2#
3#	$NetBSD: updatedb.sh,v 1.7 2002/05/05 07:27:35 kim Exp $
4#
5# Copyright (c) 1989, 1993
6#	The Regents of the University of California.  All rights reserved.
7#
8# This code is derived from software contributed to Berkeley by
9# James A. Woods.
10#
11# Redistribution and use in source and binary forms, with or without
12# modification, are permitted provided that the following conditions
13# are met:
14# 1. Redistributions of source code must retain the above copyright
15#    notice, this list of conditions and the following disclaimer.
16# 2. Redistributions in binary form must reproduce the above copyright
17#    notice, this list of conditions and the following disclaimer in the
18#    documentation and/or other materials provided with the distribution.
19# 3. All advertising materials mentioning features or use of this software
20#    must display the following acknowledgement:
21#	This product includes software developed by the University of
22#	California, Berkeley and its contributors.
23# 4. Neither the name of the University nor the names of its contributors
24#    may be used to endorse or promote products derived from this software
25#    without specific prior written permission.
26#
27# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37# SUCH DAMAGE.
38#
39#	@(#)updatedb.csh	8.4 (Berkeley) 10/27/94
40#
41
42SRCHPATHS="/"				# directories to be put in the database
43LIBDIR="/usr/libexec"			# for subprograms
44					# for temp files
45FCODES="/var/db/locate.database"	# the database
46
47PATH="/bin:/usr/bin"
48FILELIST=`mktemp -t locate.list` || exit 1
49trap "rm -f '$FILELIST'" EXIT
50trap "rm -f '$FILELIST'; exit 1" INT QUIT TERM
51
52# Make a file list and compute common bigrams.
53# Entries of each directory shall be sorted (find -s).
54
55# search locally or everything
56# find -s $SRCHPATHS -print \
57find -s $SRCHPATHS \( \
58    ! -fstype local	\
59    -o -fstype cd9660	\
60    -o -fstype fdesc	\
61    -o -fstype kernfs	\
62    -o -fstype procfs	\
63    \) -a -prune -o -print \
64	>> "$FILELIST"
65
66BIGRAMS=`$LIBDIR/locate.bigram <"$FILELIST"`
67
68# code the file list
69if [ -z "$BIGRAMS" ]; then
70	echo 'locate: updatedb failed' >&2
71else
72	$LIBDIR/locate.code "$BIGRAMS" <"$FILELIST" >"$FCODES"
73	chmod 644 "$FCODES"
74fi
75