Kaynağa Gözat

Update MKit to v0.0.26

Alois Mahdal 6 yıl önce
ebeveyn
işleme
b60574a399

+ 64
- 79
utils/mkit/include/build.sh Dosyayı Görüntüle

@@ -6,7 +6,7 @@ mkit_import ini
6 6
 mkit_import facts
7 7
 
8 8
 
9
-_build1() {
9
+__build1() {
10 10
     #
11 11
     # Process one skeleton $1 of type $3 (or guessed) to path $2
12 12
     #
@@ -14,53 +14,26 @@ _build1() {
14 14
     local dstpath=$2    # destination meaty animal path
15 15
     local ftype=$3      # file/builder type
16 16
     test -n "$dstpath"  || dstpath=${srcpath%.skel}
17
-    test -n "$ftype"    || ftype=$(_guess_ftype "$dstpath")
17
+    test -n "$ftype"    || ftype=$(__guess_ftype "$dstpath")
18 18
     debug_var srcpath dstpath ftype
19
-    <"$srcpath" _build1_ftype "$ftype" >"$dstpath"
20
-    mkdir -p "$MKIT_LOCAL"
21
-    echo "$dstpath" >> "$MKIT_LOCAL/built.lst"
19
+    <"$srcpath" __build1_ftype "$ftype" >"$dstpath"
20
+    rec_built "$dstpath"
22 21
 }
23 22
 
24
-_build1_ftype() {
23
+__build1_ftype() {
25 24
     #
26 25
     # Build a file of type $1; fom stdin to stdout
27 26
     #
28 27
     local ftype=$1      # file/builder type
29 28
     case $ftype in
30
-        MKIT_COMMON)    _expand_tokens "tokens" ;;
31
-        markdown)       _expand_includes | _expand_tokens "tokens" ;;
32
-        rpmstuff)       _expand_tokens "tokens" "rpmstuff:tokens" ;;
33
-        debstuff)       _expand_tokens "tokens" "debstuff:tokens" ;;
29
+        MKIT_COMMON)    __expand_tokens "tokens" ;;
30
+        rpmstuff)       __expand_tokens "tokens" "rpmstuff:tokens" ;;
31
+        debstuff)       __expand_tokens "tokens" "debstuff:tokens" ;;
34 32
         *)              die "unknown file type: $ftype" ;;
35 33
     esac
36 34
 }
37 35
 
