[Top][All Lists]

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

Re: Where to install files?

From: Greg Troxel
Subject: Re: Where to install files?
Date: 10 Oct 2005 20:18:37 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

I concur with most of your comments, but would like to make a
metapoint: various OS/distributions/packaging systems have rules about
what goes where, and guile should be such that it can be made to
behave 'right' for these varying definitions of right.  I think this
is implicit in your comments, but wanted to raise it explicitly.

All that said, most packaging systems (pkgsrc, FreeBSD ports, typical
Linux) put all programs under the same prefix, so using "guile's
prefix" vs "our prefix" amounts to the same thing.  So it's only
non-distribution-managed that's an issue.

My own view is that a package configured with --prefix=/usr/foo should
install files only under /usr/foo.  This leads me with guile to want
to extend load-path to include guile directories in other prefixes.

  (5) location of the system init file (e.g. /etc/guile/1.6/init.scm,

Using --sysconfdir to specify this is/would be nice, and would make it
easy to hook in a new prefix.

  Guile's guile.m4 currently provides GUILE_SITE_DIR, but that feels
  wrong to me both because it doesn't handle the (2)/(3) distinction
  above, and because of the /site ending - I think of site as being for
  code put there by the local sysadmin, not for code from packages at

I agree, but really we need three levels:
  pkgsrc [wrong word, but distribution-managed]
  site   [managed for a group of machines]
  local  [just this machine]

With respect to /usr/local, I believe that guile should by default
only look in its own prefix.  Whether /usr/local should be searched
e.g by programs in /usr is a distribution-specific decision.  It may
be worthwhile to have a configure argument to add prefixes whose guile
directories should be searched, so that

  ./configure --prefix=/usr/pkg --searchprefix=/usr/bar --searchprefix=/usr/baz

would result in a guile installed in /usr/pkg that not only looks in
/usr/pkg/share/guile/1.6 but also /usr/bar/share/guile/1.6.

It might also be nice to have a run-time method to 

  guile-configer --addsearchprefix=/usr/bar

so that someone building another package to /usr/bar can invoke this
on the system guile to hook in the new path.

        Greg Troxel <address@hidden>

reply via email to

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