CKAN icon indicating copy to clipboard operation
CKAN copied to clipboard

[Feature]: Install Recommended Dependencies Recursively

Open eliotalanfoss opened this issue 1 year ago • 16 comments

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

eliotalanfoss avatar Feb 14 '24 22:02 eliotalanfoss

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

image

HebaruSan avatar Feb 14 '24 22:02 HebaruSan

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?

HebaruSan avatar Feb 14 '24 22:02 HebaruSan

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 avatar Feb 14 '24 22:02 eliotalanfoss

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

eliotalanfoss avatar Feb 14 '24 22:02 eliotalanfoss

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.

HebaruSan avatar Feb 14 '24 23:02 HebaruSan

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 avatar Feb 14 '24 23:02 eliotalanfoss

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

eliotalanfoss avatar Feb 14 '24 23:02 eliotalanfoss

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.

eliotalanfoss avatar Feb 14 '24 23:02 eliotalanfoss

(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

HebaruSan avatar Feb 14 '24 23:02 HebaruSan

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 avatar Feb 14 '24 23:02 eliotalanfoss

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:

HebaruSan avatar Feb 14 '24 23:02 HebaruSan

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 avatar Feb 14 '24 23:02 eliotalanfoss

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 avatar Feb 14 '24 23:02 eliotalanfoss

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 avatar Feb 15 '24 00:02 eliotalanfoss

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.

eliotalanfoss avatar Feb 15 '24 00:02 eliotalanfoss

@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",

JonnyOThan avatar Aug 06 '24 15:08 JonnyOThan