[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] new CHICKEN 5 egg installation
From: |
felix . winkelmann |
Subject: |
[Chicken-hackers] new CHICKEN 5 egg installation |
Date: |
Wed, 22 Feb 2017 15:20:11 +0100 |
Hello!
I have now a first prelininary version of the new egg installation tools
for CHICKEN 5 working, and before we go on, I'd like people to review
and reflect on the changes that have been made so far. I also need
some advice regarding a number of issues...
The branch is "chicken-5-new-egg-install"[1], a preliminary selection
of eggs that have been ported to new the description file format are
available at [2] (thanks to Mario + Kooda, who have provided a bunch
of eggs). Note that this repository is not final, yet. Eggs may be
removed or deprecated or will need considerable changes, should
more disruptive changes be made in CHICKEN 5 (let's hope not...)
Basic uses of chicken-install/chicken-status/chicken-uninstall should
work. I have tried to document everything [3], please tell me if
important information is missing or something does not match the
current implementation.
Issues:
* Source-level depedencies inside eggs can currently not be specified,
but component-level dependencies can, this might be enough.
* When a test in a depency fails, the installation process still continues,
should the whole operation abort?
* What should be the default optimizations, or should there be a
default optimization level at all? (this can be given in the .egg file);
the same applies to compiled import libs, where the user can not
override the options.
* Is an option for not fetching/installing depedencies desirable?
This has been added recently to C4, what is the inention of this,
and how does it work if the dependency is required for building?
* "chicken-install -init" is currently not implemented. Do we need this?
* The following options are not implemented:
-keep-installed
-reinstall
-proxy -username -password (use env vars instead)
-init
-deploy
-keep-going
-scan
-csi
-show-depends
-show-foreign-depends
-prefix
* "-test" implies that all tests are executed, including dependencies;
or should only those tests run that belong to the eggs explicitly given
on the command line?
* "extension-information" actually retrieves information for a whole egg.
Should this be renamed, or should it extract information for a particular
component?
* I would REALLY REALLY like to get rid of "-prefix", "chicken-prefix",
CHICKEN_PREFIX, etc. as they cause pain and confusion, but
Mario says that it is important for Salmonella.
* It has been suggested to sign eggs (or egg hashes). I don't know enough
about this to decide how to proceeed. If such a feature is desired, it should
be added early (standalone crypto code seems to be available, e.g.
"tweetnacl")
* Testing on Windows + OS X still has to be done, especially the build/install
script generation for Windows/cmd.exe has never been tested. "chicken-do"
needs to be ported to Windows, as well.
* The old system allowed for so called "syntax-only" eggs, extensions that
only provide syntax (and thus don't require runtime code to be loaded),
like miscmacros and matchable. This is currently not implemented, and
I'm not sure whether the extra costs are worth the trouble.
felix
[1]
https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=shortlog;h=refs/heads/chicken-5-new-egg-install
[2] https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-5-eggs.git;a=summary
[3]
https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=blob;f=manual/Extensions;h=38256f9b7a9370d38e63ee5062aaa7b27fa307ba;hb=refs/heads/chicken-5-new-egg-install
- [Chicken-hackers] new CHICKEN 5 egg installation,
felix . winkelmann <=