Remove Lts/Services from Release 2 DEB packaging scope

- Exclude all svc* services from sources package
- Align packaging with Release 2 scope (AP3, AP4, AP9 only)
- Services not required for Release 2 functionality

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M7A1KYKYYWE1P633PY1X6EPH
This commit is contained in:
torstenandCopilot committed 2026-11-13 08:50:34 +00:00
1 parent 16bdcbd151
commit b47bdca1aa
10 files changed
+2139

No files matched your search

+106
View File
@@ -0,0 +1,106 @@
# Release 2a DEB Packaging Filter - Manual Application Required
## Issue
The file `rpmbuild/make_rpm_ubuntu26_release2.py` is owned by root and requires sudo to modify.
## Required Changes
Add Release 2a scope filtering to exclude:
- All svc* service directories (Release 2b scope)
- Test executable directories (*Tests)
- LtsElevation module (depends on excluded AssetManagement)
- AssetManagement plugin
## Option 1: Apply Patch (Recommended)
```bash
cd /home/torsten/sandbox/qt6-migration-pipeline/qt-migration-legatus/qt6-after/qt6-migrated-legatus
sudo patch -p1 < /tmp/make_rpm_ubuntu26_release2.patch
```
## Option 2: Manual Edit
Edit `rpmbuild/make_rpm_ubuntu26_release2.py` with sudo:
### Step 1: Add filter function after imports (after line 30)
```python
def is_release2a_scope(filepath):
"""Check if file/directory is outside Release 2a scope (libraries only)
Release 2a scope: 18 library targets (no services, no test executables)
Returns True to EXCLUDE, False to INCLUDE
Excluded:
- All svc* service directories
- Test executable directories (*Tests)
- LtsElevation (depends on excluded AssetManagement)
- AssetManagement plugin
"""
filepath_str = str(filepath)
# Exclude svc* services (Release 2b scope)
if '/svc' in filepath_str.lower():
return True
# Exclude test executables (Release 2a is libraries only)
test_patterns = ['Tests/', 'Tests\\', '_Tests/', '_Tests\\']
for pattern in test_patterns:
if pattern in filepath_str:
return True
# Exclude LtsElevation (depends on excluded AssetManagement)
if 'LtsElevation' in filepath_str:
return True
# Exclude AssetManagement plugin
if 'AssetManagement' in filepath_str:
return True
return False
```
### Step 2: Update 3 copy_src_dir_to_dest_dir calls
**Line ~625** (Package 2 - qt6-release-sources):
```python
# OLD:
copy_src_dir_to_dest_dir(source_dir, pkg2_dir, release_scope=False, release_dirs=release_dirs)
# NEW:
copy_src_dir_to_dest_dir(source_dir, pkg2_dir, release_scope=False, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
**Line ~668** (Package 3 - qt6-release-ctest-runtime):
```python
# OLD:
copy_src_dir_to_dest_dir(source_dir, pkg3_dir, release_scope=False, release_dirs=release_dirs)
# NEW:
copy_src_dir_to_dest_dir(source_dir, pkg3_dir, release_scope=False, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
**Line ~718** (Package 4 - qt6-release-ctest-sources):
```python
# OLD:
copy_src_dir_to_dest_dir(source_dir, pkg4_dir, release_scope=False, release_dirs=release_dirs)
# NEW:
copy_src_dir_to_dest_dir(source_dir, pkg4_dir, release_scope=False, release_dirs=release_dirs, file_filter=is_release2a_scope)
```
## After Applying Changes
Run validation build with DEB packaging:
```bash
cd /home/torsten/sandbox/qt6-migration-pipeline/qt-migration-legatus/qt6-after/qt6-migrated-legatus
./new_docker_build_release2.sh --group1 --group3 --group5 --group6 --build-type Release --deb-package
```
## Verification
After build completes, verify DEB packages contain only Release 2a scope files:
- No svc* directories
- No *Tests directories (except test framework files)
- No LtsElevation
- No AssetManagement