Files
qt-migration-legatus/qt5-before/dlbo/specs/ltsHLAOnly.spec
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

263 lines
7.3 KiB
RPMSpec

# $Id: ltsSVOnly.spec 58371 2022-11-16 13:14:50Z rudolphus_g $
# $HeadURL: svn://slssvn/TDS/branches/product/devel/trunk/specs/ltsSVOnly.spec $
#
Name: @PROJECT@_@OS_SYSTEM@
Version: @VERSION@
Release: @RELEASE@
Packager: @PACKAGER@
Summary: Live Simulation Training System Software
License: proprietary
Group: Applications/Communications
Source: @SOURCES@
Vendor: Rheinmetall Electronics GmbH
URL: http://www.rheinmetall-electronics.de
Prefix: /shd/CTC
%description
Live Simulation Training System Software
Build information: @JENKINS_BUILD_TAG@
%define _unpackaged_files_terminate_build 0
%debug_package
%prep
%setup -q -n @SOURCE_DIR_REL@
export source_dir=`pwd`
%build
my_builddir=%{_builddir}/%{buildsubdir}-build
rm -fr ${my_builddir}
mkdir -p ${my_builddir}
cd ${my_builddir}
cmake -DBUILD_RPM=ON -DBUILD_TESTING=OFF @CMAKE_FLAGS@ -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_INSTALL_PREFIX=%{prefix} %{_builddir}/%{buildsubdir}
make %{?_smp_mflags}
%install
my_builddir=%{_builddir}/%{buildsubdir}-build
cd ${my_builddir}
DESTDIR=%{buildroot} cmake -DCOMPONENT=Unspecified -P cmake_install.cmake
%clean
%{__rm} -rf '%{buildroot}'
%{__rm} -rf '%{_builddir}'
%changelog
#* date +"%a %b %d %Y" text
* Tue Sep 19 2017 CE
- initial
%if "@BUILDSVNRPM@" == "true"
##############################################################################
#
# LTS Server
#
%package -n @PROJECT@_sv_@OS_SYSTEM@
Summary: LTS Software Server
Group: Applications/Communications
Prefix: /shd/CTC/SV
Requires: libecpg6
Requires: libgdal20
Requires: libpoppler-qt5-1
Requires: libQt5Concurrent5
Requires: libQt5Core5
Requires: libQt5Gui5
Requires: libQt5Network5
Requires: libQt5Sql5-postgresql
Requires: libQt5Sql5-sqlite
Requires: libQt5WebSockets5
Requires: libQt5Xml5
Requires: ctc_GeographicLib
Requires: ctc_Log4Qt
Requires: ctc_rti
Requires: ctc_schusstafel
#Requires: ctc_ngs_tes_uae_apache
BuildRequires: python-xml
BuildRequires: grantlee5-devel
BuildRequires: pkgconfig(gdal)
BuildRequires: pkgconfig(poppler-qt5)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5WebSockets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: postgresql-devel
BuildRequires: ctc_GeographicLib-devel
BuildRequires: ctc_Log4Qt-devel
BuildRequires: ctc_rti-devel
# no devel version...
BuildRequires: ctc_schusstafel
AutoReqProv: no
%description -n @PROJECT@_sv_@OS_SYSTEM@
Live Simulation Training System Server Software
Build information: @JENKINS_BUILD_TAG@
%files -n @PROJECT@_sv_@OS_SYSTEM@
%defattr(-,ctc_sv,ctc)
# %dir marks a single directory in a file list to be included as being owned by
# a package. By default, if you list a directory name WITHOUT a %dir macro,
# EVERYTHING in that directory is included in the file list and later installed
# as part of that package.
/shd/CTC/SV/
%exclude /shd/CTC/SV/share/Lts/Licence
%attr(-, root root) /etc/systemd/system/lts_sv.service
%attr(-, root root) /etc/ld.so.conf.d/lts_sv.conf
%attr(-, root root) /etc/security/limits.d/lts_sv_limits.conf
%pre -n @PROJECT@_sv_@OS_SYSTEM@
logdir="${RPM_INSTALL_PREFIX}/../LOG"
if [ ! -e ${logdir} ]; then
mkdir -p ${logdir}
chown ctc:ctc ${logdir}
chmod 1777 ${logdir}
fi
%post -n @PROJECT@_sv_@OS_SYSTEM@
/sbin/ldconfig
if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
systemctl enable lts_sv.service
fi
# create link for effect_config.xml:
ln -sf /shd/CTC/SV/share/Lts/Buildings/effect_config.xml /tmp/
%preun -n @PROJECT@_sv_@OS_SYSTEM@
if [ $1 -eq 0 ]; then
systemctl disable lts_sv.service
fi
%endif
%if "@BUILDRPMHLA@" == "true"
##############################################################################
#
# LTS HLA
#
%package -n @PROJECT@_hla_@OS_SYSTEM@
Summary: LTS Software HLA
Group: Applications/Communications
Prefix: /shd/CTC/SV
Requires: libecpg6
Requires: libgdal20
Requires: libpoppler-qt5-1
Requires: libQt5Concurrent5
Requires: libQt5Core5
Requires: libQt5Gui5
Requires: libQt5Network5
Requires: libQt5Sql5-postgresql
Requires: libQt5Sql5-sqlite
Requires: libQt5WebSockets5
Requires: libQt5Xml5
Requires: ctc_GeographicLib
Requires: ctc_Log4Qt
Requires: ctc_rti
#Requires: ctc_ngs_tes_uae_apache
BuildRequires: python-xml
BuildRequires: grantlee5-devel
BuildRequires: pkgconfig(gdal)
BuildRequires: pkgconfig(poppler-qt5)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5WebSockets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: postgresql-devel
BuildRequires: ctc_GeographicLib-devel
BuildRequires: ctc_Log4Qt-devel
BuildRequires: ctc_rti-devel
# no devel version...
AutoReqProv: no
%description -n @PROJECT@_hla_@OS_SYSTEM@
Live Simulation Training System HLA Software
Build information: @JENKINS_BUILD_TAG@
%files -n @PROJECT@_hla_@OS_SYSTEM@
%defattr(-,ctc_sv,ctc)
# %dir marks a single directory in a file list to be included as being owned by
# a package. By default, if you list a directory name WITHOUT a %dir macro,
# EVERYTHING in that directory is included in the file list and later installed
# as part of that package.
/shd/CTC/SV/
%attr(-, root root) /etc/ld.so.conf.d/lts_sv.conf
%exclude /shd/CTC/SV/share/Lts/Licence
%pre -n @PROJECT@_hla_@OS_SYSTEM@
logdir="${RPM_INSTALL_PREFIX}/../LOG"
if [ ! -e ${logdir} ]; then
mkdir -p ${logdir}
chown ctc:ctc ${logdir}
chmod 1777 ${logdir}
fi
%post -n @PROJECT@_hla_@OS_SYSTEM@
/sbin/ldconfig
%endif
##############################################################################
#
# LTS-CC.CONF
#
%package -n @PROJECT@_ltscc_@OS_SYSTEM@
Summary: LTS Software lts-cc.conf
Group: Applications/Communications
Prefix: /shd/CTC/SV
%description -n @PROJECT@_ltscc_@OS_SYSTEM@
Live Simulation Training System Server Software lts-cc.conf
Build information: @JENKINS_BUILD_TAG@
%files -n @PROJECT@_ltscc_@OS_SYSTEM@
#%defattr(-,ctc_aar,ctc)
# %dir marks a single directory in a file list to be included as being owned by
# a package. By default, if you list a directory name WITHOUT a %dir macro,
# EVERYTHING in that directory is included in the file list and later installed
# as part of that package.
%attr(-, root root) /etc/lts-cc.conf
#%pre -n @PROJECT@_ltscc_@OS_SYSTEM@
%post -n @PROJECT@_ltscc_@OS_SYSTEM@
/sbin/ldconfig
%if "@BUILDRPMLIC@" == "true"
##############################################################################
#
# Licence
#
%package -n @PROJECT@_licence_@OS_SYSTEM@
Summary: LTS Software Licence
Group: Applications/Communications
Prefix: /shd/CTC/SV
%description -n @PROJECT@_licence_@OS_SYSTEM@
Live Simulation Training System Server Software Licence
Build information: @JENKINS_BUILD_TAG@
%files -n @PROJECT@_licence_@OS_SYSTEM@
%defattr(-,ctc_sv,ctc)
# %dir marks a single directory in a file list to be included as being owned by
# a package. By default, if you list a directory name WITHOUT a %dir macro,
# EVERYTHING in that directory is included in the file list and later installed
# as part of that package.
/shd/CTC/SV/share/Lts/Licence
#%pre -n @PROJECT@_licence_@OS_SYSTEM@
%post -n @PROJECT@_licence_@OS_SYSTEM@
/sbin/ldconfig
%endif