-
-
Notifications
You must be signed in to change notification settings - Fork 339
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
Add RO/RP-1 express install netkans #8701
Conversation
Side note: I just learned NetKAN's inflation error reports the line number and error for an internal JSON representation of the YAML spec. I was at first quite surprised to hear of an error on a line, and with a character, that my file did not include! |
I believe this is now correct, though the checks are still failing--this seems to be because the CLI version of CKAN defaults to installing recommended mods, and the main netkan depends on both Ven's New Parts (which recs Ven's Stock Revamp) and on ReStock, and of course VSR and ReStock conflict. Is there some way to get the checker to run without auto-installing recs? |
Does it? I don't think that's the case. |
The checker is highlighting a real problem. These probably shouldn't recommend (depend on? not sure yet) conflicting modules. |
Oops, forgot these were metanetkans, I'll remove those depends, but can you add them to your repo? |
We'll need to copy this metadata locally and try installing with GUI to make sure the desired work flow happens. The command line tools are already easier for the RP-0 identifier because they don't interactively prompt for recommends or suggests. |
My compatible versions are 1.10–1.12. Initial change set: Click Apply, one recommendation appears: Click Continue, prompted to choose RSS textures, I'll install the 2K package: Prompted to choose KSPBurst or KSPBurst Lite, I'll pick the non-lite one: Prompted to choose RSS Graphics, I'll try High to see how it handles a mismatch with the textures: Install fails: So it doesn't look like the |
Even reordered it prompts me for a RSSTextures resolution later on. We might have to fix our RelationshipResolver behavior to recalculate it after TooManyModsProvides selections have been made. |
Yeah, this is where it should skip that relationship: And this is where that call should already be checking provides: So... deeper investigation required. |
I wonder if the ordering of the "depends": [
{
"name": "RealSolarSystem"
},
{
"name": "RSSTextures4096"
}
], EDIT: Nope, fixing that (putting RSSTextures4096 first) still doesn't suppress the RSSTextures prompt. 😕 |
Perhaps the later bit (where you're attempting to install via GUI) supersedes this but, see here for RP-0's netkan. The issue arises because the express install netkan depends on Restock, but in RP-0.netkan Ven's is the first of the two any_of recs so it is preferentially installed as the CLI blasts through every single mod's recommendeds. |
I'm looking for code that could do this, and I'm not finding it. The resolution of the |
@HebaruSan ah then I misunderstood, so the issue is actually worse in CLI than I thought, i.e. it will turn "any_of" into "all_of"? :D |
No, it should be prompting. |
Oh, even prompting in CLI in the action? Yeah that does seem weird. Well, I'm happysad I provided a great way to find client bugs, I guess? :\ |
( MM dependency added here KSP-RO/RP-1-ExpressInstall-Graphics@3121b77 per note upthread.) |
I think we're getting tripped up by the relationship resolver working depth-first, essentially. After we pick So the current
Each of those modules would have the Sorry for all the confusion, but this is getting really deep into the functionality of the relationship resolver, and we usually treat it as a black box not to be touched unless we're really sure what we're doing. |
Alternately, if you really want to have a "main" module branching into "detail level" modules, the "main" module could depend only on those "detail level" modules and not on RP-0, RO, RSS, etc. |
Ah, I see what you mean. And you answered the question I was in the middle of asking. It is definitely the case that I want a main module, because as I understand the spec, I need to include an installable with each package or it gets treated as a metapackage and (per an issue from lamont a few years back) I'll make that change. |
Also, that route is required as well to take advantage of KSP-CKAN/CKAN#3426 - we need a main package to have a depends with a comment. |
@HebaruSan this change is now done. 🤞 |
OK, I'm taking a look now and I restarted the validation script. We might still need to reorder some of the depends, but the overall structure is a better fit to how the relationship resolver works now. |
Thanks! And thanks for taking the time to dig through this all (especially the deep rabbit holes of CKAN black magic :D ) |
Next test. Initial change set is a lot smaller, as expected: Click Apply. One recommendation again: Then the detail level prompt comes up: I'll pick Low. Womp womp, the next prompt is the textures again: Try putting the 4K/8K/whatever depends as early as possible in the list, before anything that could possibly depend on anything that depends on RSSTextures. |
@HebaruSan Done, and inflator restarted. |
I need to take off for an event in a bit, but I'll be back in a few hours. The steps I listed above should still work if you're feeling adventurous. |
@DasSkelett, if |
WOOHOO! (although sad robot noises at the beleaguered actionrunner :D ) |
Per my mistaken PR, in trying the express installer out I still got the prompt to choose KSPBurst version. This is despite KSPBurst-Full being the second line of the |
I think that means you've got some older versions of the metadata active, from before the depends was updated to -Full. Make sure to remove any testing repos and click Refresh to get the latest official metadata. |
Nope, that was the first thing I did on launching CKAN. :( |
(To double check I closed CKAN, started it again, and refreshed again, same flow.) |
Check your repositories. |
Only one listed, default, pointing to the official archive. |
OK fine, but it still isn't possible to pull in KSPBurst-Lite by depending on KSPBurst-Full. Some other weird thing is happening that you're not hinting at. Is anyone else able to reproduce this? |
It is not possible to pull it in from depending on KSPBurst-Full, but RealAntennas depends on just I asked on the RO discord for anyone available to try installing in a blank KSP 1.10 install, hope I'm just cursed. :D |
Ugh, and same with the sunflare. Yep, looks to be exactly the same dependency-resolving issue as before with RSS-Textures, and ordering in the netkan has no effect. |
If that was the case, it would happen when I try it. |
I have no explanation for why I am enountering that and you are not, unless I somehow have cached metadata that removing the repo it is from did not fix. Gonna clear my CKAN cache. |
You really were trying all of this in parallel while we were looking at it, though? At which point did this prompt re-appear for you? |
Ah, I think we had a miscommunication then maybe? I had the prompt for KSPBurst, you suggest depending on KSPBurst-Full and moving it above. I did so and you responded that it fixed the GUI here ( #8701 (comment) ) , so I did not do a local retest at that point. Once it was merged down and in the main CKAN repo I tested now and got the prompts. |
Yeah, that one I saw. I assumed you changed something after my last test. |
I do not get that prompt. Wait, what KSP version were you testing against, and what compat versions? I bet that's it. I am on 1.10 with no compat versions; DRVeyl is on 1.10 but with 1.8 and 1.9 checked. |
Ugh, that would do it. Thought I discarded that. :( |
That's even more evidence that you're not testing with the current metadata. Maybe try a completely fresh game install? |
Will do. |
Ok, a completely fresh install and linking that to CKAN fixed the issue, so now I'm only seeing evidence of my other stupidity 😂 (the TestFlight thing) rather than that weird situation with busted metadata. I fixed the local netkans so that should go away as well. |
Circling back to say--it's working! Thank you again, from all of us--besides being I think a very positive option for our users, it'll make supporting them way easier on us. CHeers! |
That's awesome and great to hear! 🎉 |
Yeah, on the RO discord and sometimes on reddit. The forums are pretty quiet these days. But the issues are often less specific questions from installation (though as I've mentioned we do get the "which of these recommended mods should I really install" :D ), and more we find out a good few messages in that it's actually a broken install in one way or another, not a bug in (whatever submod). And that's super kind of you! You should know that (AFAIK) next to none of the support load is actually from how to use CKAN--your docs, and our CKAN-101, seems to work pretty well, the only issue there has been walking people through adding the MJ-dev repo (which is why I've been poking at sarbs and lamont to merge dev to release, which they did so yay!). Well, that and the "ok but what should I really pick", so having a one-stop "just click this one thing" answer will be super awesome. |
I always forget KSP-CKAN/CKAN#2682 when repository shenanigans happen. 🙄 I think your CKAN client thought your metadata was up to date, because the Etag was the same as the last time you updated, and so it didn't actually do a refresh. Meanwhile you had removed a testing repo but its metadata was still in your registry, and would remain until the master repo's Etag changed. We don't have a good workaround for this currently; I sometimes edit my |
AHA! Yes that makes perfect sense. I'll keep that in mind in future, it perfectly explains what was going on. The fresh install (or nuking the local CKAN folder, which presumably would have fixed it too but I wasn't taking chances, fresh install it was!) sorts that out by dint of utterly annihilating the json rather than tweaking it. :] |
Purpose
This adds "express install" packages (a main package and three choices for graphics level) to allow express installation of RO/RP-1/RSS/etc.
Motivations
RO/RP-1 users often ask for a simple gamedata zip, or "what mods should I install", or the like--to the point of asking which recommended or suggested mods to install, which graphics mods, etc.
Changes
This adds a single express install netkan that depends on the core mods for an RP-1 install, and then depends on an RSSGraphics package. That package is provided by three express packages, each reporting only as a detail level, which depend the various RSS-Textures packages, visual enhancements, and Canaveral terrain/pads necessary for a complete experience.
Metanetkans for easy reference:
Issue ref: #8688
Once KSP-CKAN/CKAN#3426 is merged, I will update the local netkans with comments on the graphics choice.