]> granicus.if.org Git - icinga2/commitdiff
Add scripts to build a dev environment with Docker.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 11 Apr 2014 09:01:38 +0000 (11:01 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 11 Apr 2014 09:01:38 +0000 (11:01 +0200)
Fixes #5996

.gitignore
dev/.gitignore [new file with mode: 0644]
dev/README [new file with mode: 0644]
dev/docker/Dockerfile [new file with mode: 0644]
dev/docker/build [new file with mode: 0755]
dev/run [new file with mode: 0755]

index 41cc016c418e7f80055ca0ab0dffb18cabd3e816..60188f4ec67a03820e6b6c0f85d17ca27070da43 100644 (file)
@@ -1,4 +1,3 @@
 .vagrant
-build
 icinga-version.h.fallback
 *.komodoproject
diff --git a/dev/.gitignore b/dev/.gitignore
new file mode 100644 (file)
index 0000000..5377122
--- /dev/null
@@ -0,0 +1,2 @@
+.build
+config
diff --git a/dev/README b/dev/README
new file mode 100644 (file)
index 0000000..3a3509a
--- /dev/null
@@ -0,0 +1,4 @@
+Icinga 2 Development Environment
+================================
+
+The `build' script in this directory builds Icinga 2 in a Docker VM.
diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile
new file mode 100644 (file)
index 0000000..ba2ce29
--- /dev/null
@@ -0,0 +1,6 @@
+FROM debian:jessie
+RUN apt-get update
+RUN apt-get install -y clang cmake make ccache flex bison libboost-all-dev libssl-dev git-core cgdb
+RUN mkdir /root/build
+ADD build /root/build
+ENV HOME /root
diff --git a/dev/docker/build b/dev/docker/build
new file mode 100755 (executable)
index 0000000..26f1f38
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+cd $(dirname -- $0)/icinga2-build || exit 1
+
+CCACHE_SLOPPINESS="include_file_mtime"
+export CCACHE_SLOPPINESS
+
+if [ ! -e CMakeCache.txt ]; then
+       CC="ccache clang" CXX="ccache clang++" cmake ../icinga2 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/icinga2 -DCMAKE_INSTALL_SYSCONFDIR=/root/icinga2-config
+fi
+
+make -j 4 && make install && cgdb -ex r --args /opt/icinga2/sbin/icinga2 -c /root/icinga2-config/icinga2/icinga2.conf -DUseVfork=0
diff --git a/dev/run b/dev/run
new file mode 100755 (executable)
index 0000000..d9139a3
--- /dev/null
+++ b/dev/run
@@ -0,0 +1,7 @@
+#!/bin/sh
+cd `dirname -- $0`
+DIR=`pwd`
+
+cd docker
+docker.io build -t icinga2 --rm .
+docker.io run -v $DIR/..:/root/icinga2 -v $DIR/.build:/root/icinga2-build -v $HOME/.ccache:/root/.ccache -v $DIR/config:/root/icinga2-config -t -i icinga2 /root/build