dnl Process this file with autoconf to produce a configure script.
dnl
-dnl $Id: configure.in,v 1.78 2002/09/06 23:18:08 hal9 Exp $
+dnl $Id: configure.in,v 1.81 2002/09/27 00:38:44 hal9 Exp $
dnl
dnl Written by and Copyright (C) 2001, 2002 the SourceForge
dnl Privoxy team. http://www.privoxy.org/
dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
dnl
dnl $Log: configure.in,v $
+dnl Revision 1.81 2002/09/27 00:38:44 hal9
+dnl Some general cleanup of the user/group stuff. Including remove up to ':' to
+dnl make Linux (?) compatible with other *nix. Better AC output stuff.
+dnl
+dnl Revision 1.80 2002/09/26 18:47:46 hal9
+dnl This is most of Al's patch for --with-user and --with-group which tests that
+dnl these are valid values, if specified. If not specified, they are left empty.
+dnl
+dnl Revision 1.79 2002/09/07 02:11:06 hal9
+dnl Remove some testing stuff inadvertantly left in.
+dnl
dnl Revision 1.78 2002/09/06 23:18:08 hal9
dnl Migrate PCRE_H_IN_SUBDIR from 3.0 branch for pcre/pcre.h on RH, etc.
dnl
dnl AutoConf Initialization
dnl =================================================================
-AC_REVISION($Revision: 1.78 $)
+AC_REVISION($Revision: 1.81 $)
AC_INIT(src/jcc.c)
if test ! -f src/config.h.in; then
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
+AC_PROG_AWK
AC_CHECK_PROG(GDB,gdb,yes,no)
+AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
+AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
+AC_SUBST(ID)
+AC_SUBST(BGROUPS)
dnl =================================================================
dnl debug, gcc and gdb support
]
)
+dnl =================================================================
+dnl Check for user and group validity
+dnl =================================================================
+
+$ID privoxy >/dev/null 2>/dev/null
+if test $? -ne 0 ; then
+ AC_MSG_WARN(There is no user 'privoxy' on this system)
+fi
+AC_MSG_CHECKING([for user])
AC_ARG_WITH(user,
- [ --with-user=privoxy Set user under which privoxy run],
+ [ --with-user=privoxy Set user under which privoxy will run],
[
if test "x$withval" != "xyes"; then
- USER=$with_user;
+ if test $ID = no ; then
+ AC_MSG_ERROR(There is no 'id' program on this system)
+ else
+ AC_MSG_RESULT($with_user)
+ $ID $with_user 2>/dev/null >/dev/null
+ if test $? -eq 0 ; then
+ USER=$with_user;
+ else
+ AC_MSG_ERROR(There is no user '$with_user' on this system)
+ fi
+ fi
else
AC_MSG_ERROR(We need a user if you give me this parameter)
fi
],
[
- USER=privoxy;
+ if test $ID = no ; then
+ AC_MSG_ERROR(There is no 'id' programm on this system)
+ else
+ AC_MSG_RESULT(none specified)
+ USER=$with_user
+ fi
]
)
AC_SUBST(USER)
+AC_MSG_CHECKING([for group])
AC_ARG_WITH(group,
[ --with-group=privoxy Set group for privoxy],
- [
+ [
if test "x$withval" != "xyes"; then
- GROUP=$with_group;
+ if test $BGROUPS = no ; then
+ AC_MSG_ERROR(There is no 'groups' program on this system)
else
+ AC_MSG_RESULT($with_group)
+ $BGROUPS $USER >/dev/null
+ if test $? -eq 0 ; then
+ # FIXME: this fails if valid group, but not first group
+ # listed.
+ if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
+ AC_MSG_ERROR(The given value '$withval' does not match group entry)
+ else
+ GROUP=$with_group;
+ fi
+ else
+ AC_MSG_ERROR(There is no group entry for user '$USER')
+ fi
+ fi
+ else
AC_MSG_ERROR(We need a group if you give me this parameter)
fi
],
[
- GROUP=privoxy;
+ if test $BGROUPS = no ; then
+ AC_MSG_ERROR(There is no 'groups' programm on this system)
+ else
+ AC_MSG_RESULT(none specified)
+ GROUP=$with_group;
+ fi
]
)
AC_SUBST(GROUP)