On Thu, Jul 10, 2008 at 09:25:21AM +0200, felix winkelmann wrote: > Allow me a slight rant... > > chicken-setup has served us well, but now has mutated into a large > intricate mess. There has been a rewrite a while ago, but the messiness > is still there, partly because a tool like chicken-setup has to do so > many different things (file-system operations, extension handling, > HTTP download, build invocation, cross-compilation, etc.). I think the > only solution is to > completely dump it and start from scratch. If we consider what we > essentially need (executing .setup scripts in a directory with the > egg sources), a backwards compatible API for executing the build > scripts it should be possible to reorganize the installation and > upgrading of eggs on a user's system in a simpler, better > maintainable and more transparent way.
I look at it this way: what is essential is the metadata, including the enumeration of the files that are included along with what they _are_. If I say "here are my source files, here are my documentation files, and here are my examples" why shouldn't chicken-setup know what to do with them by default? Or if you even leave those out, but have a standard directory structure (src, doc and examples) chicken-setup could make straightforward decisions based on that. So the minimum requirement would be a metadata file containing the egg description and category. Writing a separate setup script in addition to that should be optional, and rare. I don't like all the duplication of information with the current requirements for writing an egg. And the install locations will be different for different systems sometimes, so they must not be hard-coded, and setup scripts should not be telling chicken-setup to violate those rules (like to put the documentation in the same directory as the compiled .so's... that's really messy). chicken-setup can be customized or parameterized to handle those cases. It's a system thing, not an egg thing. To play well with various Linux distros, it's a requirement to follow their rules about where packages' files are to be located. _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
