/usr.bin/makewhatis/makewhatis.local.sh

https://bitbucket.org/freebsd/freebsd-head/ · Shell · 58 lines · 17 code · 5 blank · 36 comment · 1 complexity · fc83b58d7c1476a7c979eb6b224bbcac MD5 · raw file

  1. #!/bin/sh
  2. #
  3. # Copyright (c) April 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions
  8. # are met:
  9. # 1. Redistributions of source code must retain the above copyright
  10. # notice, this list of conditions and the following disclaimer.
  11. # 2. Redistributions in binary form must reproduce the above copyright
  12. # notice, this list of conditions and the following disclaimer in the
  13. # documentation and/or other materials provided with the distribution.
  14. #
  15. # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  16. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  17. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  18. # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  19. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  20. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  23. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  24. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  25. # SUCH DAMAGE.
  26. #
  27. # makewhatis.local - start makewhatis(1) only for file systems
  28. # physically mounted on the system
  29. #
  30. # Running makewhatis from /etc/periodic/weekly/320.whatis for rw nfs-mounted
  31. # /usr may kill your NFS server -- all clients start makewhatis at the same
  32. # time! So use this wrapper instead calling makewhatis directly.
  33. #
  34. # PS: this wrapper works also for catman(1)
  35. #
  36. # $FreeBSD$
  37. PATH=/bin:/usr/bin:$PATH; export PATH
  38. opt= dirs= localdirs=
  39. for arg
  40. do
  41. case "$arg" in
  42. -*) opt="$opt $arg";;
  43. *) dirs="$dirs $arg";;
  44. esac
  45. done
  46. dirs=`echo $dirs | sed 's/:/ /g'`
  47. case X"$dirs" in X) echo "usage: $0 [options] directories ..."; exit 1;; esac
  48. localdirs=`find -H $dirs -fstype local -type d -prune -print`
  49. case X"$localdirs" in
  50. X) echo "$0: no local-mounted manual directories found: $dirs"
  51. exit 1;;
  52. *) exec `basename $0 .local` $opt $localdirs;;
  53. esac