1
0
mirror of https://github.com/ohwgiles/laminar.git synced 2024-09-28 22:40:45 +00:00
ohwgiles_laminar/docker-build-debian.sh

68 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash -e
2015-11-26 07:41:06 +00:00
OUTPUT_DIR=$PWD
SOURCE_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
VERSION=$(cd "$SOURCE_DIR" && git describe --tags --abbrev=8 --dirty)
DOCKER_TAG=$(docker build -q - <<EOS
FROM debian:9-slim
RUN apt-get update && apt-get install -y wget cmake g++ libsqlite3-dev libboost-dev zlib1g-dev
EOS
)
2015-11-26 07:41:06 +00:00
docker run --rm -i -v $SOURCE_DIR:/laminar:ro -v $OUTPUT_DIR:/output $DOCKER_TAG bash -xe <<EOS
2015-11-26 07:41:06 +00:00
mkdir /build
cd /build
2018-09-14 07:50:09 +00:00
wget -O capnproto.tar.gz https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz
2017-07-31 05:58:06 +00:00
wget -O rapidjson.tar.gz https://github.com/miloyip/rapidjson/archive/v1.1.0.tar.gz
2015-11-26 07:41:06 +00:00
md5sum -c <<EOF
2018-09-14 07:50:09 +00:00
a9de5f042f4cf05515c2d7dfc7f5df21 capnproto.tar.gz
2017-07-31 05:58:06 +00:00
badd12c511e081fec6c89c43a7027bce rapidjson.tar.gz
2015-11-26 07:41:06 +00:00
EOF
tar xzf capnproto.tar.gz
tar xzf rapidjson.tar.gz
2018-09-14 07:50:09 +00:00
cd /build/capnproto-0.7.0/c++/
2015-11-26 07:41:06 +00:00
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off .
make -j4
make install
2017-07-31 05:58:06 +00:00
cd /build/rapidjson-1.1.0/
2015-11-26 07:41:06 +00:00
cmake -DRAPIDJSON_BUILD_EXAMPLES=off .
make install
cd /build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/ -DZSH_COMPLETIONS_DIR=/usr/share/zsh/functions/Completion/Unix /laminar
2015-11-26 07:41:06 +00:00
make -j4
mkdir laminar
make DESTDIR=laminar install/strip
mkdir laminar/DEBIAN
cat <<EOF > laminar/DEBIAN/control
Package: laminar
Version: $VERSION
Section:
Priority: optional
Architecture: amd64
2015-12-06 10:39:17 +00:00
Maintainer: Oliver Giles <web ohwg net>
Depends: libsqlite3-0, zlib1g
2015-11-26 07:41:06 +00:00
Description: Lightweight Continuous Integration Service
EOF
cat <<EOF > laminar/DEBIAN/postinst
#!/bin/bash
2015-11-26 07:41:06 +00:00
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,nodes,scripts}
2015-11-26 07:41:06 +00:00
chown -R laminar: /var/lib/laminar
EOF
chmod +x laminar/DEBIAN/postinst
dpkg-deb --build laminar
2015-12-06 13:12:12 +00:00
mv laminar.deb /output/laminar-$VERSION-1-amd64.deb
2015-11-26 07:41:06 +00:00
EOS