pjf

The Comprehensive Kerbal Archive Network (CKAN) Package Manager; v1.18.0 [19 June 2016]

Recommended Posts

Right now it's happening when I run the `NetKAN/bin/netkan-all` script, which unfortunately makes assumptions as to where things are located on the system. We definitely do want this running nightly, as well as being triggered on a repository change. Although I don't have to be the one who runs it, anyone on the core team has access.

There has also been talk of providing a simple REST interface, which can be bumped to force re-indexing of a particular mod. Be it through humans jumping up and down, or bots subscribing to various feeds, that would also help a lot in ensuring mods get updated ASAP.

Actually.... Does this have to happen on your box? I could imagine setting up something on travis-ci.org if you trust them to have write access to CKAN-Meta (which a bot job would need to have).

My other hobby (actually my main :) ) is to automate stuff all day long...

Share this post


Link to post
Share on other sites

WOHOOOOOO!!!!! My GameData ist clean, I don't have any 'autodetected dll' in my list anymore :D

Now all I need is to provide netkan files for the twenty other mods which are hand-managed, and we are good to go for the next KSP update :P

Share this post


Link to post
Share on other sites

Nice project! Some quick suggestions from my experience working with apt:

remove "Continue [Y/N]" if only one mod is going to be installed

packages should be searched case insensitive (eg: ckan install kas)

program options should be able to be abbreviated (eg: ckan ava)

ckan available list has an unneded newline

Share this post


Link to post
Share on other sites

Crashes immediately after download and launch. Huh?

Edit: Installed unstable release, doesn't actually crash and immediately opens GUI.

Edited by Tangle

Share this post


Link to post
Share on other sites
Crashes immediately after download and launch. Huh?

Edit: Installed unstable release, doesn't actually crash and immediately opens GUI.

CKAN isn't crashing. The unstable/experimental release is the only version that has a GUI currently.

The stable release is command line only right now.

You need to open your command prompt (hit your windows key and then type "command", you will see the program called "Command Prompt" in the list, select it) and then call up whatever directory the ckan.exe file is located within.

Once you are in the correct directory (the shortcut of shift+right clicking within the white space of the appropriate folder and then selecting "open command window here" is an easy alternative to manually calling up the directory ckan.exe is located in) you can use any of the available commands from above (i.e. "update", "install", "scan", etc) by prefixing those commands with "ckan.exe". So it would be something like: "ckan.exe update".

If you want to do something more complex like install Realism Overhaul with all dependencies and suggested mods at once you would do:

"ckan.exe install RSSTextures2048 RealismOverhaul --with-suggests".

Hope that helps get you started.

I'd be happy to answer any other questions you may have.

Edited by Deems19

Share this post


Link to post
Share on other sites

I can't launch the gui using Contact Light, under Linux Mint 16. I get the following error:

System.InvalidCastException: Cannot cast from source type to destination type.
at CKAN.Main.InitializeComponent () [0x00000] in <filename unknown>:0
at CKAN.Main..ctor () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) CKAN.Main:.ctor ()
at CKAN.GUI.Main () [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Gui () [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
Trace/breakpoint trap

This happens when running ckan itself, running it with the mono executable, or with the 'gui' command.

Is this a problem with CKAN, or a problem with my setup? I noticed I had to install package 'mono-devel' to gain the moztools command - and that the errors I got from ckan changed when I did. It does seem like the command line functions work fine, though. (Although I really wish I could install Real Fuels without all the other RO mods... :) )

Share this post


Link to post
Share on other sites
I can't launch the gui using Contact Light, under Linux Mint 16. I get the following error

Alas, the GUI is very experimental (which is why it's in the unstable release), and is known to have problems under Linux, Mac, and Windows. Although I've not seen *that* particular error before, there's a good chance it's a problem our end. The experimental features are very much a "we hope this works, but we know it's got issues".

Although I really wish I could install Real Fuels without all the other RO mods...

Me too! The gotcha is this:

* RealFuels depends upon RealFuels-Engine-Configs

* RealismOverhaul provides RealFuels-Engine-Config

Currently we don't have anything else in the repo that provides RealFuels-Engine-Config. I'm not familiar with RF myself, so if there *is* a package we've already indexed that is missing meta-info, we should fix that. If there's another package that needs to be installed to support RF under stock, then I'd *love* to see that submitted.

All the best!

~ Paul

Share this post


Link to post
Share on other sites

Oh. My. Goodness.

Didn't know about this until NathanKell pinged me to set up the Stockalike configs for it, but I'm so incredibly glad I know about this now. Serious props to you guys on this. As an addicted mod user, this will make my life so much easier.

Share this post


Link to post
Share on other sites

Just a few minutes ago, we passed 100 mods indexed and installable via the CKAN. You are all amazing.

Especially Raptor831, who just found and fixed a bug in our Stockalike RF Engine Config metadata. :)

Share this post


Link to post
Share on other sites
Alas, the GUI is very experimental (which is why it's in the unstable release), and is known to have problems under Linux, Mac, and Windows. Although I've not seen *that* particular error before, there's a good chance it's a problem our end. The experimental features are very much a "we hope this works, but we know it's got issues".

No problem. I'm a software dev myself, so I know how all that goes. I mainly phrased it as I did because I hadn't had it in a working state at any point, so I had no certainty it wasn't my setup. :)

The gotcha is this:

* RealFuels depends upon RealFuels-Engine-Configs

* RealismOverhaul provides RealFuels-Engine-Config

Currently we don't have anything else in the repo that provides RealFuels-Engine-Config.

Stockalike RF configs is on the CKAN now, so that problem is solved. :)

Love seeing issues fixed as soon as I find I have them, though!

Oh. My. Goodness.

Didn't know about this until NathanKell pinged me to set up the Stockalike configs for it, but I'm so incredibly glad I know about this now. Serious props to you guys on this. As an addicted mod user, this will make my life so much easier.

Oh gods do I agree here. I wasn't aware of CKAN back then, but a while ago I floated a suggestion for such a system myself - not too dissimilar, but built in node.js instead, since that's my bias. Found that CKAN was in development. Class example of "If we didn't have it we'd have to invent it!" ;)

