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

[Feature]: Install Recommended Dependencies Recursively #4031

Open
eliotalanfoss opened this issue Feb 14, 2024 · 16 comments
Open

[Feature]: Install Recommended Dependencies Recursively #4031

eliotalanfoss opened this issue Feb 14, 2024 · 16 comments
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Enhancement New features or functionality GUI Issues affecting the interactive GUI Relationships Issues affecting depends, recommends, etc.

Comments

@eliotalanfoss
Copy link

Problem

I am not sure if I am missing something obvious here, but lets say i want to install Realism Overhaul for the most recent KSP version.
If I select it, then click apply, it shows the mods that will be installed (RO, its required dependencies, and any recursively required dependenices). That is fine.
Then It asks about installing recommended dependencies for RO. I select all (barring conflicts).
Any recursively required dependencies needed for RO's recommended dependencies are also installed
But there is no opportunity to ask that the selected recommend dependencies also recursively install their respective recommended dependencies.
Why isn't this an option?

Suggestion

Make it so that during the installation process, if a program has recommended dependencies, list them as you do now, but also have a tree like structure that shows the dependencies own recommended dependencies. I feel like these should all be selected by default (since that is the behavior of the parent mod).

Alternatives

No response

Additional context

No response

@HebaruSan
Copy link
Member

Try File → Audit recommendations if you're interested in seeing those relationships for your currently installed mods:

image

@HebaruSan HebaruSan added Enhancement New features or functionality GUI Issues affecting the interactive GUI Core (ckan.dll) Issues affecting the core part of CKAN Relationships Issues affecting depends, recommends, etc. labels Feb 14, 2024
@HebaruSan
Copy link
Member

Why isn't this an option?

Why do you want it to be an option? Is there a specific mod that you feel you missed out on?

@eliotalanfoss
Copy link
Author

I see, I didn't realize what the Audit recommendations thing did (it's not mentioned in the user guide)

It still seems to miss some dependencies for example:
Screenshot from 2024-02-14 14-52-29
Screenshot from 2024-02-14 14-52-42
Screenshot from 2024-02-14 14-52-53
It's not picking up the parallax mod (among many others)

@eliotalanfoss
Copy link
Author

I noticed parallax was cached, but not sure why that would matter

@HebaruSan
Copy link
Member

HebaruSan commented Feb 14, 2024

Weird, Parallax is the first one in the list when I try installing RSS:

image

