36 lines
1.4 KiB
Bash
Executable File
36 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
builder=$(dirname "$(realpath "$BASH_SOURCE")")
|
|
target=$1
|
|
[[ $# -eq 2 ]] && target=$1/$2
|
|
target=${target:-/opt/bin/udbuild}
|
|
cmd=$(basename $target)
|
|
parent=$(dirname $target)
|
|
echo NOTE: the uci build script can be called directly at $builder
|
|
# echo "$PATH --- $parent"
|
|
declare -a a="(${PATH//:/ })"
|
|
for i in ${a[*]}; do [[ $i == $parent ]] && found=true; done
|
|
if [[ $found ]]; then
|
|
echo creating a link \'$cmd\' in \'$parent\' to \'$builder\'
|
|
if [[ -f $target ]]; then
|
|
echo "$target already exists do you want to overwrite? (y/n) "
|
|
read -e ans
|
|
[[ ! $ans == "y" ]] && exit 1
|
|
fi
|
|
if ln -fns $builder/build $target; then
|
|
[[ ! $(command -v $cmd) ]] && echo FATAL: link failed $cmd not found in path \
|
|
|| echo install success: try \'$cmd -h\' now
|
|
else
|
|
echo Error creating link
|
|
echo if \': Permission denied\' 'then' run \'sudo ./install\'
|
|
fi
|
|
else
|
|
echo "Install failed: $parent not in current path"
|
|
echo $PATH
|
|
echo "link to script not created. your install options are:"
|
|
echo "1. add $parent to your PATH"
|
|
echo "2. rerun this script using a directory in the system path (e.g ./install /usr/bin build)"
|
|
echo "3. add the following export somewhere in your shell (e.g. ~/.bashrc)"
|
|
echo " export UDBUILD=$builder/build"
|
|
echo ' and then use $UDBUILD to invoke the build script'
|
|
echo ' ( e.g $UDBUILD -e Smybuild.env)'
|
|
fi |