Share this post


Link to post
Share on other sites
Just a few minutes ago, we passed 100 mods indexed and installable via the CKAN. You are all amazing.

Awwww yissssss!!!

Share this post


Link to post
Share on other sites

I cannot thank you guys enough for this. Managing tens of mods was one of the things that had been putting me off KSP lately, because I would end up spending more time looking for, installing and updating them than playing the game; you solved the problem in an elegant manner. As a long-time Linux user, I could hardly feel more at home than with a command-line package manager :D

By the way, the *nix package management approach is starting to seriously take hold in the Windows world. We've even got an APT-style package manager for Windows itself: Chocolatey, which can install even the notoriously annoying Adobe Reader, Flash, and Java Runtime Environment in a single command. What a time to be alive!

Share this post


Link to post
Share on other sites
By the way, the *nix package management approach is starting to seriously take hold in the Windows world. We've even got an APT-style package manager for Windows itself: Chocolatey, which can install even the notoriously annoying Adobe Reader, Flash, and Java Runtime Environment in a single command. What a time to be alive!

Word is, Windows 10 will have one built in... Brave new world, eh?

I consider this approach hugely, vastly superior to e.g. the Minecraft system with launchers and whatnot. Want to make a modpack? Put a package on CKAN that requires your selected mods, plus whatever configs you've strapped on to make them play well together where necessary. And boom, there you go. ckan install MyGloriousModpack, and Bob's your uncle.

Share this post


Link to post
Share on other sites

Want to make a modpack? Put a package on CKAN that requires your selected mods, plus whatever configs you've strapped on to make them play well together where necessary. And boom, there you go. ckan install MyGloriousModpack, and Bob's your uncle.

I'm taking a day to *play* KSP for the first time in months, with a 100% CKAN installed system. :) However meta-packages (which depend upon other packages, but don't install anything themselves) are something we hope to have operational for v1.2.0, along with being able to do a `ckan upgrade` to bring all your mods up-to-date for whatever version of KSP you have installed.

The current milestone is here, but the contents may change a bit when I'm back from space, and will likely gain a number of bugs we want fixed. In any case, meta-packages are definitely on their way. (And possibly the ability to subscribe to additional metadata sourcesâ€â€similar to Ubuntu ppasâ€â€so the main repo isn't flooded with mod-packs, and developers can have repos which index test releases if folks want to try things early.)

~ Paul

Share this post


Link to post
Share on other sites

Now i am relatively new to linux and probably failed at something really simple, but after installing mono with

sudo apt-get install mono-runtime

trying to start it with either ./ckan.exe or mono ckan.exe yields the following error:

