x0vncserver: Add support for systemd socket activation
systemd can pass in sockets as file descriptors 3 and beyond. Allows
the server to use socket activation.
When triggered by systemd, no other listening sockets (e.g. rfbport) will
be activated.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
These are also useful warnings that tend to find real bugs, so let's
enable then.
The downside is they require us to mark certain things so the compiler
knows if they were on purpose or not.
We need this function to deal with pkgconfig files properly, but
unfortunately it doesn't exist until CMake 3.13, and we need to support
CMake 3.10. So add a hacky compatibility function for older systems.
Enable this automatically for developers so we increase the chance of
these problems getting caught. There is a risk of overhead though so
keep them disabled for release builds.
It's difficult to support both old and new versions, so raise the
requirement to the oldest that is commonly used, which is CMake 3.10.2
on Ubuntu 18.04.
This sets up a more correct session as there are key tasks that
need to be performed by PAM. E.g. systemd will allocate cgroups
and start base services.
In order to easily handle this as a system service the mapping of
displays is now done via a configuration file.
It is the most common init system these days so it should not be
hidden in the contrib/ directory.
This also removes all old SysV files from the contrib packages.
because it is not only platform independent
but also allows to override the build date
This helps to make tigervnc builds reproducible
See https://reproducible-builds.org/ for why this is good
Also adds UTC flag, to be independent of timezone.
Also changes JAVA_DATE format to ISO-8601 date format.
Requires cmake-2.8.11+ from 2013
We don't modify the link interface directly so these warnings are
just useless noise. We could in theory use the new naming instead,
but at least CMake 2.8.12 is buggy and screws up the link when that
policy is active.