Adds CI CD with deb for external deps

This commit is contained in:
torsten committed 2026-11-06 18:15:17 +00:00
1 parent 03d48b76e4
commit 7373cb8d73
82 files changed
+3547 -3

No files matched your search

@@ -0,0 +1,84 @@
#!/bin/bash
# RTI Connext DDS DEB Package Build Script
# Builds librti-connext-dds-7.7.0-dev DEB package for internal SCM repository
set -e
PACKAGE_NAME="librti-connext-dds-7.7.0-dev"
VERSION="7.7.0"
ARCHITECTURE="amd64"
MAINTAINER="Legatus Team <legatus@defence-elec.de>"
DESCRIPTION="RTI Connext DDS 7.7.0 Pro - development files (commercial license)"
# Create package structure
DEB_DIR="deb-package"
rm -rf "$DEB_DIR"
mkdir -p "$DEB_DIR/DEBIAN"
mkdir -p "$DEB_DIR/opt/rti_connext_dds-7.7.0"
mkdir -p "$DEB_DIR/opt/offline-cache/rti"
# Copy RTI files from external/rti_connext_dds-7.7.0
if [ -d "../../external/rti_connext_dds-7.7.0" ]; then
cp -r ../../external/rti_connext_dds-7.7.0/* "$DEB_DIR/opt/rti_connext_dds-7.7.0/"
fi
# Copy license file
if [ -f "../../../rti_license.dat" ]; then
cp ../../../rti_license.dat "$DEB_DIR/opt/rti_connext_dds-7.7.0/rti_license.dat"
fi
# Create control file
cat > "$DEB_DIR/DEBIAN/control" << EOF
Package: $PACKAGE_NAME
Version: $VERSION
Architecture: $ARCHITECTURE
Maintainer: $MAINTAINER
Depends: libqt6core6, libqt6gui6, libqt6widgets6, libstdc++6, libc6
Section: libdevel
Priority: optional
Description: $DESCRIPTION
RTI Connext DDS 7.7.0 Pro for Legatus.
.
License: Commercial FlexLM license
License file: /opt/rti_connext_dds-7.7.0/rti_license.dat
Set RTI_LICENSE_FILE environment variable.
EOF
# Create postinst script
cat > "$DEB_DIR/DEBIAN/postinst" << 'EOF'
#!/bin/bash
set -e
echo "RTI Connext DDS DEB package installed successfully"
echo "License: Commercial FlexLM license"
echo "License file: /opt/rti_connext_dds-7.7.0/rti_license.dat"
echo "Set RTI_LICENSE_FILE environment variable to use the library."
# Set permissions
chmod -R 755 /opt/rti_connext_dds-7.7.0
exit 0
EOF
chmod 755 "$DEB_DIR/DEBIAN/postinst"
# Create postrm script
cat > "$DEB_DIR/DEBIAN/postrm" << 'EOF'
#!/bin/bash
set -e
echo "RTI Connext DDS DEB package removed"
exit 0
EOF
chmod 755 "$DEB_DIR/DEBIAN/postrm"
# Build DEB package
echo "Building DEB package: ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
cd "$DEB_DIR"
dpkg-deb --build . "../${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
cd ..
echo "DEB package created: ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
echo "Size: $(du -h ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb | cut -f1)"
@@ -0,0 +1,8 @@
librti-connext-dds-7.7.0-dev (7.7.0) stable; urgency=medium
* Initial release for air-gapped environment
* RTI Connext DDS 7.7.0 Pro with commercial FlexLM license
* Includes rti_license.dat for license validation
* Installs to /opt/rti_connext_dds-7.7.0
-- Legatus Team <legatus@defence-elec.de> Mon, 01 Jan 2024 00:00:00 +0000
@@ -0,0 +1 @@
12
@@ -0,0 +1,22 @@
Source: librti-connext-dds-7.7.0-dev
Section: contrib/devel
Priority: optional
Maintainer: Legatus Team <legatus@defence-elec.de>
Build-Depends: debhelper (>= 12), qt6-base-dev
Standards-Version: 4.6.0
Vcs-Browser: https://internal-repo.sl.defence-elec.de/#browse/browse:external-rpms:general
Vcs-Git: https://internal-repo.sl.defence-elec.de/external-rpms/general/librti-connext-dds-7.7.0-dev.git
Package: librti-connext-dds-7.7.0-dev
Architecture: amd64
Depends: libqt6core6, libqt6gui6, libqt6widgets6, libstdc++6, libc6, ${shlibs:Depends}, ${misc:Depends}
Description: RTI Connext DDS 7.7.0 Pro - development files (commercial license)
RTI Connext DDS 7.7.0 Pro for Legatus.
.
License: Commercial FlexLM license
License file: /opt/rti_connext_dds-7.7.0/rti_license.dat
Set RTI_LICENSE_FILE environment variable.
.
This package contains the development files for RTI Connext DDS 7.7.0 Pro.
.
Available from SCM: https://internal-repo.sl.defence-elec.de/#browse/browse:external-rpms:general
@@ -0,0 +1,27 @@
#!/usr/bin/make -f
# Allow override of source path for building in CI/CD or local environments
# Default: /opt (production build machine)
# Can be overridden via DEB_BUILD_OPT_PATH environment variable
OPT_BASE ?= /opt
%:
dh $@
override_dh_auto_install:
dh_auto_install
install -d debian/librti-connext-dds-7.7.0-dev/opt/rti_connext_dds-7.7.0
cp -r $(OPT_BASE)/rti_connext_dds-7.7.0/* debian/librti-connext-dds-7.7.0-dev/opt/rti_connext_dds-7.7.0/
install -d debian/librti-connext-dds-7.7.0-dev/opt/rti_connext_dds-7.7.0/etc
# Copy license from build machine or project root
if [ -f $(OPT_BASE)/rti_connext_dds-7.7.0/rti_license.dat ]; then \
cp $(OPT_BASE)/rti_connext_dds-7.7.0/rti_license.dat debian/librti-connext-dds-7.7.0-dev/opt/rti_connext_dds-7.7.0/rti_license.dat; \
elif [ -f ../../../../rti_license.dat ]; then \
cp ../../../../rti_license.dat debian/librti-connext-dds-7.7.0-dev/opt/rti_connext_dds-7.7.0/rti_license.dat; \
else \
echo "ERROR: rti_license.dat not found!"; \
exit 1; \
fi
override_dh_strip:
dh_strip --no-automatic-dbgsym
@@ -0,0 +1 @@
3.0 (native)