Skip to content
Snippets Groups Projects
Commit c30e5e88 authored by Patrick MADELA's avatar Patrick MADELA
Browse files

Add automatic conan configuration at launch

Fix build of conan-el7-gcc114 conda forge
parent 0e397a01
No related branches found
No related tags found
No related merge requests found
Pipeline #6711 failed
Pipeline: conan-docker-tools

#6723

    Pipeline: conan-docker-tools

    #6722

      Pipeline: conan-docker-tools

      #6721

        +9
        ......@@ -60,3 +60,9 @@ USER conan
        WORKDIR /home/conan
        RUN mkdir -p /home/conan/.conan
        # Enable conan configuration
        ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Lauch interactive shell by default
        CMD ["bash"]
        \ No newline at end of file
        ......@@ -56,3 +56,9 @@ USER conan
        WORKDIR /home/conan
        RUN mkdir -p /home/conan/.conan
        # Enable conan configuration
        ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Lauch interactive shell by default
        CMD ["bash"]
        ......@@ -59,6 +59,6 @@ COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && linux32 -- \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && linux32 -- \"$@\"", "-s"]
        CMD ["bash"]
        ......@@ -55,6 +55,6 @@ COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        CMD ["bash"]
        ......@@ -58,6 +58,6 @@ COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-11 && \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-11 && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        CMD ["bash"]
        FROM gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-docker-tools/dev-el7-gcc48
        FROM centos:7
        LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
        ......@@ -6,9 +6,13 @@ RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localti
        # Fix Centos repo urls
        && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
        && sed -i 's|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
        # Update OS
        && yum update -y \
        && yum install -y curl bzip2 \
        && yum clean all \
        # Install epel repo
        && yum -y install epel-release \
        # Install required packages
        && yum install -y sudo unzip curl bzip2 \
        && yum clean all --enablerepo='*' \
        # Add groups
        && groupadd g1001 -g 1001 \
        && groupadd g1000 -g 1000 \
        ......@@ -24,7 +28,7 @@ ENV PATH=${MAMBA_ROOT_PREFIX}/bin-wrappers:$PATH
        ENV MAMBA_ENV=conan-el7-gcc114
        # Configure micromamba environment
        COPY ${MAMBA_ENV}/environment.yml /tmp/environment.yml
        COPY ${MAMBA_ENV}-conda-forge/environment.yml /tmp/environment.yml
        # Install micromamba
        RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba \
        ......@@ -39,14 +43,16 @@ RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj -C
        # Link all binaries to wrapper
        && for bin in $(ls /opt/micromamba/envs/${MAMBA_ENV}/bin); do \
        ln -s micromamba-wrapper.sh /opt/micromamba/bin-wrappers/$bin; \
        done
        done \
        # Link home to sysroot (workaround for conan)
        && ln -s /home /opt/micromamba/envs/${MAMBA_ENV}/x86_64-conda-linux-gnu/sysroot/home
        COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        # Activate environment when launching command
        ENTRYPOINT ["bash", "-c" ,"eval \"$(micromamba shell hook --shell bash)\" && micromamba activate ${MAMBA_ENV} && \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"eval \"$(micromamba shell hook --shell bash)\" && micromamba activate ${MAMBA_ENV} && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Define default shell and activate environment
        SHELL ["/bin/bash", "-c"]
        ......@@ -54,4 +60,4 @@ RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc \
        && echo 'micromamba activate ${MAMBA_ENV}' >> ~/.bashrc
        # Lauch interactive shell by default
        CMD ["/bin/bash"]
        CMD ["bash"]
        ......@@ -10,17 +10,27 @@ RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localti
        && yum -y update \
        # Install epel repo
        && yum -y install epel-release \
        && yum -y install unzip sudo make glibc-devel \
        && yum clean all --enablerepo='*'
        # Install required packages
        && yum -y install sudo unzip curl bzip2 make glibc-devel \
        && yum clean all --enablerepo='*' \
        # Add groups \
        && groupadd g1001 -g 1001 \
        && groupadd g1000 -g 1000 \
        && groupadd g2000 -g 2000 \
        # Creation of conan user
        && useradd -ms /bin/bash conan -u 1000 -g 1001 -G 1000,2000,999 \
        # Add sudo for conan user
        && printf "conan:conan" | chpasswd \
        && printf "conan ALL= NOPASSWD: ALL\\n" >> /etc/sudoers
        ARG PYTHON_VERSION=3.6.13 \
        CONAN_VERSION=2.12.1 \
        CMAKE_VERSION=3.31.5 \
        GIT_VERSION=2.39.2 \
        GCC_VERSION=11.5.0 \
        DEVTOOLS_ROOT=/usr/Local/devtools \
        OS=linux \
        ARCH=x86_64
        ARCH=x86_64 \
        DEVTOOLS_ROOT=/usr/Local/devtools
        ENV PYTHON_ROOT=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH} \
        CONAN_ROOT=${DEVTOOLS_ROOT}/conan-${CONAN_VERSION}-${OS}-${ARCH} \
        ......@@ -32,16 +42,8 @@ ENV PYTHON_ROOT=${DEVTOOLS_ROOT}/python-${PYTHON_VERSION}-${OS}-${ARCH} \
        CXX=${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/bin/g++ \
        CC=${DEVTOOLS_ROOT}/gcc-${GCC_VERSION}-${OS}-${ARCH}/bin/gcc
        RUN groupadd g1001 -g 1001 \
        && groupadd g1000 -g 1000 \
        && groupadd g2000 -g 2000 \
        # Creation of conan user
        && useradd -ms /bin/bash conan -u 1000 -g 1001 -G 1000,2000,999 \
        # Add sudo for conan user
        && printf "conan:conan" | chpasswd \
        && printf "conan ALL= NOPASSWD: ALL\\n" >> /etc/sudoers \
        # Create devtools folder
        && mkdir -p ${DEVTOOLS_ROOT} \
        RUN mkdir -p ${DEVTOOLS_ROOT} \
        # Install python 3
        && curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/3.6.13/download?job=linux-x86_64 \
        && unzip -q ${PYTHON_ROOT}.zip -d ${DEVTOOLS_ROOT} \
        ......
        ......@@ -60,3 +60,9 @@ USER conan
        WORKDIR /home/conan
        RUN mkdir -p /home/conan/.conan
        # Enable conan configuration
        ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Lauch interactive shell by default
        CMD ["bash"]
        ......@@ -59,3 +59,9 @@ USER conan
        WORKDIR /home/conan
        RUN mkdir -p /home/conan/.conan
        # Enable conan configuration
        ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Lauch interactive shell by default
        CMD ["bash"]
        ......@@ -59,6 +59,6 @@ COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && linux32 -- \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && linux32 -- \"$@\"", "-s"]
        CMD ["bash"]
        ......@@ -58,6 +58,6 @@ COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"source scl_source enable devtoolset-9 && conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        CMD ["bash"]
        ......@@ -59,3 +59,8 @@ USER conan
        WORKDIR /home/conan
        RUN mkdir -p /home/conan/.conan
        ENTRYPOINT ["bash", "-c" ,"conan config install --verify-ssl false --type git https://gitlab.synchrotron-soleil.fr/software-control-system/factory/conan/conan2-config.git && \"$@\"", "-s"]
        # Lauch interactive shell by default
        CMD ["bash"]
        \ No newline at end of file
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment