Browse Source

Remove obsolete project notes

Alois Mahdal 7 years ago
parent
commit
bea85c9a88
4 changed files with 0 additions and 324 deletions
  1. 0
    103
      notes/TODO.md
  2. 0
    125
      notes/guidelines.md
  3. 0
    57
      notes/packaging.md
  4. 0
    39
      notes/progress.md

+ 0
- 103
notes/TODO.md View File

@@ -1,103 +0,0 @@
1
-TODO
2
-====
3
-
4
-
5
-global/misc
6
------------
7
-
8
-*   persistence -- autocreate TMP, store things there
9
-
10
-*   flow.sh -- implement phase / outcome mechanism.  Support for
11
-    automatic mktemp/pushd/cp/popd/rmrf wrappng (make friends with
12
-    collect_artifact*)
13
-
14
-*   fix up `shellfu --list-*`, current implementation is
15
-    scratching right ear with left hand
16
-
17
-*   support conflict checking in `shellfu`. i.e. for TI and the likes
18
-
19
-*   doc - finish `ffdoc`, add first line to function lists
20
-
21
-*   `trap EXIT` to cleanup
22
-
23
-*   make better use of bash features and wipe out unnecessary
24
-    grep/sed/perls
25
-
26
-*   separate core libs and extras
27
-
28
-*   maybe separate shellfu from core libs
29
-
30
-
31
-test
32
-----
33
-
34
-*   write some tests!
35
-
36
-
37
-pretty.sh
38
----------
39
-
40
-*   add -name arg to debug, e.g. for pipe/cmd/file and use it in
41
-    pretty
42
-
43
-*   set fixed list of valid "leaks" to pretty
44
-
45
-
46
-_pretty_*.sh
47
-------------
48
-
49
-*   implement options (like `ps -o`, et al.)
50
-
51
-
52
-sw.sh
53
------
54
-
55
-*   support Beaker tasks in any_install
56
-
57
-
58
-setup.sh
59
---------
60
-
61
-*   `make` your own dog foo **or** use other than GNU make
62
-
63
-
64
-testing.sh
65
-----------
66
-
67
-*   think: laziness, i.e. we only run actual test because it's
68
-    only way how to obtain result. *but* could we have a way to
69
-    preemptively "insert" the result based on cheap/fast/soft/safe
70
-    check done e.g. by Harness?  would that help make the whole
71
-    damn thing less complex? (than w/ pre-selection?)
72
-
73
-*   outside test: setup, setupt, teardownt, teardown: fail=give
74
-    up all hope.
75
-
76
-    inside test: always teardownt, except if bailout before setupt
77
-    was done (e.g. based on bugstate or feature check)
78
-
79
-*   phase outcome: fail, bailout (reason: waive, impossible, tool
80
-    fail?), pass (1 per test phase?)
81
-
82
-*   `collect_artifact -t` -- make a timestamp-rooted copy of
83
-    artifact tree or a particular artifact (with some implicit
84
-    meta data)
85
-
86
-*   bugstate, bugstate_* -- ini-configurable bailout mechanism
87
-    for bug-related contingency.  use offline (iniread?) cache,
88
-    provided by upper harness for, say, rhel7.  (use expectedness?)
89
-    e.g.
90
-
91
-        bailout_if bugstate_open rhbz12345
92
-
93
-    use a darn-simple buglist format (one that can work across
94
-    many bugzillas el/fc/github/deb/whatever)
95
-
96
-    make separate (ee*) independent tool to answer this query
97
-
98
-*   expected fail: s it possible/wise to support safely?  Does
99
-    it make sense in our architecture?
100
-
101
-    consider jmarko's eval case with es=1 being expected.
102
-
103
-    If expfail, make it uncommon as possible, e.g. 42 or 007.

+ 0
- 125
notes/guidelines.md View File

