#!/bin/bash -e OUTPUT_DIR=$PWD SOURCE_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]})/..) VERSION=$(cd "$SOURCE_DIR" && git describe --tags --abbrev=8 --dirty)-1~upstream-debian13 DOCKER_TAG=$(docker build -q - < toolchain.cmake <<\EOF set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) set(CMAKE_PREFIX_PATH /usr/lib/arm-linux-gnueabihf) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(ENV{PKG_CONFIG_PATH} "/usr/lib/arm-linux-gnueabihf/pkgconfig") EOF cd /build cmake \ -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLAMINAR_VERSION=$VERSION \ -DZSH_COMPLETIONS_DIR=/usr/share/zsh/functions/Completion/Unix \ /laminar make -j4 mkdir laminar make DESTDIR=laminar install/strip mkdir laminar/DEBIAN cat < laminar/DEBIAN/control Package: laminar Version: $VERSION Section: Priority: optional Architecture: armhf Maintainer: Oliver Giles Depends: libcapnp-1.0.1, libsqlite3-0, zlib1g Description: Lightweight Continuous Integration Service EOF echo /etc/laminar.conf > laminar/DEBIAN/conffiles cat < laminar/DEBIAN/postinst #!/bin/bash echo Creating laminar user with home in /var/lib/laminar useradd -r -d /var/lib/laminar -s /usr/sbin/nologin laminar mkdir -p /var/lib/laminar/cfg/{jobs,contexts,scripts} chown -R laminar: /var/lib/laminar EOF chmod +x laminar/DEBIAN/postinst dpkg-deb --build laminar mv laminar.deb /output/laminar_${VERSION}_armhf.deb EOS