(This is with a dev build, obviously, but I don't think there are any changes that would affect this)

Audit recommendations brings up the same list.

@eliotalanfoss
Copy link
Author

Right. RSS was installed as a recommended dependency from RO. I just installed RO and all the recommended dependencies. But as it is shown, Parallax wasn't installed, and doesn't show up in the audit list.

I just installed it manually, and it installed fine, but the point is that I get CKAN to do it for me automatically.

@eliotalanfoss
Copy link
Author

Probably important to know that I am running CKAN on Debian 12 and installed through the community apt repo

@eliotalanfoss
Copy link
Author

I realize that some recommended dependencies are not compatible, so those should be skipped.
For example, RO recommends ROLoadingImages which in turn recommends the "Express Install Realism Overhaul/Realistic Progression", which requires the dependency ROEngines, which in turn requires "B9 Part Switch", which is incompatible with KSP 1.12.5.
Frankly, I can see how just saying "install all recommended dependencies recursively" would probably end up in installing way more mods than is actually "recommended" (I think it is lazy that ROLoadingImages recommends RP-1-ExpressInstall). The dependency hell can be real for sure.

@HebaruSan
Copy link
Member

(I think it is lazy that ROLoadingImages recommends RP-1-ExpressInstall)

Well if you like, you can send @NathanKell a pull request to change that:

https://github.com/KSP-RO/ROLoadingImages/blob/master/ROLoadingImages.netkan

@eliotalanfoss
Copy link
Author

eliotalanfoss commented Feb 14, 2024

Yes, I think I may end up doing that.

Also, according to blowfishpro/B9PartSwitch#246 it seems that if you want to get the true RO experience you'll have to modify the compatible game settings. (Or I guess hunt down the dependencies that have not been updated and submit pull requests to update them)

eliotalanfoss referenced this issue in KSP-RO/ROLoadingImages Feb 14, 2024
This reverts commit bd2d6db.
@HebaruSan
Copy link
Member

I just installed RO and all the recommended dependencies. But as it is shown, Parallax wasn't installed, and doesn't show up in the audit list.

OK, that took quite a while, but it finally finished, and I still see Parallax in Audit recommendations:

image

Also, according to blowfishpro/B9PartSwitch#246 it seems that if you want to get the true RO experience you'll have to modify the compatible game settings.

Yes, B9PartSwitch's outdated compatibility has been causing problems for a long time. For what it's worth, the KSP-RO team has some official installation instructions that cover the compatibility settings:

@eliotalanfoss
Copy link
Author

Yep that is weird because my audit page doesn't show it.

I uninstalled Parallax to test this again.
restarted ckan (which meant it also did a repo update)
Check to make sure RSS was still installed (it was).
Did File->Audit Recommendations
I still get this:
Screenshot from 2024-02-14 15-40-12

@eliotalanfoss
Copy link
Author

Here is the exported modpack file:

{
    "spec_version": "v1.18",
    "identifier": "installed-portable-buggy",
    "name": "installed-portable",
    "abstract": "A list of modules installed on the portable KSP instance",
    "author": "eliot",
    "version": "2024.02.14.11.41.27",
    "ksp_version_min": "1.12.5",
    "ksp_version_max": "1.12.5",
    "license": "unknown",
    "depends": [
        {
            "name": "AdvancedJetEngine"
        },
        {
            "name": "AJEExtendedConfigs"
        },
        {
            "name": "B9-PWings-Fork"
        },
        {
            "name": "ClickThroughBlocker"
        },
        {
            "name": "CommunityResourcePack"
        },
        {
            "name": "EnvironmentalVisualEnhancements"
        },
        {
            "name": "FerramAerospaceResearchContinued"
        },
        {
            "name": "HangerExtenderExtended"
        },
        {
            "name": "Harmony2"
        },
        {
            "name": "KerbalChangelog"
        },
        {
            "name": "Kerbalism"
        },
        {
            "name": "Kerbalism-Config-RO"
        },
        {
            "name": "KerbalJointReinforcementContinued"
        },
        {
            "name": "Kopernicus"
        },
        {
            "name": "KSCSwitcher"
        },
        {
            "name": "KSPBurst"
        },
        {
            "name": "KSPCommunityFixes"
        },
        {
            "name": "MechJeb2"
        },
        {
            "name": "ModularFlightIntegrator"
        },
        {
            "name": "ModuleManager"
        },
        {
            "name": "ProceduralFairings"
        },
        {
            "name": "ProceduralParts"
        },
        {
            "name": "RCSBuildAid"
        },
        {
            "name": "RealAntennas"
        },
        {
            "name": "RealChute"
        },
        {
            "name": "RealFuels"
        },
        {
            "name": "RealHeat"
        },
        {
            "name": "RealismOverhaul"
        },
        {
            "name": "RealPlume"
        },
        {
            "name": "RealSolarSystem"
        },
        {
            "name": "ROLoadingImages"
        },
        {
            "name": "ROUtils"
        },
        {
            "name": "RSSTextures16K"
        },
        {
            "name": "RSSVE-HR"
        },
        {
            "name": "Scatterer"
        },
        {
            "name": "Scatterer-config"
        },
        {
            "name": "Scatterer-sunflare"
        },
        {
            "name": "SmokeScreen"
        },
        {
            "name": "SolverEngines"
        },
        {
            "name": "TexturesUnlimited"
        },
        {
            "name": "Toolbar"
        },
        {
            "name": "ToolbarController"
        },
        {
            "name": "TweakScaleRescaled"
        },
        {
            "name": "TweakScaleRescaled-Redist"
        },
        {
            "name": "TweakScaleRescaled-SafetyNet"
        },
        {
            "name": "Waterfall"
        }
    ],
    "release_date": "2024-02-14T23:41:27.771416Z",
    "kind": "metapackage"
}

@eliotalanfoss
Copy link
Author

Ok decided to redo everything:

Uninstalled all mods and restarted ckan

Here we see no mods installed
Screenshot from 2024-02-14 15-51-27
I go to install RO
Screenshot from 2024-02-14 15-53-56
Click Apply
Screenshot from 2024-02-14 15-54-06
Click apply
Screenshot from 2024-02-14 15-54-16
Click Continue
Screenshot from 2024-02-14 15-54-38
Resolve all virtual dependencies
Screenshot from 2024-02-14 15-54-47
Screenshot from 2024-02-14 15-54-55
Screenshot from 2024-02-14 15-55-04
Wait for install to finish
Screenshot from 2024-02-14 15-57-06
Check to see installed mods
Screenshot from 2024-02-14 16-01-31
Try to do audit recommends
Screenshot from 2024-02-14 15-57-32
A few recommended dependencies are available, but not all that you see.
At this point my export looks like:

{
    "spec_version": "v1.18",
    "identifier": "installed-portable-buggy2",
    "name": "installed-portable",
    "abstract": "A list of modules installed on the portable KSP instance",
    "author": "eliot",
    "version": "2024.02.15.12.03.15",
    "ksp_version_min": "1.12.5",
    "ksp_version_max": "1.12.5",
    "license": "unknown",
    "depends": [
        {
            "name": "B9-PWings-Fork"
        },
        {
            "name": "HangerExtenderExtended"
        },
        {
            "name": "Kerbalism-Config-RO"
        },
        {
            "name": "KSCSwitcher"
        },
        {
            "name": "KSPBurst"
        },
        {
            "name": "MechJeb2"
        },
        {
            "name": "ProceduralFairings"
        },
        {
            "name": "ProceduralParts"
        },
        {
            "name": "RCSBuildAid"
        },
        {
            "name": "RealAntennas"
        },
        {
            "name": "RealismOverhaul"
        },
        {
            "name": "RealSolarSystem"
        },
        {
            "name": "ROLoadingImages"
        },
        {
            "name": "RSSTextures16K"
        },
        {
            "name": "RSSVE-HR"
        },
        {
            "name": "Scatterer-sunflare"
        },
        {
            "name": "TexturesUnlimited"
        },
        {
            "name": "TweakScaleRescaled-Redist"
        },
        {
            "name": "Waterfall"
        }
    ],
    "release_date": "2024-02-15T00:03:15.652817Z",
    "kind": "metapackage"
}

@eliotalanfoss
Copy link
Author

I just installed RO and all the recommended dependencies. But as it is shown, Parallax wasn't installed, and doesn't show up in the audit list.

OK, that took quite a while, but it finally finished, and I still see Parallax in Audit recommendations:

image

Also, according to blowfishpro/B9PartSwitch#246 it seems that if you want to get the true RO experience you'll have to modify the compatible game settings.

Yes, B9PartSwitch's outdated compatibility has been causing problems for a long time. For what it's worth, the KSP-RO team has some official installation instructions that cover the compatibility settings:

* https://github.com/KSP-RO/RP-1/wiki/Installation

* https://github.com/KSP-RO/RP-1/wiki/RO-&-RP-1-Express-Installation-for-1.12.3

When I compare your output to mine I don't see most, but your output also seems to be missing one that appear in mine, which is the "Toolbar" mod. This is recommended by Toolbar controller, which should be a required dependency for the "Hangar Extender" Mod, which was recommended by the RO mod.

Not sure what is happening but it doesn't seem like its working as intended.

@JonnyOThan
Copy link
Contributor

@eliotalanfoss When you did your last test, did you add KSP 1.12 in the compatible game versions like it says in the RO installation guide ? I suspect that you did not, since your exported .ckan file says

    "ksp_version_min": "1.12.5",
    "ksp_version_max": "1.12.5",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Enhancement New features or functionality GUI Issues affecting the interactive GUI Relationships Issues affecting depends, recommends, etc.
Projects
None yet
Development

No branches or pull requests

3 participants