Browse Source

Move sub-commands to libexec

Move cub-command to libexec path to prevent calling them directly,
allowing for better control of environment.
Alois Mahdal 9 years ago
parent
commit
db545c4825

+ 0
- 10
bin/saturnin-ini.skel View File

@@ -1,10 +0,0 @@
1
-#!/bin/bash
2
-
3
-. <(ffoom init)
4
-FFOO_INI_PATH="__SATURNIN_INI_PATH__:$SATURNIN_INI_PATH"
5
-
6
-ffoo import ini
7
-
8
-debug "\$*=$*"
9
-
10
-iniread "$@"

+ 9
- 5
bin/saturnin.skel View File

@@ -2,6 +2,7 @@
2 2
 
3 3
 . <(ffoom init)
4 4
 export FFOO_INI_PATH="__SATURNIN_INI_PATH__:$SATURNIN_INI_PATH"
5
+saturnin_libexec="__SATURNIN_LIBEXEC__"
5 6
 
6 7
 ffoo import exit
7 8
 ffoo import core
@@ -40,10 +41,13 @@ scmd=$1
40 41
 shift
41 42
 
42 43
 case $scmd in
43
-    czrates|dmenu|iam|ini|ip|ln|push|revert|watch|www)
44
-        debug -v scmd
45
-        debug "\$@='$@'"
46
-        exec saturnin-$scmd "$@" ;;
47 44
     help)  print_help; exit $FFOO_EXIT_OK ;;
48
-    *)  print_help; exit $FFOO_EXIT_USAGE ;;
45
+    *)
46
+        lexpath="$saturnin_libexec/saturnin-$scmd"
47
+        debug -v lexpath
48
+        debug "\$@='$@'"
49
+        test -x "$lexpath" && exec "$lexpath" "$@"
50
+        warn "invalid sub-command: $scmd"
51
+        print_help; exit $FFOO_EXIT_USAGE
52
+        ;;
49 53
 esac

bin/saturnin-czrates → libexec/saturnin-czrates View File


bin/saturnin-dmenu → libexec/saturnin-dmenu View File


bin/saturnin-iam → libexec/saturnin-iam View File


+ 10
- 0
libexec/saturnin-ini.skel View File

@@ -0,0 +1,10 @@
1
+#!/bin/bash
2
+
3
+. <(ffoom init)
4
+
5
+ffoo import core
6
+ffoo import ini
7
+
8
+debug "\$@=$@"
9
+
10
+iniread "$@"

bin/saturnin-ip → libexec/saturnin-ip View File


bin/saturnin-ln → libexec/saturnin-ln View File


bin/saturnin-push → libexec/saturnin-push View File


bin/saturnin-revert → libexec/saturnin-revert View File


bin/saturnin-watch → libexec/saturnin-watch View File


bin/saturnin-www.skel → libexec/saturnin-www.skel View File


+ 24
- 10
setup/mk.sh View File

@@ -9,24 +9,33 @@ rm -f $tmp
9 9
 
10 10
 bindir=${DESTDIR}${PREFIX}/bin
11 11
 shrdir=${DESTDIR}${PREFIX}/share/saturnin/ffoo
12
+lexdir=${DESTDIR}${PREFIX}/libexec/saturnin
12 13
 
13 14
 list_of_bins() {
14 15
     echo bin/saturnin
15
-    echo bin/saturnin-czrates
16
-    echo bin/saturnin-dmenu
17
-    echo bin/saturnin-iam
18
-    echo bin/saturnin-ini
19
-    echo bin/saturnin-ip
20
-    echo bin/saturnin-ln
21
-    echo bin/saturnin-revert
22
-    echo bin/saturnin-watch
23
-    echo bin/saturnin-www
16
+}
17
+
18
+list_of_lexs() {
19
+    echo libexec/saturnin-czrates
20
+    echo libexec/saturnin-dmenu
21
+    echo libexec/saturnin-iam
22
+    echo libexec/saturnin-ini
23
+    echo libexec/saturnin-ip
24
+    echo libexec/saturnin-ln
25
+    echo libexec/saturnin-push
26
+    echo libexec/saturnin-revert
27
+    echo libexec/saturnin-watch
28
+    echo libexec/saturnin-www
24 29
 }
25 30
 
26 31
 list_of_installed_bins() {
27 32
     list_of_bins | sed -e "s/bin/$(sed -e 's/\//\\\//g' <<<$bindir)/"
28 33
 }
29 34
 
35
+list_of_installed_lexs() {
36
+    list_of_lexs | sed -e "s/libexec/$(sed -e 's/\//\\\//g' <<<$lexdir)/"
37
+}
38
+
30 39
 die() {
31 40
     for l in "$@"; do echo "$l" >&2; done
32 41
     exit 9
@@ -120,15 +129,19 @@ expand_variables() {
120 129
     perl -pe "
121 130
         s|__SATURNIN_INI_PATH__|$SATURNIN_INI_PATH_GLOBAL:\\\$HOME/$SATURNIN_INI_PATH_USER|;
122 131
         s|__SATURNIN_FFOO_PATH__|$shrdir|;
132
+        s|__SATURNIN_LIBEXEC__|$lexdir|;
123 133
         s|__VERSION__|$(get_version)|;
124 134
     "
125 135
 }
126 136
 install() {
127 137
     mkdir -vp $bindir \
128
-              $shrdir
138
+              $shrdir \
139
+              $lexdir
129 140
     list_of_bins | xargs cp -vrt $bindir
130 141
     list_of_shrs | xargs cp -vrt $shrdir
142
+    list_of_lexs | xargs cp -vrt $lexdir
131 143
     list_of_installed_bins | xargs chmod -v 755
144
+    list_of_installed_lexs | xargs chmod -v 755
132 145
     test -f .autoclean && clean || :
133 146
 }
134 147
 
@@ -166,6 +179,7 @@ get_version() {
166 179
 uninstall() {
167 180
     list_of_installed_bins | xargs rm -vf
168 181
     rm -vrf $shrdir
182
+    rm -vrf $lexdir
169 183
 }
170 184
 
171 185
 case $1 in