Filters starting with '!' will try to match processes pid, name, cmd and
user with extended regex as defined by the C++ standard. A single '!'
will not filter.
According to the Linux Standard Base (LSB), README files should be
installed in the /usr/share/doc directory. By convention however the
README files should not go there 'bare', but in a subdirectory for each
program.
Install to $(PREFIX)/share/doc/btop/README.md to comply with this.
To ensure the 'themes' is copied as a full directory and not individual
files, create the /usr/share/btop in a separate step as the doc
installation step no longer does it.
Building the man page is optional and happens automatically if command
'lowdown' is present on the system. Add it to all possible GitHub CI files
so man page conversion will be tested and fully used.
Unfortunately 'lowdown' cannot be added to the musl jobs the program is
available only starting from Alpine v3.15, while the musl Docker images
run Alpine v3.14 (and haven't been updated in 2+ years).
Also, the Snap build used Ubuntu 20.04 "Focal" which equally is too old
to include Lowdown, which is available only from Ubuntu 22.04 "Jammy"
onward:
https://packages.ubuntu.com/search?suite=all&searchon=names&keywords=lowdown
Create a man page in Markdown format so that it can be read online on
GitHub etc and it can be edited much more easily than a raw troff/groff
file.
Compile it to proper man page format at build-time using 'lowdown' if
it is available on the system, otherwise just issue a warning in yellow.
Tested to work both with:
export VERBOSE=1
make
make install
make uninstall
cmake -B build
cmake --build build --verbose
While Lowdown is easy to manually install in all modern Linux distros
and also Homebrew for Mac, this commit does not add 'lowdown' in any
build dependencies or in the CI, that needs to be done separately.