summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am15
-rw-r--r--configure.ac14
2 files changed, 23 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 8fc2ae9..8e62ae4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,12 +5,15 @@ bin_PROGRAMS = bwrap
bwrap_srcpath := $(srcdir)
include Makefile-bwrap.am
-test-setuid: bwrap
- sudo chown root bwrap
- sudo sudo chmod u+s bwrap
-
-test-setcaps: bwrap
- sudo setcap "cap_sys_admin+ep cap_sys_chroot+ep" bwrap
+install-exec-hook:
+if PRIV_MODE_SETUID
+ $(SUDO_BIN) chown root $(DESTDIR)$(bindir)/bwrap
+ $(SUDO_BIN) chmod u+s $(DESTDIR)$(bindir)/bwrap
+else
+if PRIV_MODE_FILECAPS
+ $(SUDO_BIN) setcap cap_sys_admin,cap_sys_chroot+ep $(DESTDIR)$(bindir)/bwrap
+endif
+endif
include Makefile-docs.am
diff --git a/configure.ac b/configure.ac
index 10c7789..874015e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,20 @@ fi
changequote([,])dnl
AC_SUBST(WARN_CFLAGS)
+AC_ARG_WITH(priv-mode,
+ AS_HELP_STRING([--with-priv-mode=setuid/caps/none],
+ [How to set privilege-raising during make install)]),
+ [],
+ [with_priv_mode="none"])
+
+AM_CONDITIONAL(PRIV_MODE_FILECAPS, test "x$with_priv_mode" = "xcaps")
+AM_CONDITIONAL(PRIV_MODE_SETUID, test "x$with_priv_mode" = "xsetuid")
+
+AC_ARG_ENABLE(sudo,
+ AS_HELP_STRING([--enable-sudo],[Use sudo to set privileged mode on binaries during install (only needed if --with-priv-mode used)]),
+ [SUDO_BIN="sudo"], [SUDO_BIN=""])
+AC_SUBST([SUDO_BIN])
+
AC_CONFIG_FILES([
Makefile
])