chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Chicken-setup redesign (was: Re: [Chicken-users] Re: getopt, getopt_


From: Shawn Rutledge
Subject: Re: Chicken-setup redesign (was: Re: [Chicken-users] Re: getopt, getopt_long?)
Date: Thu, 10 Jul 2008 15:01:14 -0700

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]