diff --git a/.gitattributes b/.gitattributes index e315d6c80014ae5ef785043514cbe78b090ef437..cc9b9b5a66d3a8b5040295ce4c1f9ac86ce4b097 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2369,6 +2369,7 @@ Docker/lofar-base/bashrc.d/50-lofar -text Docker/lofar-base/chuser.sh -text Docker/lofar-outputproc/Dockerfile.tmpl -text Docker/lofar-pipeline/Dockerfile.tmpl -text +Docker/lofar-pulp/Dockerfile.tmpl -text Docker/lofar-tbbwriter/Dockerfile -text Docker/lofar-tbbwriter/bashrc -text Docker/lofar-tbbwriter/chuser.sh -text diff --git a/Docker/CMakeLists.txt b/Docker/CMakeLists.txt index 3bb17c3f7baba97847fce8869cc9329871d40e54..22298021a53a9dff927f81fdfb478cfa521b8d85 100644 --- a/Docker/CMakeLists.txt +++ b/Docker/CMakeLists.txt @@ -25,6 +25,7 @@ lofar_add_bin_program(versiondocker versiondocker.cc) set(DOCKER_TEMPLATE_DIRS lofar-base lofar-pipeline + lofar-pulp lofar-outputproc) # Note: "docker-template" only works as long as the sources are still around, @@ -59,6 +60,7 @@ endforeach() install(DIRECTORY lofar-base lofar-pipeline + lofar-pulp lofar-outputproc lofar-tbbwriter DESTINATION share/docker diff --git a/Docker/lofar-pulp/Dockerfile.tmpl b/Docker/lofar-pulp/Dockerfile.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..72dc993fb6f2929246f5ef475adbb98056e5c874 --- /dev/null +++ b/Docker/lofar-pulp/Dockerfile.tmpl @@ -0,0 +1,36 @@ +# +# base +# +FROM pulp:latest + +# Run-time dependencies +RUN sudo apt-get update && sudo apt-get install -y python-xmlrunner liblog4cplus-1.0-4 libxml2 libxml++2.6-2 openssh-client gettext-base rsync python-matplotlib + +# +# ******************* +# LOFAR +# ******************* +# + +# Tell image build information +ENV LOFAR_BRANCH=${LOFAR_BRANCH_NAME} \ + LOFAR_TAG=${LOFAR_TAG} \ + LOFAR_REVISION=${LOFAR_REVISION} \ + LOFAR_BUILDVARIANT=gnu_optarch + +# Install +RUN sudo apt-get update && sudo apt-get install -y subversion cmake g++ gfortran bison flex liblog4cplus-dev libhdf5-dev libblitz0-dev python-dev libxml2-dev pkg-config libunittest++-dev libxml++2.6-dev binutils-dev && \ + mkdir -p ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && \ + cd ${INSTALLDIR}/lofar && \ + svn --non-interactive -q co -r ${LOFAR_REVISION} -N ${LOFAR_BRANCH_URL} src; \ + svn --non-interactive -q up src/CMake && \ + cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && cmake -DBUILD_PACKAGES=Pipeline -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/lofar/ -DCASACORE_ROOT_DIR=${INSTALLDIR}/casacore/ -DQPID_ROOT_DIR=/opt/qpid/ -DUSE_OPENMP=True ${INSTALLDIR}/lofar/src/ && \ + cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && make -j ${J} && \ + cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && make install && \ + bash -c "mkdir -p ${INSTALLDIR}/lofar/var/{log,run}" && \ + bash -c "chmod a+rwx ${INSTALLDIR}/lofar/var/{log,run}" && \ + bash -c "strip ${INSTALLDIR}/lofar/{bin,sbin,lib64}/* || true" && \ + bash -c "rm -rf ${INSTALLDIR}/lofar/{build,src}" && \ + sudo apt-get purge -y subversion cmake g++ gfortran bison flex liblog4cplus-dev libhdf5-dev libblitz0-dev python-dev libxml2-dev pkg-config libunittest++-dev libxml++2.6-dev binutils-dev && \ + sudo apt-get autoremove -y +