From 2db881fa080486586014e703f1dee54fd3f0ebac Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Sun, 17 Apr 2016 08:30:18 +0000
Subject: [PATCH] Task #8437: Install /opt/lofar/var als a symlink to
 /home/lofar/lofar/var and allow only $HOME to change ownership at start. This
 reduces both image boot time and any changes committed from a container

---
 Docker/lofar-base/chuser.sh             | 3 ---
 Docker/lofar-outputproc/Dockerfile.tmpl | 3 ++-
 Docker/lofar-pipeline/Dockerfile.tmpl   | 3 ++-
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/Docker/lofar-base/chuser.sh b/Docker/lofar-base/chuser.sh
index 3c4e9d3ab0f..76ba3ca7eca 100755
--- a/Docker/lofar-base/chuser.sh
+++ b/Docker/lofar-base/chuser.sh
@@ -16,9 +16,6 @@ if [ -n "${LUSER}" ]; then
 
   # Set ownership of home dir to new user
   chown --from=${OLDID} -R ${LUSER}:${LGROUP} ${HOME}
-
-  # Set ownership of installed software to new user
-  chown --from=${OLDID} -R ${LUSER}:${LGROUP} /opt
 fi
 
 # Update environment for updated user
diff --git a/Docker/lofar-outputproc/Dockerfile.tmpl b/Docker/lofar-outputproc/Dockerfile.tmpl
index 85d51129122..1a77d72d68b 100644
--- a/Docker/lofar-outputproc/Dockerfile.tmpl
+++ b/Docker/lofar-outputproc/Dockerfile.tmpl
@@ -26,7 +26,8 @@ RUN sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y su
     cd ${INSTALLDIR}/lofar/build/gnu_opt && sed -i '29,31d' include/ApplCommon/PosixTime.h && \
     cd ${INSTALLDIR}/lofar/build/gnu_opt && make -j ${J} && \
     cd ${INSTALLDIR}/lofar/build/gnu_opt && make install && \
-    bash -c "mkdir -p ${INSTALLDIR}/lofar/var/{log,run}" && \
+    bash -c "mkdir -p /home/${USER}/lofar/var/{log,run}" && \
+    bash -c "ln -sfT ${INSTALLDIR}/lofar/var /home/${USER}/lofar/var" && \
     bash -c "strip ${INSTALLDIR}/lofar/{bin,sbin,lib64}/* || true" && \
     bash -c "rm -rf ${INSTALLDIR}/lofar/{build,src}" && \
     sudo setcap cap_sys_nice,cap_ipc_lock=ep ${INSTALLDIR}/lofar/bin/outputProc && \
diff --git a/Docker/lofar-pipeline/Dockerfile.tmpl b/Docker/lofar-pipeline/Dockerfile.tmpl
index 531b41e58e8..d2d27f09615 100644
--- a/Docker/lofar-pipeline/Dockerfile.tmpl
+++ b/Docker/lofar-pipeline/Dockerfile.tmpl
@@ -51,7 +51,8 @@ RUN sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y su
     cd ${INSTALLDIR}/lofar/build/gnu_opt && sed -i '29,31d' include/ApplCommon/PosixTime.h && \
     cd ${INSTALLDIR}/lofar/build/gnu_opt && make -j ${J} && \
     cd ${INSTALLDIR}/lofar/build/gnu_opt && make install && \
-    bash -c "mkdir -p ${INSTALLDIR}/lofar/var/{log,run}" && \
+    bash -c "mkdir -p /home/${USER}/lofar/var/{log,run}" && \
+    bash -c "ln -sfT ${INSTALLDIR}/lofar/var /home/${USER}/lofar/var" && \
     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 libboost-dev libboost-python-dev python-dev libxml2-dev pkg-config libpng12-dev libfftw3-dev libunittest++-dev libxml++2.6-dev libgsl0-dev libboost-filesystem${BOOST_VERSION}-dev libboost-date-time${BOOST_VERSION}-dev libboost-thread${BOOST_VERSION}-dev binutils-dev wcslib-dev && \
-- 
GitLab