Skip to content

chore(vcpkg-ports): Align port metadata and features with registry (container, monitoring, database, pacs) #552

Description

@kcenon

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:

  1. Copy registry vcpkg.json → overlay vcpkg.json (includes features, dependencies, port-version)
  2. Copy registry portfile.cmake → overlay portfile.cmake (includes v${VERSION}, feature options)
  3. Remove obsolete .patch files (database fix-common-system-target, pacs fix-vcpkg-dependency-discovery)
  4. Verify build with overlay ports

Acceptance Criteria

  • container_system overlay port-version updated to 2
  • monitoring_system overlay port-version updated to 1
  • database_system overlay has asio dependency and all 4 backend features
  • pacs_system overlay has all 6 optional features (storage, codecs, ssl, aws, azure, rest-api)
  • All obsolete .patch files removed from overlay
  • All portfiles use v${VERSION} REF template (no hardcoded SHA/tags)
  • validate-vcpkg-chain CI passes

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority/mediumMedium priority - Important but not urgentsize/MMedium - 1-3 days of worktype/choreMaintenance and cleanup tasks

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions