source: npl/findfile @ ffaaf60

Last change on this file since ffaaf60 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 1.5 KB
RevLine 
[c5c522c]1#!/bin/bash
2
3# Zoekt een file in de file-list-cache. update de cache indien nodig.
4# Houdt rekeing met verschillende HOSTitecturen door naar HOST variabelle te kijken.
5# De standandaard HOSTitectuur is wegens historische redenen 'npl' (i386)
6# Andere HOSTitecturen bevinden zich op dit moment 1 dir hoger. (dus zelfde plek als npl staat)
7# Voorbeeld: HOST=powerpc-405-linux-gnu
8
9
10cd `dirname $0`/.. || exit 1
11FILE=$1
12BASE=`pwd`
13cd $BASE/npl
14
15updatecache()
16{
17        LIST=`stat -c %Y .tmp/files.$HOST 2>/dev/null`
18        NOW=`date +%s`
19        (( DIFF = NOW - LIST ))
20        if [ ! -e  .tmp/files.$HOST ] || [ "$1" == "force" ] || [ $DIFF -gt 60 ]; then
21                #not found, update filelist and try again..
22                #echo "Rebuilding filelist.." >&2
23                mkdir .tmp 2>/dev/null
24                find -L $BASE/$HOST | grep -v '\.svn' > .tmp/files.$$
25                mv .tmp/files.$$ .tmp/files.$HOST || exit 1
26        fi
27
28}
29
30
31findcache()
32{
33    grep "/$FILE\$" .tmp/files.$HOST 2>/dev/null
34}
35
36
37if [ "$HOST" == "" ]; then
38    HOST="npl";
39fi
40
41
42#1. zoeken in opgegeven HOST
43findcache $FILE && exit 0
44
45
46#2. update opgegeven HOST en zoek nog een keer
47updatecache
48findcache $FILE && exit 0
49
50#we hebben al in npl gezocht, dus er is niks om terug te vallen:
51[ "$HOST" == "npl" ] && exit 1
52
53#3. pak default HOST (npl) en probeer nog eens.
54# Dit is nodig voor bijvoorbeeld crosscompilers voor de destbetreffende HOSTitectuur.
55# gcc_powerpc valt namelijk onder i386 (npl) en NIET onder powerpc zelf, omdat het een HOSTcompiler is!
56
57HOST=npl
58findcache $FILE && exit 0
59updatecache
60findcache $FILE && exit 0
61
62# not found
63exit 1
Note: See TracBrowser for help on using the repository browser.