Michel Schinz writes:
> "Brian D. Carlstrom" <bdc@carlstrom.com> writes:
>
> [...]
>
> > - downloaded scsh-install-lib-1.1.0. installed with
> > ./install.scm --prefix=/usr/local --bindir=/usr/local/bin
> > I don't know if that is right and the README was not clear enough
> > for me.
>
> The bindir should be ok, but the prefix should be a scsh-specific
> directory ideally, otherwise it will be a bit of a mess: as you've
> noted later, a directory called "0.6" is created directly under the
> prefix.
I don't think the argument should be called --prefix then. It can easily
mislead people into assuming it should have the same value as configures
--prefix. Since it has different semantics, I think a different name
would help, such as --scsh-packages-directory.
I also think that having seperate versioned install directories as the
default is also overly complicated. I'd rather use --prefix=/usr/local
and have it put stuff in /usr/local/lib/scsh by default, perhaps leaving
out the 0.6 but perhaps using a package subdirectory.
I wanted to say that ommiting the version is what perl does but I guess
that is perl on windows. perl on unix does include the version number in
the package directory, plus an architecture specific directory for the
native bits. A perl overview for comparison:
<prefix>/bin
<prefix>/lib/<version>/<architecture>-<os>/<standard-package>
<prefix>/lib/<version>/<standard-package>
<prefix>/lib/site_perl/<version>/<architecture>-<os>/<local-package>
<prefix>/lib/site_perl/<version>/<local-package>
for scsh, I'd imagine the average person wanting
<prefix>/bin
<prefix>/lib/scsh/<package>
or with the version
<prefix>/bin
<prefix>/lib/scsh/<version>/<package>
> As for the README not being clear, I agree but I have to say that
> short of duplicating most of the documentation, I cannot find a good
> way to make it clearer. As written, you should really read the
> documentation at least once before installing a package. (Well,
> actually not all of it: I should really point to the important parts).
The scsh README currently says:
You *should* be able to build scsh on the standard platforms with exactly
five
commands: gunzip, tar, cd, ./configure, and make.
I think it needs to be that simple. people just want to
gunzip, tar, cd, install.scm
at the very least, give a concrete example based on the default scsh
install, something like:
install.scm --bindir=/usr/local/bin --prefix=/usr/local/lib/scsh
> For --prefix it's harder, as the default should somehow be inferred
> from scsh's "lib-dirs". As this variable can contain several
> directories, a useful default cannot be extracted in the general case.
so take the first value. or ignore lib-dirs and use a default that
should work in most cases. looking at my default scsh install, there is
only one entry "/usr/local/lib/scsh/modules", which leads me to guess
what I really want to use is:
install.scm --bindir=/usr/local/bin --prefix=/usr/local/lib/scsh/modules
> But that said, deciding which prefix to use for your scsh packages is
> a decision you should take only once
The point is I don't want to make a decision. I want a reasonable
default. I'm the person who just wants to use scx.
at a higher level, it seems the difficulty is making the package
installer separate from scsh itself since the install locations have to
be communicated between the two. I though in reading the scsh-0.6.6
release threads that it was being folded in, but I guess there were just
some things added to 0.6.6 to support the package installer.
at some point users are probably going to just install an "uberscsh"
that includes scsh, the package installer, and all the common packages,
basically having to have a whole distribution, not just seperate pieces.
that is basically what perl has become it would seem.
-bri
|