Skip to content

Version database consistency fixes 20240313#37410

Merged
BillyONeal merged 7 commits intomicrosoft:masterfrom
WangWeiLin-MV:version-database/consistency-20240313
Mar 16, 2024
Merged

Version database consistency fixes 20240313#37410
BillyONeal merged 7 commits intomicrosoft:masterfrom
WangWeiLin-MV:version-database/consistency-20240313

Conversation

@WangWeiLin-MV
Copy link
Copy Markdown
Contributor

@WangWeiLin-MV WangWeiLin-MV commented Mar 13, 2024

In Manifest mode with builtin-baseline, some ports failed to install.
And there are some errors checked by vcpkg x-ci-verify-versions --verify-git-trees.

Changes

Port update

  • [velodyne-decoder] Fix error with no version database entry

Version baseline

Version database

  • [septag-sx] Delete broken entries in version database for mismatched port names at version 2019-05-07 (Renamed at [septag-sx] Add new port #6327 and added version at [vcpkg] Add version files #15652)
  • [theia] Reset theia@0.8#10 to synchronize the fixes and changes in ports/theia (Changed at 5db5459)
  • [theia] Restore git-tree for theia@0.8#9
  • [try-catcher] Remove non-existent versions that should not be added (Added at 8c91c8d)

Reference

Command vcpkg x-ci-verify-versions in microsoft/vcpkg-tool#1210.

Quotes from #34078

Under normal circumstances, things can't be removed from the version database, because that breaks outstanding references to those versions. However, these entries can't be parsed in the first place which means nobody can be depending on them being there.

@WangWeiLin-MV WangWeiLin-MV added category:port-bug The issue is with a library, which is something the port should already support info:internal labels Mar 13, 2024
@jimwang118 jimwang118 added category:code-cleanup and removed category:port-bug The issue is with a library, which is something the port should already support labels Mar 13, 2024
@WangWeiLin-MV WangWeiLin-MV marked this pull request as ready for review March 13, 2024 10:40
@BillyONeal
Copy link
Copy Markdown
Member

In Manifest mode with builtin-baseline, 4 ports failed to install. May be related to microsoft/vcpkg-tool#1210

  • [velodyne-decoder] Fix error with no version database entry

I agree

PS D:\vcpkg> D:\vcpkg-tool\out\build\Win-x64-Debug-WithArtifacts\vcpkg.exe x-ci-verify-versions --verify-git-trees
D:\vcpkg\ports\velodyne-decoder\vcpkg.json: error: the "version>=" constraint to yaml-cpp names version 0.7 which does not exist in the version database. All versions must exist in the version database to be interpreted by vcpkg.
D:\vcpkg\versions\y-\yaml-cpp.json: note: consider removing the version constraint or choosing a value declared here
  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

👍 Maybe I should add this to ci-verify-versions...

@BillyONeal
Copy link
Copy Markdown
Member

D:\vcpkg\versions\s-\septag-sx.json: error: b9e21c1d4135ab98fcecc9970d8520afb9b39743 is declared to contain septag-sx@2019-04-27, but appears to contain sx@2019-04-27
D:\vcpkg\versions\t-\theia.json: error: 244b1ee4928a23a5394691a642a1b56125198228 is declared to contain theia@0.8#10, but appears to contain theia@0.8#9
D:\vcpkg\versions\t-\try-catcher.json: error: failed to execute: "C:\Program Files\Git\cmd\git.exe" "--git-dir=D:\vcpkg\.git" "--work-tree=D:\vcpkg\buildtrees\versioning_\versions\try-catcher\df67c1225008bf10a22e3da1aa5a27a42e38e223_27780.tmp" -c core.autocrlf=false read-tree -m -u df67c1225008bf10a22e3da1aa5a27a42e38e223
error: git failed with exit code: (128).
fatal: failed to unpack tree object df67c1225008bf10a22e3da1aa5a27a42e38e223
note: while checking out port try-catcher with git tree df67c1225008bf10a22e3da1aa5a27a42e38e223
note: while validating version: 1.0.0

Can you fix these while you're here?

@WangWeiLin-MV
Copy link
Copy Markdown
Contributor Author

  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

The boost versioning scheme has changed from version-string to version after 1.76.0 #17335, and in versioning constraint, version is not comparable to the previously.

error: version conflict on boost-predef:x64-windows: alpaka:x64-windows@1.1.0 required 1.74.0, which cannot be compared with the baseline version 1.84.0.

The versions have incomparable schemes:
  boost-predef@1.84.0 has scheme relaxed
  boost-predef@1.74.0 has scheme string

@WangWeiLin-MV
Copy link
Copy Markdown
Contributor Author

WangWeiLin-MV commented Mar 14, 2024

Can you fix these while you're here?

Here are the causes and fixes.


vcpkg\versions\s-\septag-sx.json: error: b9e21c1d4135ab98fcecc9970d8520afb9b39743 is declared to contain septag-sx@2019-04-27, but appears to contain sx@2019-04-27

At #6327 2019-05-07, port was added and be renamed from sx to septag-sx on ports/septag-sx/CONTROL, then added version at #15652 with old git-tree hash.

This is a broken entry to begin with, so deleted it.


vcpkg\versions\t-\theia.json: error: 244b1ee4928a23a5394691a642a1b56125198228 is declared to contain theia@0.8#10, but appears to contain theia@0.8#9

Port updated to 0.8#10 at 5db5459, but the port-version is not increased in theia/vcpkg.json, and git-tree incorrectly modified in history database for 0.8#9

Because there is no theia@0.8#10 in its history database. so, reset to re-update the entry of 0.8#10 to synchronize the fixes and changes in ports/theia,
And, restored git-tree hash in version history for 0.8#9.


vcpkg\versions\t-\try-catcher.json: error

The new port added an non-existent version entry at 8c91c8d, just delete it.

@jimwang118 jimwang118 added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Mar 14, 2024
@BillyONeal
Copy link
Copy Markdown
Member

  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

The boost versioning scheme has changed from version-string to version after 1.76.0 #17335, and in versioning constraint, version is not comparable to the previously.

error: version conflict on boost-predef:x64-windows: alpaka:x64-windows@1.1.0 required 1.74.0, which cannot be compared with the baseline version 1.84.0.

The versions have incomparable schemes:
  boost-predef@1.84.0 has scheme relaxed
  boost-predef@1.74.0 has scheme string

This is true, but it isn't a statement that alpaka needs to change. It just means that people who want aplaka and other things that care about boost version need to pick the one they want with an override.

This change as proposed blocks people who want to use Boost 1.74.

@WangWeiLin-MV
Copy link
Copy Markdown
Contributor Author

This is true, but it isn't a statement that alpaka needs to change. It just means that people who want aplaka and other things that care about boost version need to pick the one they want with an override.

This change as proposed blocks people who want to use Boost 1.74.

Thanks for the explanation, I will remove the changes to keep the constraint "version>=": "1.74.0"
https://github.com/alpaka-group/alpaka?tab=readme-ov-file#dependencies

Boost 1.74.0+ is the only mandatory external dependency.

@BillyONeal BillyONeal merged commit ff75eac into microsoft:master Mar 16, 2024
@BillyONeal
Copy link
Copy Markdown
Member

Thank you! :D

@WangWeiLin-MV WangWeiLin-MV deleted the version-database/consistency-20240313 branch March 18, 2024 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants