| #!/bin/bash |
| set -e |
| set -x |
| |
| export QUBES_OPTION= |
| |
| #although it's debian, we don't build packages |
| if [ "$OS" = "debian-s390x" ]; then |
| ./contrib/ci/debian_s390x.sh |
| exit 0 |
| fi |
| |
| # Set Qubes Os vars if -Dqubes=true is parameter |
| if [ "$QUBES" = "true" ]; then |
| export QUBES_OPTION='-Dqubes=true' |
| fi |
| |
| #prepare |
| export DEBFULLNAME="CI Builder" |
| export DEBEMAIL="ci@travis-ci.org" |
| VERSION=$(git describe | sed 's/-/+r/;s/-/+/') |
| [ -z $VERSION ] && VERSION=$(head meson.build | grep ' version:' | cut -d \' -f2) |
| rm -rf build/ |
| mkdir -p build |
| shopt -s extglob |
| cp -R !(build|dist|venv) build/ |
| pushd build |
| mv contrib/debian . |
| sed s/quilt/native/ debian/source/format -i |
| #generate control file |
| ./contrib/ci/generate_debian.py |
| |
| #check if we have all deps available |
| apt update -qq && apt install python3-apt -y |
| ./contrib/ci/fwupd_setup_helpers.py install-dependencies -o debian --yes || true |
| dpkg-checkbuilddeps |
| |
| #disable unit tests if fwupd is already installed (may cause problems) |
| if [ -x /usr/lib/fwupd/fwupd ]; then |
| export DEB_BUILD_OPTIONS=nocheck |
| fi |
| #build the package |
| EDITOR=/bin/true dch --create --package fwupd -v $VERSION "CI Build" |
| debuild --no-lintian --preserve-envvar CI --preserve-envvar CC \ |
| --preserve-envvar QUBES_OPTION |
| |
| #check lintian output |
| #suppress tags that are side effects of building in docker this way |
| lintian ../*changes \ |
| -IE \ |
| --pedantic \ |
| --tag-display-limit 0 \ |
| --suppress-tags missing-build-dependency-for-dh-addon \ |
| --suppress-tags library-not-linked-against-libc \ |
| --suppress-tags bad-distribution-in-changes-file \ |
| --suppress-tags source-nmu-has-incorrect-version-number \ |
| --suppress-tags no-symbols-control-file \ |
| --suppress-tags gzip-file-is-not-multi-arch-same-safe \ |
| --suppress-tags missing-dependency-on-libc \ |
| --suppress-tags arch-dependent-file-not-in-arch-specific-directory \ |
| --suppress-tags package-installs-ieee-data \ |
| --allow-root |
| |
| #place built packages in dist outside docker |
| mkdir -p ../dist |
| PACKAGES=$(find .. -type f -name "*deb") |
| cp $PACKAGES ../dist |