In spite of there being considerable documentation sometimes in the
config file, we go with CC0 because we don't want the notion of
'derived work' of a config file.
The example `settings.conf` is also CC0. Add some docs to
it while we're at it.
- fix the schema so the schema is valid json-schema
- the schema doesn't actually validate the *operations* yet
- sort the named backends (needs a double-check that the
list covers all the ones we currently support)
SEE #1441
- for remove and localInstall, add support for pre- and post-
scripts like there already was for install.
This feels like there's code duplication going on, but I haven't
thought of an elegant way to distinguish the available operations
so that I can pass around functions instead.
- Make the BCP47 value explicitly lower-case.
- Add some constness and encapsulation.
- Fix up documentation in the packages module explaining the
format of the ${LOCALE} replacement (now forced to lower-case,
but it is also only the language part, not e.g. en-UK).
FIXES#922
Update documentation, add a new key *skip_if_no_internet* to support
systems that **recommend** having an internet connection (but don't
require it), and which also use the packages module. This prevents
a long delay while the package manager tries to access the internet
and times out (repeatedly).
Existing configurations are unchanged.
- Check for 'list' when it's actually a 'dict' is strange.
Reverse logic to consider 'str' a package name and everything
else is special.
- Refactor to handle the difference between package names and
packages-with-script-data in one place.
- Add code and config documentation.
- Switch sample configurations to dummy-backend.