[racket-dev] [plt] Push #27511: master branch updated

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Sep 17 08:41:35 EDT 2013

At Tue, 17 Sep 2013 08:31:26 -0400, Sam Tobin-Hochstadt wrote:
> On Tue, Sep 17, 2013 at 8:15 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> >
> > In this particular case, if `raco setup` hadn't reported failure, the
> > builds might have hobbled along; I'm not sure. The snapshot build
> > generally relies on dependencies being accurate, and I don't think it's
> > worth thinking hard about which inaccuracies might be survivable for a
> > distribution build.
> Can you say more about how the dependency info is used in the snapshot
> build process? In this case, I would think that the minimal build
> doesn't include either package involved in this, and the regular build
> includes both. Would that mean that the dependency error wouldn't
> break things? 

I think you're correct, but..

> Or are there other uses of the dependency info in the
> snapshot process?

... I wouldn't bet against that.

I think the snapshot system is solid, but my experience over many small
changes to the package system is that any invariant is used in more
places than I remember; when we change or remove some assumption, then
I end up fixing more places than I expect.

It might be, for example, that installers would get created
successfully, but installation would somehow trip over the assumption
that `raco setup` won't report any errors in an initial install. Or
maybe the install works, but as soon as you try to install a package,
it runs into the same problem. I don't see either of those things
happening in this case, but those are examples of where I may have
overlooked something.

Posted on the dev mailing list.