In no particular order:
* Generalize references to Krill where they are not Krill specific.
* Make argument order consistent with Routinator.
* Various comment tidying and harmless changes for consistency with (e.g. argument order) the Routinator pkg workflow.
* Trigger the pkg workflow for all v* tags as this is simpler than matching specific version patterns and is consistent with the Routinator pkg workflow.
* Don't use ubuntu-latest as we unexpected changes may be introduced when latest moves up to the next Ubuntu release.
* Use the same latest DEB/RPM tool versions and features as the Routinator pkg workflow.
* Parameterize the Docker repo to push to. Don't assume it matches the GH repo name.
* Docker repo name must be lowercase.
* Ensure executables copied into the Docker image have the executable permission.
* Let the compiler choose the right target in the Dockerfile.
* Work around GitHub misapplication of secret protection to the dockerbasetag workflow job output.
* Upgrade to actions/cache@3
Defer copying of provided binaries until a copy is actually needed, thus avoiding copy failure in non-BuildKit Docker invocations of 'docker build' in the default 'MODE'.
* Move the Docker workflow into the main Packaging workflow.
* Extend the Dockerfile to support building from precompiled externally supplied binaries as well as building from sources (to support the cross-compilation case).
* Extend the workflow to support cross-compilation for both Docker images and traditional packages. (#764)
* Extend the workflow to publish a multi-arch Docker manifest.
* Prefix tmp artifact names with 'tmp-' so that packages.nlnetlabs.nl scripts can easily ignore them.
* Use latest upload/download artifact action versions.
* Upload built Docker images as GitHub Actions artifacts.
* Switch to the vault package repository for CentOS 8 now that it is EOL.
* Don't delete cross compiled binaries during pkg job as multiple invocations of the matrix need to access the same artifact.