fix sudo_cmd whitespace, editor detection, other things...
This commit is contained in:
parent
0ba0d7d087
commit
7c7dcc5703
|
@ -46,13 +46,29 @@ my_name="Telebit Remote"
|
|||
my_repo="telebit.js"
|
||||
my_root=${my_root:-} # todo better install script
|
||||
sudo_cmd="sudo"
|
||||
sudo_cmde="sudo "
|
||||
exec 3<>/dev/tty
|
||||
read_cmd="read -u 3"
|
||||
# TODO detect if rsync is available and use rsync -a (more portable)
|
||||
rsync_cmd="cp -pPR"
|
||||
|
||||
my_edit=${EDITOR:-}
|
||||
set +e
|
||||
my_edit=$(type -p edit)
|
||||
if [ -z "$my_edit" ]; then
|
||||
my_edit=$(type -p nano)
|
||||
fi
|
||||
if [ -z "$my_edit" ]; then
|
||||
my_edit=$(type -p vim)
|
||||
fi
|
||||
if [ -z "$my_edit" ]; then
|
||||
my_edit=$(type -p vi)
|
||||
fi
|
||||
set -e
|
||||
|
||||
if [ "root" == $(whoami) ] || [ 0 == $(id -u) ]; then
|
||||
sudo_cmd=" "
|
||||
sudo_cmde=""
|
||||
fi
|
||||
|
||||
if [ -z "${my_email}" ]; then
|
||||
|
@ -129,14 +145,14 @@ my_npm="$my_node $TELEBIT_PATH/bin/npm"
|
|||
my_tmp="$(mktemp -d)"
|
||||
mkdir -p $my_tmp
|
||||
|
||||
echo "$sudo_cmd mkdir -p '$TELEBIT_PATH'"
|
||||
echo "${sudo_cmde}mkdir -p '$TELEBIT_PATH'"
|
||||
$sudo_cmd mkdir -p "$TELEBIT_PATH"
|
||||
$sudo_cmd mkdir -p "$TELEBIT_PATH/etc"
|
||||
$sudo_cmd mkdir -p "$TELEBIT_PATH/var/log"
|
||||
$sudo_cmd chown -R $(id -u -n):$(id -g -n) "$TELEBIT_PATH"
|
||||
echo "$sudo_cmd mkdir -p '/etc/$my_app/'"
|
||||
$sudo_cmd mkdir -p "/etc/$my_app/"
|
||||
$sudo_cmd chown $(id -u -n):$(id -g -n) "/etc/$my_app/"
|
||||
#echo "${sudo_cmde}mkdir -p '/etc/$my_app/'"
|
||||
#$sudo_cmd mkdir -p "/etc/$my_app/"
|
||||
#$sudo_cmd chown $(id -u -n):$(id -g -n) "/etc/$my_app/"
|
||||
|
||||
#https://git.coolaj86.com/coolaj86/telebit.js.git
|
||||
#https://git.coolaj86.com/coolaj86/telebit.js/archive/:tree:.tar.gz
|
||||
|
@ -170,14 +186,15 @@ cat << EOF > $TELEBIT_PATH/bin/$my_app
|
|||
#!/bin/bash
|
||||
$my_node $TELEBIT_PATH/bin/$my_bin
|
||||
EOF
|
||||
|
||||
chmod a+x $TELEBIT_PATH/bin/$my_app
|
||||
echo "$sudo_cmd ln -sf $TELEBIT_PATH/bin/$my_app /usr/local/bin/$my_app"
|
||||
echo "${sudo_cmde}ln -sf $TELEBIT_PATH/bin/$my_app /usr/local/bin/$my_app"
|
||||
$sudo_cmd ln -sf $TELEBIT_PATH/bin/$my_app /usr/local/bin/$my_app
|
||||
|
||||
set +e
|
||||
if type -p setcap >/dev/null 2>&1; then
|
||||
#echo "Setting permissions to allow $my_app to run on port 80 and port 443 without sudo or root"
|
||||
echo "$sudo_cmd setcap cap_net_bind_service=+ep $TELEBIT_PATH/bin/node"
|
||||
echo "${sudo_cmde}setcap cap_net_bind_service=+ep $TELEBIT_PATH/bin/node"
|
||||
$sudo_cmd setcap cap_net_bind_service=+ep $TELEBIT_PATH/bin/node
|
||||
fi
|
||||
set -e
|
||||
|
@ -230,12 +247,12 @@ if [ ! -e "$my_config" ]; then
|
|||
cat $TELEBIT_PATH/usr/share/$my_app.tpl.yml >> "$my_config"
|
||||
fi
|
||||
|
||||
my_config_link="/etc/$my_app/$my_app.yml"
|
||||
if [ ! -e "$my_config_link" ]; then
|
||||
echo "$sudo_cmd ln -sf '$my_config' '$my_config_link'"
|
||||
#$sudo_cmd mkdir -p /etc/$my_app
|
||||
$sudo_cmd ln -sf "$my_config" "$my_config_link"
|
||||
fi
|
||||
#my_config_link="/etc/$my_app/$my_app.yml"
|
||||
#if [ ! -e "$my_config_link" ]; then
|
||||
# echo "${sudo_cmde}ln -sf '$my_config' '$my_config_link'"
|
||||
# #$sudo_cmd mkdir -p /etc/$my_app
|
||||
# $sudo_cmd ln -sf "$my_config" "$my_config_link"
|
||||
#fi
|
||||
|
||||
my_config="$HOME/.config/$my_app/$my_app.yml"
|
||||
mkdir -p "$(dirname $my_config)"
|
||||
|
@ -254,8 +271,8 @@ if [ ! -e "$my_config" ]; then
|
|||
cat $TELEBIT_PATH/usr/share/$my_app.tpl.yml >> "$my_config"
|
||||
fi
|
||||
|
||||
echo "$sudo_cmd chown -R $my_user '$TELEBIT_PATH' '/etc/$my_app'"
|
||||
$sudo_cmd chown -R $my_user "$TELEBIT_PATH" "/etc/$my_app"
|
||||
echo "${sudo_cmde}chown -R $my_user '$TELEBIT_PATH'# '/etc/$my_app'"
|
||||
$sudo_cmd chown -R $my_user "$TELEBIT_PATH"# "/etc/$my_app"
|
||||
|
||||
# ~/.config/systemd/user/
|
||||
# %h/.config/telebit/telebit.yml
|
||||
|
@ -265,25 +282,25 @@ my_system_launcher=""
|
|||
if [ -d "/Library/LaunchDaemons" ]; then
|
||||
my_system_launcher="launchd"
|
||||
my_app_launchd_service="Library/LaunchDaemons/${my_app_pkg_name}.plist"
|
||||
echo "$sudo_cmd $rsync_cmd $TELEBIT_PATH/usr/share/dist/$my_app_launchd_service /$my_app_launchd_service"
|
||||
echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/$my_app_launchd_service /$my_app_launchd_service"
|
||||
$sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/$my_app_launchd_service" "/$my_app_launchd_service"
|
||||
|
||||
echo "$sudo_cmd chown root:wheel $my_root/$my_app_launchd_service"
|
||||
echo "${sudo_cmde}chown root:wheel $my_root/$my_app_launchd_service"
|
||||
$sudo_cmd chown root:wheel "$my_root/$my_app_launchd_service"
|
||||
echo "$sudo_cmd launchctl unload -w $my_root/$my_app_launchd_service >/dev/null 2>/dev/null"
|
||||
echo "${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service >/dev/null 2>/dev/null"
|
||||
$sudo_cmd launchctl unload -w "$my_root/$my_app_launchd_service" >/dev/null 2>/dev/null
|
||||
echo "$sudo_cmd launchctl load -w $my_root/$my_app_launchd_service"
|
||||
echo "${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service"
|
||||
$sudo_cmd launchctl load -w "$my_root/$my_app_launchd_service"
|
||||
|
||||
elif [ -d "$my_root/etc/systemd/system" ]; then
|
||||
my_system_launcher="systemd"
|
||||
echo "$sudo_cmd $rsync_cmd $TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service /etc/systemd/system/$my_app.service"
|
||||
echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service /etc/systemd/system/$my_app.service"
|
||||
$sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service" "/etc/systemd/system/$my_app.service"
|
||||
|
||||
$sudo_cmd systemctl daemon-reload
|
||||
echo "$sudo_cmd systemctl enable $my_app"
|
||||
echo "${sudo_cmde}systemctl enable $my_app"
|
||||
$sudo_cmd systemctl enable $my_app
|
||||
echo "$sudo_cmd systemctl start $my_app"
|
||||
echo "${sudo_cmde}systemctl start $my_app"
|
||||
$sudo_cmd systemctl restart $my_app
|
||||
fi
|
||||
|
||||
|
@ -295,7 +312,7 @@ echo "=============================================="
|
|||
echo " Privacy Settings in Config"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
echo "The example config file /etc/$my_app/$my_app.yml opts-in to"
|
||||
echo "The default config file $TELEBIT_PATH/etc/$my_app.yml opts-in to"
|
||||
echo "contributing telemetrics and receiving infrequent relevant updates"
|
||||
echo "(probably once per quarter or less) such as important notes on"
|
||||
echo "a new release, an important API change, etc. No spam."
|
||||
|
@ -315,33 +332,33 @@ if [ "systemd" == "$my_system_launcher" ]; then
|
|||
|
||||
echo "Edit the config and restart, if desired:"
|
||||
echo ""
|
||||
echo " $sudo_cmd edit /opt/$my_app/etc/$my_app.yml"
|
||||
echo " $sudo_cmd systemctl restart $my_app"
|
||||
echo " ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml"
|
||||
echo " ${sudo_cmde}systemctl restart $my_app"
|
||||
echo ""
|
||||
echo "Or disabled the service and start manually:"
|
||||
echo ""
|
||||
echo " $sudo_cmd systemctl stop $my_app"
|
||||
echo " $sudo_cmd systemctl disable $my_app"
|
||||
echo " $my_app --config /opt/$my_app/etc/$my_app.yml"
|
||||
echo " ${sudo_cmde}systemctl stop $my_app"
|
||||
echo " ${sudo_cmde}systemctl disable $my_app"
|
||||
echo " $my_app --config $TELEBIT_PATH/etc/$my_app.yml"
|
||||
|
||||
elif [ "launchd" == "$my_system_launcher" ]; then
|
||||
|
||||
echo "Edit the config and restart, if desired:"
|
||||
echo ""
|
||||
echo " $sudo_cmd edit /opt/$my_app/etc/$my_app.yml"
|
||||
echo " $sudo_cmd launchctl unload $my_root/$my_app_launchd_service"
|
||||
echo " $sudo_cmd launchctl load -w $my_root/$my_app_launchd_service"
|
||||
echo " ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml"
|
||||
echo " ${sudo_cmde}launchctl unload $my_root/$my_app_launchd_service"
|
||||
echo " ${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service"
|
||||
echo ""
|
||||
echo "Or disabled the service and start manually:"
|
||||
echo ""
|
||||
echo " $sudo_cmd launchctl unload -w $my_root/$my_app_launchd_service"
|
||||
echo " $my_app --config /opt/$my_app/etc/$my_app.yml"
|
||||
echo " ${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service"
|
||||
echo " $my_app --config $TELEBIT_PATH/etc/$my_app.yml"
|
||||
|
||||
else
|
||||
|
||||
echo "Edit the config, if desired:"
|
||||
echo ""
|
||||
echo " $sudo_cmd edit $my_config"
|
||||
echo " ${sudo_cmde}$my_edit $my_config"
|
||||
echo ""
|
||||
echo "Or disabled the service and start manually:"
|
||||
echo ""
|
||||
|
|
Loading…
Reference in New Issue