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

Restructure item collections to use LFSH and put parameter (and other) files in DATADIR instead of embedded in shared library #59

Open
ellio167 opened this issue Jan 4, 2021 · 1 comment
Milestone

Comments

@ellio167
Copy link
Member

ellio167 commented Jan 4, 2021

  • Drop embedding of data files in the item shared library (SL)

  • Install item README, LICENSE, etc. files (will need to determine exactly how these are identified/specified for each item; perhaps only a simple prescription like what homebrew does… OR do item developers need more control/flexibility?). Put these in the DOCDIR.

  • For SYSTEM COLLECTION install SL in LIBDIR, data files in DATADIR (/usr/local/share), etc. [There may need to be some tricks here to support homebrew] Everything should go under the “kim-api” (really, the KIM_API_PROJECT_NAME) subdirectories within each standard DIR.

  • Store a hash of parameter files (and others) in SL to verify that files have not been modified. (This can be done by using cmake to generate a hash and then using one of these libraries at run time to verify the hash value; possibly using https://github.com/okdshin/PicoSHA2 or https://create.stephan-brumme.com/hash-library)

  • For USER COLLECTION: reduce specification (in config file, env-vars, etc.) to just one directory (instead of a dir for each item-type), treat this dir as a PREFIX and install all files in a standard hierarchy below it.

  • For ENV COLLECTION: same as for USER COLLECTION

  • For CWD COLLECTION: remove this feature. It doesn’t seem to make sense any longer in this context. The ENV COLLECTION seems sufficiently flexible. Deprecate CWD Collection now.

  • Item development can be done with the ENV collection and repeated use of “make install” from the build directory. Should add an explanation of how to do this to the INSTALL and/or documentation.

  • Create an option to install an item’s source package in PREFIX/src/kim-api/…. Default should be to NOT install source. CM can use this to keep the source around when requested by the user.

@ellio167
Copy link
Member Author

ellio167 commented Jan 4, 2021

Also install basic kim-api package DOC files (README.md, LICENCE, etc.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant