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

Make install directory a config option #908

Closed
wants to merge 5 commits into from

Conversation

hegner
Copy link
Contributor

@hegner hegner commented May 6, 2016

This PR refactors the settings for the install area into a separate install_area.py and makes the location of this area a configurable. Even though there is only one layout currently, the directory_layout has been made a config option as well.

@hegner
Copy link
Contributor Author

hegner commented May 11, 2016

@tgamblin - what would be needed to finish this one?
As I was touching plenty of files in this PR, I was flooded with warnings. Used some waiting time to tackle a few of those. Obviously this increases the risk for merge conflicts. But probably unavoidable quickly after introducing checks.

@mathstuf
Copy link
Contributor

@hegner I'd recommend splitting out the style fixes. The conflict resolution train is always longer than you think :) .

@mamelara
Copy link
Member

Any word on the status of this PR? NERSC would be very interested changing the install path.

@hegner
Copy link
Contributor Author

hegner commented Jun 28, 2016

@mamelara - I think @tgamblin should comment on the style fix issues. I could then do the necessary changes - if any - in no time.

@adamjstewart
Copy link
Member

Out of curiosity, what happens when two users install Spack in their home directories and both set their installation directory to the same directory. Are the install database and locks stored in the installation directory or should I expect to see lots of "spack find: not installed, spack install: already installed, spack uninstall: not installed" kind of confusion?

Someday I hope to have multiple system admins capable of installing software with Spack at the same time. Since at least one of us would be actively developing Spack and changing git branches, we would need to have multiple Spack installations. But it would be annoying to have to have multiple installation directories.

@tgamblin
Copy link
Member

The DB and its lock live in the installation directory ($root/.spack-db/index.yaml, $root/.spack-db/lock). And when we change to finer-grained locking and parallel installs, locks will be per-prefix.

@alalazo
Copy link
Member

alalazo commented Jun 29, 2016

And when we change to finer-grained locking and parallel installs, locks will be per-prefix.

@tgamblin OT, just to share the experience. Beware of :

remove_dead_links(spack.stage_path)

in stage.py. It is bound to break things when you go parallel if multiple processes are using local storage on different nodes.

@tgamblin
Copy link
Member

tgamblin commented Oct 27, 2016

@hegner: I rebased this on develop and am adding some updates to make install.yaml into a top-level config.yaml. Can you check the box on this PR that says Allow edits from maintainers so that I can push updates here?

@adamjstewart
Copy link
Member

install.yaml -> config.yaml sounds great to me! I'm very excited about moving towards generic Spack configurability.

@tgamblin
Copy link
Member

You're going to like these modifications 😄

@hegner
Copy link
Contributor Author

hegner commented Oct 27, 2016

@tgamblin - here you have it

@tgamblin
Copy link
Member

Thanks!

@justintoo
Copy link
Contributor

justintoo commented Oct 27, 2016

@tgamblin @hegner Is the install directory self-contained? i.e. spack is also installed with no dependency on the spack source directory?

@tgamblin
Copy link
Member

@justintoo: Once the install is done, it doesn't depend on the package.py files or the build stage at all. The build stage is actually removed by default after a successful install.

@tgamblin
Copy link
Member

@hegner: are you sure you checked the box here? I can't seem to push. Maybe I'm doing something wrong.

@tgamblin tgamblin closed this Oct 27, 2016
@tgamblin tgamblin reopened this Oct 27, 2016
@tgamblin
Copy link
Member

Hm this is odd -- GitHub says "Add more commits by pushing to the install_environment branch on hegner/spack." but I can't' seem to do that.

@tgamblin tgamblin mentioned this pull request Oct 27, 2016
10 tasks
@tgamblin
Copy link
Member

Just closing and moving to #2152.

@tgamblin tgamblin closed this Oct 27, 2016
@hegner
Copy link
Contributor Author

hegner commented Oct 27, 2016

@tgamblin - I enabled it. Maybe the problem is that my repo isn't a direct fork of yours. But let's follow up on the new PR.

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

Successfully merging this pull request may close these issues.

7 participants