Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg baseline] [forest] Remove forest #16836

Merged
merged 4 commits into from
Jun 2, 2021

Conversation

PhoebeHui
Copy link
Contributor

Fixes #16735

We need to wait for the new port, and add the new port as a dependency. Or we remove this port directly, @vicroms, what do you think? Currently this issue also affect the CI unstable run, the hash of the forest changed.

@PhoebeHui PhoebeHui added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:internal This PR or Issue was filed by the vcpkg team. labels Mar 23, 2021
@PhoebeHui PhoebeHui requested a review from vicroms March 23, 2021 03:31
@vicroms
Copy link
Member

vicroms commented Mar 25, 2021

Since this is a request from the library author I think we should honor it.

@PhoebeHui PhoebeHui changed the title [forest] Set forest to empty package [forest] Remove forest Mar 26, 2021
@PhoebeHui PhoebeHui marked this pull request as ready for review March 30, 2021 00:30
@PhoebeHui PhoebeHui added the info:reviewed Pull Request changes follow basic guidelines label Mar 30, 2021
@PhoebeHui PhoebeHui changed the title [forest] Remove forest [vcpkg baseline] [forest] Remove forest Apr 1, 2021
@PhoebeHui
Copy link
Contributor Author

@vicroms, could you help merge this PR?

@vicroms
Copy link
Member

vicroms commented Apr 1, 2021

I'll discuss this with the rest of the team today.

@ras0219-msft
Copy link
Contributor

ras0219-msft commented Apr 2, 2021

This is the first time we're removing a port since enabling versioning. We need to remove forest from the baseline.json and validate the behavior of vcpkg in a bunch of scenarios:

  1. Have forest installed in classic mode, then update to this commit (with it not in baseline.json), then
    i. Try to install something else
    ii. Try to vcpkg remove --outdated
    iii. Try to vcpkg remove forest
    iv. Try to vcpkg x-set-installed zlib
  2. Using manifest mode with forest as a dependency...
    i. ...and not installed, what happens when running vcpkg install?
    ii. ...and installed, what happens when running vcpkg install?
    iii. ... with a builtin-baseline set that still contains forest, what happens when running vcpkg install?
    iv. ... with a builtin-baseline set that doesn't have forest, but with an override for forest to the last available version?

@PhoebeHui Can you run through each of these 8 scenarios and report back with the behavior?

@PhoebeHui
Copy link
Contributor Author

@vicroms @ras0219-msft, here is test results, could you please take a look?

Scenario Results Output
i. Try to install ./vcpkg install zlib Fail: It fail to install zlib. Computing installation plan... Error: while loading forest: The port directory (E:\vcpkg\PhoebeHui\vcpkg\ports\forest) does not exist Error: failed to load port from E:\vcpkg\PhoebeHui\vcpkg\ports\forest Note: Updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure.
ii. Try to vcpkg remove --outdated Pass: It doesn't remove forest, however it remove other outdated ports successfully. N/A
iii. Try to vcpkg remove forest Pass: Remove forest correctly. N/A
iv. Try to vcpkg x-set-installed zlib Pass: It remove forest:x86-windows successfully. E:\vcpkg\PhoebeHui\vcpkg>./vcpkg x-set-installed zlib Detecting compiler hash for triplet x86-windows... The following packages will be removed:     forest:x86-windows Starting package 1/1: forest:x86-windows Removing package forest:x86-windows... Removing package forest:x86-windows... done Elapsed time for package forest:x86-windows: 21.89 ms E:\vcpkg\PhoebeHui\vcpkg> ./vcpkg list zlib zlib:x86-windows                                   1.2.11#9         A compression library
i. Forest not installed, what happens when running vcpkg install? Fail: It fail to install forest if remove ports\forest -- Running vcpkg install E:\vcpkg\PhoebeHui\manifest Error: while loading forest: The port directory (E:\vcpkg\PhoebeHui\vcpkg\ports\forest) does not exist Error: failed to load port from E:\vcpkg\PhoebeHui\vcpkg\ports\forest Note: Updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure. -- Running vcpkg install - failed CMake Error at E:/vcpkg/PhoebeHui/vcpkg/scripts/buildsystems/vcpkg.cmake:898 (message):   vcpkg install failed.  See logs for more information:   E:\vcpkg\PhoebeHui\manifest\build\vcpkg-manifest-install.log
ii. Forest installed, what happens when running vcpkg install? Fail: It fail to install forest if remove ports\forest. -- Running vcpkg install E:\vcpkg\PhoebeHui\manifest Error: while loading forest: The port directory (E:\vcpkg\PhoebeHui\vcpkg\ports\forest) does not exist Error: failed to load port from E:\vcpkg\PhoebeHui\vcpkg\ports\forest Note: Updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure. -- Running vcpkg install - failed CMake Error at E:/vcpkg/PhoebeHui/vcpkg/scripts/buildsystems/vcpkg.cmake:898 (message):   vcpkg install failed.  See logs for more information:   E:\vcpkg\PhoebeHui\manifest\build\vcpkg-manifest-install.log
iii. With a builtin-baseline set that still contains forest, what happens when running vcpkg install? Fail: The behavior has no difference with or without forest folder, it looks get the source from github, It will generate buildtrees\versioning\baseline and buildtrees\versioning\versions, it starts to install forest.   However since the hash changed, so it fail to install. -- Running vcpkg install E:\vcpkg\PhoebeHui\manifest Detecting compiler hash for triplet x64-windows... The following packages will be built and installed:     forest[core]:x64-windows -> 12.1.0 -- E:\vcpkg\PhoebeHui\vcpkg\buildtrees\versioning\versions\forest\86bfd1af7a9a1606a526260d5e625cf6cd894b07 Could not locate cached archive: C:\Users\phoebe \AppData\Local\vcpkg\archives\98\984b2701fa93abe43710b7177d61ccc6439e84a9.zip Starting package 1/1: forest:x64-windows Building package forest[core]:x64-windows... -- Installing port from location: E:\vcpkg\PhoebeHui\vcpkg\buildtrees\versioning\versions\forest\86bfd1af7a9a1606a526260d5e625cf6cd894b07 -- Using cached E:/vcpkg/PhoebeHui/vcpkg/downloads/xorz57-forest-32b7f643370356b21b7ca70ee306ab1a0ad67704.tar.gz CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:105 (message):     File does not have expected hash:           File path: [ E:/vcpkg/PhoebeHui/vcpkg/downloads/xorz57-forest-32b7f643370356b21b7ca70ee306ab1a0ad67704.tar.gz ]       Expected hash: [ 0598e067acd02d7c882105119db3f3d89ff4001d18faf125effe650478cbd4b436b297238b929cf48f1c6cc108e618859777a640719637e2086c1c1186ab30e0 ]         Actual hash: [ cee4b224c23f7f021d8adcdc02170d9dc0976e32aa638c9a05a18cb182d0a0c15451a02cf502f6c56910f1a0b08d5b2a890240a770667b6f97d47dfd035fafa4 ]   Please delete the file and retry if this file should be downloaded again. Call Stack (most recent call first):
iv. With a builtin-baseline set that doesn't have forest, but with an override for forest to the last available version? Same as above Same as above
Additional test: Override the forest with older version 12.0.4 Since this zip file delete from Upstream, this is also installed failed. -- Downloading https://github.com/xorz57/forest/archive/12.0.4.tar.gz -> xorz57-forest-12.0.4.tar.gz... -- Downloading https://github.com/xorz57/forest/archive/12.0.4.tar.gz... Failed. Status: 22;"HTTP response code said error" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):

@BillyONeal
Copy link
Member

@vicroms This is blocked by versioning misbehaving. See failures: #16836 (comment)

@ras0219-msft
Copy link
Contributor

Case 1.i. is unfortunate, but is not related to versioning. It's due to our non-set-installed algorithm requiring portfiles to be available for all currently installed ports.

All other cases are functioning as intended (missing sources notwithstanding). I think this LGTM.

@ghost
Copy link

ghost commented May 25, 2021

Can we remove the package completely? I ended up giving up on the project.

@BillyONeal BillyONeal removed the depends:different-pr This PR or Issue depends on a PR which has been filed label May 25, 2021
@PhoebeHui
Copy link
Contributor Author

PhoebeHui commented May 26, 2021

@xorz57, sure, I also remove forest from ci.baseline, the failure cases doesn't relate to versioning feature, as Robert said. I think this PR is ready for merge.

@ras0219-msft
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@NancyLi1013 NancyLi1013 added the info:reviewed Pull Request changes follow basic guidelines label May 28, 2021
@strega-nil-ms strega-nil-ms merged commit 9f46627 into microsoft:master Jun 2, 2021
@strega-nil-ms
Copy link
Contributor

Thanks y'all ❤️

@PhoebeHui PhoebeHui deleted the dev/Phoebe/remove_forest branch June 17, 2021 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[forest] remove from vcpkg
6 participants