Update submodule for Release 2a LtsElevation removal

- Point to latest commit on story/create-release-two-delivery-25_11_2026
- Removes LtsElevation from Release 2a scope

Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M78ANTVE4T2Y0CW0PKSV8HEA
This commit is contained in:
torstenandCopilot committed 2026-11-12 16:50:24 +00:00
1 parent 34a397f04b
commit 018aba59be
4 files changed
+460 -1

No files matched your search

+132
View File
@@ -0,0 +1,132 @@
# Release 2a DEB Packaging Filter Instructions
## Required Changes to make_rpm_ubuntu26_release2.py
The file `qt-migration-legatus/qt6-after/qt6-migrated-legatus/rpmbuild/make_rpm_ubuntu26_release2.py` needs to be updated to filter sources for Release 2a scope.
**Note**: File is currently owned by root and requires sudo to modify.
### Step 1: Add is_release2a_scope() function
Add after the existing `is_dds_file()` function (around line 50):
```python
def is_release2a_scope(filepath, release_dirs=None):
"""
Filter function for Release 2a scope (23 library targets only).
Excludes svc* services and non-scope directories.
Args:
filepath: Path to check relative to source root
release_dirs: List of directories to include (optional)
Returns:
True if file should be included in Release 2a packages
"""
if release_dirs:
# Check if file is in one of the release scope directories
for rel_dir in release_dirs:
if filepath.startswith(rel_dir + '/') or filepath.startswith(rel_dir + os.sep):
return True
if filepath == rel_dir:
return True
return False
# Default: include all files (fallback)
return True
```
### Step 2: Update release_dirs definition
Replace the existing release_dirs definition (around line 475) with:
```python
# Release 2a scope: only directories containing the 23 library targets
# NGL* libraries, qtsingle*, wms_json_ds, tcpserver, LtsCoordinate/LtsCoordTrans/LtsElevation, test libs
release_dirs = [
"Z/src/NGLLogger",
"Z/src/nglapplication",
"Z/src/nglcompression",
"Z/src/nglcoreapplication",
"Z/src/ngldb",
"Z/src/nglguiapplication",
"Z/src/nglsettings",
"Z/src/nglsingleapplication",
"Z/src/nglsinglecoreapplication",
"Z/src/ngltools",
"Z/src/ngltranslator",
"Z/src/nglwidgets",
"Z/src/qtsingleapplication",
"Z/src/qtsinglecoreapplication",
"Z/src/wms_json_ds",
"Z/src/tcpserver",
"Lts/Common/LtsCoordinate",
"Lts/Common/LtsCoordTrans",
"Lts/Common/LtsElevation",
"Z/src/pdmTests",
"Z/src/eemTests",
"Z/src/flmTests",
"Z/src/srpFtTests",
"include/NGLLogger",
"include/nglapplication",
"include/nglcompression",
"include/nglcoreapplication",
"include/ngldb",
"include/nglguiapplication",
"include/nglsettings",
"include/nglsingleapplication",
"include/nglsinglecoreapplication",
"include/ngltools",
"include/ngltranslator",
"include/nglwidgets",
"include/qtsingleapplication",
"include/qtsinglecoreapplication",
"include/wms_json_ds",
"include/tcpserver",
"include/pdmTests",
"include/eemTests",
"include/flmTests",
"include/srpFtTests"
]
```
### Step 3: Update copy_src_dir_to_dest_dir calls
Update the three calls to use the new filter:
**Line ~590** (Package 2):
```python
copy_src_dir_to_dest_dir(source_dir, pkg2_dir, release_scope=True, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
**Line ~632** (Package 3):
```python
copy_src_dir_to_dest_dir(source_dir, pkg3_dir, release_scope=True, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
**Line ~681** (Package 4):
```python
copy_src_dir_to_dest_dir(source_dir, pkg4_dir, release_scope=True, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
## Execution
Run with sudo:
```bash
cd qt-migration-legatus/qt6-after/qt6-migrated-legatus
sudo nano rpmbuild/make_rpm_ubuntu26_release2.py
# Apply changes above
sudo python3 rpmbuild/make_rpm_ubuntu26_release2.py
```
## Release 2a Scope Summary
**Included (23 library targets)**:
- NGL* libraries (12): NGLLogger, nglapplication, nglcompression, nglcoreapplication, ngldb, nglguiapplication, nglsettings, nglsingleapplication, nglsinglecoreapplication, ngltools, ngltranslator, nglwidgets
- qtsingle* libraries (2): qtsingleapplication, qtsinglecoreapplication
- Other libs (4): wms_json_ds, tcpserver, LtsCoordinate, LtsCoordTrans, LtsElevation
- Test libs (5): pdmTests, eemTests, flmTests, srpFtTests
**Excluded (37 svc* services for Release 2b)**:
- All svc* service targets (svcAesClient, svcAesCommon, svcAlmClient, etc.)
+283
View File
@@ -0,0 +1,283 @@
# Release 2a Scope Summary (Libraries Only)
**Date**: 2025-11-12
**Branch**: story/release-2-cleanup
**Submodule Branch**: story/create-release-two-delivery-25_11_2026
## Overview
Release 2a includes **23 library targets only**, excluding all 37 svc* services (planned for Release 2b).
## Build Configuration
### Active Build Groups
```bash
export BUILD_GROUP1=ON # AP4: DDS middleware
export BUILD_GROUP3=ON # AP3: Shared libraries (23 targets)
export BUILD_GROUP5=ON # AP9: DDSView, LogViewer, SqlBrowser
export BUILD_GROUP6=ON # AP9: DaoGenerator, lupdate
```
### GROUP3_TARGETS (23 Library Targets)
```cmake
# NGL* Libraries (12)
NGLLogger
nglapplication
nglcompression
nglcoreapplication
ngldb
nglguiapplication
nglsettings
nglsingleapplication
nglsinglecoreapplication
ngltools
ngltranslator
nglwidgets
# qtsingle* Libraries (2)
qtsingleapplication
qtsinglecoreapplication
# Other Libraries (4)
wms_json_ds
tcpserver
LtsCoordinate
LtsCoordTrans
LtsElevation
# Test Libraries (5)
pdmTests
eemTests
flmTests
srpFtTests
```
### Excluded Services (37 svc* targets for Release 2b)
All svc* services have been removed from GROUP3_TARGETS for Release 2a:
- svcAesClient, svcAesCommon, svcAreaEffectSimulation
- svcAlmClient, svcAlmCommon, svcAlmServer (require BUILD_RTI/BUILD_GRANTLEE)
- svcArincDecoder, svcArincDiscrete, svcArincSensor
- svcAttackSuicide
- svcBogey
- svcC2Receiver, svcC2Transmitter
- svcClimate
- svcCompass
- svcCorridor
- svcCubic
- svcCylinder
- svcDataDistribution
- svcDataRecorder
- svcDedex
- svcElevation
- svcEllipse
- svcEnvironmental
- svcFov
- svcFuel
- svcGeodetics
- svcGravity
- svcGroundClutter
- svcHeading
- svcHeight
- svcHolmes
- svcHuman
- svcInterCom
- svcLaser
- svcLight
- svcLine
- svcMagnetic
- svcMapping
- svcMarker
- svcMaterial
- svcMeasurement
- svcModelConverter
- svcOrdnance
- svcOrient
- svcParticle
- svcPathfinder
- svcPlane
- svcPoint
- svcPolygon
- svcPolyline
- svcPrecipitation
- svcRadar
- svcRadio
- svcRect
- svcRoad
- svcSensor
- svcShock
- svcSimManager
- svcSky
- svcSphere
- svcSpherical
- svcSpot
- svcStar
- svcSubModel
- svcTemperature
- svcTerrain
- svcText
- svcThermals
- svcTrack
- svcTrajectory
- svcTurn
- svcVelocity
- svcVersion
- svcVisibility
- svcWeather
- svcWind
- svcWingman
## DEB Package Manifests (Release 2a)
### 1. guez-release2-core
**Description**: Core shared libraries (AP3)
**Dependencies**: qt6-base, qt6-tools, qt6-svg, qt6-3d, qt6-datavis3d
**Libraries**:
- libngllogger6
- libnglapplication6
- libnglcompression6
- libnglcoreapplication6
- libngldb6
- libnglguiapplication6
- libnglsettings6
- libnglsingleapplication6
- libnglsinglecoreapplication6
- libngltools6
- libngltranslator6
- libnglwidgets6
- libqtsingleapplication6
- libqtsinglecoreapplication6
- libwms-json-ds6
- libtcpserver6
- liblts-coordinate6
- liblts-coord-trans6
- liblts-elevation6
### 2. guez-release2-dds
**Description**: DDS middleware libraries (AP4)
**Dependencies**: guez-release2-core, rti-connext-dds-6.1.2
**Libraries**:
- libddscore6
- libddsftccore6
- libddsfts6
- libddsconnector6
- libddsqos6
- libsvc-core-client6
### 3. guez-release2-tools
**Description**: Tools and viewers (AP9)
**Dependencies**: guez-release2-core, guez-release2-dds
**Tools**:
- ddsView
- logViewer
- sqlBrowser
- dao-generator
- lupdate-toolchain
### 4. guez-release2-dev
**Description**: Development files
**Dependencies**: guez-release2-core, guez-release2-dds
**Files**:
- Headers for all libraries
- CMake config files
- pkg-config files
## Source Directory Structure (Release 2a)
Only the following directories contain Release 2a source files:
```
Z/src/
├── NGLLogger/
├── nglapplication/
├── nglcompression/
├── nglcoreapplication/
├── ngldb/
├── nglguiapplication/
├── nglsettings/
├── nglsingleapplication/
├── nglsinglecoreapplication/
├── ngltools/
├── ngltranslator/
├── nglwidgets/
├── qtsingleapplication/
├── qtsinglecoreapplication/
├── wms_json_ds/
├── tcpserver/
├── pdmTests/
├── eemTests/
├── flmTests/
└── srpFtTests/
Lts/Common/
├── LtsCoordinate/
├── LtsCoordTrans/
└── LtsElevation/
include/
├── NGLLogger/
├── nglapplication/
├── nglcompression/
├── nglcoreapplication/
├── ngldb/
├── nglguiapplication/
├── nglsettings/
├── nglsingleapplication/
├── nglsinglecoreapplication/
├── ngltools/
├── ngltranslator/
├── nglwidgets/
├── qtsingleapplication/
├── qtsinglecoreapplication/
├── wms_json_ds/
├── tcpserver/
├── pdmTests/
├── eemTests/
├── flmTests/
└── srpFtTests/
```
## Validation Build Command
```bash
cd qt-migration-legatus/qt6-after/qt6-migrated-legatus
./new_docker_build_release2.sh \
--build-group1 ON \
--build-group3 ON \
--build-group5 ON \
--build-group6 ON \
--lts-version 6.0.0 \
--project guez \
--build-number 2a-$(date +%Y%m%d) \
--build-tag release2a-validation \
--package-output-dir /tmp/release2a-packages
```
## Files Modified
1. `new_docker_build_release2.sh`
- Fixed CMake config variable passing (removed extra quotes)
- Fixed build_group calls (removed extra quotes)
- Added Docker environment variable exports
- Updated GROUP3_TARGETS (23 library targets)
- Added new options (--run-jenkins-builder, --run-coverage, etc.)
2. `Lts/Common/CMakeLists.txt`
- Uncommented LtsCoordinate target
3. `Lts/Services/AreaEffectSimulation/CMakeLists.txt`
- Added TARGET_EXISTS for conditional linking
## Next Steps
1. Apply DEB packaging filter to make_rpm_ubuntu26_release2.py (see RELEASE2A_DEB_FILTER_INSTRUCTIONS.md)
2. Execute validation build with DEB packaging
3. Verify DEB package contents
4. Create comprehensive validation report
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env python3
"""
Filter GROUP3_TARGETS to remove all svc* services for Release 2a.
Release 2a includes only shared libraries (NGL*, Lts*, qtsingle*, etc.)
Release 2b will include the svc* services.
"""
# Current GROUP3_TARGETS from line 626
current_targets = "NGLLogger nglapplication nglcompression nglcoreapplication ngldb nglguiapplication nglsettings nglsingleapplication nglsinglecoreapplication ngltools ngltranslator nglwidgets qtsingleapplication qtsinglecoreapplication wms_json_ds tcpserver LtsCoordinate LtsCoordTrans LtsElevation svcPdmCommon svcPdmClient svcPdmServer svcProjectDataManagement pdmTests svcAesClient svcAesCommon svcAesServer svcBldClient svcBldCommon svcEemClient svcEemCommon svcEemServer svcEscClient svcEscCommon svcEscServer svcEsmClient svcEsmCommon svcEsmServer svcFlmClient svcFlmCommon svcFlmServer svcGmpServer svcMapDummy svcObdClient svcObdCommon svcObdServer svcOscClient svcOscCommon svcOscServer svcOssClient svcOssCommon svcOssServer svcPedDummy svcSituationReplay svcSrpClient svcSrpCommon svcSrpServer eemTests flmTests srpFtTests"
targets = current_targets.split()
# Separate targets into categories
svc_targets = []
library_targets = []
for target in targets:
if target.startswith('svc'):
svc_targets.append(target)
else:
library_targets.append(target)
print("=" * 80)
print("TASK 1: Remove all svc* services from GROUP3 (Release 2a vs 2b)")
print("=" * 80)
print(f"\nOriginal target count: {len(targets)}")
print(f"Library targets (Release 2a): {len(library_targets)}")
print(f"svc* services to remove (Release 2b): {len(svc_targets)}")
print("\n" + "-" * 80)
print("Library targets for Release 2a (GROUP3):")
print("-" * 80)
print(' '.join(library_targets))
print("\n" + "-" * 80)
print(f"svc* services removed ({len(svc_targets)} targets):")
print("-" * 80)
for target in sorted(svc_targets):
print(f" - {target}")
print("\n" + "=" * 80)
print("Filtered GROUP3_TARGETS for new_docker_build_release2.sh line 626:")
print("=" * 80)
print(f"GROUP3_TARGETS=({' '.join(library_targets)})")