fixing #1820
authorChristian Grothoff <christian@grothoff.org>
Wed, 2 Nov 2011 15:37:42 +0000 (15:37 +0000)
committerChristian Grothoff <christian@grothoff.org>
Wed, 2 Nov 2011 15:37:42 +0000 (15:37 +0000)
README
configure.ac
src/nat/Makefile.am
src/transport/Makefile.am
src/vpn/Makefile.am

diff --git a/README b/README
index ce7393ba84fc2c376bdffe9b4e93195e51759fdf..978ae2916d67cd788cd2dd77401483134623a21b 100644 (file)
--- a/README
+++ b/README
@@ -84,6 +84,13 @@ configuration file slightly so that data can be stored in
 "/var/lib/gnunet"; you may also want to use "/etc/gnunet.conf" for the
 location of the configuration file in this case.
 
+You can avoid running 'make install' as root if you run configure
+with the "--with-sudo=yes" option and have extensive sudo rights
+(can run chmod +s and chown via sudo).  If you run 'make install'
+as a normal user without sudo rights (or the configure option),
+certain binaries that require additional priviledges will not be
+installed properly (and NAT traversal, WLAN and VPN will not work).
+
 Note that additional, per-user configuration files
 (~/.gnunet/gnunet.conf) need to be created by each user (for example,
 by running gnunet-setup).  Note that gnunet-setup is a separate
index c12b2f4142b28434e29178e1da18f3fd68a723e7..148c827bc93596f0520accde0dd9e6cb3fa975f3 100644 (file)
@@ -676,6 +676,27 @@ AC_SUBST(DLLDIR)
 AC_SUBST(EXT_LIB_PATH)
 
 
+# test for sudo
+AC_MSG_CHECKING(for sudo)
+AC_ARG_WITH(sudo,
+  [  --with-sudo=PATH       path to sudo binary (or just yes)],
+  [AC_MSG_RESULT("$with_sudo")
+   case $with_sudo in
+   no)
+     SUDO_BINARY=
+     ;;
+   yes)
+     SUDO_BINARY=sudo
+     ;;
+   *)
+     SUDO_BINARY=$with_sudo
+    ;;
+   esac
+  ],
+  [AC_MSG_RESULT([no])])
+AC_SUBST(SUDO_BINARY)
+
+
 # should 'make check' run tests?
 AC_MSG_CHECKING(whether to run tests)
 AC_ARG_ENABLE([testruns],
index 97758df6263834dff327ccc41b8ba178ef1c91f9..5adab1ae587b9bb32d5990dce47f42d94821b79d 100644 (file)
@@ -18,8 +18,8 @@ NATBIN = gnunet-helper-nat-server gnunet-helper-nat-client
 NATSERVER = gnunet-helper-nat-server.c
 NATCLIENT = gnunet-helper-nat-client.c
 install-exec-hook:
-       chown root:root $(bindir)/gnunet-helper-nat-server $(bindir)/gnunet-helper-nat-client $(nattest) || true
-       chmod u+s $(bindir)/gnunet-helper-nat-server $(bindir)/gnunet-helper-nat-client $(nattest) || true
+       $(SUDO_BINARY) chown root:root $(bindir)/gnunet-helper-nat-server $(bindir)/gnunet-helper-nat-client $(nattest) || true
+       $(SUDO_BINARY) chmod u+s $(bindir)/gnunet-helper-nat-server $(bindir)/gnunet-helper-nat-client $(nattest) || true
 else
 install-exec-hook:
 endif
index 2b86a05bab23001a958c6f500ff9ab353bb8a69f..06bea95ba9a16f555bddcc93ed8542f0727e1cf4 100644 (file)
@@ -40,8 +40,8 @@ endif
 
 if LINUX
 install-exec-hook:
-       chown root:root $(bindir)/gnunet-transport-wlan-helper || true
-       chmod u+s $(bindir)/gnunet-transport-wlan-helper || true
+       $(SUDO_BINARY) chown root:root $(bindir)/gnunet-transport-wlan-helper || true
+       $(SUDO_BINARY) chmod u+s $(bindir)/gnunet-transport-wlan-helper || true
 else
 install-exec-hook:
 endif
index 0c61aa904bf6c41efe64994c4f14ccdbf609f0c7..d0abc652208f3c89e4d67c6c5a092733a8d30a5c 100644 (file)
@@ -12,10 +12,10 @@ if LINUX
 VPNBIN = gnunet-helper-vpn
 HIJACKBIN = gnunet-helper-hijack-dns
 install-exec-hook:
-       chown root:root $(bindir)/gnunet-helper-vpn || true
-       chmod u+s $(bindir)/gnunet-helper-vpn || true
-       chown root:root $(bindir)/gnunet-helper-hijack-dns || true
-       chmod u+s $(bindir)/gnunet-helper-hijack-dns || true
+       $(SUDO_BINARY) chown root:root $(bindir)/gnunet-helper-vpn || true
+       $(SUDO_BINARY) chmod u+s $(bindir)/gnunet-helper-vpn || true
+       $(SUDO_BINARY) chown root:root $(bindir)/gnunet-helper-hijack-dns || true
+       $(SUDO_BINARY) chmod u+s $(bindir)/gnunet-helper-hijack-dns || true
 else
 install-exec-hook:
 endif