Inserts ubuntu26.04 build

This commit is contained in:
torsten committed 2026-08-19 12:13:32 +02:00
1 parent 7f98750611
commit b81aee3fa5
2 files changed
+11 -13

No files matched your search

+7 -9
View File
@@ -91,10 +91,11 @@ RUN python3 -m venv /opt/venv \
&& /opt/venv/bin/pip install aqtinstall && /opt/venv/bin/pip install aqtinstall
# Install Qt6 via aqtinstall with required modules # Install Qt6 via aqtinstall with required modules
# Note: Qt6Location requires Qt6Positioning as dependency
RUN set -eux; \ RUN set -eux; \
mkdir -p "${QT_BASE_DIR}" \ mkdir -p "${QT_BASE_DIR}" \
&& /opt/venv/bin/python -m aqt install-qt linux desktop "${QT_VERSION}" "${QT_ARCH}" \ && /opt/venv/bin/python -m aqt install-qt linux desktop "${QT_VERSION}" "${QT_ARCH}" \
-m qtmultimedia qtserialport qtimageformats qtwebsockets qtpdf qtwebview \ -m qtmultimedia qtserialport qtimageformats qtwebsockets qtpdf qtwebview qtlocation qtpositioning \
--outputdir "${QT_BASE_DIR}" \ --outputdir "${QT_BASE_DIR}" \
&& test -f "${QT_ROOT}/lib/cmake/Qt6/Qt6Config.cmake" && test -f "${QT_ROOT}/lib/cmake/Qt6/Qt6Config.cmake"
@@ -139,22 +140,19 @@ RUN apt-get update \
# Add RPM/rpmbuild tools for make_rpm.py # Add RPM/rpmbuild tools for make_rpm.py
# Note: Ubuntu uses different package names than openSUSE/Fedora # Note: Ubuntu uses different package names than openSUSE/Fedora
# - rpm: provides rpmbuild command # - rpm: provides rpmbuild command and basic infrastructure
# - rpm-common: provides RPM macros and build infrastructure
# - rpmdevtools is NOT available on Ubuntu, we create directory structure manually # - rpmdevtools is NOT available on Ubuntu, we create directory structure manually
RUN apt-get update \ RUN apt-get update \
&& apt-get install -y --no-install-recommends rpm rpm-common librpmbuild9 \ && apt-get install -y --no-install-recommends rpm \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Setup rpmbuild directory structure (normally done by rpmdev-setuptree on Fedora/openSUSE) # Setup rpmbuild directory structure (normally done by rpmdev-setuptree on Fedora/openSUSE)
RUN mkdir -p /shd/CTC/TOOLS/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} \ RUN mkdir -p /shd/CTC/TOOLS/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} \
&& chown -R ctc:ctc /shd/CTC/TOOLS/rpmbuild && chown -R ctc:ctc /shd/CTC/TOOLS/rpmbuild
# Copy RTI Connext DDS (proprietary, must be provided externally) # RTI Connext DDS (proprietary) should be mounted at runtime:
# RTI is copied from ./external/rti_connext_dds-7.7.0 in the repository # docker run -v /path/to/rti:/opt/RTI ...
COPY external/rti_connext_dds-7.7.0 /opt/RTI # Set DDS_PATH for RTI discovery (will be used if RTI is mounted)
# Set DDS_PATH for RTI discovery
ENV DDS_PATH=/opt/RTI ENV DDS_PATH=/opt/RTI
# Cleanup # Cleanup
+4 -4
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# Upload produced RPMs to the internal artifact repository and emit two # Upload produced DEB packages to the internal artifact repository and emit two
# helper files for the Jenkinsfile to consume (named per project + OS version): # helper files for the Jenkinsfile to consume (named per project + OS version):
# ${WORKSPACE}/url-${PROJECT}-${OS_VERSION}.txt — browseable URL of the uploaded folder # ${WORKSPACE}/url-${PROJECT}-${OS_VERSION}.txt — browseable URL of the uploaded folder
# ${WORKSPACE}/tdsversion-${PROJECT}-${OS_VERSION}.txt — full version string (LTS-build) # ${WORKSPACE}/tdsversion-${PROJECT}-${OS_VERSION}.txt — full version string (LTS-build)
@@ -12,7 +12,7 @@
# BUILD_NUMBER Jenkins build number (release component of the artifact name) # BUILD_NUMBER Jenkins build number (release component of the artifact name)
# WORKSPACE Jenkins workspace path # WORKSPACE Jenkins workspace path
# ARTIFACTREPO Base URL of the internal repo (no trailing slash) # ARTIFACTREPO Base URL of the internal repo (no trailing slash)
# ARTIFACTFOLDER Subfolder under cts-rpms/ (project name, e.g. qatar) # ARTIFACTFOLDER Subfolder under cts-debs/ (project name, e.g. qatar)
# CURL_CRED user:password for the upload (Jenkins credential) # CURL_CRED user:password for the upload (Jenkins credential)
# #
@@ -29,7 +29,7 @@ set -eo pipefail
tds_folder_name="${PROJECT}-TDS-${LTS_VERSION}-${BUILD_NUMBER}" tds_folder_name="${PROJECT}-TDS-${LTS_VERSION}-${BUILD_NUMBER}"
tds_folder_path="${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}" tds_folder_path="${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}"
tds_artifact_store="${ARTIFACTREPO}/repository/cts-rpms/${ARTIFACTFOLDER}/${OS_VERSION}/${tds_folder_name}" tds_artifact_store="${ARTIFACTREPO}/repository/cts-debs/${ARTIFACTFOLDER}/${OS_VERSION}/${tds_folder_name}"
if [ ! -d "${tds_folder_path}/${tds_folder_name}" ]; then if [ ! -d "${tds_folder_path}/${tds_folder_name}" ]; then
echo "ERROR: expected RPM folder not found: ${tds_folder_path}/${tds_folder_name}" >&2 echo "ERROR: expected RPM folder not found: ${tds_folder_path}/${tds_folder_name}" >&2
@@ -58,5 +58,5 @@ echo "Uploaded ${uploaded} file(s) to ${tds_artifact_store}/"
# Per-(project, OS) filenames so concurrent publish stages don't clobber each # Per-(project, OS) filenames so concurrent publish stages don't clobber each
# other's helper files; the Jenkinsfile reads back the matching names. # other's helper files; the Jenkinsfile reads back the matching names.
echo "${ARTIFACTREPO}/service/rest/repository/browse/cts-rpms/${ARTIFACTFOLDER}/${OS_VERSION}/${tds_folder_name}/" > "${WORKSPACE}/url-${PROJECT}-${OS_VERSION}.txt" echo "${ARTIFACTREPO}/service/rest/repository/browse/cts-debs/${ARTIFACTFOLDER}/${OS_VERSION}/${tds_folder_name}/" > "${WORKSPACE}/url-${PROJECT}-${OS_VERSION}.txt"
echo "${LTS_VERSION}-${BUILD_NUMBER}" > "${WORKSPACE}/tdsversion-${PROJECT}-${OS_VERSION}.txt" echo "${LTS_VERSION}-${BUILD_NUMBER}" > "${WORKSPACE}/tdsversion-${PROJECT}-${OS_VERSION}.txt"