<p>(Sorry, I'm on my phone and can't something more precise...)</p>
<p>Actually, this suggests a good easy to do the guessing thing: see if the 'repo-time-stamp' exists (in the installation directory). This will play nicely with 3rd party packagers who are not supposed to include it.</p>
<div class="gmail_quote">On Jan 6, 2013 1:27 PM, "Matthew Flatt" <<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
At Sun, 6 Jan 2013 11:42:52 -0500, Eli Barzilay wrote:<br>
> Yesterday, Matthew Flatt wrote:<br>
> > I have been thinking about how developers who build their own Racket<br>
> > are more likely to want installation-wide packages instead of user-<br>
> > and version-specific packages. This is particularly true for those<br>
> > of us who work from the git respository.<br>
> [...]<br>
> I'm also saying that [...] the goal<br>
> of this is to get defaults that "just work" for everyone, assuming<br>
> that we can do whatever magic is needed to get user/version-specific<br>
> packages in the resulting distributions, and assuming that `--prefix'<br>
> is used only by 3rd-party packagers. I think that such an assumption<br>
> is wrong, and there are lots of people who build from source using<br>
> `--prefix', and these people would have that extra tweak to keep in<br>
> mind. (And and bear in mind that a non-`--prefix' build is so much<br>
> more convenient yet people still use it: it means that people only<br>
> prefer it out of habit and other project conventions, so these people<br>
> are unlikely to remember the extra tweak.)<br>
><br>
> So assuming that I got everything right (which is highly<br>
> questionable), I think that it's best to have the same default for all<br>
> setups, and use an installation-wide installs by default only when<br>
> asked explicitly.<br>
<br>
Ok, I agree that it's better to be conservative and consistent on this<br>
point, instead of trying to guess correctly.<br>
<br>
For now, I've added:<br>
<br>
* A `default-scope' installation-wide package configuration that<br>
selects the default package scope for `raco pkg' commands (when<br>
using the installation's `raco pkg'). Set it with<br>
<br>
raco pkg config -i --set default-scope <scope><br>
<br>
* An `--enable-pkgscope=...' option to `configure', which sets the<br>
installation's `default-scope' configuration on install.<br>
<br>
This is just a slightly streamlined way to get a source-based build<br>
set up right the first time. If you don't specify<br>
`--enable-pkgscope' with `configure', then any existing<br>
configuration for an installation is preserved by `make install'.<br>
<br>
In any case, I think having an installation-specific default for<br>
package scope turns out to work a lot better than my previous<br>
suggestion of an environment variable.<br>
<br>
<br>
<br>
</blockquote></div>