-
Notifications
You must be signed in to change notification settings - Fork 358
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
Depext: Issues with variants in MacPorts #4297
Comments
To check installed packages, we use
You can find the code here (commands & regexp). Can you share example outputs for packages with and without variants? |
Here are a few examples for
So in the query the variant is ignored, but it is given in the result. For
That is regardless of the query one gets only one response. Let me find you something that works. |
We do only one syscall per query : one for installed with all retrieved system packages, and one for availability. The |
In fact more exactly, the command is |
If I quote it, get this:
This explains why it tries to reinstall packages each time. I would recommend to remove the variant (a word starting with + or - in case a default variant is switched off) when doing queries and inspect the result.
|
That, it is possible.
hmm... It is possible to do the query for each package that specify a variant, but it will be time consuming, I suppose. Can you launch the port info with |
I think variants are not that common, so it shouldn't matter that much. As far as I can see this is anyway only required for checking available packages which may take time, since it is usually followed by an install. The query of installed packages does include the variant information - I think it is more important that this is fast.
|
Can you check that branch ? You can find opam test instruction here. The time it takes load full depext with the availability check. In fact, installed and available package are retrieved on some operations, and not only install, it can slow down Is there another way than querying them one by one ? Or another way to specify in the depext format the needed variants? Maybe by checking the installation of the other package, like that only single queries are done. |
I can check it on Wednesday.
I think it is faster to query several ports (all of them) at a time. You could e.g. do:
I think you can replace |
ping @MSoegtropIMC ? |
@rjbou : sorry for not being responsive on this - I am currently working on a large multi platform opam based meta project (Coq platform) and have quite a few loose threads. I wonder what I should test - as I said it did work before, but it looked like this was just luck. Can you post a short description on what you changed? I think the most important point is that the opam developers are aware of the concept of variants in MacPorts. Or should I just test if it still works? |
No worry :) There is two changes :
|
@rjbou - what's the status of this for 2.1? |
@MSoegtropIMC - I think she also has some more code to test and push (we had a dev meeting this morning), so there should be some additional news too, soon! |
I just wanted to ask what the status is. Can I start testing or further changes expected? |
Referenced PR is good to test |
I added MacPorts solutions to a few opam conf packages. See: (ocaml/opam-repository#16912)
One issues is that depext doesn't seem to handle variants like "gtk3 +quartz" in a consistent manner. When printing what to install, gtk3 and +quartz are listed on separate lines, but when sorting packages alphabetically it seems to treat them as one. I guess this is just not handled at all explicitly - maybe it should.
It somehow works as is, but it looks like it might break any day by a change.
(See ocaml-opam/opam-depext#128)
The text was updated successfully, but these errors were encountered: