This patch will setup Docker containers to build the source and Debian
packages. The script will use the private key under gpg-keys folder to
sign the Debian packages. If the folder is not there or doesn’t exist
then the build will fail. Keys are expected to be in .asc format,
unencrypted and not password protected.
Added .dockerignore file to avoid copying the cache files to the
container. The output is stored in out/ folder and the folder structure
is ready for update_debian_repo.sh script.
SWIFT_PACKAGE_PLATFORMS defines the platforms that it will be build for.
Default values are: ubuntu:bionic ubuntu:cosmic debian:stretch
DOCKERRUNEXTRAFLAGS variable can set additional flags for Docker
builders. Currently is set to --privileged to avoid an issue during
build with Qt5.11.1 https://bugreports.qt.io/browse/QTBUG-64490.
Updated the Debian repo scripts to new distributions and Docker changes.
Run the script and created source & binaries for all the distributions.
Verified that changelog, compact, control, copyright, rules and
source/format exist under the Debian folder when building the Debian
package. Created tags and generated dev builds, rc builds, and release
builds to test the output of the different release channels.
Created a container, tested the Swift and Swiften packages, and the
Tested the following debs with piuparts in a docker container of the
system they are build for. No errors raised and a few warnings related
with chroot (which fails within a docker container)
Installed the above packages and verified the install with swift-im
–version, headers exist in /usr/include/Swiften/ and libSwiften.so under
/usr/lib/. Verified the gpg signatures on the .changes and .buildinfo
files. Tested the output with the update_debian_repo.sh and the import
Verified the .changes and .buildinfo files with lintion which reported
the following errors and warnings (there are differences between
different channels release, beta, development):
E: swift-im changes: bad-distribution-in-changes-file development
E: swift-im changes: multiple-distributions-in-changes-file beta development
W: libswiften5: new-package-should-close-itp-bug
W: libswiften-dev: new-package-should-close-itp-bug
W: swift-im: new-package-should-close-itp-bug
Tested that the man page exists after installing in a docker container
(ubuntu xenial, debian stetch, debian sid).