diff options
| author | Paul Bütow <pbuetow@mimecast.com> | 2018-12-19 17:17:22 +0000 |
|---|---|---|
| committer | Paul Bütow <pbuetow@mimecast.com> | 2018-12-19 17:17:22 +0000 |
| commit | 081b6058bc89ae755f71f11f22423db27b1aeb3e (patch) | |
| tree | 82615d285579bc049a7ae85065c5ec85051bbcba | |
| parent | 2de8687de485717a6a2b12bc186f03e4c9d7b5ab (diff) | |
can compile I/O Riot using Docker (tested on Mac OS X)
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Dockerfile.in | 10 | ||||
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | docs/doxygen.conf | 2 | ||||
| -rw-r--r-- | ioriot/src/defaults.h | 2 |
6 files changed, 14 insertions, 10 deletions
@@ -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 - @@ -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 @@ -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 */ |
