Fix PATH bugs

This commit is contained in:
Santiago Lo Coco 2024-04-09 23:43:32 +02:00
parent 12f40d39e1
commit 75871c1618
2 changed files with 32 additions and 2 deletions

View File

@ -1,20 +1,39 @@
PREFIX ?= /usr/local
DESTDIR = $(PREFIX)/bin
INSTALL_PATH = $(DESTDIR)/cbattery
SHAREDIR = $(PREFIX)/share/cbattery
DAEMON_PATH = $(SHAREDIR)/cbattery.plist
VISUDO_PATH = $(SHAREDIR)/.visudo
all: install
install: $(INSTALL_PATH)
install: $(INSTALL_PATH) $(DAEMON_PATH) $(VISUDO_PATH)
$(INSTALL_PATH): cbattery
@echo "Installing cbattery to $(DESTDIR)"
@install -d $(DESTDIR)
@install -m 755 $< $(DESTDIR)
$(DAEMON_PATH): cbattery.plist
@echo "Installing cbattery.plist to $(DAEMON_PATH)"
@install -d $(SHAREDIR)
@install -m 644 $< $(DAEMON_PATH)
$(VISUDO_PATH): .visudo
@echo "Installing .visudo to $(VISUDO_PATH)"
@install -d $(SHAREDIR)
@install -m 644 $< $(VISUDO_PATH)
uninstall:
@echo "Removing cbattery from $(DESTDIR)"
@$(DESTDIR)/cbattery revert || (echo "Reverting cbattery configurations failed"; exit 1)
@rm -f $(INSTALL_PATH)
@echo "Removing cbattery.plist from $(DAEMON_PATH)"
@rm -f $(DAEMON_PATH)
@echo "Removing .visudo from $(VISUDO_PATH)"
@rm -f $(VISUDO_PATH)
@echo "Removing $(SHAREDIR)"
@rmdir $(SHAREDIR) || true
help:
@echo "Available targets:"

View File

@ -3,6 +3,7 @@
set -e
CACHE_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/cbattery.status"
SHARE_DIR=/usr/local/share/cbattery
usage() {
cat << EOF
@ -66,7 +67,7 @@ install_visudo_file() {
echo "'smc' is required but not found."
exit 1
fi
sed "s:smc:$smc_loc:g" ".visudo" | sudo tee "$sudoers_file" > /dev/null
sed "s:smc:$smc_loc:g" "$SHARE_DIR/.visudo" | sudo tee "$sudoers_file" > /dev/null
if ! sudo visudo -c -f "$sudoers_file"; then
echo "Failed to check sudoers file syntax."
sudo rm "$sudoers_file"
@ -75,6 +76,13 @@ install_visudo_file() {
sudo chmod 440 "$sudoers_file"
}
install_launch_daemon() {
launch_daemon=/Library/LaunchDaemons/cbattery.plist
sudo cp "$SHARE_DIR"/cbattery.plist "$launch_daemon"
sudo chown root:wheel "$launch_daemon"
sudo launchctl load "$launch_daemon"
}
get_cached_status() {
set +e
read_cache_result=$(read_cache)
@ -127,6 +135,9 @@ runScript() {
"visudo")
install_visudo_file
;;
"daemon")
install_launch_daemon
;;
*)
echo "Invalid command: $action"
usage