Overview of changes:
* Added BASH_VERSION and SATURNIN_APP_VERSION to debug output
Dodge PRETTY_DEBUG_EXCLUDE and report these even in "normal" debug
mode.
* Added upper Shellfu dependency version limit
* Changed to shorter name of debian/install file
The 'package.install' form is for cases with multiple binary
packages.
* Removed extra version parts from (Build)Requires
* Updated format of version declaration
Newer Shellfu changes this format, although dependency changes are
not justified as almost nothing uses the version directive.
* Codebase maintenance
Shellfu v0.10.4+ will use the newer format. This does not justify
hard dependency change, as no known functional components rely on the
version; only thing that uses it is sfdoc to display module version in
man page footer.
Overview of changes:
* Reverted pre-pending behavior of saturnin__conf_mkpath()
Turns out it caused more harm than good; see related commit for
details.
Revert pre-pending behavior of saturnin__conf_mkpath()
Turns out this was not a good idea as it would too easy to trigger.
If a saturnin sub-command was called from within itself (or another other
sub-command), the $SATURNIN_CONF_PATH computed earlier would just double,
leading to unwanted behavior of saturnin__conf_find(), which would find
items twice.
The original problem should be adressed another way; the testing case
be covered by either writing tests on a lower level; eg. unit tests
and use saturnin__conf_find() or saturnin__conf() without forking.
Another solution on part of Saturnin could be to introduce different
variable (e.g. SATURNIN_CONF_DIRS) for values computed by launcher
and keep $SATURNIN_CONF_PATH just for user.
Overview of changes:
* Made saturnin__mkpath() respect $SATURNIN_CONF_PATH
Ignoring the environment variable would make it hard to do system
tests in staged environments (such as RPM's `%check`) that would
rely on saturnin__conf().
Overview of changes:
* Added --saturnin-get-subcommands devel key
In last update I inanely removed _ls_sc sub-command used by
completion example in saturnin-demo. This is a final replacement,
which is actually consistent with the rest of plumbing commands.
* Improved docstrings for sfdoc
Added and fixed some old docstrings as well as added module
docstring.
* Improved usage errors with newer Shellfu's pretty.sh interface
pretty.sh in newer Shellfu can handle usage messages in more
user-friendly way, by providing option to append error reason
to the message itself.
(With previous version, one could achieve similar effect but with
more negative effect on readability.)
* Fixed build-time test for Debian
Turns out that dehbelper does not install the package on its own so
we have to deal with it manually.
* Minor code cleanup
Overview of changes:
* Fixed many packaging errors
Added proper (build) dependencies, fixed build-time tests (rpm and
deb), updated meta-data.
* Updated code to work with for Shellfu v0.10.0
* Removed obsolete internal subcommands
* Added support for -V for version (SemVer-formatted)
* Changed license to LGPLv2
Overview of changes:
* Added option to enable stronger debugging
You can use PRETTY_DEBUG_EXCLUDE to mute some output from your apps
that might not be always relevant (example launcher in saturnin-demo
does this). This option re-sets the variable to empty string, making
sure your pretty apps will show as much as possible.
* Added tests to deb and rpm packages
* Added test header (requires Shellfu v0.9.7+)
* Fixed, tidied up and updated project and packaging meta-data
* Fixed usage test
* Codebase maintenance
Overview of changes:
* Enabled adding meta command help text
User can now specify SATURNIN_META_HELP environment variable to
control what happens when meta-command is called with `--help`
argument.
* Removed `conf` from default sub-command list
The command is essentially internal; usage from outside is possible
but requires knowledge normally only available to developers.
conf is Saturnin's internal command to access common configuration. It
could be, in theory, useful for end-user to investigate the configuration,
but they would already need to know how it works and which configuration
keypaths or sections they want to look at.
Bettter hide it; it's not worth for the potential confusion.
Note that the command could actually even be removed one day since
internally it's much more efficient to use saturnin__conf().
Overview of changes:
* Properly filter subcommands on listing
In contexts like main --help and tab completion, Saturnin would show
also arbitrary files from libexec that did not start with dedicated
prefix ($SATURNIN_LIBEXEC_PREFIX). This was a mistake and was never
intended to work that way.
* Hook code is now run as separate bash process
Running it within sub-command code was a little bit too unsafe;
there's no need to be evil^Weval here.
* Rewrote saturnin__version() (used for app --version)
Newly, --version will only incorporate tagline if it was defined in
mkit.ini.
Also "Powered by Saturnin" line has been added so that we don't have
to ask user every time.
* Added --saturnin-get-saturnin-version
It's a good idea to include this with test reports and the like so
we're making it more accessible to scripts.
* API documentation clarifications
* Codebase maintenance
* Refactoring for code readability