[Minor] debian/control: Update Vcs-Git URL and maintainer
* Let Vcs-Git point to a secure transport.
* Use Vsevolod's email address as maintainer to avoid having to patch
this file in rspamd_build.sh. Mikhail is not the current maintainer of
the Debian package anyway.
* Add script that can be used after tagging to update versions.
* Example (for this commit): `./set-version.sh 2.4`
* Clear Debian changelog, this information is not updated anyway.
* The `CMAKE_BUILD_TYPE=None` option is commonly used to respect the
user's optimization flags. Users may be interested in enabling LTO
anyway in that case. Implement this the Debian build.
* Remove typo, the value is called RelWithDebInfo. Enable LTO for this
by default.
* Use the install RPATH to avoid relinking at install time.
* This additionally ensures reproducible builds invariant of the build
directory since build paths such as `X/src:X/contrib/replxx:...` are
no longer embedded in the binary.
* This assumes that binaries are not ran at build time. If this is
needed, CMAKE_BUILD_RPATH_USE_ORIGIN=ON can be used instead (requires
CMake 3.14). For older CMake, try setting LD_LIBRARY_PATH.
[Minor] Debian: set fixfilepath reproducible build option
* Enable -ffile-prefix-map to ensure that assert statements in
contrib/libev/ev.c and other places do not store the full file path.
This ensures reproducible builds, invariant of the build directory.
Supported since dpkg 1.19.1, including Debian buster and Ubuntu 19.04.
* Enable all hardening features while at it, this adds bindnow only. See
https://manpages.debian.org/buster/dpkg-dev/dpkg-buildflags.1.en.html
[Minor] Debian: update arches and versions in build dependencies
* glib 2.28 is the current minimum declared in CMakeLists.txt, but even
Jessie satisfies that requirement. Remove it.
* Use DEB_HOST_ARCH for "The Debian architecture of the host machine"
instead of DEB_TARGET_ARCH which is relevant for cross-compiling only.
* Update luajit arches based on https://packages.debian.org/sid/luajit
* Added arm64, mips64el, ppc64, ppc64el (stretch-backports / buster).
* Removed kfreebsd-i386 and 32-bit powerpc (removed in Jessie).
* Removed powerpcspe (unofficial port with outdated luajit).
* Maintained mips (removed after buster).
dh-systemd is a transitional package and moved into debhelper, so remove
it. This is supported since Debian Stretch. This change has to be
reversed if Debian Jessie or Ubuntu Xenial have to be supported.
[Minor] Debian: Enable Hyperscan and parallel builds
Debian 9 (Stretch) ships with Hyperscan 4.4.1, Ubuntu 18.04 ships with
Hyperscan 4.7.0. Follow rspamd's official recommendation and enable
support for these.
The --parallel option has been supported since 2009 and works perfectly
with CMake, so enable it by default.