The ordering of entries jumps around sometimes when reading from
Transifex (this might be Python unordered dictionaries, or based
on translation statistics -- I can't tell). Force an order by
sorting on language code and key-name so they all end up grouped
by language code, sorted Name Icon GenericName Comment.
Although this shuffles some more entries now, longer-term it
will reduce churn in the .desktop file.
This introduces a stub-implementation (fake) that mimics the
API offered by libcalamares (the library is actually exposed
to Python via Boost::Python, so it doesn't act like a C-extension).
Using that stub-implementation, we can check Python modules for
validity as part of the test-suite.
The stub-implementation is needed, because otherwise every
Python module already fails at `import libcalamares`.
- stub-implement the API that is actually used by the Python modules
- in globalstorage, be slightly smart about what keys are being
requested (so that e.g. all the modules that handle partitions
information get an empty list and can manipulate that, instead of
erroring out when they get a string)
The only acceptable versions of clang-format are 8 and 9 for now
(until another round of big-churn-from-formatting, at which point
we'll update the required version).
clang-format-9 says:
SpacesInSquareBrackets (bool)
If true, spaces will be inserted after [ and before ]. Lambdas
or unspecified size array declarations will not be affected.
clang-format-10 changes part of that to:
Lambdas without arguments or unspecified size array
declarations will not be affected.
This means that 9 will only allow `[name]` for captures, and 10
will only allow `[ name ]` for captures, so they ping-pong all
the lambda's in the codebase back and forth. Just don't.
Various clang-format versions have different defaults and
don't understand the same options, so adjust to having
files per-formatting-version to patch things up.
- Get a signature on CHANGES at the start, so that the key
is cached by gpg; that way the tag-signing has the key, and
will not time-out (which breaks tarball generation, and
means that I need to **watch** the release script, rather
than fire-and-forget).
- separate out the version into a variable (again -- this was moved **into**
project() long ago, but now there's a desire to have the value before
reaching the project() command)
- rename CALAMARES_VERSION_RC to something more sensible.
- point to main Calamares site in the 'part of' headers instead
of to github (this is the "this file is part of Calamares"
opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
this is the 3-paragraph summary of the GPL-3.0-or-later, which has
a meaning entirely covered by the SPDX tag.
- remove empty useless HACKING
- remove unused cppcheck.sh
- migrate the AppImage docs to the wiki (which doesn't moan about licensing)
- try a HTML-style comment in the RELEASE docs
- like Esperanto before Qt 5.12, Interlingue does not
seem to be supported by QLocale, so it gets turned into
"C" locale, which then messes up the default language
selection in the welcome page.
Move it to _incomplete until QLocale does support it.
FIXES#1475
The signing key expired some time ago, and while I made a
new signing key, there's no indication that a different
key is being used. Update the ID for future signatures.
In clang-format 10, SpaceInEmptyBlock is introduced, and defaults to
true .. which is different from the earlier formatting versions did.
For now, refuse clang-format 10, and search specifically also for
clang-format-9.0.1 because that's what I have on my laptop.
At some point, switch in the config option and then require
clang-format 10 or later (because earlier versions refuse to
run with an unknown config option)