docker-deb-builder/build-helper.sh

29 lines
1.0 KiB
Bash
Executable File

#!/bin/bash -e
# This script is executed within the container as root. It assumes
# that source code with debian packaging files can be found at
# /source-ro and that resulting packages are written to /output after
# succesful build. These directories are mounted as docker volumes to
# allow files to be exchanged between the host and the container.
# Install extra dependencies that were provided for the build (if any)
# Note: dpkg can fail due to dependencies, ignore errors, and use
# apt-get to install those afterwards
[[ -d /dependencies ]] && dpkg -i /dependencies/*.deb || apt-get -f install -y --no-install-recommends
# Make read-write copy of source code
mkdir -p /build
cp -a /source-ro /build/source
cd /build/source
# Install build dependencies
mk-build-deps -ir -t "apt-get -o Debug::pkgProblemResolver=yes -y --no-install-recommends"
# Build packages
debuild -b -uc -us
# Copy packages to output dir with user's permissions
chown -R $USER:$GROUP /build
cp -a /build/*.deb /build/*.buildinfo /build/*.changes /output/
ls -l /output