rectifiers for some deps
parent
c0ef3d4bf6
commit
8e19ee2c68
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
set -u
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
app="awk"
|
||||
expected_target="gawk"
|
||||
|
||||
sym_check $app $expected_target
|
||||
|
||||
exit $?
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
set -u
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
app="yacc"
|
||||
symlink_target="bison"
|
||||
|
||||
|
||||
dialog \
|
||||
--title "Symlink '${app}' to '${symlink_target}'?" \
|
||||
--backtitle "Requirements Remediations" \
|
||||
--yesno "Do you want to Symlink ${app} to ${symlink_target}?" 7 60
|
||||
|
||||
response=$?
|
||||
|
||||
# this is distro-specific and distro-specific function routing should
|
||||
# account for things like this
|
||||
|
||||
function symlink() {
|
||||
ln -vs "$(which $2)" "$(dirname $(which $2))/$1"
|
||||
return $?
|
||||
}
|
||||
|
||||
install_result=0
|
||||
case $response in
|
||||
0) symlink "$app" "$symlink_target"; install_result=$?;;
|
||||
1) echo "Canceled. You need $app pointing to $symlink_target to run this.";;
|
||||
255) echo "Canceled. You need $app pointing to $symlink_target to run this.";;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
exit $install_result
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
set -u
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
app="sh"
|
||||
expected_target="bash"
|
||||
|
||||
sym_check $app $expected_target
|
||||
|
||||
exit $?
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
set -u
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
app="yacc"
|
||||
expected_target="bison"
|
||||
|
||||
sym_check $app $expected_target
|
||||
|
||||
exit $?
|
|
@ -4,9 +4,6 @@ set -u
|
|||
|
||||
export LC_ALL=C
|
||||
|
||||
echo
|
||||
echo "Checking bash..."
|
||||
bash --version | head -n1 | cut -d" " -f2-4
|
||||
|
||||
echo
|
||||
echo "Checking /bin/sh path"
|
||||
|
|
|
@ -4,6 +4,8 @@ source ./project_config.sh
|
|||
TERM=xterm-256color
|
||||
COLORTERM=truecolor
|
||||
LC_ALL=C
|
||||
PATH=${CROSSTOOLS_DIR}/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
|
||||
|
||||
|
||||
function echofail() {
|
||||
echo
|
||||
|
@ -42,10 +44,35 @@ ver_kernel()
|
|||
fi
|
||||
}
|
||||
|
||||
sym_check() {
|
||||
# the name of the binary/symlink we're checking as it appears in PATH
|
||||
app="$1"
|
||||
|
||||
# the name of the binary we expect it to point to
|
||||
expected_target="$2"
|
||||
|
||||
# the basename of the target of the symlink (if it is one)
|
||||
target="$(basename $(readlink -f $(which $app)))"
|
||||
if [[ "$target" == "$expected_target" ]]; then
|
||||
printf "OK:\t$app -> $expected_target\n";
|
||||
return 0;
|
||||
else
|
||||
if [[ "$target" == '' ]]; then
|
||||
printf "ERROR: '$app' is not present on this system.\n";
|
||||
return 1;
|
||||
else
|
||||
printf "ERROR: '$app' points to '$target' instead of '$expected_target'.\n"
|
||||
return 1;
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
alias_check() {
|
||||
if $1 --version 2>&1 | grep -qi $2; then
|
||||
printf "OK: %-4s is $2\n" "$1";
|
||||
return 0;
|
||||
else
|
||||
printf "ERROR: %-4s is NOT $2\n" "$1";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -80,6 +80,18 @@
|
|||
{
|
||||
"name": "xz version check",
|
||||
"dependencies": [ null ]
|
||||
},
|
||||
{
|
||||
"name": "awk-gawk check",
|
||||
"dependencies": [ null ]
|
||||
},
|
||||
{
|
||||
"name": "yacc-bison check",
|
||||
"dependencies": [ null ]
|
||||
},
|
||||
{
|
||||
"name": "sh-bash check",
|
||||
"dependencies": [ null ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -377,6 +377,60 @@
|
|||
"group": "bagira",
|
||||
"supply_environment": true,
|
||||
"environment": "environments/dependencies.env.bash"
|
||||
},
|
||||
{
|
||||
"name": "awk-gawk check",
|
||||
"target": "components/dependencies/awk-gawk.bash",
|
||||
"is_shell_command": true,
|
||||
"shell_definition": "bash",
|
||||
"force_pty": true,
|
||||
"set_working_directory": false,
|
||||
"working_directory": "",
|
||||
"rectify": false,
|
||||
"rectifier": "",
|
||||
"active": true,
|
||||
"required": true,
|
||||
"set_user_context": true,
|
||||
"user": "bagira",
|
||||
"group": "bagira",
|
||||
"supply_environment": true,
|
||||
"environment": "environments/dependencies.env.bash"
|
||||
},
|
||||
{
|
||||
"name": "yacc-bison check",
|
||||
"target": "components/dependencies/yacc-bison.bash",
|
||||
"is_shell_command": true,
|
||||
"shell_definition": "bash",
|
||||
"force_pty": true,
|
||||
"set_working_directory": false,
|
||||
"working_directory": "",
|
||||
"rectify": true,
|
||||
"rectifier": "components/dependencies/rectify_yacc-bison.bash",
|
||||
"active": true,
|
||||
"required": true,
|
||||
"set_user_context": true,
|
||||
"user": "root",
|
||||
"group": "root",
|
||||
"supply_environment": true,
|
||||
"environment": "environments/dependencies.env.bash"
|
||||
},
|
||||
{
|
||||
"name": "sh-bash check",
|
||||
"target": "components/dependencies/sh-bash.bash",
|
||||
"is_shell_command": true,
|
||||
"shell_definition": "bash",
|
||||
"force_pty": true,
|
||||
"set_working_directory": false,
|
||||
"working_directory": "",
|
||||
"rectify": false,
|
||||
"rectifier": "",
|
||||
"active": true,
|
||||
"required": true,
|
||||
"set_user_context": true,
|
||||
"user": "bagira",
|
||||
"group": "bagira",
|
||||
"supply_environment": true,
|
||||
"environment": "environments/dependencies.env.bash"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue