-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[opensubdiv] Upgrade to 3.4.4 #26628
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/opensubdiv/vcpkg.json
Valid values for the license field can be found in the documentation
@JonLiu1993 just updated, please re-approve workflows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/opensubdiv/vcpkg.json
Valid values for the license field can be found in the documentation
@Danielmelody, Thanks for your pr, when I tested the features by command
could you please take a look? |
Ping @Danielmelody for response, Is work still being done for this PR? |
@JonLiu1993 I have been busy working with original repo, now that they have merged my PR I will post here a patch later. |
a3dc26f
20cfe29
to
a3dc26f
Compare
@JonLiu1993 Updated, please have a look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json
or CONTROL
must be modified.
error: checked-in files for opensubdiv have changed but the version was not updated
version: 3.4.4
old SHA: 360249ebfc9a41a84fe9fe84ac436165cee04003
new SHA: 8a3aec2e545ebcd0e21e1cfe5c779f2bdc19b081
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
@Danielmelody , please take a look:
|
a3dc26f
to
a5c8a23
Compare
@JonLiu1993 Fixed |
|
@Danielmelody , Please fix the conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json
or CONTROL
must be modified.
error: checked-in files for opensubdiv have changed but the version was not updated
version: 3.4.4
old SHA: 3cfd1e3359700b453df9c4c2e05fc85c944786f7
new SHA: 246a4cf53b7d0d15391f0e479ea5c1ad4fc320a2
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
d72f4af
to
646802b
Compare
@JonLiu1993 rebased |
@Danielmelody, when I tested the features by command ./vcpkg install opensubdiv[*]:x64-windows
|
@JonLiu1993 while trying to resolve this issue, I find it is because of tbb upgrading version. I try to pin old tbb with overrides but not work. {
"name": "opensubdiv",
"version-semver": "3.4.4",
"description": "An Open-Source subdivision surface library.",
"homepage": "https://github.com/PixarAnimationStudios/OpenSubdiv",
"license": "Apache-2.0",
"supports": "!arm & !uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
],
"features": {
"cuda": {
"description": "Enable CUDA backend",
"dependencies": [
"cuda"
]
},
"dx": {
"description": "Enable DirectX support",
"dependencies": [
{
"name": "directxsdk",
"features": [
"xp"
]
}
]
},
"glew": {
"description": "Path to glew",
"dependencies": [
"glew"
]
},
"glfw": {
"description": "Path to glfw",
"dependencies": [
"glfw3"
]
},
"omp": {
"description": "Enable OpenMP backend"
},
"opencl": {
"description": "Enable OpenCL backend",
"dependencies": [
"opencl"
]
},
"opengl": {
"description": "Enable OpenGL",
"dependencies": [
"opengl"
]
},
"ptex": {
"description": "Path to Ptex",
"dependencies": [
"ptex"
]
},
"tbb": {
"description": "Enable TBB backend",
"dependencies": [
"tbb"
]
},
"true-deriv-eval": {
"description": "Enable true derivative evaluation for Gregory basis patches"
}
},
"overrides": [
{
"name": "tbb", "version-string": "2020_U3", "port-version": 8
}
]
} |
There are 2 things I think not working as expect.
|
It should not be tbb's maintainer's nor opensubdiv's maintainer's responsibility to resolve those problem on their upgrading PR. Vcpkg should have some mechanism for sparse locking version upperbound (eg. allow patch version upgrade but lock minor version), in case dependent port's update breaks current port unexpectlly. |
@JonLiu1993 @JackBoosY |
I think there is no problem with the version upgrade of opensubdiv involved in this pr, so I agree to merge this pr, but I will test other features except tbb |
Feature
|
Allowing version restrictions like those in the main catalog would make everything untestable soon enough. What if a library wants While we acknowledge that updating foundational libraries like |
True. But the current approach might make everything unmaintainable.
Moving the burden of patching all downstream ports to the maintainer of port And the problem is real:
Even now, we don't run CI enough. Some conflicts are simply hidden by
|
The combinatorial explosion does not come from version upper bound, but from all version range requirement. Since we have lower bound constraint, introducing upper bound constraint is reasonable.
In this case, the constraint just resolve failed, this situation is just like a lib specify foo= 2.0.0 (by overrides), and b wants foo >= 3.0.0. The only difference would be a patch upper bound allows upgrading patch while overrides pin a exact version. |
The upper bound requirement of libraries, on the other hand, should be avoid whenever possible. But if can't, it is necessary. CI can perform test for all downstream ports of an upstream port update, and asking PR author to only add upper bound for downstream port that is broken. |
Describe the pull request
What does your PR fix?
None
Which triplets are supported/not supported? Have you updated the CI baseline?
Nothing changed
Does your PR follow the maintainer guide?
Yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?Yes
If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/