Giving group read and execute perms for 'decomp' in binary dir (ATDV-156)
Created by: bartlettroscoe
The strategy that I am using to install Trilinos (for SPARC testing and upgrades) using the 'jenkins' entity account requires that all of the files being installed be group readable so the install command can be run by another user in the group (the atdm-devops-admin user in our case, see ATDV-156). If the base build directory is properly protected with permissions this does not loosen the protection of this 'decomp' script at all (as it is just group readable not group writable).
Without this patch, when I use this approach, I get the install failure:
CMake Error at packages/seacas/scripts/cmake_install.cmake:46 (file):
file INSTALL cannot copy file
"/ascldap/users/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp"
to
"/ascldap/users/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp".
Call Stack (most recent call first):
packages/seacas/cmake_install.cmake:89 (include)
cmake_install.cmake:181 (include)
With this patch it installs just fine.
How was this tested?
I tested this on 'waterman' using:
$ cd /rabartl/jenkins_base/BUILD/
$ rm -r CMake*
$ source ../Trilinos/cmake/std/atdm/load-env.sh \
Trilinos-atdm-waterman-cuda-9.2-release-debug
Hostname 'waterman11' matches known ATDM host 'waterman' and system 'waterman'
Setting compiler and build options for buld name 'Trilinos-atdm-waterman-cuda-9.2-release-debug'
Using waterman compiler stack CUDA-9.2 to build RELEASE-DEBUG code with Kokkos node type CUDA and KOKKOS_ARCH=Power9,Volta70
$ time cmake \
-GNinja \
-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/atdm/ATDMDevEnv.cmake \
-DTrilinos_ENABLE_TESTS=ON \
-DTrilinos_ENABLE_ALL_PACKAGS=ON \
-DCMAKE_INSTALL_PREFIX=/home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug \
../Trilinos \
&> configure.out
real 8m22.918s
user 5m25.198s
sys 0m38.330s
$ time ninja -j24 &> make.out
real 162m49.930s
user 3138m7.412s
sys 245m29.096s
$ time /home/atdm-devops-admin/tools/run-as-atdm-devops-admin \
cmake -P cmake_pbp_install.cmake &> make.install.out
real 1m20.888s
user 0m7.688s
sys 0m20.765s
With the install passes just fine showing no errors. The permissions on the 'decomp' file are:
$ ls -l /home/rabartl/jenkins_base/Trilinos/packages/seacas/scripts/decomp
-rwxrwxr-x 1 rabartl wg-run-as-atdm-devops 18836 Apr 24 08:54 /home/rabartl/jenkins_base/Trilinos/packages/seacas/scripts/decomp
$ ls -l /home/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp
-rwxr-x--- 1 rabartl wg-run-as-atdm-devops 18683 Apr 24 09:48 /home/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp
$ ls -l /home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp
-rwxr-xr-x 1 atdm-devops-admin rabartl 18683 Apr 24 09:48 /home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp
All that looks good.