Various Debian packaging fixes and improvements: (note: depends on a fork of cargo deb as some cargo deb PRs are still pending)
- Fix: Krill will now be restarted when the package is upgraded (also when upgrading from v0.7.0/v0.7.1/v0.7.2/v0.7.3 packages) (fixes#280).
- Fix: systemd warning after apt remove (fixes#275).
- Fix: Lintian error "manpage-not-compressed" (via cargo deb PR 133).
- Fix: Lintian error "debian-changelog-file-missing" (via cargo deb PR 137). Note: the changelog is only a minimal pointer to the GitHub release notes, attributed to the user doing the pull requestor or merge to master.
- Fix: Lintian error "copyright-without-copyright-notice".
- Fix: Cargo Deb "warning: extended-description field missing" (via cargo deb PR 138).
- Fix: Incorrect systemd unit "vendor preset: enabled" (via PR 276).
- Fix: Remove unused /etc/krill directory created by the "ConfigurationDirectory" systemd unit key.
Also:
- Use debhelper dh_installsystemd style support for systemd unit installation (based on official Debian debhelper dh_installsystemd autoscripts & logic) instead of incomplete/erroneous hand crafted maintainer scripts (via cargo deb PR 135).
- Uses systemd unit masking on package removal as recommended (see PR 276).
- Enables bash echo output for pkg workflow run steps.
- Verfies built deb packages with Lintian.
- Less repetition in Cargo.toml.
- Assumes that the target system has ca-certificates installed already.
- Vendor OpenSSL to support Ubuntu 16.04 which only has OpenSSL 1.0.0.
- Use GH caching to avoid repeat compilation of unchanging cargo deb and krill dependencies.
- Build in Docker containers as GH runners have too many non-standard packages and libraries pre-installed.
- Sanity check the created DEB in targeted O/S versions via LXC/LXD containers (for systemd support).