diff options
Diffstat (limited to 'share/spack/docker/Dockerfile')
-rw-r--r-- | share/spack/docker/Dockerfile | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/share/spack/docker/Dockerfile b/share/spack/docker/Dockerfile deleted file mode 100644 index 459dd464a5..0000000000 --- a/share/spack/docker/Dockerfile +++ /dev/null @@ -1,177 +0,0 @@ -ARG BASE - -FROM $BASE -MAINTAINER Spack Maintainers <maintainers@spack.io> - -ARG BASE -ARG DISTRO -ARG DISTRO_VERSION - -ENV DOCKERFILE_BASE=$BASE \ - DOCKERFILE_DISTRO=$DISTRO \ - DOCKERFILE_DISTRO_VERSION=$DISTRO_VERSION \ - SPACK_ROOT=/opt/spack \ - FORCE_UNSAFE_CONFIGURE=1 \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -MASK PUSH -MASK [[ $DISTRO == arch ]] -RUN pacman -Syu --noconfirm \ - && pacman -Sy --noconfirm \ - base-devel ca-certificates curl gcc \ - gcc-fortran git gnupg2 inetutils \ - iproute2 make openssh procps-ng \ - python python-pip sudo tcl \ - unzip \ - && echo 'nobody ALL=(ALL) NOPASSWD: ALL' > \ - /etc/sudoers.d/nobody-sudo \ - && sudo -u nobody git clone \ - 'https://aur.archlinux.org/lua-std-_debug.git' \ - '/tmp/lua-std-_debug' \ - && sudo -u nobody git clone \ - 'https://aur.archlinux.org/lua-std-normalize.git' \ - '/tmp/lua-std-normalize' \ - && sudo -u nobody git clone \ - 'https://aur.archlinux.org/lua-posix.git' \ - '/tmp/lua-posix' \ - && ( cd /tmp/lua-std-_debug \ - && sudo -u nobody makepkg -si --asdeps --noconfirm ) \ - && ( cd /tmp/lua-std-normalize \ - && sudo -u nobody makepkg -si --asdeps --noconfirm ) \ - && ( cd /tmp/lua-posix \ - && sudo -u nobody makepkg -si --asdeps --noconfirm ) \ - && sudo -u nobody git clone \ - 'https://aur.archlinux.org/lmod.git' '/tmp/lmod' \ - && ( cd /tmp/lmod \ - && sudo -u nobody makepkg -si --noconfirm ) \ - && rm -rf /tmp/lua-std-_debug /tmp/lua-std-normalize \ - /tmp/lmod /etc/sudoers.d/nobody-sudo - -MASK [[ $DISTRO =~ (centos|rhel.*) ]] -RUN yum update -y - - MASK PUSH - MASK [[ $DISTRO =~ rhel.* ]] - RUN ( yum install -y yum-conf-repos.noarch \ - || yum install -y yum-conf-epel.noarch yum-conf-elrepo.noarch ) \ - && yum update -y - MASK POP - -RUN yum install -y epel-release \ - && yum update -y \ - && yum --enablerepo epel groupinstall -y "Development Tools" \ - && yum --enablerepo epel install -y \ - curl findutils gcc-c++ gcc \ - gcc-gfortran git gnupg2 hostname \ - iproute Lmod make patch \ - openssh-server python python-pip tcl \ - unzip \ - && rm -rf /var/cache/yum \ - && yum clean all - -MASK [[ $DISTRO == fedora ]] -RUN dnf update -y \ - && dnf group install -y "C Development Tools and Libraries" \ - && dnf install -y \ - @development-tools \ - curl findutils gcc-c++ gcc \ - gcc-gfortran git gnupg2 hostname \ - iproute Lmod make patch \ - openssh-server python tcl unzip \ - && dnf clean all - -MASK [[ $DISTRO == opensuse ]] -RUN zypper -n ref \ - && zypper -n up --skip-interactive --no-recommends \ - && zypper -n install -l --no-recommends --type pattern \ - devel_basis devel_C_C++ \ - && zypper -n install -l --no-recommends \ - bash bash-completion ca-certificates curl \ - findutils gcc gcc-locale gcc-c++ \ - gcc-fortran git glibc-locale gpg2 \ - hostname iproute lua-lmod make \ - patch openssh python python-pip \ - python-xml tcl unzip \ - && zypper clean \ - && rm -rf /var/cache/zypp/* - -MASK [[ $DISTRO == ubuntu ]] -RUN apt-get -yqq update \ - && apt-get -yqq install \ - build-essential ca-certificates curl g++ \ - gcc gfortran git gnupg2 \ - iproute2 lmod lua-posix make \ - openssh-server python python-pip tcl \ - unzip - - MASK PUSH - MASK [[ $DISTRO_VERSION == 18.04 ]] - # [WORKAROUND] - # https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082 - RUN ln -s posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so - MASK POP - -RUN rm -rf /var/lib/apt/lists/* - -MASK POP - -RUN rm -rf $SPACK_ROOT/.git \ - && pip install boto3 \ - && ( echo ". /usr/share/lmod/lmod/init/bash" \ - && echo ". \\\$SPACK_ROOT/share/spack/setup-env.sh" \ - && echo "if [ \\\"\\\$CURRENTLY_BUILDING_DOCKER_IMAGE\\\" '!=' '1' ]" \ - && echo "then" \ - && echo " . \\\$SPACK_ROOT/share/spack/spack-completion.bash" \ - && echo "fi" ) \ - >> /etc/profile.d/spack.sh \ - && ( echo "f=\\\"\\\$SPACK_ROOT/share/spack/docker/handle-ssh.sh\\\"" \ - && echo "if [ -f \\\"\\\$f\\\" ]" \ - && echo "then" \ - && echo " . \\\"\\\$f\\\"" \ - && echo "else" \ - && cat $SPACK_ROOT/share/spack/docker/handle-ssh.sh \ - && echo "fi" ) \ - >> /etc/profile.d/handle-ssh.sh \ - && ( echo "f=\\\"\\\$SPACK_ROOT/share/spack/docker/handle-prompt.sh\\\"" \ - && echo "if [ -f \\\"\\\$f\\\" ]" \ - && echo "then" \ - && echo " . \\\"\\\$f\\\"" \ - && echo "else" \ - && cat $SPACK_ROOT/share/spack/docker/handle-prompt.sh \ - && echo "fi" ) \ - >> /etc/profile.d/handle-prompt.sh \ - && mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* - -MASK PUSH -MASK [[ $DISTRO_VERSION =~ (centos|fedora|opensuse|rhel.*) ]] -RUN rm -f /run/nologin -MASK POP - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \\&\\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["/bin/bash", "-l", "-c"] - -# TODO: add a command to Spack that (re)creates the package cache -RUN spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["docker-shell"] - |