|
@@ -4,6 +4,63 @@ shellfu import exit
|
4
|
4
|
shellfu import inigrep
|
5
|
5
|
shellfu import pretty
|
6
|
6
|
|
|
7
|
+#
|
|
8
|
+# Saturnin - __MKIT_PROJ_TAGLINE__
|
|
9
|
+#
|
|
10
|
+# Saturnin is a Shellfu module that can help you build consistent and easy
|
|
11
|
+# to use command line-based toolkit. The idea is that you have a set of
|
|
12
|
+# scripts that together form a particular tool, which you then integrate
|
|
13
|
+# under a single meta-command (similar to git, apt, systemctl and many
|
|
14
|
+# others...).
|
|
15
|
+#
|
|
16
|
+# Saturnin's main goal is to help you with the integration so that you can
|
|
17
|
+# fully concentrate on development of the scripts, while Saturnin will
|
|
18
|
+# provide the common part of command-line interface. Adding to that,
|
|
19
|
+# Saturnin also provides several extra features as config management,
|
|
20
|
+# hooks or support for command line completion.
|
|
21
|
+#
|
|
22
|
+# It's possible to integrate any kind of programs within Saturnin, although
|
|
23
|
+# extra features are currently only available for Shellfu/Bash scripts.
|
|
24
|
+#
|
|
25
|
+# Starting your toolkit
|
|
26
|
+# =====================
|
|
27
|
+#
|
|
28
|
+# The starting point of a Saturnin-powered toolkit is the main meta-command,
|
|
29
|
+# which sets all mandatory variables and calls saturnin__main(). You could
|
|
30
|
+# implement that one yourself, but it's **strongly recommended** to start
|
|
31
|
+# off by creating a copy of 'app.skel' from 'saturnin-demo':
|
|
32
|
+#
|
|
33
|
+# https://github.com/AloisMahdal/saturnin-demo/
|
|
34
|
+#
|
|
35
|
+# In fact, it's best to actually copy the *whole* project, which serves
|
|
36
|
+# as skeleton of not just the meta-command (by Saturnin) but also MKit
|
|
37
|
+# install/build system, which provides features like installation
|
|
38
|
+# scripts, SemVer-compatible versioning and packaging templates for both
|
|
39
|
+# RPM and DEB:
|
|
40
|
+#
|
|
41
|
+# git clone https://github.com/AloisMahdal/saturnin-demo
|
|
42
|
+# mv saturnin-demo myproject
|
|
43
|
+# cd myproject
|
|
44
|
+# rm -rf .git
|
|
45
|
+# git init
|
|
46
|
+#
|
|
47
|
+# You will need to edit few files, for starters:
|
|
48
|
+#
|
|
49
|
+# edit mkit.ini # your main project info
|
|
50
|
+# edit packaging/template.spec # file lists, Requires and description
|
|
51
|
+# edit packaging/debian/control # ..also for Debian
|
|
52
|
+# git add .
|
|
53
|
+# git commit -m "Initial commit"
|
|
54
|
+#
|
|
55
|
+# ...but the reward is sweet:
|
|
56
|
+#
|
|
57
|
+# make install # to install to current system
|
|
58
|
+#
|
|
59
|
+# make rpmstuff # to get .spec file and source tarball
|
|
60
|
+# make debstuff # to get debian directory
|
|
61
|
+# make vbump # to seal off release
|
|
62
|
+# make release # to seal off release
|
|
63
|
+#
|
7
|
64
|
|
8
|
65
|
#
|
9
|
66
|
# Git commit hash of application source tree
|