"James Britt" <james / jamesbritt.com> wrote in message news:<NGEDJNFKAGDNDOIPFPBDGECLDNAA.james / jamesbritt.com>...
> Is it that all packages need to use the same installation code, or that they
> all implement an installer that follows a known interface?  I would be
> happy if every package had a script named install.rb that had a known
> and consistent behavior.  Many apps already have such a script, but they don't all
> do the same thing.  For some, running it without args will install the code.
> In other cases, it spits back a terse message that that you call it with some
> cryptic args.

This is all very Ruby-oriented.  The *best* thing, for users, is that
they install Ruby modules the same way they install any other
software.  apt-get, emerge, rpm -Uvh, whatever.  That said, we don't
have much control over that, per se.  The set of available Ruby
packages will always be larger than the set of available Ruby packages
for a distribution.

I agree that it is therefore nice to have a single, common interface
to installing (and uninstalling) Ruby packages outside of any
platforms package maintenance software.  This really helps people not
using OS package management systems.  When I unpack C-based software
on Linux and see "configure", I get decidedly happier.

I don't know much about other package management systems; I remember
hating RPM, but beyond that, my experience has been limited.  I
certainly don't think that having a uniform installer for Ruby is as
important for ebuilders; Portage is does a superlative job of making
ebuild generation and maintenance as easy as possible.  In fact, for
projects with a low delta in their build/install mechanism, the amount
of work required to create a new ebuild for a new version of the
package is the cost of renaming a single file.  It helps the original
ebuilder if the install mechanism supports the equivalent of "make
DESTDIR=", but it isn't absolutely necessary.  I don't believe that
Portage even takes advantage of any software's "uninstall" mode -- it
merely remembers what files it installed, and deletes them (if they
haven't changed in the meantime).

> It would be nice if even basic scripts included a scripted way to do installation, 
> but I'm leery of requirements for inclusion.   Still, as others have mentioned, some
> machine-readable bit that indicates the presence of a standard install method
> would be a nice feature in the RAA.

Hm.  Or, maybe an "Install" metadata, with possible values such as
"make", "ant", "setup.rb", "bashing-your-head-between-two-bricks", or
whatnot.

> I'd be interested to hear from folks as to:
>    a) Why they do not include an installation script

For most people, probably overhead, or lack of need.  

>    b) Why they do not list their code in the RAA at all (but do make it available 
>        from, say, SourceForge or a personal home page)

This issue gets on my nerves, one way or another.  I list REXML in RAA
and Freshmeat, and there are a couple of other popular places I could
probably usefully list it.  Maintaining an entry in one list is fine. 
Maintaining it in two is a pain in the ass, and maintaining it in
three... well, *I* won't do it.  It already takes me a few hours to
write a release notice, post it to RAA and Freshmeat, make an
announcement in C.L.R. and the REXML mailing list, submit an ebuild to
Gentoo, and test  links in the various places to make sure they're OK
-- and that's with a mostly automated distribution mechanism for
building the main REXML web page.

Now, if a software catalog supported some sort of XML-RPC mechanism
for posting updates, I'd be happy to add them to the list of places I
maintain entries.  To my knowledge, neither RAA nor Freshmeat does
this; it is a fully interactive process to post updates, and, to be
honest, I'd rather be writing software.

This is where somebody embarasses me by pointing out that RAA or
Freshmeat *does* provide a web service interface to updating entries
-- please ... go ahead.  I'd gladly eat that particular crow.

--- SER