-
Notifications
You must be signed in to change notification settings - Fork 15
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
Generate relocatable loadLSST.* scripts #2
Conversation
@airnandez: I thought that the setups.sh file works with ksh. If it doesn't please file an issue detailing what goes wrong and I can add ksh to mksetups (which is how dash/zsh is handled as a variant of sh)
|
@@ -3,7 +3,7 @@ | |||
# **** This file should not be edited in place **** | |||
# It is maintained in a repository at | |||
# git@git.lsstcorp.org:LSST/DMS/devenv/lsst | |||
# |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this is just a whitespace change (a single whitespace at the end of the line got deleted). I've seen it elsewhere as well. Is your editor doing this automatically?
Could you fix that -- we prefer not to mix whitespace and functional code changes (see https://confluence.lsstcorp.org/display/LDMDG/Git+Commit+Best+Practices).
Final comment: could you squash all commits to a single one? We're trying to have one logical change per commit; having more than that (and especially merges), makes it difficult to read code history (and debug, if necessary). Otherwise, a very good job (and definitely better than my first LSST commit :) ). |
Generate shell scripts for setting up the minimal environment required to install LSST software stack. Bootstrap scripts for the following shells are supported: bash, (t)csh, ksh, zsh. They are named 'loadLSST.?sh' using an explicit extension to convey their intended use. The bootstrap scripts allow for the LSST_HOME environment variable to point to a directory where the LSST software stack is installed. If not already set when the bootstrap script is execute it sets that variable to the location where the scripts are located and sets up the packages the stack depends on. NOTE: this is a combination of several commits to comply with LSST rules for pull requests.
Thanks for your comments. Here are mine:
Please dismiss this pull request. I will submit a separate one which hopefully comply with LSST practices. |
You can force-push over the top of this --- no need to submit a separate pull request. |
@PaulPrice Thanks for your tip: I'm still learning the details on how git works and probably will never finish. Anyway, I already submitted a separate pull request. Next time I will force-push. |
FYI, we do want trailing blanks stripped, so don't change your editor configuration. I think Mario's point was just that there should be a separate commit that just does that (with appropriate commit comment), followed by the real feature commit. |
@ktlim, @airnandez Yes, I'm sorry if that wasn't clear! PS: @airnandez Yes, git has a pretty steep learning curve, and the first pull request is the hardest. But a few pull requests down the road you'll be an expert (we've seen this happen over and over with people). Thanks! |
Got it. Thanks for this clarification. |
The purpose of this proposed modification is to make
newinstall.sh
generate relocatableloadLSST.*sh
scripts. This is a necessary (but not sufficient) ingredient for making the LSST software distribution relocatable.If not already set, all the generated
loadLSST.*sh
scripts set at execution time theLSST_HOME
variable to the directory where those shell-specific scripts are located. The current version of those scripts set that value to the directory wherenewinstall.sh
was downloaded. The other components to bootstrap the installation (i.e. EUPS, Anaconda, git, etc.) are set up from the value of theLSST_HOME
.Please note that as of EUPS v1.3.0 the shell KSH is not supported since there is no KSH-specific
setups.ksh
for EUPS [see issue DM-380]. TheloadLSST.ksh
generated script takes that into account and terminates gracefully.