Browse Source

Simplify files: sections

Merge all files:group sections into one, where key is name of the group
and value is source name, optionally followed by destination path.

This breaks old mkit.ini's, but significantly simplifies future ones.

 1. Only one section is needed,

 2. group list is implied from the files section, removing the need
    of lists:group,

 3. destination path has been made optional (by default, basename of
    the source path is used).
Alois Mahdal 9 years ago
parent
commit
07d9744ed5
1 changed files with 15 additions and 9 deletions
  1. 15
    9
      src/include/deploy.sh

+ 15
- 9
src/include/deploy.sh View File

46
     #
46
     #
47
     local grp=$1
47
     local grp=$1
48
     local src=$2
48
     local src=$2
49
-    echo "$(_get_root "$grp")/$(ini 1value "files:$grp:$src")"
49
+    local dst=$3
50
+    test -n "$dst" || dst=${src##*/}
51
+    echo "$(_get_root "$grp")/$dst"
50
 }
52
 }
51
 
53
 
52
 _get_root() {
54
 _get_root() {
83
     # Install product
85
     # Install product
84
     #
86
     #
85
     local dst group mode src
87
     local dst group mode src
86
-    ini values "lists:group" \
88
+    ini lskeys "files" \
89
+      | sort \
90
+      | uniq \
87
       | while read group;
91
       | while read group;
88
         do
92
         do
89
             mode=$(ini 1value "modes:$group")
93
             mode=$(ini 1value "modes:$group")
90
-            ini lskeys "files:$group" \
91
-              | while read src;
94
+            ini values "files:$group" \
95
+              | while read src dst;
92
                 do
96
                 do
93
-                    dst=$(_get_dst "$group" "$src")
97
+                    dst=$(_get_dst "$group" "$src" "$dst")
94
                     _deploy_item "$src" "$dst" "$mode"
98
                     _deploy_item "$src" "$dst" "$mode"
95
                 done
99
                 done
96
         done
100
         done
103
     # Uninstall product
107
     # Uninstall product
104
     #
108
     #
105
     local dst group src
109
     local dst group src
106
-    ini values "lists:group" \
110
+    ini lskeys "files" \
111
+      | sort \
112
+      | uniq \
107
       | while read group;
113
       | while read group;
108
         do
114
         do
109
-            ini lskeys "files:$group" \
110
-              | while read src;
115
+            ini values "files:$group" \
116
+              | while read src dst;
111
                 do
117
                 do
112
-                    dst=$(_get_dst "$group" "$src")
118
+                    dst=$(_get_dst "$group" "$src" "$dst")
113
                     _maybe rm -vrf "$dst"
119
                     _maybe rm -vrf "$dst"
114
                 done
120
                 done
115
         done
121
         done