What
Align overlay port metadata (port-version, dependencies, features, portfile structure) with the vcpkg-registry for four systems that share the same source version but differ in packaging:
| System |
Overlay pv |
Registry pv |
Missing in Overlay |
| container_system |
1 |
2 |
Build option naming, PascalCase fixup |
| monitoring_system |
0 |
1 |
v${VERSION} REF template |
| database_system |
3 |
3 |
asio dependency, all backend features (postgresql, sqlite, mongodb, redis), feature-based options |
| pacs_system |
5 |
4 |
Feature options (storage, codecs, ssl, aws, azure, rest-api), network integration enabled |
- Current: Overlay ports lack features, use legacy portfile patterns, and have stale port-versions
- Expected: Overlay ports mirror registry's feature sets, dependencies, and portfile patterns
- Scope:
vcpkg-ports/kcenon-{container,monitoring,database,pacs}-system/
Part of #550
Why
- database_system: Overlay has no backend features and is missing
asio dependency. Local CI cannot test any database backend builds.
- pacs_system: Overlay disables
PACS_WITH_NETWORK_SYSTEM and all optional features. Local CI tests a minimal PACS without network or storage — far from what consumers use.
- container_system: Port-version 1 vs 2 means overlay has an older packaging revision with different build option names.
- monitoring_system: Port-version 0 vs 1 means overlay is missing a portfile fix that the registry includes.
Where
vcpkg-ports/kcenon-container-system/vcpkg.json — port-version 1
vcpkg-ports/kcenon-container-system/portfile.cmake — legacy build options, snake_case wrapper
vcpkg-ports/kcenon-monitoring-system/vcpkg.json — port-version 0
vcpkg-ports/kcenon-monitoring-system/portfile.cmake — hardcoded REF
vcpkg-ports/kcenon-database-system/vcpkg.json — missing asio, no features
vcpkg-ports/kcenon-database-system/portfile.cmake — hardcoded SHA, patch, stub .lib, no feature options
vcpkg-ports/kcenon-database-system/fix-common-system-target.patch — to be removed
vcpkg-ports/kcenon-pacs-system/vcpkg.json — port-version 5 (ahead of registry), no features
vcpkg-ports/kcenon-pacs-system/portfile.cmake — hardcoded SHA, patch, network disabled, PascalCase fixups
vcpkg-ports/kcenon-pacs-system/fix-vcpkg-dependency-discovery.patch — to be removed
How
Technical Approach
For each system, replace overlay port files with the registry equivalents:
- Copy registry
vcpkg.json → overlay vcpkg.json (includes features, dependencies, port-version)
- Copy registry
portfile.cmake → overlay portfile.cmake (includes v${VERSION}, feature options)
- Remove obsolete
.patch files (database fix-common-system-target, pacs fix-vcpkg-dependency-discovery)
- Verify build with overlay ports
Acceptance Criteria
What
Align overlay port metadata (port-version, dependencies, features, portfile structure) with the vcpkg-registry for four systems that share the same source version but differ in packaging:
v${VERSION}REF templateasiodependency, all backend features (postgresql, sqlite, mongodb, redis), feature-based optionsvcpkg-ports/kcenon-{container,monitoring,database,pacs}-system/Part of #550
Why
asiodependency. Local CI cannot test any database backend builds.PACS_WITH_NETWORK_SYSTEMand all optional features. Local CI tests a minimal PACS without network or storage — far from what consumers use.Where
vcpkg-ports/kcenon-container-system/vcpkg.json— port-version 1vcpkg-ports/kcenon-container-system/portfile.cmake— legacy build options, snake_case wrappervcpkg-ports/kcenon-monitoring-system/vcpkg.json— port-version 0vcpkg-ports/kcenon-monitoring-system/portfile.cmake— hardcoded REFvcpkg-ports/kcenon-database-system/vcpkg.json— missing asio, no featuresvcpkg-ports/kcenon-database-system/portfile.cmake— hardcoded SHA, patch, stub .lib, no feature optionsvcpkg-ports/kcenon-database-system/fix-common-system-target.patch— to be removedvcpkg-ports/kcenon-pacs-system/vcpkg.json— port-version 5 (ahead of registry), no featuresvcpkg-ports/kcenon-pacs-system/portfile.cmake— hardcoded SHA, patch, network disabled, PascalCase fixupsvcpkg-ports/kcenon-pacs-system/fix-vcpkg-dependency-discovery.patch— to be removedHow
Technical Approach
For each system, replace overlay port files with the registry equivalents:
vcpkg.json→ overlayvcpkg.json(includes features, dependencies, port-version)portfile.cmake→ overlayportfile.cmake(includesv${VERSION}, feature options).patchfiles (database fix-common-system-target, pacs fix-vcpkg-dependency-discovery)Acceptance Criteria
asiodependency and all 4 backend features.patchfiles removed from overlayv${VERSION}REF template (no hardcoded SHA/tags)validate-vcpkg-chainCI passes