Loading scripts/kicad-install.sh +32 −16 Original line number Original line Diff line number Diff line #!/bin/bash #!/bin/bash -e # Install KiCad from source onto either: # Install KiCad from source onto either: # -> a Ubuntu/Debian/Mint or # -> a Ubuntu/Debian/Mint or # -> a Red Hat # -> a Red Hat Loading @@ -25,6 +25,12 @@ # bzr-git seems not up to the task. wget or curl would also work. # bzr-git seems not up to the task. wget or curl would also work. # Since bash is invoked with -e by the first line of this script, all the steps in this script # must succeed otherwise bash will abort at the first non-zero error code. Therefore any script # functions must be crafted to anticipate numerous conditions, such that no command fails unless it # is a serious situation. # Set where the 3 source trees will go, use a full path # Set where the 3 source trees will go, use a full path WORKING_TREES=~/kicad_sources WORKING_TREES=~/kicad_sources Loading Loading @@ -113,9 +119,17 @@ install_prerequisites() rm_build_dir() rm_build_dir() { { local dir="$1" local dir="$1" echo "removing directory $dir" if [ -e "$dir/install_manifest.txt" ]; then # this file is often created as root, so remove as root # this file is often created as root, so remove as root sudo rm "$dir/install_manifest.txt" 2> /dev/null sudo rm "$dir/install_manifest.txt" 2> /dev/null fi if [ -d "$dir" ]; then rm -rf "$dir" rm -rf "$dir" fi } } Loading @@ -142,24 +156,24 @@ cmake_uninstall() # sets an environment variable globally. # sets an environment variable globally. set_env_var() set_env_var() { { local VAR=$1 local var=$1 local VAL=$2 local val=$2 if [ -d /etc/profile.d ]; then if [ -d /etc/profile.d ]; then if [ ! -e /etc/profile.d/kicad.sh ] || ! grep "$VAR" /etc/profile.d/kicad.sh; then if [ ! -e /etc/profile.d/kicad.sh ] || ! grep "$var" /etc/profile.d/kicad.sh >> /dev/null; then echo echo echo "Adding environment variable $VAR to file /etc/profile.d/kicad.sh" echo "Adding environment variable $var to file /etc/profile.d/kicad.sh" echo "Please logout and back in after this script completes for environment" echo "Please logout and back in after this script completes for environment" echo "variable to get set into environment." echo "variable to get set into environment." sudo sh -c "echo export $VAR=$VAL >> /etc/profile.d/kicad.sh" sudo sh -c "echo export $var=$val >> /etc/profile.d/kicad.sh" fi fi elif [ -e /etc/environment ]; then elif [ -e /etc/environment ]; then if ! grep "$VAR" /etc/environment; then if ! grep "$var" /etc/environment >> /dev/null; then echo echo echo "Adding environment variable $VAR to file /etc/environment" echo "Adding environment variable $var to file /etc/environment" echo "Please reboot after this script completes for environment variable to get set into environment." echo "Please reboot after this script completes for environment variable to get set into environment." sudo sh -c "echo $VAR=$VAL >> /etc/environment" sudo sh -c "echo $var=$val >> /etc/environment" fi fi fi fi } } Loading Loading @@ -239,7 +253,7 @@ install_or_update() mkdir build && cd build mkdir build && cd build cmake ../ cmake ../ sudo make install sudo make install echo " kicad-lib installed." echo " kicad-lib.bzr installed." echo "step 9) as non-root, install user configuration files..." echo "step 9) as non-root, install user configuration files..." Loading @@ -256,12 +270,14 @@ install_or_update() sudo make install sudo make install echo " kicad-doc.bzr installed." echo " kicad-doc.bzr installed." echo echo "step 11) check for environment variables..." echo 'All KiCad "--install-or-update" steps completed, you are up to date.' if [ -z "${KIGITHUB}" ]; then if [ -z "${KIGITHUB}" ]; then set_env_var KIGITHUB https://github.com/KiCad set_env_var KIGITHUB https://github.com/KiCad fi fi echo echo 'All KiCad "--install-or-update" steps completed, you are up to date.' echo } } Loading Loading
scripts/kicad-install.sh +32 −16 Original line number Original line Diff line number Diff line #!/bin/bash #!/bin/bash -e # Install KiCad from source onto either: # Install KiCad from source onto either: # -> a Ubuntu/Debian/Mint or # -> a Ubuntu/Debian/Mint or # -> a Red Hat # -> a Red Hat Loading @@ -25,6 +25,12 @@ # bzr-git seems not up to the task. wget or curl would also work. # bzr-git seems not up to the task. wget or curl would also work. # Since bash is invoked with -e by the first line of this script, all the steps in this script # must succeed otherwise bash will abort at the first non-zero error code. Therefore any script # functions must be crafted to anticipate numerous conditions, such that no command fails unless it # is a serious situation. # Set where the 3 source trees will go, use a full path # Set where the 3 source trees will go, use a full path WORKING_TREES=~/kicad_sources WORKING_TREES=~/kicad_sources Loading Loading @@ -113,9 +119,17 @@ install_prerequisites() rm_build_dir() rm_build_dir() { { local dir="$1" local dir="$1" echo "removing directory $dir" if [ -e "$dir/install_manifest.txt" ]; then # this file is often created as root, so remove as root # this file is often created as root, so remove as root sudo rm "$dir/install_manifest.txt" 2> /dev/null sudo rm "$dir/install_manifest.txt" 2> /dev/null fi if [ -d "$dir" ]; then rm -rf "$dir" rm -rf "$dir" fi } } Loading @@ -142,24 +156,24 @@ cmake_uninstall() # sets an environment variable globally. # sets an environment variable globally. set_env_var() set_env_var() { { local VAR=$1 local var=$1 local VAL=$2 local val=$2 if [ -d /etc/profile.d ]; then if [ -d /etc/profile.d ]; then if [ ! -e /etc/profile.d/kicad.sh ] || ! grep "$VAR" /etc/profile.d/kicad.sh; then if [ ! -e /etc/profile.d/kicad.sh ] || ! grep "$var" /etc/profile.d/kicad.sh >> /dev/null; then echo echo echo "Adding environment variable $VAR to file /etc/profile.d/kicad.sh" echo "Adding environment variable $var to file /etc/profile.d/kicad.sh" echo "Please logout and back in after this script completes for environment" echo "Please logout and back in after this script completes for environment" echo "variable to get set into environment." echo "variable to get set into environment." sudo sh -c "echo export $VAR=$VAL >> /etc/profile.d/kicad.sh" sudo sh -c "echo export $var=$val >> /etc/profile.d/kicad.sh" fi fi elif [ -e /etc/environment ]; then elif [ -e /etc/environment ]; then if ! grep "$VAR" /etc/environment; then if ! grep "$var" /etc/environment >> /dev/null; then echo echo echo "Adding environment variable $VAR to file /etc/environment" echo "Adding environment variable $var to file /etc/environment" echo "Please reboot after this script completes for environment variable to get set into environment." echo "Please reboot after this script completes for environment variable to get set into environment." sudo sh -c "echo $VAR=$VAL >> /etc/environment" sudo sh -c "echo $var=$val >> /etc/environment" fi fi fi fi } } Loading Loading @@ -239,7 +253,7 @@ install_or_update() mkdir build && cd build mkdir build && cd build cmake ../ cmake ../ sudo make install sudo make install echo " kicad-lib installed." echo " kicad-lib.bzr installed." echo "step 9) as non-root, install user configuration files..." echo "step 9) as non-root, install user configuration files..." Loading @@ -256,12 +270,14 @@ install_or_update() sudo make install sudo make install echo " kicad-doc.bzr installed." echo " kicad-doc.bzr installed." echo echo "step 11) check for environment variables..." echo 'All KiCad "--install-or-update" steps completed, you are up to date.' if [ -z "${KIGITHUB}" ]; then if [ -z "${KIGITHUB}" ]; then set_env_var KIGITHUB https://github.com/KiCad set_env_var KIGITHUB https://github.com/KiCad fi fi echo echo 'All KiCad "--install-or-update" steps completed, you are up to date.' echo } } Loading