Changes for the next release of install-lib
Michel Schinz <[email protected]>
| Newsgroups | gmane.lisp.scheme.scsh |
|---|---|
| Message-ID | <[email protected]> |
As promised, here are the changes I plan to introduce in the next release of the installation library (which would be v1.2.0). Comments are welcome. If nobody objects to this, I hope to be able to release a new version in something like two weeks. So, in summary, I plan to: 1. add options to only build or only install the package, 2. change the meaning of --layout-from, and remove --layout-to, and 3. introduce a script to test that packages conform to the proposal. I'll quickly discuss the first two points in more details. First of all, I plan to introduce two new options, --build-only and --install-only to specify that the package should only be built (resp. installed). The --build-only option would turn all the installation procedures of the library (including with-output-to-load-script and write-to-load-script) into noops. The --install-only option would have no effect on the functions of the library, but its value could be queried by packages containing a build phase in order to disable building. It would be the responsibility of the user to make sure that if he uses one of these options, he uses them correctly. That means first invoking scsh-install-pkg with the --build-only option, then with the --install-only option. (i.e. simply calling scsh-install-pkg with --install-only is not expected to work in general). In order to catch problems which would happen if a user uses one of these options with a packages which isn't aware of them, I propose the following behaviour: if scsh-install-pkg is called with one of these options and the package definition depends on a version of the installation library which is strictly smaller than 1.2.0, output a warning (saying something along the lines of "warning: this package might not distinguish between a build phase and an installation phase", or whatever). Then, I also plan to change the behaviour of --layout-from and --layout-to. Currently, --layout-from considers that a layout is an a-list associating directories to locations. This unfortunately doesn't work with packages which are a collection of other packages, like sunterlib. A layout should really be a function taking a package and a location and returning a directory. But that's a minor detail, I'm probably the only user of --layout-from anyway. As far as --layout-to is concerned, I'd like to drop it because I have the feeling that it's useless already now, and will become unimplementable as soon as --layout-from is changed. So unless anyone objects, I'll remove it. And I'll also finally introduce the changes related to naming that we discussed with Jorgen Schäfers some time ago. Dependencies will come with the release after that, I promise ;-). Michel.