Skip to content

chore(vcpkg-ports): Synchronize overlay ports with vcpkg-registry #550

Description

@kcenon

What

Synchronize all 8 overlay port definitions in vcpkg-ports/ with the canonical vcpkg-registry (kcenon/vcpkg-registry). The overlay ports have diverged from the registry across versions, port-versions, dependencies, portfile structure, and patching approach.

  • Current: Overlay ports use hardcoded git SHA/tag REFs, manual patches, and legacy snake_case wrappers. Three systems have stale versions (thread 0.3.0, logger 0.1.2, network 0.1.0).
  • Expected: Overlay ports mirror the registry's v${VERSION} template approach, current versions, and feature-based options.
  • Scope: monitoring_system/vcpkg-ports/ directory only.

Divergence Summary

System Overlay Version Registry Version Overlay pv Registry pv Status
common_system 0.2.0 0.2.0 0 0 Match
thread_system 0.3.0 0.3.1 - - Version mismatch
logger_system 0.1.2 0.1.3 2 - Version mismatch
container_system 0.1.0 0.1.0 1 2 Port-version mismatch
monitoring_system 0.1.0 0.1.0 0 1 Port-version mismatch
database_system 0.1.0 0.1.0 3 3 Deps/features diverged
network_system 0.1.0 0.1.1 5 1 Full divergence
pacs_system 0.1.0 0.1.0 5 4 Port-version + features

Why

  • Overlay ports serve as local CI validation staging area. When they diverge from the registry, local validation tests different code than what consumers install.
  • Three version mismatches mean the overlay validates outdated source code.
  • Missing features in overlay (database backends, pacs codecs/storage) means local CI cannot test feature-based builds.

Where

  • vcpkg-ports/kcenon-thread-system/ — version + portfile
  • vcpkg-ports/kcenon-logger-system/ — version + portfile
  • vcpkg-ports/kcenon-network-system/ — version + portfile + dependencies + features
  • vcpkg-ports/kcenon-container-system/ — port-version + portfile
  • vcpkg-ports/kcenon-monitoring-system/ — port-version + portfile
  • vcpkg-ports/kcenon-database-system/ — dependencies + features + portfile
  • vcpkg-ports/kcenon-pacs-system/ — port-version + features + portfile
  • Related: kcenon/vcpkg-registry (source of truth)

How

Technical Approach

  1. Phase 1 — Version fixes (thread, logger, network): Copy registry vcpkg.json + portfile.cmake, remove obsolete patches
  2. Phase 2 — Port-version alignment (container, monitoring, pacs): Update vcpkg.json port-version, sync portfile changes
  3. Phase 3 — Dependency/feature alignment (database, network, pacs): Add missing features and dependencies from registry
  4. Phase 4 — Structural modernization: Migrate hardcoded REF → v${VERSION}, remove patches incorporated upstream

Acceptance Criteria

  • All overlay vcpkg.json versions match registry versions
  • All overlay port-versions match registry port-versions
  • All overlay dependencies match registry dependencies
  • All overlay features match registry features
  • Hardcoded SHA/tag REFs replaced with v${VERSION} template
  • Obsolete .patch files removed (upstream fixes incorporated)
  • validate-vcpkg-chain CI passes on all 3 platforms

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority/highHigh priority - Critical for productionsize/LLarge - 3-5 days of worktype/choreMaintenance and cleanup tasks

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions