distfiles-update-locatedb 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. # $OpenBSD: distfiles-update-locatedb,v 1.1 2000/04/09 12:45:55 espie Exp $
  3. #
  4. # Copyright (c) 2000 Marc Espie.
  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 OPENBSD PROJECT AND CONTRIBUTORS
  16. # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  17. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  18. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBSD
  19. # PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  20. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  21. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  22. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  23. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  25. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. # build a locate-style database of all distfiles we can.
  27. PORTSDIR=${PORTSDIR:-/usr/ports}
  28. DISTDIR=${DISTDIR:-$PORTSDIR/distfiles}
  29. OUTFILE=${1:-$PORTSDIR/infrastructure/db/locate.database}
  30. set -e
  31. { cd $DISTDIR
  32. find . -type f | sed -e s,^\./,,| while read i; do
  33. echo >&2 "Scanning $i"
  34. case $i in
  35. *.tar.gz|*.tgz) tar ztf $i|sed -e s,^,$i/, ;;
  36. *.tar.Z) tar Ztf $i|sed -e s,^,$i/, ;;
  37. *.tar) tar tf $i|sed -e s,^,$i/, ;;
  38. *);;
  39. esac
  40. done; } | /usr/libexec/locate.mklocatedb >$OUTFILE.tmp
  41. mv -f $OUTFILE.tmp $OUTFILE