/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome

« back to all changes in this revision

Viewing changes to tools/dev

  • Committer: Tim Marston
  • Date: 2016-04-10 20:29:46 UTC
  • Revision ID: tim@ed.am-20160410202946-9eoh5i3et9443aq6
fixed greps in tools/dev to detect home-dir lines in stdhomerc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/bin/bash
2
2
 
 
3
# fix up home dir
 
4
if [ ! -d ~/.stdhome -a ! -d ~/.stdhome.dev -a ! -d ~/.stdhome.orig ]; then
 
5
        mkdir ~/.stdhome
 
6
fi
 
7
if [ ! -d ~/.stdhome ]; then
 
8
        echo "ERROR: can't determine current state: no ~/.stdhome"
 
9
        exit 1
 
10
fi
 
11
 
 
12
# current state
3
13
CURRENT=
4
14
if [ -d ~/.stdhome.orig -a ! -d ~/.stdhome.dev ]; then
5
15
        CURRENT=on
6
 
elif [ ! -d ~/.stdhome.orig -a -d ~/.stdhome.dev ]; then
 
16
elif [ ! -d ~/.stdhome.orig ]; then
7
17
        CURRENT=off
8
18
fi
9
 
 
10
19
if [ -z "$CURRENT" ]; then
11
 
        echo "Can't determine current state" >&2
 
20
        echo "ERROR: can't determine current state" >&2
12
21
        exit 1
13
22
fi
14
23
 
 
24
# target
15
25
TARGET=
16
26
if [ "$1" == "on" ]; then
17
27
        TARGET=on
21
31
 
22
32
if [ "$TARGET" == "on" ]; then
23
33
 
 
34
        # already on?
24
35
        if [ "$CURRENT" == "on" ]; then
25
36
                echo already on >& 2
26
37
                exit 0
27
38
        fi
28
39
        echo turning on
29
40
 
 
41
        # create/check rc
 
42
        if [ ! -f ~/.stdhomerc ]; then
 
43
                echo "ERROR: no ~/.stdhomerc, creating..."
 
44
                echo "[stdhome]" >> ~/.stdhomerc
 
45
                echo "#home-dir = ~/tmp/stdhome-dev" >> ~/.stdhomerc
 
46
                mkdir -p ~/tmp/stdhome-dev
 
47
        fi
 
48
        if ! grep -q '^#home-dir \?= \?~/tmp/stdhome-dev' ~/.stdhomerc; then
 
49
                echo "ERROR: no commented home-dir in ~/.stdhomerc"
 
50
                echo "Please add the following to the [stdhome] section:"
 
51
                echo "#home-dir = ~/tmp/stdhome-dev"
 
52
                exit 1
 
53
        fi
 
54
 
 
55
        # turn on
30
56
        mv ~/.stdhome{,.orig}
31
 
        mv ~/.stdhome{.dev,}
32
 
        sed -ie 's/^#\(home-dir\)/\1/' ~/.stdhomerc
 
57
        if [ -d ~/.stdhome.dev ]; then
 
58
                mv ~/.stdhome{.dev,}
 
59
        else
 
60
                mkdir ~/.stdhome
 
61
                echo new dev environment, use stdhome init
 
62
        fi
 
63
        sed -ie 's/^#\(home-dir\)/\1/' ~/.stdhomerc
 
64
        mkdir -p ~/tmp/stdhome-dev
33
65
 
34
66
elif [ "$TARGET" == "off" ]; then
35
67
 
 
68
        # already off?
36
69
        if [ "$CURRENT" == "off" ]; then
37
70
                echo already off >& 2
38
71
                exit 0
39
72
        fi
40
73
        echo turning off
41
74
 
 
75
        # check rc
 
76
        if ! grep -q '^home-dir \?= \?~/tmp/stdhome-dev' ~/.stdhomerc; then
 
77
                echo "ERROR: no uncommented home-dir in ~/.stdhomerc"
 
78
                exit 1
 
79
        fi
 
80
 
 
81
        # turn off
42
82
        mv ~/.stdhome{,.dev}
43
83
        mv ~/.stdhome{.orig,}
44
84
        sed -ie 's/^home-dir/#\0/' ~/.stdhomerc