summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2018-12-19 17:17:22 +0000
committerPaul Bütow <pbuetow@mimecast.com>2018-12-19 17:17:22 +0000
commit081b6058bc89ae755f71f11f22423db27b1aeb3e (patch)
tree82615d285579bc049a7ae85065c5ec85051bbcba
parent2de8687de485717a6a2b12bc186f03e4c9d7b5ab (diff)
can compile I/O Riot using Docker (tested on Mac OS X)
-rw-r--r--.gitignore1
-rw-r--r--Dockerfile.in10
-rw-r--r--Makefile3
-rw-r--r--README.md6
-rw-r--r--docs/doxygen.conf2
-rw-r--r--ioriot/src/defaults.h2
6 files changed, 14 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index d2ac6cf..8faf1e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ ioriot/ioriot
ioriot/tags
systemtap/downloads/
Dockerfile
+docker/
diff --git a/Dockerfile.in b/Dockerfile.in
index 689c831..f3aacc0 100644
--- a/Dockerfile.in
+++ b/Dockerfile.in
@@ -1,11 +1,11 @@
FROM centos:7
-RUN yum install -v -y gcc systemtap yum-utils
+RUN yum install -y gcc systemtap yum-utils
ENV KERNEL KERNELVERSION
-RUN yum install -v -y kernel-${KERNEL}
-RUN debuginfo-install -v -y kernel-${KERNEL}
+RUN yum install -y kernel-${KERNEL} kernel-devel-${KERNEL}
+RUN debuginfo-install -y kernel-${KERNEL}
-ADD ./ /ioriot
WORKDIR /ioriot
+ADD ./ /ioriot
+RUN mkdir -p /opt/ioriot
VOLUME /opt
-
diff --git a/Makefile b/Makefile
index 0784785..ac19433 100644
--- a/Makefile
+++ b/Makefile
@@ -23,4 +23,5 @@ test:
dockerbuild:
sed s/KERNELVERSION/$(KERNEL)/ Dockerfile.in > Dockerfile
docker build . -t ioriot:$(KERNEL)
- docker run -it ioriot:$(KERNEL) --entrypoint /bin/bash -c 'make'
+ bash -c 'test ! -d /tmp/docker/opt/ && mkdir -p /tmp/docker/opt/; exit 0'
+ docker run -v /tmp/docker/opt:/opt -it ioriot:$(KERNEL) make all install
diff --git a/README.md b/README.md
index 44afb2d..6eb2d9d 100644
--- a/README.md
+++ b/README.md
@@ -85,14 +85,16 @@ sudo make uninstall
# Compiling I/O Riot using Docker
-In case there is no suitable build host for I/O Riot it is possible to use Docker to do the job. In order to build everything for CentOS 7 and Linux Kernel 3.10.0-957.1.3.el7.x86_64 just run:
+In case there is no suitable build host for I/O Riot (e.g. compiling on a Mac) it is possible to use Docker to do the job. In order to build everything for CentOS 7 and Linux Kernel 3.10.0-957.1.3.el7.x86_64 just run:
```sh
export KERNEL=3.10.0-957.1.3.el7.x86_64
make dockerbuild
```
-Once done you can distribute ``docker/$KERNEL/opt/ioriot`` to ``/opt/ioriot`` to all boxes with that particular running kernel.
+That will run for quite a while (depending on the download speed it can take more than 15 minutes!). Once done you can distribute ``/tmp/docker/opt/ioriot`` to ``/opt/ioriot`` to all boxes with that particular running kernel.
+
+By repeating the steps above it is possible to compile the SystemTap kernel modules for multiple Kernel versions. All the modules will be found seamlessly in ``/tmp/opt/ioriot/systemtap``.
# Operating I/O Riot
diff --git a/docs/doxygen.conf b/docs/doxygen.conf
index 0627fff..0485dab 100644
--- a/docs/doxygen.conf
+++ b/docs/doxygen.conf
@@ -38,7 +38,7 @@ PROJECT_NAME = "I/O Riot"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.4.2
+PROJECT_NUMBER = 0.5
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/ioriot/src/defaults.h b/ioriot/src/defaults.h
index 89456d0..f08f514 100644
--- a/ioriot/src/defaults.h
+++ b/ioriot/src/defaults.h
@@ -28,7 +28,7 @@
/** Controls how many tasks can be queued and buffered per worker thread */
#define TASK_BUFFER_PER_THREAD 512
/** Version of I/O Riot */
-#define IORIOT_VERSION "0.4.2"
+#define IORIOT_VERSION "0.5-develop"
/** Copyright information */
#define IORIOT_COPYRIGHT "(c) Mimecast 2018"
/** Max open files resource user limit */