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

Installing parts to sub-folders #315

Closed
KevinCathcart opened this issue Nov 11, 2014 · 4 comments
Closed

Installing parts to sub-folders #315

KevinCathcart opened this issue Nov 11, 2014 · 4 comments
Assignees
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Enhancement Spec Issues affecting the spec
Milestone

Comments

@KevinCathcart
Copy link

A small number of mods require that they be installed in some specific sub-directory of GameData, but do not have that sub-directory included in the zip file. A good example of this is ASET_Parts, which is a mod used by several EVA enhancing mods and ALCOR's IVA view in particular. The files in that plugin must be installed to GameData/ASET/ASET_Parts but the top level folder in the plugin zip is the ASET_Parts folder itself.

This is blocking my attempt to package the ALCOR mod, since ASET_Parts is a dependency (see KevinCathcart/CKAN-meta@ef80f4c )

@pjf pjf added Core (ckan.dll) Issues affecting the core part of CKAN Enhancement Spec Issues affecting the spec labels Nov 11, 2014
@pjf pjf changed the title Adding folders not in Zip Installing parts to sub-folders Nov 11, 2014
@pjf
Copy link
Member

pjf commented Nov 11, 2014

Oh my. This is why I wish we had a mod-packaging standard. (I'm hoping that greater adoption of the CKAN would help drive such a standard, which would be great even for non-CKAN users.)

Right now, we don't have a good way of doing this, and while I know this has come up a few times before, I don't think we have a ticket for it yet.

My suggestion is that we extend the install_to keyword to allow additional path information to be supplied, as this seems like the most intuitive way of handling this:

"file" : "ASET_Parts",
"install_to": "GameData/ASET"

I'd suggest the following behaviours:

  • Targets continue to have their existing path creation functions. GameData will create paths as needed, Ships will not.
  • No pathing in respect to GameRoot.

Does that sound reasonable?

@KevinCathcart
Copy link
Author

That sounds reasonable to me, and indeed was one of the approaches I was thinking of. It does seem very highly intuitive, since the install_to already looks like a path.

Frankly I feel that the directory structure of the ASET_Parts is a bad idea. In practice I bet many people drop the ASET_Parts folder directly into GameData, and wonder why it does not work.

@pjf pjf added the ★★☆ label Nov 12, 2014
@pjf pjf added ★★★ and removed ★★☆ labels Nov 15, 2014
@pjf pjf added this to the v1.2.0 milestone Nov 16, 2014
@Ippo343 Ippo343 added In progress We're still working on this and removed ★★★ labels Nov 17, 2014
pjf added a commit to pjf/CKAN that referenced this issue Nov 18, 2014
pjf added a commit to pjf/CKAN that referenced this issue Nov 18, 2014
This time testing where things should go, and more testing of bad
paths.
pjf added a commit that referenced this issue Nov 24, 2014
* origin/master:
  Updated Spec to include v1.2 GameData paths.
  Removed warnings from the compiler abour our test cases.
  Spec copyediting for v1.2 and Gamedata/Paths
  Fix GameData/.. bug
  Test: GameData/.. should not be allowed.
  Tests that we handle KSP v1.0.0 correctly.
  Allow KSP versions to miss their leading zeros.
  Makes the checks more rational
  Adds subfolders to human-readable spec
  Passes all tests related to installation
  Additional tests for GH #315.
  Tests for extended GameData installs.
  Tests: Slight refactor ModuleInstaller tests. Added Bad target test.
  Allows GameData subdirs
@pjf
Copy link
Member

pjf commented Nov 24, 2014

This is now fixed in dev, and will be in 1.2.0. Thanks, @Ippo343!

@pjf pjf closed this as completed Nov 24, 2014
@pjf pjf removed the In progress We're still working on this label Nov 24, 2014
@Ippo343
Copy link
Contributor

Ippo343 commented Nov 24, 2014

Thank you! :)


Da: Paul Fenwickmailto:notifications@github.com
Inviato: ‎24/‎11/‎2014 02:37
A: KSP-CKAN/CKANmailto:CKAN@noreply.github.com
Cc: Michelemailto:m.ippolito@outlook.com
Oggetto: Re: [CKAN] Installing parts to sub-folders (#315)

This is now fixed in dev, and will be in 1.2.0. Thanks, @Ippo343!


Reply to this email directly or view it on GitHub:
#315 (comment)

RichardLake pushed a commit to RichardLake/CKAN that referenced this issue May 30, 2015
* origin/master:
  Updated Spec to include v1.2 GameData paths.
  Removed warnings from the compiler abour our test cases.
  Spec copyediting for v1.2 and Gamedata/Paths
  Fix GameData/.. bug
  Test: GameData/.. should not be allowed.
  Tests that we handle KSP v1.0.0 correctly.
  Allow KSP versions to miss their leading zeros.
  Makes the checks more rational
  Adds subfolders to human-readable spec
  Passes all tests related to installation
  Additional tests for GH KSP-CKAN#315.
  Tests for extended GameData installs.
  Tests: Slight refactor ModuleInstaller tests. Added Bad target test.
  Allows GameData subdirs
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 Spec Issues affecting the spec
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants