Print logs while installing. Add editor support.
The useful edit command `sudo-nopasswd` now supports custom editor use (BUGFIX).
This commit is contained in:
@@ -3,11 +3,18 @@ set -e
|
|||||||
[ "$EUID" -eq 0 ] || { sudo "$0" "$@"; exit $?; }
|
[ "$EUID" -eq 0 ] || { sudo "$0" "$@"; exit $?; }
|
||||||
CONSTANTS="sudo_no_passwd_constants.sh"
|
CONSTANTS="sudo_no_passwd_constants.sh"
|
||||||
SRC="$(dirname "$0")/../src"
|
SRC="$(dirname "$0")/../src"
|
||||||
|
echo source "$SRC/$CONSTANTS"
|
||||||
source "$SRC/$CONSTANTS"
|
source "$SRC/$CONSTANTS"
|
||||||
|
echo mkdir -p "$SHARE_DIR"
|
||||||
mkdir -p "$SHARE_DIR"
|
mkdir -p "$SHARE_DIR"
|
||||||
|
echo cp "$SRC/$CONSTANTS" "$SHARE_DIR/"
|
||||||
cp "$SRC/$CONSTANTS" "$SHARE_DIR/"
|
cp "$SRC/$CONSTANTS" "$SHARE_DIR/"
|
||||||
|
echo cp "$SRC/$UPDATE_COMMAND" "$BIN_DIR/"
|
||||||
cp "$SRC/$UPDATE_COMMAND" "$BIN_DIR/"
|
cp "$SRC/$UPDATE_COMMAND" "$BIN_DIR/"
|
||||||
|
echo cp "$SRC/$WATCH_COMMAND" "$BIN_DIR/"
|
||||||
cp "$SRC/$WATCH_COMMAND" "$BIN_DIR/"
|
cp "$SRC/$WATCH_COMMAND" "$BIN_DIR/"
|
||||||
|
echo chmod +x "$BIN_DIR/$UPDATE_COMMAND" "$BIN_DIR/$WATCH_COMMAND"
|
||||||
|
cp "$SRC/$EDIT_COMMAND" "$BIN_DIR/"
|
||||||
chmod +x "$BIN_DIR/$UPDATE_COMMAND" "$BIN_DIR/$WATCH_COMMAND"
|
chmod +x "$BIN_DIR/$UPDATE_COMMAND" "$BIN_DIR/$WATCH_COMMAND"
|
||||||
if command -v systemctl >/dev/null 2>&1; then
|
if command -v systemctl >/dev/null 2>&1; then
|
||||||
cp "$SRC/$SERVICE_FILE" "$SYSTEMD_DIR/"
|
cp "$SRC/$SERVICE_FILE" "$SYSTEMD_DIR/"
|
||||||
@@ -16,4 +23,4 @@ elif command -v rc-update >/dev/null 2>&1; then
|
|||||||
else
|
else
|
||||||
echo "Unsupported init system."
|
echo "Unsupported init system."
|
||||||
fi
|
fi
|
||||||
"$(dirname "$0")/post_install.sh"
|
"$(dirname "$0")/post_install.sh"
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
[ "$EUID" -eq 0 ] || { sudo "$0" "$@"; exit $?; }
|
[ "$EUID" -eq 0 ] || { sudo "$0" "$@" "$EDITOR"; exit $?; }
|
||||||
|
editor="${!#}"
|
||||||
|
if [ -z "$editor" ]; then
|
||||||
|
editor="${EDITOR:-}"
|
||||||
|
if [ -z "$editor" ]; then
|
||||||
|
if command -v vim >/dev/null 2>&1; then
|
||||||
|
editor="vim"
|
||||||
|
elif command -v nano >/dev/null 2>&1; then
|
||||||
|
editor="nano"
|
||||||
|
else
|
||||||
|
echo "No editor found. Please set the EDITOR environment variable or pass an editor as an argument."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
set -- "${@:1:$(($#-1))}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
EDITOR="$editor"
|
||||||
|
fi
|
||||||
SHARE_ROOTS=("$HOME/.local/share" "/usr/local/share" "/usr/share")
|
SHARE_ROOTS=("$HOME/.local/share" "/usr/local/share" "/usr/share")
|
||||||
for SHARE_ROOT in "${SHARE_ROOTS[@]}"; do
|
for SHARE_ROOT in "${SHARE_ROOTS[@]}"; do
|
||||||
if [ -d "$SHARE_ROOT/sudo-nopasswd" ]; then
|
if [ -d "$SHARE_ROOT/sudo-nopasswd" ]; then
|
||||||
|
|||||||
@@ -18,3 +18,8 @@ INITD_DIR="/etc/init.d"
|
|||||||
|
|
||||||
UPDATE_COMMAND="update-sudo-nopasswd"
|
UPDATE_COMMAND="update-sudo-nopasswd"
|
||||||
WATCH_COMMAND="watch-sudo-nopasswd"
|
WATCH_COMMAND="watch-sudo-nopasswd"
|
||||||
|
EDIT_COMMAND="sudo-nopasswd"
|
||||||
|
|
||||||
|
if [ ! "$SHARE_DIR" ]; then
|
||||||
|
SHARE_DIR="/usr/share/sudo-nopasswd"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user