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