What
Vcpkg port definitions currently exist in three locations with no clear ownership model:
- Central registry (
monitoring_system/vcpkg-ports/) — All 8 system ports, most up-to-date, real SHA512 hashes, includes patches
- Local ports (
{database,network,pacs}_system/vcpkg-ports/) — Subset of ports, stale, SHA512 0 placeholders, no patches
- Remote registry (
kcenon/vcpkg-registry.git) — Only referenced by monitoring_system
The central registry in monitoring_system is the de facto canonical source, but this is not documented and creates confusion with stale local ports.
Why
- Stale local ports with
SHA512 0 give the false impression of vcpkg readiness
- Contributors may modify the wrong port definition (local vs central)
- Patch files only exist in central registry — local ports lack critical fixes
- No documented procedure for which port location to update when making changes
- Blocks clean vcpkg registry submission workflow
Where
Current state
| System |
Central (monitoring) |
Local (per-repo) |
Remote Registry |
| common_system |
port-v0 |
— |
Referenced |
| thread_system |
port-v0 |
— |
Referenced |
| logger_system |
port-v3 + patch |
— |
Referenced |
| container_system |
port-v0 |
— |
Referenced |
| monitoring_system |
port-v0 |
— |
Referenced |
| database_system |
port-v2 + patch |
port-v1 (stale, SHA512=0) |
— |
| network_system |
port-v3 + patch |
port-v0 (stale, SHA512=0) |
— |
| pacs_system |
port-v2 + patch |
port-v0 (stale, SHA512=0) |
— |
How
Option A: Centralize in monitoring_system (current de facto approach)
- Remove stale local ports from database_system, network_system, pacs_system
- Document monitoring_system as the canonical port registry
- Add overlay-ports instructions to each repo's README
- Sync central ports to
kcenon/vcpkg-registry.git on each release
Option B: Centralize in dedicated vcpkg-registry repo
- Move all ports from monitoring_system to
kcenon/vcpkg-registry.git
- Remove all local ports from individual repos
- Each repo references the registry in
vcpkg-configuration.json
- Single place for port updates, patches, and CI validation
Option C: Per-repo ports (fully distributed)
- Move each port to its own repo (each repo owns its port definition)
- Remove central registry from monitoring_system
kcenon/vcpkg-registry.git aggregates from individual repos
Acceptance Criteria
What
Vcpkg port definitions currently exist in three locations with no clear ownership model:
monitoring_system/vcpkg-ports/) — All 8 system ports, most up-to-date, real SHA512 hashes, includes patches{database,network,pacs}_system/vcpkg-ports/) — Subset of ports, stale,SHA512 0placeholders, no patcheskcenon/vcpkg-registry.git) — Only referenced by monitoring_systemThe central registry in monitoring_system is the de facto canonical source, but this is not documented and creates confusion with stale local ports.
Why
SHA512 0give the false impression of vcpkg readinessWhere
Current state
How
Option A: Centralize in monitoring_system (current de facto approach)
kcenon/vcpkg-registry.giton each releaseOption B: Centralize in dedicated vcpkg-registry repo
kcenon/vcpkg-registry.gitvcpkg-configuration.jsonOption C: Per-repo ports (fully distributed)
kcenon/vcpkg-registry.gitaggregates from individual reposAcceptance Criteria
SHA512 0removed (regardless of strategy)