Statistics
| Branch: | Tag: | Revision:

root / autotools / run-in-tempdir @ dd60179d

History | View | Annotate | Download (909 Bytes)

1
#!/bin/bash
2

    
3
# Helper for running things in a temporary directory; used for docs
4
# building, unittests, etc.
5

    
6
set -e
7

    
8
tmpdir=$(mktemp -d -t gntbuild.XXXXXXXX)
9
trap "rm -rf $tmpdir" EXIT
10

    
11
linkcopy() {
12
  cp -L -s -r "$@"
13
}
14

    
15
dirs=( autotools daemons scripts lib tools qa )
16

    
17
if [[ -z "$COPY_DOC" ]]; then
18
  mkdir $tmpdir/doc
19
  ln -s $PWD/doc/examples $tmpdir/doc
20
else
21
  # Building documentation requires all files
22
  dirs+=( doc )
23
fi
24

    
25
# Create symlinks
26
for i in ${dirs[@]}; do
27
  linkcopy $PWD/$i $tmpdir
28
done
29

    
30
mkdir $tmpdir/test/
31
linkcopy $PWD/test/py $tmpdir/test/py
32
ln -s $PWD/test/data $tmpdir/test
33
ln -s $PWD/test/hs $tmpdir/test
34

    
35
mv $tmpdir/lib $tmpdir/ganeti
36
ln -T -s $tmpdir/ganeti $tmpdir/lib
37

    
38
mkdir -p $tmpdir/src $tmpdir/test/hs
39
for hfile in htools ganeti-confd mon-collector; do
40
  if [ -e src/$hfile ]; then
41
    ln -s $PWD/src/$hfile $tmpdir/src/
42
  fi
43
done
44

    
45
cd $tmpdir && GANETI_TEMP_DIR="$tmpdir" "$@"