@@ -1,125 +0,0 @@
1
-Shellfu guidelines
2
-==================
3
-
4
-By Alois Mahdal
5
-
6
-
7
-UI/UX
8
------
9
-
10
-*   Heavily prefer unix filter UI.
11
-
12
-    If you can't do it with filtering, it could mean you should split your
13
-    function anyway.
14
-
15
-*   Even function can use dash options and even `usage()`.
16
-
17
-*   Do not `think()` in functions.
18
-
19
-*   Preferred capitalization in messages is:
20
-
21
-    *   all small for libs (debug/warn/die)
22
-
23
-    *   First cap for scripts
24
-
25
-*   Message width:
26
-
27
-    *   think/warn/die: try hard to never exceed 72
28
-
29
-    *   debug: do what you must
30
-
31
-    *   always try to split message to fixed part, colon and  *before* colon and
32
-        the "data" part after the colon, e.g.:
33
-
34
-            file missing: /var/run/media/somebody/some-medium/some-long/path
35
-
36
-        instead of:
37
-
38
-            file /var/run/media/somebody/some-medium/some-long/path is missing
39
-
40
-        (even if you think that it will be short)
41
-
42
-
43
-API
44
----
45
-
46
-
47
-### Exit status ###
48
-
49
-*   consider using `exit.sh`
50
-
51
-*   do not use exit status to convey information other than
52
-    success or error type
53
-
54
-*   use 1 for "no", 2 for syntax error (if applicable), more
55
-    otherwise;  note that shellfu pretty.die uses 9 as a generic
56
-    status
57
-
58
-
59
-### Arguments ###
60
-
61
-*   Reserved options are
62
-
63
-     *  `-q|--quiet`, to turn off verbosity,
64
-     *  `-v|--verbose`, to turn on verbosity,
65
-     *  and `-d|--debug` to turn on debug output (stderr).
66
-
67
-### Variables ###
68
-
69
-*   module "bar" has implicitly reserved namespace "SHELLFU_BAR* and "__FOO_BAR*"
70
-
71
-*   few exceptions exist like SHELLFU_DEBUG, where Shellfu itself reserves
72
-    a module name
73
-
74
-*   always consider
75
-
76
-        SHELLFU_BAR_BAZ=${SHELLFU_BAR_BAZ:-value}
77
-
78
-    over
79
-
80
-        SHELLFU_BAR_BAZ="value"
81
-
82
-    since in the first case user can set this (in-line when calling your
83
-    script or globally in .bashrc)
84
-
85
-
86
-Principles
87
-----------
88
-
89
-
90
-### Be smart but honest ###
91
-
92
-If you can default, default, otherwise be honest = fail.
93
-
94
-
95
-### Don't talk unless asked ###
96
-
97
-Echo to stdout only if purpose of your script/function **is** to print
98
-**that** text.  Otherwise use `think()` instead.
99
-
100
-If you want to make your script "user-friendly" (like babbling about
101
-what it's doing), consider setting `SHELLFU_VERBOSE` to true in header of
102
-your script (and implementing `-q|--quiet` to tun it off).
103
-
104
-
105
-### Stop commenting ###
106
-
107
-Don't use comments if you can make code readable enough.
108
-
109
-Comments are good to explain special cases (like if something you can't
110
-fix is broken so you had to work around and now you know your code is
111
-stupid + ineffective but have to advise colleagues against fixing it).
112
-Sometimes they can be used for TODOs or for FIXMEs.  Or if you really
113
-really tried hard but failed to write something in a readable manner
114
-(that's actually a FIXME).
115
-
116
-But people use them also to "title" logical clusters of code (that don't
117
-make sense to separate to functions).  Consider using `think` for that.
118
-
119
-
120
-### Go far to make code readable ###
121
-
122
-Often if you can't think of a way to make the code nice, you might have
123
-other problem:  your code is too complicated.  Note that refactoring
124
-few lines away to a function call or using better (or *some*) naming
125
-convention can be a great help.

+ 0
- 57
notes/packaging.md View File

@@ -1,57 +0,0 @@
1
-Packaging
2
-=========
3
-
4
-This document contains packaging suggestions for shellfu and its accompanying
5
-libs.  So far shellfu is maintained as one collection but since some parts are
6
-independent, it's possible to create minimal packages.
7
-
8
-Exposing sub-sets as  not supported 
9
-
10
-
11
-"Leaf" packages
12
----------------
13
-
14
- *  *shellfu-base* - only shellfu.sh (posix)
15
- *  *shellfu-core* - core libs (posix?)
16
- *  *shellfu-extras* - extra libs
17
- *  *shellfu-manpages* - manpages (extra because of req. ronn to build)
18
-
19
-
20
-Meta packages
21
--------------
22
-
23
- *  *shellfu* - -base, -core, -extras, -manpages (not -desktop)
24
- *  *shellfu-posix* - -base plus libs compliant with posix
25
-
26
-
27
-Package contents
28
-----------------
29
-
30
-
31
-### shellfu-base ###
32
-
33
-No modules, just shellfu.sh and supporting binaries.
34
-
35
-
36
-### shellfu-core ###
37
-
38
- *  error
39
- *  pretty
40
- *  _pretty_color
41
- *  _pretty_html
42
- *  _pretty_plain
43
- *  types
44
-
45
-
46
-### shellfu-testing ###
47
-
48
- *  testing
49
-
50
-
51
-### shellfu-extras ###
52
-
53
- *  ini
54
- *  stats
55
- *  recon
56
- *  charmenu
57
- *  misc

+ 0
- 39
notes/progress.md View File

@@ -1,39 +0,0 @@
1
-Progress
2
-========
3
-
4
-
5
-Done
6
-----
7
-
8
- *  debug/think/...
9
- *  usage_is
10
- *  pretty
11
- *  wait_until
12
- *  iniread
13
- *  artifacts
14
- *  ffdoc
15
- *  shellfu-get catfun
16
- *  charmenu
17
- *  tmp
18
- *  common exit statuses
19
- *  sane distribution into modules
20
- *  separate mkit
21
- *  separate tf
22
- *  local semi-release (silently as rqkit dep)
23
- *  shellfu-embed (experimental)
24
- *  lot of cleanups
25
-
26
-
27
-In progres
28
-----------
29
-
30
- *  head for release
31
- *  work out proj page / docs
32
- *  finish shellfu-doc (catvar/catfun/catmod | filter doc)
33
-
34
-
35
-Design
36
-------
37
-
38
- *  recon?
39
- *  phases