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

Version requirements not obeyed for recommends #2319

Closed
HebaruSan opened this issue Feb 26, 2018 · 20 comments · Fixed by #2354
Closed

Version requirements not obeyed for recommends #2319

HebaruSan opened this issue Feb 26, 2018 · 20 comments · Fixed by #2354
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Relationships Issues affecting depends, recommends, etc.

Comments

@HebaruSan
Copy link
Member

HebaruSan commented Feb 26, 2018

Background

CKAN Version:
1.24.0

KSP Version:
1.3.1

Operating System:
Windows, Linux

Have you made any manual changes to your GameData folder (i.e., not via CKAN)?
No

Relevant Metadata:

https://github.com/KSP-CKAN/NetKAN/blob/master/NetKAN/StockalikeSolarSystem.netkan

	"depends": [
		{ "name": "ModuleManager" },
		{ "name": "Kopernicus", "version": "2:release-1.3.1-3" },
		{ "name": "SigmaDimensions", "version": "0.9.6" },
...
	],
	"recommends": [
		{ "name": "SigmaBinary-core", "version": "1:v1.6.9" },
		{ "name": "SigmaSciDefRenamer" },
		{ "name": "Kronometer", "version": "v1.3.1-1" }
	],

Problem

What steps did you take in CKAN?

  1. Run GUI
  2. Check StockalikeSolarSystem
  3. Apply Changes

ConsoleUI works the same as GUI (i.e., wrong).

What did you expect to happen?
SigmaBinary-core 1:v1.6.9 should be presented as a recommendation.

The correct version is installed if you run ckan install StockalikeSolarSystem from the command line:

$ ckan install StockalikeSolarSystem
About to install...

 * Stockalike Solar System v0.5.5 (github.com, 11.3 MB)
 * Module Manager 3.0.4 (cached)
 * Kopernicus Planetary System Modifier 2:release-1.3.1-3 (cached)
 * ModularFlightIntegrator 1.2.4.0 (cached)
 * Sigma Dimensions 0.9.6 (github.com, 839.4 KB)
 * SASS-DRP 2.0 (cached)
 * SASS-NH 2.0.1 (cached)
 * SASS-OPM 1.2.4 (cached)
 * SASS-RevSS 0.6 (github.com, 162.5 MB)
 * SASS-RevJ 1 (cached)
 * SASS-Saru 0.1 (cached)
 * SASS-SE 1.0 (cached)
 * SASS-ER 1.2.4 (github.com, 1.1 MB)
 * SASS-StockalikeNeptune 1 (cached)
 * SASS-UL 0.5.4 (cached)
 * Sigma Binary 1:v1.6.9 (github.com, 752.5 KB)
 * Science Def Renamer v0.3.2 (github.com, 7.5 KB)
 * Kronometer v1.3.1-1 (cached)

Continue? [Y/n]  

What happened instead?
SigmaBinary-core 1:v1.6.11 is presented as a recommendation in GUI.

Screenshots:

image

image

@HebaruSan HebaruSan added Bug Something is not working as intended Core (ckan.dll) Issues affecting the core part of CKAN labels Feb 26, 2018
@HebaruSan HebaruSan changed the title choose version for recommended mod Version requirements not obeyed for recommends Feb 26, 2018
@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

@Sigma88, I'm confused. The output you linked to shows the right version being installed, and it even shows a "^" indicating that SigmaBinary-core can be upgraded

@HebaruSan to test my netkan I submitted a "false pull request" to trigger jenkins

you are right in saying that the output shows the correct version of SB being installed

however, when I try to install my mod via ckan.exe the latest version of SB is installed instead. you can see this happening in the text I quoted here

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

I'm having problems using ckan.exe right now, I keep getting the error "Could not establish trust relationship for the SSL/TLS" (or something like that, I had to translate to english)

nevermind that, I probably had an outdated version of ckan.exe, I'm trying with the latest release to see if SB is installed correctly

EDIT:
requirements page:
image
installation page:
image

sigmabinary installation:
image

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

also, after installing SASS, I can click on the "Add Available Updates" button and update Kopernicus + SigmaDimensions to the latest versions (which are not supported by SASS, hence breaking the install)

@HebaruSan
Copy link
Member Author

HebaruSan commented Feb 26, 2018

For the TLS error, GitHub changed their servers in a way that broke CKAN, see #2293 and others.
Install https://github.com/KSP-CKAN/CKAN/releases/latest

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

For the TLS error, GitHub changed their servers in a way that broke CKAN, see #2293 and others.
Install https://github.com/KSP-CKAN/CKAN/releases/latest

yeah that's the version I'm using now

@HebaruSan
Copy link
Member Author

You might also have to update to .Net 4.5 or Mono 5. The exact requirements aren't crystal clear at the moment.

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

I already have .Net 4.5

should I try Mono5?

@HebaruSan
Copy link
Member Author

No. Try running ckan version though to make sure it's not running an old binary from somewhere else on disk.

@ghost
Copy link

ghost commented Feb 26, 2018

its mono 5 on Ubuntu

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

I usually run ckan.exe on Win10 by double clicking on it

if I use the cmd prompt to run ckan.exe version > ckan.txt this is what I get:

v1.24.0+195ed164d95f

@ghost
Copy link

ghost commented Feb 26, 2018

I'm just saying it required mono 5 to work on Ubuntu. so that's likely the case for you.

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

if I install SASS through the command prompt the required mods are installed correctly

@HebaruSan
Copy link
Member Author

@snkiz , Windows uses .NET instead of Mono. You can use Mono on Windows if you really want to, but .NET is the reference implementation of the platform, so there's no need to do that.

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

I've asked on discord some other people to try installing the mod using windows and the GUI

hopefully we should be able to see if this is just an issue with my laptop or a more general issue with the executable

@HebaruSan
Copy link
Member Author

@Sigma88 thanks for the updated screenshots, I rewrote the OP and deleted some of the older comments to show the issue more clearly.

There's a reason why we have those subheadings in the issue template. :)

@HebaruSan
Copy link
Member Author

Sorry, should have stated explicitly: I am able to reproduce this when I try it through GUI.
And I think I know where to start looking in the code...

@HebaruSan
Copy link
Member Author

also, after installing SASS, I can click on the "Add Available Updates" button and update Kopernicus + SigmaDimensions to the latest versions (which are not supported by SASS, hence breaking the install)

Could you please submit an issue for that? I want to make sure we don't lose track of it after we fix this issue with installing recommendations.

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

sure

@HebaruSan HebaruSan added the Relationships Issues affecting depends, recommends, etc. label Feb 26, 2018
@HebaruSan
Copy link
Member Author

Style-wise this is issue hitting on one of the big unresolved architectural issues: Core doesn't handle optional dependencies. Instead each UI has to have its own implementation of the optional dependency logic; GUI and ConsoleUI both try to build lists themselves and prompt the user, whereas Cmdline treats them as all-or-nothing based on some simple flags, see #965. This is bad for maintenance as bugs have to be fixed 2-3 times and the logic can easily get inconsistent. It also means that the optional dependency logic doesn't benefit from some of RelationshipResolver's more sophisticated capabilities, such as specification of versions, conflict checking, etc.

IUser ought to have some sort of PromptForOptionalDependencies virtual function, so the common logic can be moved to Core and integrated properly into the installer. Then each UI would just implement that new function; GUI and ConsoleUI could use their current UI, and Cmdline could have some sort of new multiselect text list picker.

@Sigma88
Copy link

Sigma88 commented Feb 26, 2018

also, I believe any information about past versions is not stored so for example:

SASS v0.5.5 might be compatible with KSP 1.3.1 by using Kopernicus v1.3.1-3 but as soon as I update SASS to KSP 1.4.0 any information about 1.3.1 will be lost

I guess this would require a pretty substantial change in how CKAN works, but it is definitely something that would greatly benefit CKAN in the long run. expecially now with 1.4.0 and the DLC coming

@politas politas removed the Bug Something is not working as intended label Mar 18, 2018
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 Relationships Issues affecting depends, recommends, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants