Adds dockerfile variable to configure air-gapped hosting server as replacement for github.com
This commit is contained in:
4 files changed
+65
-53
No files matched your search
@@ -55,23 +55,26 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output /
|
||||
|
||||
ARG GTEST_VERSION=1.15.2
|
||||
|
||||
# Air-gapped Harbor registry URL
|
||||
ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential cmake git \
|
||||
build-essential cmake curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Clone and build GoogleTest
|
||||
RUN git clone --depth 1 --branch v${GTEST_VERSION} \
|
||||
https://github.com/google/googletest.git /tmp/googletest \
|
||||
&& cd /tmp/googletest \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
.. \
|
||||
&& cmake --build . -j$(nproc) \
|
||||
&& cmake --install . \
|
||||
&& rm -rf /tmp/googletest
|
||||
# Download and build GoogleTest from air-gapped Harbor registry
|
||||
RUN curl -L -o /tmp/googletest-${GTEST_VERSION}.tar.gz ${HARBOR_URL}/googletest-${GTEST_VERSION}.tar.gz && \
|
||||
tar -xzf /tmp/googletest-${GTEST_VERSION}.tar.gz -C /tmp && \
|
||||
cd /tmp/googletest-${GTEST_VERSION} && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
.. && \
|
||||
cmake --build . -j$(nproc) && \
|
||||
cmake --install . && \
|
||||
rm -rf /tmp/googletest-${GTEST_VERSION}.tar.gz /tmp/googletest-${GTEST_VERSION}
|
||||
|
||||
# Update library cache
|
||||
RUN ldconfig
|
||||
|
||||
@@ -56,26 +56,29 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output /
|
||||
ARG QT_VERSION=6.10.2
|
||||
ARG GRANTLEE_VERSION=5.3.1
|
||||
|
||||
# Air-gapped Harbor registry URL
|
||||
ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential cmake git \
|
||||
build-essential cmake curl \
|
||||
libqt6core6 libqt6gui6 libqt6widgets6 \
|
||||
qt6-base-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Clone and build Grantlee
|
||||
RUN git clone --depth 1 --branch ${GRANTLEE_VERSION} \
|
||||
https://github.com/steveire/grantlee.git /tmp/grantlee \
|
||||
&& cd /tmp/grantlee \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
-DGRANTLEE_BUILD_WITH_QT6=ON \
|
||||
.. \
|
||||
&& cmake --build . -j$(nproc) \
|
||||
&& cmake --install . \
|
||||
&& rm -rf /tmp/grantlee
|
||||
# Download and build Grantlee from air-gapped Harbor registry
|
||||
RUN curl -L -o /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz ${HARBOR_URL}/grantlee-${GRANTLEE_VERSION}.tar.gz && \
|
||||
tar -xzf /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz -C /tmp && \
|
||||
cd /tmp/grantlee-${GRANTLEE_VERSION} && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
-DGRANTLEE_BUILD_WITH_QT6=ON \
|
||||
.. && \
|
||||
cmake --build . -j$(nproc) && \
|
||||
cmake --install . && \
|
||||
rm -rf /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz /tmp/grantlee-${GRANTLEE_VERSION}
|
||||
|
||||
# Update library cache
|
||||
RUN ldconfig
|
||||
|
||||
@@ -56,25 +56,28 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.asc --output /
|
||||
ARG QT_VERSION=6.10.2
|
||||
ARG KDREPORTS_VERSION=2.3.0
|
||||
|
||||
# Air-gapped Harbor registry URL
|
||||
ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential cmake git \
|
||||
build-essential cmake curl \
|
||||
libqt6core6 libqt6gui6 libqt6widgets6 libqt6xml6 \
|
||||
qt6-base-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Clone and build KDReports
|
||||
RUN git clone --depth 1 --branch kdreports-${KDREPORTS_VERSION} \
|
||||
https://github.com/KDAB/KDReports.git /tmp/KDReports \
|
||||
&& cd /tmp/KDReports \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
-DKDReports_QT6=ON .. \
|
||||
&& cmake --build . -j$(nproc) \
|
||||
&& cmake --install . \
|
||||
&& rm -rf /tmp/KDReports
|
||||
# Download and build KDReports from air-gapped Harbor registry
|
||||
RUN curl -L -o /tmp/KDReports-2.3.0.tar.gz ${HARBOR_URL}/KDReports-2.3.0.tar.gz && \
|
||||
tar -xzf /tmp/KDReports-2.3.0.tar.gz -C /tmp && \
|
||||
cd /tmp/KDReports && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
-DKDReports_QT6=ON .. && \
|
||||
cmake --build . -j$(nproc) && \
|
||||
cmake --install . && \
|
||||
rm -rf /tmp/KDReports-2.3.0.tar.gz /tmp/KDReports
|
||||
|
||||
# Create header alias for legacy includes
|
||||
RUN ln -sfn /usr/local/include/KDReports-qt6 /usr/local/include/KDReports
|
||||
|
||||
@@ -56,25 +56,28 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output /
|
||||
ARG QT_VERSION=6.10.2
|
||||
ARG LOG4QT_VERSION=2.0.0
|
||||
|
||||
# Air-gapped Harbor registry URL
|
||||
ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential cmake git \
|
||||
build-essential cmake curl \
|
||||
libqt6core6 libqt6gui6 libqt6widgets6 \
|
||||
qt6-base-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Clone and build Log4Qt
|
||||
RUN git clone --depth 1 --branch v${LOG4QT_VERSION} \
|
||||
https://github.com/MeanEYE/Log4Qt.git /tmp/Log4Qt \
|
||||
&& cd /tmp/Log4Qt \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
.. \
|
||||
&& cmake --build . -j$(nproc) \
|
||||
&& cmake --install . \
|
||||
&& rm -rf /tmp/Log4Qt
|
||||
# Download and build Log4Qt from air-gapped Harbor registry
|
||||
RUN curl -L -o /tmp/Log4Qt-2.0.0.tar.gz ${HARBOR_URL}/Log4Qt-2.0.0.tar.gz && \
|
||||
tar -xzf /tmp/Log4Qt-2.0.0.tar.gz -C /tmp && \
|
||||
cd /tmp/Log4Qt && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
||||
.. && \
|
||||
cmake --build . -j$(nproc) && \
|
||||
cmake --install . && \
|
||||
rm -rf /tmp/Log4Qt-2.0.0.tar.gz /tmp/Log4Qt
|
||||
|
||||
# Update library cache
|
||||
RUN ldconfig
|
||||
|
||||
Reference in new issue
Block a user