-# gnunet-setup # (note: does not yet exist!)
-# gnunet-arm -s
-
-This will compile and install GNUnet to ~/bin/, ~/lib/ and ~/man/.
-gnunet-setup will create the configuration; this step is
-interactive. You can run gnunet-setup as root for a system-wide
-installation or as a particular user to create a personal
-installation. If you do not want to run gnunetd as root, gnunet-setup
-can be used to add a user "gnunet". Data will then be stored in
-/var/lib/gnunet and gnunetd will run as that user. Note that
-additional, per-user configuration files (~/.gnunet/gnunet.conf) also
-need to be created by each user by running gnunet-setup without the -d
-option. Depending on your operating system the wizards of
-gnunet-setup can also be used to create an init script that starts
-gnunetd each time the system boots. For more general information
-about the GNU build process read the INSTALL file.
-
-GNUnet requires the GNU MP library (http://www.gnu.org/software/gmp/)
-and libgcrypt. You can specify the path to libgcrypt by passing
-"--with-gcrypt=PATH" to configure. You will also need either sqlite
-(version 3 or higher) or MySQL (version 5.0 or higher).
-
-If you are compiling the code from subversion, you have to run
-". bootstrap" before ./configure. If you receive an error during the
-running of ". bootstrap" that looks like "macro `AM_PATH_GTK' not
+# sudo -u gnunet gnunet-arm -s
+
+Note that running the 'configure' and 'make install' steps as
+root (or with sudo) is required as some parts of the installation
+require the creation of SUID binaries. The installation will
+work if you do not run these steps as root, but some components
+may not be installed in the perfect place or with the right
+permissions and thus won't work.
+
+This will create the users and groups needed for running GNUnet
+securely and then compile and install GNUnet to $GNUNET_PREFIX/bin/,
+$GNUNET_PREFIX/lib/ and $GNUNET_PREFIX/share/ and start the system
+with the default configuration. It is strongly recommended that you
+add a user "gnunet" to run "gnunet-arm". You can then still run the
+end-user applications as another user.
+
+If you create a system user "gnunet", it is recommended that you edit
+the configuration file slightly so that data can be stored in the
+system user home directory at "/var/lib/gnunet". Depending on what
+the $HOME-directory of your "gnunet" user is, you might need to set
+the SERVICEHOME option in section "[PATHS]" to "/var/lib/gnunet" to
+do this. Depending on your personal preferences, you may also want to
+use "/etc/gnunet.conf" for the location of the configuration file in
+this case (instead of ~gnunet/.gnunet/gnunet.conf"). In this case,
+you need to start GNUnet using "gnunet-arm -s -c /etc/gnunet.conf".
+
+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 autonomous NAT traversal, WLAN, DNS/GNS and
+the VPN will then not work).
+
+If you run 'configure' and 'make install' as root or use the SUDO
+option, GNUnet's build system will install "libnss_gns*" libraries to
+"/lib/" regardless (!) of the $GNUNET_PREFIX you might have specified,
+as those libraries must be in "/lib/". If you are packaging GNUnet
+for binary distribution, this may cause your packaging script to miss
+those plugins, so you might need to do some additional manual work to
+include those libraries in your binary package(s). Similarly, if you
+want to use the GNUnet naming system and did NOT run GNUnet's 'make
+install' process with SUDO rights, the libraries will be installed to
+"$GNUNET_PREFIX/lib" and you will have to move them to "/lib/"
+manually.
+
+Finally, if you are compiling the code from subversion, you have to
+run ". bootstrap" before ./configure. If you receive an error during
+the running of ". bootstrap" that looks like "macro `AM_PATH_GTK' not