From 4bcb198a67156b2654f3b64173499ab78f0d4d9a Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 15 Feb 2025 16:37:19 +0100 Subject: cache: Introduce partial SourceVersion support This is the first step that introduces a 1:1 mapping between version and source version. In a future version this can use the fields currently marked unavailable to deduplicate the SourceVersion objects across the group. The policy gains a member for storing pins for sourceversions. Together, in the future we should be able to determine candidates for source versions. --- apt-pkg/pkgcachegen.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'apt-pkg/pkgcachegen.cc') diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index fec931cf2..6e115e4f4 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -894,6 +894,11 @@ map_pointer pkgCacheGenerator::NewVersion(pkgCache::VerIterat Ver->d = d; if (not Ver.PhasedUpdatePercentage(100)) abort(); + auto SourceVersion = AllocateInMap(); // sequence point so Ver can be moved if needed + Ver->SourceVersion = SourceVersion; + Ver.SourceVersion()->ID = Cache.HeaderP->SourceVersionCount++; + if (not Ver.SourceVersion()) + abort(); //Dynamic DynV(Ver); // caller MergeListVersion already takes care of it Ver->NextVer = Next; -- cgit v1.2.3-70-g09d2