From 4facb7f7dc9542db0bb23648a6c113082517c8b8 Mon Sep 17 00:00:00 2001 From: u Date: Mon, 28 Nov 2022 23:41:39 -0500 Subject: automatically acquire root through sudo if possible --- Makefile | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 374c2a5..3900162 100755 --- a/Makefile +++ b/Makefile @@ -17,8 +17,16 @@ endif endif endif +sudo != printf '%s\n' $$(groups) | grep -F sudo + +.DEFAULT_GOAL = install ifeq (0,$(shell id -u)) ROOT_INSTALL = y +else +ifneq (,$(sudo)) +ROOT_INSTALL = y +.DEFAULT_GOAL = install-sudo +endif endif ifdef ROOT_INSTALL @@ -51,23 +59,25 @@ tempdir=$(destdir)~tmp symlink=$(optdir)/firefox desktop_file=$(applications_dir)/firefox.desktop -global_symlink=$(bindir)/firefox - -.DEFAULT_GOAL = install +bin_symlink=$(bindir)/firefox -install_targets = $(symlink) $(global_symlink) $(desktop_file) $(alternatives) +install_targets = $(symlink) $(bin_symlink) $(alternatives) .PHONY: install beta nightly stable $(install_targets) ifndef UPDATE # 'sudo make UPDATE=y' is suitable to run from cron (no output if nothing # changed upstream) install: $(install_targets) +install-sudo: + $(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS) else -maybe_symlink := $(if $(shell [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && echo y),$(symlink)) +install-sudo: + @$(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS) +maybe_symlink != [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && printf '%%s\n' "$$(symlink)" install: $(maybe_symlink) @: endif -$(global_symlink): +$(bin_symlink): mkdir -p $(dir $@) ln -sf $(optdir)/firefox/firefox $(dir $@) @@ -84,7 +94,7 @@ endif $(symlink): $(destdir) ln -srnf $(destdir) $@ -beta nightly stable: install +beta nightly stable: $(.DEFAULT_GOAL) $(destdir): $(tarball) mkdir -p $(tempdir) -- cgit v1.2.3