Prevent the global-compiler.sh to run as root
[amuse-wiki:amuse-wiki.git] / global-compiler.sh
1 #!/bin/bash
2
3 if [ $UID -eq 0 ]; then
4     echo "You're an idiot if you are running this as root"
5     exit 60
6 fi
7
8
9 buildtargets="$HOME/repos/build $HOME/fi/repos/build"
10 customtextargets="$HOME/AnarchistWiki/AmuseWiki/public/customtex $HOME/fi/AnarchistWiki/AmuseWiki/public/customtex"
11 sleeptime=300
12 pidfile="$HOME/compiling.pid"
13
14 basedir=$(pwd)
15
16 pullgits () {
17     for i in $(echo -n $buildtargets); do
18         if [ -d "$i" ]; then
19             cd $i
20             echo -n $(pwd)
21             echo -n " "
22             git pull
23             cd $basedir
24         fi
25     done
26 }
27
28 buildcustom () {
29     for i in $(echo -n $customtextargets); do
30         if [ -d "$i" ]; then
31             cd $i
32             muse-bookbuilder.pl $i
33             cd $basedir
34         fi
35     done
36 }
37
38
39 keep_looping () {
40     while true; do
41         echo -n "MARKING ---- "
42         echo $(date)
43         pullgits
44         buildcustom
45         # and sleep for a while
46         for i in $(seq 1 $sleeptime); do
47             sleep 1
48         done
49     done
50 }
51
52 if [ -f "$pidfile" ]; then
53     if kill -0 $(cat $pidfile) > /dev/null 2>&1 ; then
54         echo "The compiler is compiling, exiting..."
55         exit
56     else
57         rm $pidfile
58     fi
59 fi
60
61 # now we start the 
62
63
64
65 if [ ! "$DoNotBGMe" ]; then
66     export DoNotBGMe=yes
67     me=$0
68     echo "starting $0 in background"
69     nohup $me >> compile.log 2>&1 &
70     exit
71 else
72     echo -n $$ > $pidfile;
73     keep_looping
74 fi
75
76 echo After backgrounding: $$
77 echo "I'm running!"
78 # End of script