Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have stack just copy unchanged binaries when updating to new LTS #771

Closed
wolftune opened this issue Aug 12, 2015 · 4 comments
Closed

Have stack just copy unchanged binaries when updating to new LTS #771

wolftune opened this issue Aug 12, 2015 · 4 comments
Milestone

Comments

@wolftune
Copy link
Contributor

Apologies if somehow this is already happening and I missed it. It would be smoothest and fastest to update to newer LTS of Stackage if stack knew to check the version differences and just copy compiled binaries from previous LTS for unchanged items and only compile updated ones. (Maybe to save space could even just link, although that would make each LTS directory less independent, would cause breakage if older LTS directories were purged, although there could be a function that would copy over linked items prior to purging old LTS collections…)

I understand if most things are changing too often for this to work smoothly enough, like dependencies of dependencies etc. — I suppose it'd have to check and recompile all items that had any of their dependencies change.

If this isn't practical, I understand. But maybe it's feasible…

@snoyberg
Copy link
Contributor

We've had discussions about improving this situation, but it won't be a simple copy. In theory reregistering packages from one database to the other would work, but there's the problem that when a user garbage collects an old snapshot the new snapshot would be broken. We can also consider having one massive package database that everything gets installed to and then take views of that, but (1) that requires GHC 7.10 and newer, and (2) Cabal doesn't have the necessary support yet.

tl;dr: There are lots of avenues we can try, but we haven't attacked any of them yet.

@3noch
Copy link
Member

3noch commented Aug 13, 2015

This is starting down the nix road (it's a nice road, after all). @snoyberg Is there an issue discussing the kinds of things you guys want to try? E.g. views of one mega-db, downloading bindists instead of sdists, etc.

@snoyberg
Copy link
Contributor

No, I've been waiting to see the results of the cabal gsoc to add this
support to the library.

On Thu, Aug 13, 2015, 4:57 PM Elliot Cameron [email protected]
wrote:

This is starting down the nix road (it's a nice road, after all).
@snoyberg https://github.com/snoyberg Is there an issue discussing the
kinds of things you guys want to try? E.g. views of one mega-db,
downloading bindists instead of sdists, etc.


Reply to this email directly or view it on GitHub
#771 (comment)
.

@snoyberg snoyberg added this to the Later improvements milestone Aug 13, 2015
@snoyberg
Copy link
Contributor

I've opened #878 about this topic. I'm going to close this issue to move discussion over there. If there's something covered here that's not covered there, please say so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants