76 lines
1.2 KiB
Bash
Executable File
76 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
_src_base_dir="$(realpath $(dirname $0))"
|
|
|
|
log_file="$(mktemp)"
|
|
|
|
|
|
# -------------
|
|
# - Functions
|
|
# -------------
|
|
|
|
clean_up() {
|
|
|
|
# Perform program exit housekeeping
|
|
rm -f "$log_file"
|
|
exit $1
|
|
}
|
|
|
|
echononl(){
|
|
echo X\\c > /tmp/shprompt$$
|
|
if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then
|
|
echo "$*\\c" 1>&2
|
|
else
|
|
echo -e -n "$*" 1>&2
|
|
fi
|
|
rm /tmp/shprompt$$
|
|
}
|
|
|
|
error(){
|
|
echo ""
|
|
echo -e "\t[ \033[31m\033[1mFehler\033[m ]: $*"
|
|
echo ""
|
|
}
|
|
|
|
echo_ok() {
|
|
echo -e "\033[75G[ \033[32mok\033[m ]"
|
|
## echo -e " [ ok ]"
|
|
}
|
|
echo_failed(){
|
|
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
|
## echo -e " [ failed ]"
|
|
}
|
|
|
|
|
|
echo ""
|
|
echononl "\tInstall database related CPAN Modules"
|
|
_failed=false
|
|
> $log_file
|
|
_needed_cpan_modules="
|
|
CPAN
|
|
Mail::Sender
|
|
DBI
|
|
DBD::mysql
|
|
DBD::Pg
|
|
IO::Socket::UNIX
|
|
Digest::SHA1
|
|
Digest::SHA2
|
|
Digest::SHA256
|
|
Encode::Detect
|
|
Net::Patricia"
|
|
for _module in $_needed_cpan_modules ; do
|
|
cpanm -q --skip-installed $_module >> "$log_file" 2>&1
|
|
if [[ "$?" -ne 0 ]] ; then
|
|
_failed=true
|
|
fi
|
|
done
|
|
if $_failed ; then
|
|
echo_failed
|
|
error "$(cat $log_file)"
|
|
else
|
|
echo_ok
|
|
fi
|
|
|
|
echo ""
|
|
clean_up 0
|