From 501cdfdb8d346148b09604da183991e16cbca032 Mon Sep 17 00:00:00 2001 From: Marty Kandes <mkandes@sdsc.edu> Date: Tue, 27 Feb 2018 15:21:02 -0800 Subject: [PATCH] naked-singularity-v0.1.3 :: updated ubuntu.def and ubuntu-cuda.def to install miniconda2&3 by default via expect --- README | 4 +- .../us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def | 87 +++++++++++++++++-- .../us/ucsd/sdsc/comet/ubuntu/ubuntu.def | 73 +++++++++++++++- 3 files changed, 155 insertions(+), 9 deletions(-) diff --git a/README b/README index b893b41..c9475cb 100644 --- a/README +++ b/README @@ -29,8 +29,8 @@ AUTHOR VERSION - 0.1.2 + 0.1.3 LAST UPDATED - Wednesday, February 14th, 2018 + Tuesday, February 27th, 2018 diff --git a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def index 491cd42..5456bef 100644 --- a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def +++ b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def @@ -9,11 +9,10 @@ OSVersion: xenial APPLICATION_NAME cuda APPLICATION_VERSION 8.0.44 APPLICATION_URL https://developer.nvidia.com/cuda-zone - DEVICE_DRIVER_VERSION 367.48 SYSTEM_NAME comet SYSTEM_SINGULARITY_VERSION 2.3.2 - SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html - LAST_UPDATED 20180214 + SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html + LAST_UPDATED 20180226 %setup @@ -57,9 +56,89 @@ OSVersion: xenial apt-get -y install gfortran apt-get -y install zip + # Install expect to automate responses for interactive build questions + apt-get -y install expect + # Make filesystem mount points mkdir /cvmfs /oasis /projects /scratch + # Build and install additional software packages in /opt + cd /opt + + # Install Miniconda -- a free minimal installer for conda + # + # Miniconda is a small, bootstrap version of Anaconda that includes + # only conda, Python, the packages they depend on and a small number + # of other useful packages, including pip, zlib and a few others. + # Use the 'conda install' command to install more than 720 + # additional conda packages from the Anaconda repository. + # + # https://conda.io/docs/index.html + + wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh + chmod +x Miniconda2-latest-Linux-x86_64.sh + + echo '#!/usr/bin/expect -f' > install-miniconda2.exp + echo 'spawn ./Miniconda2-latest-Linux-x86_64.sh' >> install-miniconda2.exp + echo 'expect "Please, press ENTER to continue\r' >> install-miniconda2.exp + echo '>>> "' >> install-miniconda2.exp + echo 'send "\r "' >> install-miniconda2.exp + echo 'expect "Do you accept the license terms? \[yes|no\]\r' >> install-miniconda2.exp + echo '\[no\] >>> "' >> install-miniconda2.exp + echo 'send "yes\r"' >> install-miniconda2.exp + echo 'expect "Miniconda2 will now be installed into this location:\r' >> install-miniconda2.exp + echo '/root/miniconda2\r' >> install-miniconda2.exp + echo '\r' >> install-miniconda2.exp + echo ' - Press ENTER to confirm the location\r' >> install-miniconda2.exp + echo ' - Press CTRL-C to abort the installation\r' >> install-miniconda2.exp + echo ' - Or specify a different location below\r' >> install-miniconda2.exp + echo '\r' >> install-miniconda2.exp + echo '\[/root/miniconda2\] >>> "' >> install-miniconda2.exp + echo 'send "/opt/miniconda2\r"' >> install-miniconda2.exp + echo 'expect "Do you wish the installer to prepend the Miniconda2 install location\r' >> install-miniconda2.exp + echo 'to PATH in your /root/.bashrc ? \[yes|no\]\r' >> install-miniconda2.exp + echo '\[no\] >>> "' >> install-miniconda2.exp + echo 'send "no\r"' >> install-miniconda2.exp + echo 'expect "Thank you for installing Miniconda2!\r"' >> install-miniconda2.exp + + chmod +x install-miniconda2.exp + ./install-miniconda2.exp + + rm Miniconda2-latest-Linux-x86_64.sh + rm install-miniconda2.exp + + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh + chmod +x Miniconda3-latest-Linux-x86_64.sh + + echo '#!/usr/bin/expect -f' > install-miniconda3.exp + echo 'spawn ./Miniconda3-latest-Linux-x86_64.sh' >> install-miniconda3.exp + echo 'expect "Please, press ENTER to continue\r' >> install-miniconda3.exp + echo '>>> "' >> install-miniconda3.exp + echo 'send "\r "' >> install-miniconda3.exp + echo 'expect "Do you accept the license terms? \[yes|no\]\r' >> install-miniconda3.exp + echo '\[no\] >>> "' >> install-miniconda3.exp + echo 'send "yes\r"' >> install-miniconda3.exp + echo 'expect "Miniconda3 will now be installed into this location:\r' >> install-miniconda3.exp + echo '/root/miniconda3\r' >> install-miniconda3.exp + echo '\r' >> install-miniconda3.exp + echo ' - Press ENTER to confirm the location\r' >> install-miniconda3.exp + echo ' - Press CTRL-C to abort the installation\r' >> install-miniconda3.exp + echo ' - Or specify a different location below\r' >> install-miniconda3.exp + echo '\r' >> install-miniconda3.exp + echo '\[/root/miniconda3\] >>> "' >> install-miniconda3.exp + echo 'send "/opt/miniconda3\r"' >> install-miniconda3.exp + echo 'expect "Do you wish the installer to prepend the Miniconda3 install location\r' >> install-miniconda3.exp + echo 'to PATH in your /root/.bashrc ? \[yes|no\]\r' >> install-miniconda3.exp + echo '\[no\] >>> "' >> install-miniconda3.exp + echo 'send "no\r"' >> install-miniconda3.exp + echo 'expect "Thank you for installing Miniconda2!\r"' >> install-miniconda3.exp + + chmod +x install-miniconda3.exp + ./install-miniconda3.exp + + rm Miniconda3-latest-Linux-x86_64.sh + rm install-miniconda3.exp + # Location of NVIDIA repositories declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64" @@ -97,8 +176,6 @@ OSVersion: xenial apt-get -y install libglu1-mesa-dev apt-get -y install default-jre - cd /opt - # Download NVIDIA drivers, libraries, and packages wget --wait=10 "${CUDA_REPO_URL}/nvidia-367_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-367-dev_367.48-0ubuntu1_amd64.deb" diff --git a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def index d684758..c8ced8e 100644 --- a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def +++ b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def @@ -12,7 +12,7 @@ OSVersion: xenial SYSTEM_NAME comet SYSTEM_SINGULARITY_VERSION 2.3.2 SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html - LAST_UPDATED 20180213 + LAST_UPDATED 20180226 %setup @@ -56,12 +56,81 @@ OSVersion: xenial apt-get -y install gfortran apt-get -y install zip + # Install expect to automate responses for interactive build questions + apt-get -y install expect + # Make filesystem mount points mkdir /cvmfs /oasis /projects /scratch - # Build and install from souce in /opt + # Build and install additional software packages in /opt cd /opt + # Install miniconda2 + wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh + chmod +x Miniconda2-latest-Linux-x86_64.sh + + echo '#!/usr/bin/expect -f' > install-miniconda2.exp + echo 'spawn ./Miniconda2-latest-Linux-x86_64.sh' >> install-miniconda2.exp + echo 'expect "Please, press ENTER to continue\r' >> install-miniconda2.exp + echo '>>> "' >> install-miniconda2.exp + echo 'send "\r "' >> install-miniconda2.exp + echo 'expect "Do you accept the license terms? \[yes|no\]\r' >> install-miniconda2.exp + echo '\[no\] >>> "' >> install-miniconda2.exp + echo 'send "yes\r"' >> install-miniconda2.exp + echo 'expect "Miniconda2 will now be installed into this location:\r' >> install-miniconda2.exp + echo '/root/miniconda2\r' >> install-miniconda2.exp + echo '\r' >> install-miniconda2.exp + echo ' - Press ENTER to confirm the location\r' >> install-miniconda2.exp + echo ' - Press CTRL-C to abort the installation\r' >> install-miniconda2.exp + echo ' - Or specify a different location below\r' >> install-miniconda2.exp + echo '\r' >> install-miniconda2.exp + echo '\[/root/miniconda2\] >>> "' >> install-miniconda2.exp + echo 'send "/opt/miniconda2\r"' >> install-miniconda2.exp + echo 'expect "Do you wish the installer to prepend the Miniconda2 install location\r' >> install-miniconda2.exp + echo 'to PATH in your /root/.bashrc ? \[yes|no\]\r' >> install-miniconda2.exp + echo '\[no\] >>> "' >> install-miniconda2.exp + echo 'send "no\r"' >> install-miniconda2.exp + echo 'expect "Thank you for installing Miniconda2!\r"' >> install-miniconda2.exp + + chmod +x install-miniconda2.exp + ./install-miniconda2.exp + + rm Miniconda2-latest-Linux-x86_64.sh + rm install-miniconda2.exp + + # Install miniconda3 + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh + chmod +x Miniconda3-latest-Linux-x86_64.sh + + echo '#!/usr/bin/expect -f' > install-miniconda3.exp + echo 'spawn ./Miniconda3-latest-Linux-x86_64.sh' >> install-miniconda3.exp + echo 'expect "Please, press ENTER to continue\r' >> install-miniconda3.exp + echo '>>> "' >> install-miniconda3.exp + echo 'send "\r "' >> install-miniconda3.exp + echo 'expect "Do you accept the license terms? \[yes|no\]\r' >> install-miniconda3.exp + echo '\[no\] >>> "' >> install-miniconda3.exp + echo 'send "yes\r"' >> install-miniconda3.exp + echo 'expect "Miniconda3 will now be installed into this location:\r' >> install-miniconda3.exp + echo '/root/miniconda3\r' >> install-miniconda3.exp + echo '\r' >> install-miniconda3.exp + echo ' - Press ENTER to confirm the location\r' >> install-miniconda3.exp + echo ' - Press CTRL-C to abort the installation\r' >> install-miniconda3.exp + echo ' - Or specify a different location below\r' >> install-miniconda3.exp + echo '\r' >> install-miniconda3.exp + echo '\[/root/miniconda3\] >>> "' >> install-miniconda3.exp + echo 'send "/opt/miniconda3\r"' >> install-miniconda3.exp + echo 'expect "Do you wish the installer to prepend the Miniconda3 install location\r' >> install-miniconda3.exp + echo 'to PATH in your /root/.bashrc ? \[yes|no\]\r' >> install-miniconda3.exp + echo '\[no\] >>> "' >> install-miniconda3.exp + echo 'send "no\r"' >> install-miniconda3.exp + echo 'expect "Thank you for installing Miniconda2!\r"' >> install-miniconda3.exp + + chmod +x install-miniconda3.exp + ./install-miniconda3.exp + + rm Miniconda3-latest-Linux-x86_64.sh + rm install-miniconda3.exp + # Update database for mlocate updatedb -- GitLab