38
-_expand_includes() {
39
-    #
40
-    # Expand include directives
41
-    #
42
-    # Expand e.g. `<!-- include4: foo.sh -->` to include code of foo.sh
43
-    #
44
-    perl -we '
45
-        use strict;
46
-        my $text;
47
-        while (<>) {
48
-            chomp;
49
-            if (m/<!-- include4: (\S+) -->/) {
50
-                open my $fh, $1 or warn "cannot find: $1";
51
-                my $text = do { local($/); <$fh> };
52
-                close $fh;
53
-                $text =~ s/^(.)/    $1/gm;
54
-                chomp $text;
55
-                print "$text\n";
56
-            } else {
57
-                print "$_\n";
58
-            }
59
-        }
60
-    '
61
-}
62
-
63
-_expand_tokens() {
36
+__expand_tokens() {
64 37
     #
65 38
     # Read stdin, expanding tokens from sections $@
66 39
     #
@@ -74,38 +47,37 @@ _expand_tokens() {
74 47
             debug_var section
75 48
             ini lskeys "$section" \
76 49
               | while read -r varname; do
77
-                    varvalue="$(ini 1value "$section:$varname" | _qfs )"
50
+                    varvalue="$(ini 1value "$section:$varname" | __qfs )"
78 51
                     echo "s|$varname|$varvalue|g;"
79 52
                     debug_var varname varvalue
80 53
                 done
81 54
         done
82
-        echo "s|__MKIT_PROJ_NAME__|$(ini 1value project:name | _qfs)|g;"
83
-        echo "s|__MKIT_PROJ_CODENAME__|$(ini 1value project:codename | _qfs)|g;"
84
-        echo "s|__MKIT_PROJ_LICENSE__|$(ini 1value project:license | _qfs)|g;"
85
-        echo "s|__MKIT_PROJ_PKGNAME__|$(ini 1value project:pkgname | _qfs)|g;"
86
-        echo "s|__MKIT_PROJ_TAGLINE__|$(ini 1value project:tagline | _qfs)|g;"
87
-        echo "s|__MKIT_PROJ_MAINTAINER__|$(ini 1value project:maintainer | _qfs)|g;"
88
-        echo "s|__MKIT_PROJ_VCS_BROWSER__|$(ini 1value project:vcs_browser | _qfs)|g;"
89
-        echo "s|__MKIT_PROJ_GIT_LASTHASH__|$(git_lasthash | _qfs)|g;"
90
-        echo "s|__MKIT_PROJ_VERSION__|$(semver | _qfs)|g;"
55
+        echo "s|__MKIT_PROJ_NAME__|$(ini 1value project:name | __qfs)|g;"
56
+        echo "s|__MKIT_PROJ_CODENAME__|$(ini 1value project:codename | __qfs)|g;"
57
+        echo "s|__MKIT_PROJ_LICENSE__|$(ini 1value project:license | __qfs)|g;"
58
+        echo "s|__MKIT_PROJ_PKGNAME__|$(ini 1value project:pkgname | __qfs)|g;"
59
+        echo "s|__MKIT_PROJ_TAGLINE__|$(ini 1value project:tagline | __qfs)|g;"
60
+        echo "s|__MKIT_PROJ_MAINTAINER__|$(ini 1value project:maintainer | __qfs)|g;"
61
+        echo "s|__MKIT_PROJ_VCS_BROWSER__|$(ini 1value project:vcs_browser | __qfs)|g;"
62
+        echo "s|__MKIT_PROJ_GIT_LASTHASH__|$(git_lasthash | __qfs)|g;"
63
+        echo "s|__MKIT_PROJ_VERSION__|$(semver | __qfs)|g;"
91 64
         echo "s|__MKIT_SELF_VERSION__|$MKIT_VERSION|g;"
92 65
     } >> "$script"
93
-    sed -f "$script" || die "_expand_tokens failed"
66
+    sed -f "$script" || die "__expand_tokens failed"
94 67
     rm "$script"
95 68
 }
96 69
 
97
-_guess_ftype() {
70
+__guess_ftype() {
98 71
     #
99 72
     # Guess file type from destination path $1
100 73
     #
101 74
     local dstpath=$1    # destination path
102 75
     case $dstpath in
103
-        *.md) echo markdown    ;;
104 76
         *)    echo MKIT_COMMON ;;
105 77
     esac
106 78
 }
107 79
 
108
-_qfs() {
80
+__qfs() {
109 81
     #
110 82
     # Quote for our sed scipt's RHS
111 83
     #
@@ -115,37 +87,51 @@ _qfs() {
115 87
     '
116 88
 }
117 89
 
90
+_mkit_data() {
91
+    #
92
+    # Build sampler showing all token values
93
+    #
94
+    local token
95
+    local section
96
+    local sections
97
+    sections=()
98
+    ini lskeys tokens | grep -q . && sections=(tokens)
99
+    sections+=( $(ini lssect | grep ':tokens$') )
100
+    {
101
+        echo "(builtin):"
102
+        echo "  x_MKIT_PROJ_NAME__ => '__MKIT_PROJ_NAME__'"
103
+        echo "  x_MKIT_PROJ_CODENAME__ => '__MKIT_PROJ_CODENAME__'"
104
+        echo "  x_MKIT_PROJ_LICENSE__ => '__MKIT_PROJ_LICENSE__'"
105
+        echo "  x_MKIT_PROJ_PKGNAME__ => '__MKIT_PROJ_PKGNAME__'"
106
+        echo "  x_MKIT_PROJ_TAGLINE__ => '__MKIT_PROJ_TAGLINE__'"
107
+        echo "  x_MKIT_PROJ_MAINTAINER__ => '__MKIT_PROJ_MAINTAINER__'"
108
+        echo "  x_MKIT_PROJ_VCS_BROWSER__ => '__MKIT_PROJ_VCS_BROWSER__'"
109
+        echo "  x_MKIT_PROJ_GIT_LASTHASH__ => '__MKIT_PROJ_GIT_LASTHASH__'"
110
+        echo "  x_MKIT_PROJ_VERSION__ => '__MKIT_PROJ_VERSION__'"
111
+        echo "  x_MKIT_SELF_VERSION__ => '__MKIT_SELF_VERSION__'"
112
+        for section in "${sections[@]}"; do
113
+            echo "$section:"
114
+            for token in $(ini lskeys "$section"); do
115
+                echo "  x${token:1} => '$token'"
116
+            done
117
+        done
118
+    } \
119
+      | __expand_tokens "MKIT_BUILTIN" "${sections[@]}" \
120
+      | sed '/^  x/ s|x|_|'
121
+}
122
+
118 123
 build() {
119 124
     #
120 125
     # Add meat to all skeletons
121 126
     #
122 127
     local srcpath   # each source path
123
-    find -type f -name '*.skel' \
128
+    semver >/dev/null
129
+    find . -type f -name '*.skel' \
124 130
      | while read -r srcpath; do
125
-           _build1 "$srcpath"
131
+           __build1 "$srcpath"
126 132
        done
127 133
 }
128 134
 
129
-build_manpages() {
130
-    #
131
-    # Build manpages using ronn
132
-    #
133
-    local manfile   # each manual file listed in '[files:man]'
134
-    local mdfile    # each source markdown file
135
-    if command -v ronn >/dev/null; then
136
-        ini lskeys "files:man" \
137
-          | while read -r manfile; do
138
-                mdfile="$manfile.md"
139
-                ronn -r "$mdfile"
140
-                mkdir -p "$MKIT_LOCAL"
141
-                echo "$manfile" >> "$MKIT_LOCAL/built.lst"
142
-            done
143
-    else
144
-        echo "ronn is not installed"
145
-        return 1
146
-    fi
147
-}
148
-
149 135
 clean() {
150 136
     #
151 137
     # Clean up tree after building
@@ -174,7 +160,7 @@ debstuff() {
174 160
     mv "${MKIT_PROJ_PKGNAME}-$version.tar.gz" \
175 161
        "${MKIT_PROJ_PKGNAME}_$version.orig.tar.gz" \
176 162
      || die "could not rename tarball"
177
-    echo "${MKIT_PROJ_PKGNAME}_$version.orig.tar.gz" >> "$MKIT_LOCAL/built.lst"
163
+    rec_built "${MKIT_PROJ_PKGNAME}_$version.orig.tar.gz"
178 164
 
179 165
     # read content of each mandatory file from debian_skel
180 166
     #
@@ -186,16 +172,16 @@ debstuff() {
186 172
       | while read -r dfsrc; do
187 173
             dftgt="debian/${dfsrc#$debian_skel}"
188 174
             mkdir -p "$(dirname "$dftgt")"
189
-            _build1 "$dfsrc" "$dftgt" debstuff
175
+            __build1 "$dfsrc" "$dftgt" debstuff
190 176
         done
191
-    echo debian >> "$MKIT_LOCAL/built.lst"
177
+    rec_built debian
192 178
 }
193 179
 
194 180
 dist() {
195 181
     #
196 182
     # Create distributable tarball
197 183
     #
198
-    #FIXME: lacking Makefile skills, we do this step twice fot
184
+    #FIXME: lacking Makefile skills, we do this step twice for
199 185
     #       rpmstuff, hence -f hack for gzip
200 186
     #
201 187
     local version           # tarball version
@@ -211,8 +197,7 @@ dist() {
211 197
     echo -n "$git_lasthash" > "$dirname/.mkit/git_lasthash"
212 198
     tar -cf "$dirname.tar" "$dirname"
213 199
     gzip -f "$dirname.tar"      # see above FIXME
214
-    mkdir -p "$MKIT_LOCAL"
215
-    echo "$dirname.tar.gz" >> "$MKIT_LOCAL/built.lst"
200
+    rec_built "$dirname.tar.gz"
216 201
     rm -rf "$dirname"
217 202
 }
218 203
 
@@ -225,5 +210,5 @@ rpmstuff() {
225 210
     specsrc="$(ini 1value "dist:rpmstuff")"
226 211
     test -n "$specsrc" || die "dist:rpmstuff not specified"
227 212
     test -f "$specsrc" || die "specfile template not found: $specsrc"
228
-    _build1 "$specsrc" "$specname" rpmstuff
213
+    __build1 "$specsrc" "$specname" rpmstuff
229 214
 }

+ 12
- 12
utils/mkit/include/deploy.sh Dosyayı Görüntüle

@@ -4,11 +4,11 @@
4 4
 
5 5
 mkit_import ini
6 6
 
7
-_deploy_item() {
7
+__deploy_item() {
8 8
     #
9 9
     # Deploy item and make it look like wanted
10 10
     #
11
-    # usage: _deploy_item src dst [mode]
11
+    # usage: __deploy_item src dst [mode]
12 12
     #
13 13
     # Both src and dst must be names of actual items[1],
14 14
     # whereas dst must not exist.  On update, dst is
@@ -37,14 +37,14 @@ _deploy_item() {
37 37
                 [[ $item =~ .skel$ ]] \
38 38
                  && grep -q "${item%.skel}" "$MKIT_LOCAL/built.lst" \
39 39
                  && continue
40
-                _deploy_item "$item" "$dst${item#$src}" "$mode"
40
+                __deploy_item "$item" "$dst${item#$src}" "$mode"
41 41
             done
42 42
     else
43
-        _maybe install -DTvm "$mode" "$src" "$dst"
43
+        __maybe install -DTvm "$mode" "$src" "$dst"
44 44
     fi
45 45
 }
46 46
 
47
-_get_dst() {
47
+__get_dst() {
48 48
     #
49 49
     # Find out target path for src file $2 of group $1
50 50
     #
@@ -52,10 +52,10 @@ _get_dst() {
52 52
     local src=$2        # each source
53 53
     local dst=$3        # alternative destination name
54 54
     test -n "$dst" || dst=${src##*/}
55
-    echo "$(_get_root "$grp")/$dst"
55
+    echo "$(__get_root "$grp")/$dst"
56 56
 }
57 57
 
58
-_get_root() {
58
+__get_root() {
59 59
     #
60 60
     # Find out target root for group $1
61 61
     #
@@ -72,7 +72,7 @@ _get_root() {
72 72
     esac
73 73
 }
74 74
 
75
-_maybe() {
75
+__maybe() {
76 76
     #
77 77
     # Call the deploy command $1 $@ unless in dry mode
78 78
     #
@@ -101,8 +101,8 @@ install() {
101 101
             mode=$(ini 1value "modes:$group")
102 102
             ini values "files:$group" \
103 103
               | while read -r src dst; do
104
-                    dst=$(_get_dst "$group" "$src" "$dst")
105
-                    _deploy_item "$src" "$dst" "$mode"
104
+                    dst=$(__get_dst "$group" "$src" "$dst")
105
+                    __deploy_item "$src" "$dst" "$mode"
106 106
                 done
107 107
         done
108 108
     test -f "$MKIT_LOCAL/autoclean" && clean
@@ -122,8 +122,8 @@ uninstall() {
122 122
       | while read -r group; do
123 123
             ini values "files:$group" \
124 124
               | while read -r src dst; do
125
-                    dst=$(_get_dst "$group" "$src" "$dst")
126
-                    _maybe rm -vrf "$dst"
125
+                    dst=$(__get_dst "$group" "$src" "$dst")
126
+                    __maybe rm -vrf "$dst"
127 127
                 done
128 128
         done
129 129
 }

+ 2
- 0
utils/mkit/include/facts.sh Dosyayı Görüntüle

@@ -154,6 +154,7 @@ semver() {
154 154
     local commit        # commit indicator (CURRENT_BRANCH.gHASH)
155 155
     local dirty         # 0 if dirty, 1 if clean
156 156
     local suffix        # version suffix
157
+    local_get semver && return 0
157 158
     version=$(ini 1value project:version)
158 159
     prerl=$(ini 1value project:prerl)
159 160
     grep ":" <<<"$prerl" \
@@ -178,5 +179,6 @@ semver() {
178 179
         test -n "$prerl" && suffix="-$prerl$suffix"
179 180
         version="$version$suffix"
180 181
     fi
182
+    local_putb semver <<<"$version"
181 183
     echo "$version"
182 184
 }

+ 27
- 18
utils/mkit/include/ini.sh Dosyayı Görüntüle

@@ -2,7 +2,7 @@
2 2
 # MKit - simple install helper
3 3
 # See LICENSE file for copyright and license details.
4 4
 
5
-_ini_cat() {
5
+__ini_cat() {
6 6
     #
7 7
     # A no-op for text stream
8 8
     #
@@ -12,7 +12,7 @@ _ini_cat() {
12 12
     done
13 13
 }
14 14
 
15
-_ini_expand() {
15
+__ini_expand() {
16 16
     #
17 17
     # Expand reference value (prefix only)
18 18
     #
@@ -30,7 +30,7 @@ _ini_expand() {
30 30
     done
31 31
 }
32 32
 
33
-_ini_grepkey() {
33
+__ini_grepkey() {
34 34
     #
35 35
     # Read key from a section
36 36
     #
@@ -40,10 +40,10 @@ _ini_grepkey() {
40 40
       | sed -e 's/ *= */=/; s/ +$//; s/^//;' \
41 41
       | grep -e "^$wnt=" \
42 42
       | cut -d= -f2- \
43
-      | _ini_maybe_expand
43
+      | __ini_maybe_expand
44 44
 }
45 45
 
46
-_ini_greppath() {
46
+__ini_greppath() {
47 47
     #
48 48
     # Read key from the right section
49 49
     #
@@ -62,10 +62,10 @@ _ini_greppath() {
62 62
          && echo "$override" \
63 63
          && return
64 64
     fi
65
-    _ini_grepsec "$wntsec" | _ini_grepkey "$wntkey"
65
+    __ini_grepsec "$wntsec" | __ini_grepkey "$wntkey"
66 66
 }
67 67
 
68
-_ini_grepsec() {
68
+__ini_grepsec() {
69 69
     #
70 70
     # Read one INI section
71 71
     #
@@ -85,22 +85,30 @@ _ini_grepsec() {
85 85
       | sed -e 's/ *= */=/; s/ +$//; s/^//;'
86 86
 }
87 87
 
88
-_ini_lskeys() {
88
+__ini_lskeys() {
89 89
     #
90 90
     # List keys from a section
91 91
     #
92 92
     local sct=$1    # section of interest
93
-    _ini_grepsec "$sct" | cut -d= -f1 | awk '!x[$0]++'
93
+    __ini_grepsec "$sct" | cut -d= -f1 | awk '!x[$0]++'
94 94
 }
95 95
 
96
-_ini_maybe_expand() {
96
+__ini_lssect() {
97
+    #
98
+    # List all section names
99
+    #
100
+    local arg=$1    # unused argument
101
+    grep -x '\[.*\]' | sed 's/^.//; s/.$//'
102
+}
103
+
104
+__ini_maybe_expand() {
97 105
     #
98 106
     # Decide whether or not to expand
99 107
     #
100 108
     if test "$MKIT_INI_EXPAND" -gt 0; then
101
-        MKIT_INI_EXPAND=$(( --MKIT_INI_EXPAND )) _ini_expand
109
+        MKIT_INI_EXPAND=$(( --MKIT_INI_EXPAND )) __ini_expand
102 110
     else
103
-        _ini_cat
111
+        __ini_cat
104 112
     fi
105 113
 }
106 114
 
@@ -111,12 +119,13 @@ ini() {
111 119
     local op=$1             # operator
112 120
     local arg=$2            # argument
113 121
     local fn                # internal function implementing $op
114
-    local limit=_ini_cat    # limiting internal function
122
+    local limit=__ini_cat    # limiting internal function
115 123
     case $op in
116
-        lskeys) fn=_ini_lskeys   ;;
117
-        sec)    fn=_ini_grepsec  ;;
118
-        values) fn=_ini_greppath ;;
119
-        1value) fn=_ini_greppath; limit="tail -1" ;;
124
+        lskeys) fn=__ini_lskeys   ;;
125
+        lssect) fn=__ini_lssect   ;;
126
+        sec)    fn=__ini_grepsec  ;;
127
+        values) fn=__ini_greppath ;;
128
+        1value) fn=__ini_greppath; limit="tail -1" ;;
120 129
         *)      die "incorrect use of \`ini()\`"
121 130
     esac
122 131
     <"$MKIT_INI" $fn "$arg" | $limit
@@ -124,7 +133,7 @@ ini() {
124 133
 
125 134
 update_version() {
126 135
     #
127
-    # Change project.version in mkit.ini at path $2 to version $1
136
+    # Change project:version in mkit.ini at path $2 to value $1
128 137
     #
129 138
     local version=$1    # new version
130 139
     local inifile=$2    # mkit.ini path

+ 43
- 10
utils/mkit/include/mkit.sh Dosyayı Görüntüle

@@ -30,12 +30,12 @@ mkit_import deploy
30 30
 mkit_import release
31 31
 mkit_import ini
32 32
 
33
-_valid_targets() {
33
+__valid_targets() {
34 34
     #
35 35
     # List valid routes
36 36
     #
37
+    echo _mkit_data
37 38
     echo build
38
-    echo build_manpages
39 39
     echo clean
40 40
     echo debstuff
41 41
     echo dist
@@ -76,7 +76,7 @@ debug_var() {
76 76
     done
77 77
 }
78 78
 
79
-_compver() {
79
+__compver() {
80 80
     #
81 81
     # True if version $1 matches our version
82 82
     #
@@ -103,7 +103,7 @@ _compver() {
103 103
     return 0
104 104
 }
105 105
 
106
-_chkiniversion() {
106
+__chkiniversion() {
107 107
     #
108 108
     # Check if ini version is supported
109 109
     #
@@ -121,10 +121,35 @@ _chkiniversion() {
121 121
     test -n "$ver_line" \
122 122
      || die "version mark ('#mkit version=x.y.z') not found in: $MKIT_INI"
123 123
     their_ver="$(tr -d '[:blank:]v' <<<"${ver_line##*=}")"
124
-    _compver "$their_ver" \
124
+    __compver "$their_ver" \
125 125
      || die "bad mkit.ini version: $their_ver does not match $MKIT_VERSION"
126 126
 }
127 127
 
128
+local_putb() {
129
+    #
130
+    # Make file $1 in $MKIT_LOCAL from stdin and mark as built
131
+    #
132
+    local fpath=$1
133
+    local_put "$fpath" && rec_built "$MKIT_LOCAL/$fpath"
134
+}
135
+
136
+local_put() {
137
+    #
138
+    # Make file $1 in $MKIT_LOCAL from stdin
139
+    #
140
+    local fpath="$MKIT_LOCAL/$1"
141
+    { mkdir -p "${fpath%/*}" && cat >"$fpath"; } \
142
+     || die "cannot write to local cache: $fpath"
143
+}
144
+
145
+local_get() {
146
+    #
147
+    # Read file $1 in $MKIT_LOCAL
148
+    #
149
+    local fpath="$MKIT_LOCAL/$1"
150
+    cat "$fpath" 2>/dev/null
151
+}
152
+
128 153
 mkit_init() {
129 154
     #
130 155
     # Do basic initialization
@@ -132,25 +157,33 @@ mkit_init() {
132 157
     # Check for ini file and some variables
133 158
     #
134 159
     $MKIT_DRY && MKIT_DEBUG=true
160
+    #shellcheck disable=SC2034
135 161
     MKIT_PROJ_PKGNAME=$(ini 1value "project:pkgname")
136 162
     test -f "$MKIT_INI" || die "cannot find mkit.ini: $MKIT_INI"
137
-    _chkiniversion
138
-    test -n "$(tr -d '[:space:]' <<<"$MKIT_LOCAL")" \
139
-     || die "MKIT_LOCAL must be non-blank: '$MKIT_LOCAL'"
163
+    __chkiniversion
164
+}
165
+
166
+rec_built() {
167
+    #
168
+    # Record file $1 for deletion on `clean`
169
+    #
170
+    local file=$1
171
+    mkdir -p "$MKIT_LOCAL"
172
+    echo "$file" >> "$MKIT_LOCAL/built.lst"
140 173
 }
141 174
 
142 175
 route() {
143 176
     #
144 177
     # Call correct function based on $1
145 178
     #
146
-    if _valid_targets | grep -qwx "^$1"; then
179
+    if __valid_targets | grep -qwx "^$1"; then
147 180
         "$1"
148 181
     else
149 182
         {
150 183
             echo "usage: $(basename "$0") TARGET"
151 184
             echo
152 185
             echo "valid targets:"
153
-            _valid_targets | sed 's/^/    /'
186
+            __valid_targets | sed 's/^/    /'
154 187
         } >&2
155 188
     fi
156 189
 }

+ 28
- 28
utils/mkit/include/release.sh Dosyayı Görüntüle

@@ -5,7 +5,7 @@
5 5
 mkit_import ini
6 6
 mkit_import facts
7 7
 
8
-_bump_version() {
8
+__bump_version() {
9 9
     #
10 10
     # Bump version on stdin by level $1 (x, y or z)
11 11
     #
@@ -30,7 +30,7 @@ _bump_version() {
30 30
     echo "$new"
31 31
 }
32 32
 
33
-_relck() {
33
+__relck() {
34 34
     #
35 35
     # Die if blocking condition $1 is detected
36 36
     #
@@ -68,7 +68,7 @@ _relck() {
68 68
              && die "WIP commit since $(git_fact latest_tag)"
69 69
             ;;
70 70
         ini_version)
71
-            oracle=$(git_fact latest_version | _bump_version "$rlevel")
71
+            oracle=$(git_fact latest_version | __bump_version "$rlevel")
72 72
             ini 1value project:version  \
73 73
               | grep -qFx "$oracle" \
74 74
              || die "new version not in mkit.ini: $oracle"
@@ -79,7 +79,7 @@ _relck() {
79 79
     esac
80 80
 }
81 81
 
82
-_release() {
82
+__release() {
83 83
     #
84 84
     # Prepare release
85 85
     #
@@ -94,19 +94,19 @@ _release() {
94 94
     local relsrc        # release source branch (if any)
95 95
     local reldst        # release destination branch (if any)
96 96
 
97
-    _relck git_present
98
-    _relck at_relsrc
99
-    _relck not_dirty
100
-    _relck tags_ok
101
-    _relck vbump_hot
102
-    _relck no_wip
103
-    _relck ini_version
97
+    __relck git_present
98
+    __relck at_relsrc
99
+    __relck not_dirty
100
+    __relck tags_ok
101
+    __relck vbump_hot
102
+    __relck no_wip
103
+    __relck ini_version
104 104
 
105
-    newtag=$(git_fact latest_version | _bump_version "$rlevel" | git_ver2tag )
105
+    newtag=$(git_fact latest_version | __bump_version "$rlevel" | git_ver2tag )
106 106
     set -e
107 107
     debug_var newtag
108 108
     $MKIT_DRY && return
109
-    git tag -m "$(_release_msg)" "$newtag"
109
+    git tag -m "$(__release_msg)" "$newtag"
110 110
 
111 111
     relsrc=$(ini 1value project:relsrc)
112 112
     reldst=$(ini 1value project:reldst)
@@ -116,7 +116,7 @@ _release() {
116 116
     fi
117 117
 }
118 118
 
119
-_release_msg() {
119
+__release_msg() {
120 120
     #
121 121
     # Generate message for annotated tag
122 122
     #
@@ -133,7 +133,7 @@ _release_msg() {
133 133
       | tail -n +3
134 134
 }
135 135
 
136
-_vbump() {
136
+__vbump() {
137 137
     #
138 138
     # Do version bump at level $1
139 139
     #
@@ -142,10 +142,10 @@ _vbump() {
142 142
     #
143 143
     local rlevel=$1     # bump level (x, y or z)
144 144
     local nextver       # version after the bump
145
-    _relck git_present
146
-    _relck at_relsrc
147
-    _relck not_dirty
148
-    nextver=$(ini 1value project:version | _bump_version "$rlevel")
145
+    __relck git_present
146
+    __relck at_relsrc
147
+    __relck not_dirty
148
+    nextver=$(ini 1value project:version | __bump_version "$rlevel")
149 149
     debug_var nextver
150 150
     $MKIT_DRY && return
151 151
     update_version "$nextver" mkit.ini \
@@ -165,7 +165,7 @@ _vbump_gitmsg() {
165 165
     echo ""
166 166
     git_fact reldiff \
167 167
       | sed '
168
-            s/^[a-f0-9]\{7\} / *  &/; t PATHS
168
+            s/^[a-f0-9]\{7\} /\n *  &/; t PATHS
169 169
             s/^/        /
170 170
             :PATHS
171 171
         '
@@ -175,54 +175,54 @@ release() {
175 175
     #
176 176
     # Perform release on Z level
177 177
     #
178
-    _release z
178
+    __release z
179 179
 }
180 180
 
181 181
 release_x() {
182 182
     #
183 183
     # Perform release on X level
184 184
     #
185
-    _release x
185
+    __release x
186 186
 }
187 187
 
188 188
 release_y() {
189 189
     #
190 190
     # Perform release on Y level
191 191
     #
192
-    _release y
192
+    __release y
193 193
 }
194 194
 
195 195
 release_z() {
196 196
     #
197 197
     # Perform release on Z level
198 198
     #
199
-    _release z
199
+    __release z
200 200
 }
201 201
 
202 202
 vbump() {
203 203
     #
204 204
     # Perform version bump on Z level
205 205
     #
206
-    _vbump z
206
+    __vbump z
207 207
 }
208 208
 
209 209
 vbump_x() {
210 210
     #
211 211
     # Perform version bump on X level
212 212
     #
213
-    _vbump x
213
+    __vbump x
214 214
 }
215 215
 
216 216
 vbump_y() {
217 217
     #
218 218
     # Perform version bump on Y level
219 219
     #
220
-    _vbump y
220
+    __vbump y
221 221
 }
222 222
 
223 223
 vbump_z() {
224 224
     #
225 225
     # Perform version bump on Z level
226 226
     #
227
-    _vbump z
227
+    __vbump z
228 228
 }

+ 2
- 1
utils/mkit/include/vars.sh Dosyayı Görüntüle

@@ -1,4 +1,5 @@
1 1
 #!/bin/bash
2
+#shellcheck disable=SC2034
2 3
 # MKit - simple install helper
3 4
 # See LICENSE file for copyright and license details.
4 5
 
@@ -57,4 +58,4 @@ MKIT_PROJ_PKGNAME=""
57 58
 #
58 59
 # This MKit version
59 60
 #
60
-MKIT_VERSION=0.0.24
61
+MKIT_VERSION=0.0.26

+ 19
- 19
utils/mkit/mkit.mk Dosyayı Görüntüle

@@ -5,52 +5,52 @@ export MKIT_DIR
5 5
 
6 6
 all: build
7 7
 
8
-build:
9
-	@$(MKIT_DIR)/make build
8
+_mkit_data:
9
+	@"$(MKIT_DIR)"/make _mkit_data
10 10
 
11
-manpages: build
12
-	@$(MKIT_DIR)/make build_manpages
11
+build:
12
+	@"$(MKIT_DIR)"/make build
13 13
 
14 14
 clean:
15
-	@$(MKIT_DIR)/make clean
15
+	@"$(MKIT_DIR)"/make clean
16 16
 
17 17
 debstuff: dist
18
-	@$(MKIT_DIR)/make debstuff
18
+	@"$(MKIT_DIR)"/make debstuff
19 19
 
20 20
 dist: clean
21
-	@$(MKIT_DIR)/make dist
21
+	@"$(MKIT_DIR)"/make dist
22 22
 
23 23
 rpmstuff: dist
24
-	@$(MKIT_DIR)/make rpmstuff
24
+	@"$(MKIT_DIR)"/make rpmstuff
25 25
 
26 26
 install: all
27
-	@$(MKIT_DIR)/make install
27
+	@"$(MKIT_DIR)"/make install
28 28
 
29 29
 release:
30
-	@$(MKIT_DIR)/make release
30
+	@"$(MKIT_DIR)"/make release
31 31
 
32 32
 release_x:
33
-	@$(MKIT_DIR)/make release_x
33
+	@"$(MKIT_DIR)"/make release_x
34 34
 
35 35
 release_y:
36
-	@$(MKIT_DIR)/make release_y
36
+	@"$(MKIT_DIR)"/make release_y
37 37
 
38 38
 release_z:
39
-	@$(MKIT_DIR)/make release_z
39
+	@"$(MKIT_DIR)"/make release_z
40 40
 
41 41
 uninstall:
42
-	@$(MKIT_DIR)/make uninstall
42
+	@"$(MKIT_DIR)"/make uninstall
43 43
 
44 44
 vbump:
45
-	@$(MKIT_DIR)/make vbump
45
+	@"$(MKIT_DIR)"/make vbump
46 46
 
47 47
 vbump_x:
48
-	@$(MKIT_DIR)/make vbump_x
48
+	@"$(MKIT_DIR)"/make vbump_x
49 49
 
50 50
 vbump_y:
51
-	@$(MKIT_DIR)/make vbump_y
51
+	@"$(MKIT_DIR)"/make vbump_y
52 52
 
53 53
 vbump_z:
54
-	@$(MKIT_DIR)/make vbump_z
54
+	@"$(MKIT_DIR)"/make vbump_z
55 55
 
56
-.PHONY: all clean dist rpmstuff install uninstall release release_x release_y release_z vbump vbump_x vbump_y vbump_z
56
+.PHONY: all _mkit_data clean dist rpmstuff install uninstall release release_x release_y release_z vbump vbump_x vbump_y vbump_z

+ 2
- 4
utils/mkit/stub Dosyayı Görüntüle

@@ -141,7 +141,7 @@ deploy() {
141 141
             echo '%setup -q'
142 142
             echo ''
143 143
             echo '%build'
144
-            echo 'make %{?_smp_mflags}'
144
+            echo 'make %{?_smp_mflags} PREFIX=/usr'
145 145
             echo ''
146 146
             echo '%install'
147 147
             echo '%make_install PREFIX=/usr'
@@ -320,9 +320,7 @@ deploy() {
320 320
             echo ""
321 321
             echo "        Note that in case of debian/package.install files,"
322 322
             echo "        PREFIX based paths (eg. /usr/bin) in this file should"
323
-            echo "        should be as if PREFIX was /usr/local, despite PREFIX"
324
-            echo "        being set to /usr in debian/rules.  (Debian's script"
325
-            echo "        dh_usrlocal will take care of that.)"
323
+            echo "        should be as if PREFIX was /usr."
326 324
             echo ""
327 325
             echo "        In case of Fedora-based distro, you should make use"
328 326
             echo "        of RPM macros:"