[Top][All Lists]

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

Re: [Chicken-hackers] Distributed egg repo proposal

From: Imran Rafique
Subject: Re: [Chicken-hackers] Distributed egg repo proposal
Date: Fri, 18 Mar 2011 08:54:11 +0000

On 17 March 2011 12:26, Peter Bex <address@hidden> wrote:
> I haven't had time to digest this fully, but here are some initial remarks:
> Your proposal ignores one of the main design goals of the distributed egg
> proposal; it is not backwards compatible; from what I understood, you want
> to modify chicken-install.


> The other remark I have is that it would require substantial rethinking
> and recoding of our tools, including making a full-fledged package manager
> from chicken-install complete with user-overlaid local patches.  Felix has
> said before he doesn't want that, and I support him in that; OSes have
> package managers, and chicken-install should stay simple.

With a one-stop egg install tool, which also manages dependencies (as
chicken-install currently does), there needs to be smarts somewhere in
the "system". At what point does one draw the line and call it an
overblown package manager, I'm not sure :)

At its essence, this portage-like system:
* keeps the maintained tree simple. You can see everything at a
glance, and sources are kept out.
* keeps the load on egg authors as low as possible (you can keep your
existing dev workflow, and submit new versions of eggs just by
updating a single symbol in one file - and pushing that to the tree
* pushes the complexity into a single tool. This next-gen
chicken-install can start out simple, and functionality can be added
over time.
* makes it a simple one-liner if you want access to the sources (with
full history).
* we don't have to deal with the complexities of integrating outside
repo's with our repo, etc.

> Finally, I think your approach also requires people to submit their
> finished eggs somewhere as a tarball once they've tagged a release?
> That also ignores the design goal "no extra hassle".

Not exactly (see "(5 & 6) Making it easier for egg authors" from the
previous mail). (get-files) and (get-docs) can use any or all of the

    (unpack "some_archive" 'type_of_archive)

    (fetch-from-git 'tag)

    (fetch-from-mercurial 'tag)

The egg author must:
1. have his code available somewhere, either within a repository, or
as an archive which is publically accessible.
2. give us instructions on:
  * how to compile (setup ...)
  * how this egg fits into the tree of eggs (meta ...)
  * how to fetch the code (get-files), (get-docs)

No matter how you look at it, this is the bare minimum for an egg
author to do - no matter how we install eggs. A portage-like system
doesn't add to this bare minimum - it just arranges things differently
(hopefully, in an easier to use manner than we have now).

       Imran Rafique

reply via email to

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