29 lines
1.0 KiB
Bash
Executable File
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
|