# DOCKERFILE SPEC FOR BUILD Container # # FOLLOWING ARG NEEDED FROM JENKINSFILE # ARG BASE_IMG_VERSION # ARG ADMINSRV # ARG PROJECT ARG BASE_URL=harbor.sl.defence-elec.de ARG BASE_IMG=opensuse/leap ARG BASE_IMG_VERSION=15.1 FROM ${BASE_URL}/${BASE_IMG}:${BASE_IMG_VERSION} ARG BASE_IMG_VERSION ARG USERPASS=ctc ARG ADMINSRV=10.198.80.75 ARG PROJECT=guez ENV ADMINSRV_ENV=${ADMINSRV} ENV REPOVERSION_ENV=${BASE_IMG_VERSION} ENV PROJECT_ENV=${PROJECT} LABEL Author='Thore Poggenburg' LABEL PROJECT=${PROJECT} LABEL OS_VERSION=${BASE_IMG_VERSION} RUN groupadd ctc -g 1445\ && groupadd rme -g 1000\ && useradd -d /shd/CTC/TOOLS -u 1445 -g ctc -m -p $(openssl passwd -crypt ${USERPASS}) ctc \ && useradd -d /home/rme -u 1000 -g rme -m -p $(openssl passwd -crypt ${USERPASS}) rme RUN zypper rr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/distribution/leap/${REPOVERSION_ENV}/repo/oss/ OSS \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/distribution/leap/${REPOVERSION_ENV}/repo/non-oss NOSS \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/update/leap/${REPOVERSION_ENV}/oss/ UOSS \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/update/leap/${REPOVERSION_ENV}/non-oss/ UNOSS \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/repositories/KDE:/Qt5/openSUSE_Leap_${REPOVERSION_ENV}/ KDE_QT5 \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/repositories/KDE:/Frameworks5/openSUSE_Leap_${REPOVERSION_ENV}/ KDE_Frameworks5 \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/repositories/KDE:/Applications/KDE_Frameworks5_openSUSE_Leap_${REPOVERSION_ENV}/ KDE_Applications \ # && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/update/leap/${REPOVERSION_ENV}/sle SLE-UPDATE \ && zypper --non-interactive ar --no-gpgcheck http://${ADMINSRV_ENV}/opensuse/${REPOVERSION_ENV}/repositories/server:/database:/postgresql/openSUSE_Leap_${REPOVERSION_ENV}/ postgresql \ && zypper --non-interactive refresh RUN zypper dup -ly --allow-name-change --allow-arch-change --allow-vendor-change \ && zypper --non-interactive removerepo $(zypper ls | grep repo-backports-debug-update | awk '{ print $1 }') \ && zypper --non-interactive removerepo $(zypper ls | grep repo-backports-update | awk '{ print $1 }') \ && zypper --non-interactive removerepo $(zypper ls | grep repo-sle-debug-update | awk '{ print $1 }') \ && zypper --non-interactive removerepo $(zypper ls | grep repo-sle-update | awk '{ print $1 }') RUN zypper --non-interactive update -ly --recommends \ && zypper --non-interactive install -ly openssl curl wget subversion git vim nano python-xml xls2csv bc\ && zypper --non-interactive install -ly postgresql postgresql-devel libbotan-devel \ && zypper --non-interactive install -ly json-glib-lang libjson-c* libjson-glib-1_0-0 \ && zypper --non-interactive install -ly libpopt0 popt popt-devel libpopt0-32bit \ && zypper --non-interactive install -ly rpm-build python-rpm-macros python3-rpm systemd-rpm-macros \ && zypper --non-interactive install -ly kernel-devel kernel-firmware-all kernel-default kernel-source patterns-devel-base-devel_kernel kernel-default-devel libjpeg62-devel alsa-devel libpulse-devel \ && zypper --non-interactive install -ly libevdev2 libdmtx-devel kexec-tools tcl-devel gcc-c++ gdal-devel gsoap-devel libpoppler-devel java-1_8_0-openjdk \ && zypper --non-interactive install -ly postgresql14 postgresql14-devel libbotan-2-18 python-rpm-generators gtest libOpenSceneGraph131 libOpenSceneGraph131-devel RUN zypper dup -ly --allow-name-change --allow-arch-change --allow-vendor-change RUN curl http://${ADMINSRV_ENV}/rme/rde_package_signing_key.pub --output /rde_package_signing_key.pub \ && rpm --import /rde_package_signing_key.pub \ && rm -rf /rde_package_signing_key.pub \ && zypper --non-interactive ar http://${ADMINSRV_ENV}/rme/repository/${PROJECT_ENV}/15.0/ RME_15.0 RUN zypper --non-interactive refresh \ && zypper --non-interactive install -ly --allow-downgrade --allow-vendor-change ctc_devel_tds_qt5 qt5-kdreports-devel tao-devel RUN if [[ ${PROJECT_ENV} = guez ]]; \ then zypper --non-interactive install -ly NGS NGS-devel NGS_guez_fom NGS_guez_fom-devel NGS_rtifacade_mak450 liblog4cplus-1_2-5 ${PROJECT_ENV}_dependencies ${PROJECT_ENV}_situation_map-devel ; \ elif [[ ${PROJECT_ENV} = ahtc ]]; \ then zypper --non-interactive install -ly ctc_maia-devel NGS NGS-devel NGS_apache_fom-devel ace-devel ace-xml-devel ${PROJECT_ENV}_dependencies ${PROJECT_ENV}_situation_map-devel; \ elif [[ ${PROJECT_ENV} = qatar ]]; \ then zypper --non-interactive install -ly nano ; \ elif [[ ${PROJECT_ENV} = l400p2]]; \ then zypper --non-interactive install -ly ${PROJECT_ENV}_situation_map-devel nano; \ elif [[ ${PROJECT_ENV} = l400]]; \ then zypper --non-interactive install -ly ${PROJECT_ENV}_situation_map-devel nano; \ else echo "No specific pakets found for project name: ${PROJECT_ENV}"; \ fi USER ctc WORKDIR /shd/CTC/TOOLS CMD ["/bin/bash"]