Unhandled Exception:System.TypeInitializationException: An exception was thrown by the type initializer for CKAN.CmdLine.MainClass ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
at log4net.Repository.Hierarchy.DefaultLoggerFactory+LoggerImpl..ctor (System.String name) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger (ILoggerRepository repository, System.String name) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.Hierarchy.GetLogger (System.String name, ILoggerFactory factory) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.Hierarchy.GetLogger (System.String name) [0x00000] in <filename unknown>:0
at log4net.Core.LoggerManager.GetLogger (System.Reflection.Assembly repositoryAssembly, System.String name) [0x00000] in <filename unknown>:0
at log4net.LogManager.GetLogger (System.Reflection.Assembly repositoryAssembly, System.String name) [0x00000] in <filename unknown>:0
at log4net.LogManager.GetLogger (System.Type type) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for CKAN.CmdLine.MainClass ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
at log4net.Repository.Hierarchy.DefaultLoggerFactory+LoggerImpl..ctor (System.String name) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger (ILoggerRepository repository, System.String name) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.Hierarchy.GetLogger (System.String name, ILoggerFactory factory) [0x00000] in <filename unknown>:0
at log4net.Repository.Hierarchy.Hierarchy.GetLogger (System.String name) [0x00000] in <filename unknown>:0
at log4net.Core.LoggerManager.GetLogger (System.Reflection.Assembly repositoryAssembly, System.String name) [0x00000] in <filename unknown>:0
at log4net.LogManager.GetLogger (System.Reflection.Assembly repositoryAssembly, System.String name) [0x00000] in <filename unknown>:0
at log4net.LogManager.GetLogger (System.Type type) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---


The distro is Ubuntu 14.04 64bit. This is really a wonderful project and I would love to work with it so I would be glad for any help!

Edit: Thehe. I really did miss something very basic. Apparently you need the mono-complete package and not just the mono-runtime one... The more you know :)

Edited by Tellion

Share this post


Link to post
Share on other sites

Ah! We've been trying to figure out which packages people need under Ubuntu/Linux! Thank you so much for helping with this!

Tellion, could you try `apt-get install libmono-system-core4.0-cil` and see if that provides any relief?

~ Paul

Share this post


Link to post
Share on other sites

I tried it with sudo apt-get install mono-complete after that and that solved it, but thanks for the quick response! :)

Share this post


Link to post
Share on other sites
meta-packages (which depend upon other packages, but don't install anything themselves) are something we hope to have operational for v1.2.0, along with being able to do a `ckan upgrade` to bring all your mods up-to-date for whatever version of KSP you have installed.

ckan install ScottManleyApproved

Share this post


Link to post
Share on other sites

Hello!

It seems that Kerbal Alarm Clock is installed in <ksp>/GameData/KerbalAlarmClock/ but it should be <ksp>/GameData/TriggerTech/KerbalAlarmClock/

I guess the structure of the 7z archive is the problem here.

I'm not sure how the metadata file should be modified to handle this...

Share this post


Link to post
Share on other sites

Hi, first of all, this is an amazing tool! It has the potential to widen the users of mods, by making everything easy and automatic. Thank you for taking to time to develop it :)

On to questions. I'm looking to add Universal Storage and 64k to the mod, but I have some questions regarding installation order.

This is mostly an issue for 64k, as instal order is important. For example, if the player uses Atronomers Visual pack it's important the dependancies are installed in the following order:

  1. Environment Visual Pack
  2. Astronomers Visual Pack
  3. 64K

Is is due to later mods replacing files from the earlier ones.

Is there any way to specify which order things should be installed?

Share this post


Link to post
Share on other sites

Also, Astronomers Visual Pack has to be installed in steps so you its important to figure that out too.

Share this post


Link to post
Share on other sites
Also, Astronomers Visual Pack has to be installed in steps so you its important to figure that out too.

Astronomers shouldn't be too hard, the first step is install EVE, and the second step is to pick one of the texture packs, but that second step could happen last without any issues.

So you'd have to ensure that EVE was installed first, then Astronomers, then one of the texture packs, in the same way that RSS works.

One way to do it would be to specify if a required mod is installed before or afterwards. Before is easy, after I guess you'd have to instal the main mod then reinstall the required mod. With multiple mods though it could end up with instal loops.

Share this post


Link to post
Share on other sites

Paul: CKAN doesn't support replacing files, so that's not going to work. However, you can write your patches to AVP as *patches*, i.e. with MM. That's why rbray made the cfg file system the way he did. :)

Also, please put 64K on github? :P (It'll also make it easier to add CKAN support.)

Share this post


Link to post
Share on other sites

So the error I posted about earlier? Turns out it was due to my (slightly aged) Linux distro not having an updated Mono version, which a gentleman on GitHub was swift and kind to inform me. However, all was not lost - there's a PPA for updating your stuff: https://launchpad.net/~inizan-yannick/+archive/ubuntu/mono

So if you're running Linux Mint 16, or Ubuntu Saucy and you want to use the CKAN gui, well, add that PPA, update your mono packages, and that should straighten you out. :-)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.