Re: [racket-dev] `raco link', "links.rktd", "pkgs", and "config.rktd"

2013-06-27 Thread Eli Barzilay
Two hours ago, Matthew Flatt wrote:
> At Wed, 26 Jun 2013 01:04:13 -0400, Eli Barzilay wrote:
> > > Furthermore, "config.rktd" can provide a list of additional
> > > files/directories to search. This allows the main "links.rktd"
> > > and "pkgs" to act like "/usr/lib" things, while additional
> > > directories can act like "/lib" things.
> > 
> > Can you explain this more?  I don't see the connection.
> 
> Sorry, I meant to write "/usr/local/lib" (instead of "/usr/lib") and
> "/usr/lib" (instead of "/lib"). It that more clear?

Yeah, that's what I hoped you meant...

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] `raco link', "links.rktd", "pkgs", and "config.rktd"

2013-06-27 Thread Matthew Flatt
At Wed, 26 Jun 2013 01:04:13 -0400, Eli Barzilay wrote:
> 8 hours ago, Matthew Flatt wrote:
> > The "config.rktd" file in "etc" can now specify a location for the
> > installation-wide "links.rktd" file and "pkgs" installed-package
> > directory (with its "pkgs.rktd").
> 
> On a clean build I get an empty "etc" directory -- explained by moving
> the files that were in it -- but is it now a bug, or is it a
> placeholder for an optional config file?  (Would there be anything
> else there?)

Yes, that's as intended. I think "config.rktd" is the only thing that
is put in "etc", now.

> > Furthermore, "config.rktd" can provide a list of additional
> > files/directories to search. This allows the main "links.rktd" and
> > "pkgs" to act like "/usr/lib" things, while additional directories
> > can act like "/lib" things.
> 
> Can you explain this more?  I don't see the connection.

Sorry, I meant to write "/usr/local/lib" (instead of "/usr/lib") and
"/usr/lib" (instead of "/lib"). It that more clear?

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] `raco link', "links.rktd", "pkgs", and "config.rktd"

2013-06-25 Thread Eli Barzilay
8 hours ago, Matthew Flatt wrote:
> The "config.rktd" file in "etc" can now specify a location for the
> installation-wide "links.rktd" file and "pkgs" installed-package
> directory (with its "pkgs.rktd").

On a clean build I get an empty "etc" directory -- explained by moving
the files that were in it -- but is it now a bug, or is it a
placeholder for an optional config file?  (Would there be anything
else there?)


> Furthermore, "config.rktd" can provide a list of additional
> files/directories to search. This allows the main "links.rktd" and
> "pkgs" to act like "/usr/lib" things, while additional directories
> can act like "/lib" things.

Can you explain this more?  I don't see the connection.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] `raco link', "links.rktd", "pkgs", and "config.rktd"

2013-06-25 Thread Robby Findler
On Tue, Jun 25, 2013 at 3:49 PM, Matthew Flatt  wrote:

> Caveat 1: In case you don't use the top-level default `make' target
> when building from the repo, this change means that you need to run
> `make pkg-links' when you next update.
>
>
You may also find old, wrong version .zo files hanging around confusing
things after this update (I did, anyways). Probably easiest to just delete
them all; since the version number changed they all have to be rebuilt
regardless.

Robby


> Caveat 2: Feel free to skip the rest. This message is on the far end of
> what most of us care about in the package system. I think the changes
> are unavoidable, though, and I think the mostly get us to a complete
> and consistent design point for multi-user installations (likely
> common) and "/usr" versus "/usr/lib" conventions (not so much, but I
> think there is demand for that).
>
>
> When single-collection packages become the default, I don't see much
> use for `raco link', and instead it will be better for most of us to
> use `raco pkg install --link'. But I see `raco link' sticking around as
> an layer that some may want to use or look inside.
>
> To bring `raco link' and `raco pkg' more in line with each other, and
> to generally clean up a mistake (IMO) in `raco link', I've changed the
> behavior of `raco link -u' to be like `raco pkg ... -u': it installs a
> link in a user- and version-specific way, instead of in a user-specific
> but all-version way.
>
> Naturally, the `raco link' command now supports `-s'/`--shared', just
> like `raco pkg'.
>
> Links installed with `-u' now go into a "links.rktd" file that's in the
> version-labeled directory in the user's add-on directory, instead of in
> "links.rktd" (with a version regexp) outside the version-labeled
> directory.
>
>
> The "config.rktd" file in "etc" can now specify a location for the
> installation-wide "links.rktd" file and "pkgs" installed-package
> directory (with its "pkgs.rktd"). Furthermore, "config.rktd" can
> provide a list of additional files/directories to search. This allows
> the main "links.rktd" and "pkgs" to act like "/usr/lib" things, while
> additional directories can act like "/lib" things.
>
> The `-C'/`--links' command-line flag to `racket' has been removed.
>
>
> The default location for the installation-wide "links.rtkd" and
> "pkgs.rktd" files have moved from "etc" back into "lib". Either
> location seems sensible to me, but with the generalization to support a
> installation-wide search list, it works better to keep "pkgs.rktd"
> together with the installed package implementations, and it seems best
> to keep "pkgs" and "links.rktd" together.
>
>
> Note that the search path for collections goes through user-specific,
> version-specific links first (i.e., "user" scope), then user-specific,
> all-version links (i.e.,"shared" scope), and then installation-wide
> links (i.e., "installation" scope). The package system should similarly
> work sensibly if you, say, install a package at "user" scope that
> shadows collections for a package (possibility using the same package
> name) at "installation" scope. For now, you have to use `raco pkg
> install --force' to make that happen; longer term, I think we want an
> option that is like `--force' but limited to sensible shadowings.
>
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
_
  Racket Developers list:
  http://lists.racket-lang.org/dev