-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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][kf5solid] Fix usage #21344
[vcpkg baseline][kf5solid] Fix usage #21344
Conversation
cc @wrobelda, it's a upstream bug. |
@JackBoosY LGTM. The #20938 has that fixed already upstream, so it will require rebasing once yours get accepted. |
We have encountered a recursive dependency. The test of this PR depends on #21341, @BillyONeal please merge this PR or #21341 without the pipeline test passes. |
I still think you need to add |
Either that or patch REQUIRED into all the libmount places used by upstream? |
We should only add this for every port that uses libmount. |
@Neumann-A, @BillyONeal Can you please elaborate why is this needed at all? And wouldn't |
Optional dependencies are bad, because key cause order dependencies. That is:
and
should produce the same results, because vcpkg is going to binary cache them as if they are the same and users expect them to be the same. |
OK, I get that, but:
What's the point of even adding that patch, if |
The feature must make the relevant |
More accurately:
|
Agreed. |
OK, I get that, but that PR effectively disabled
There's plenty of other EDIT: in a way, what I am saying is that without something like |
I think that all ports that depend on libmount should add the keyword In order to avoid conflicts with the Find method provided by cmake, we should explicitly declare to disable it in |
Yeah, but my point is that we are being selective about That having said, we can't possibly be patching all usages of |
In my opinion, this is just planting an untimely bomb, and explicit declarations are always safer than implicit declarations. Edit: This is my personal opinion, not related to other members. |
Well, the point of packaging is reproducibility. This is in conflict with developers trying to configure the build by auto-discovery. |
I agree. Sounds like something to be brought up with upstream. Also, I missed that @JackBoosY, I just posted a |
the problem is even bigger than that. A lot of ports require X libraries on windows and a lot of the x features are behind additional dependencies and optional find_package. So linux binary caching currently is screwed any way. |
wasn't there also a PR by @ras0219-msft with a wrap around find_package to make all calls required? |
that highlighted how impossible was for now to really enforce this rule |
Kf5solid requires
libmount
in Liunx, but doesn't addfind_dependency(libmount)
in its config.cmake file.Fix that.