3 # AMANDA_DISABLE_INSTALLPERMS
7 # Handle the --disable-installperms option, which disables all post-install
8 # chown/chmod operations. This is useful when packaging, as most packaging
9 # systems build as non-root, and apply permissions in the post-install step of
12 AC_DEFUN([AMANDA_DISABLE_INSTALLPERMS],
15 AC_ARG_ENABLE(installperms,
16 AS_HELP_STRING([--disable-installperms],
17 [do not modify ownership and permissions on installed files]),
18 [ WANT_INSTALLPERMS="$enableval" ],
19 [ WANT_INSTALLPERMS="yes" ]
21 AM_CONDITIONAL(WANT_INSTALLPERMS, test x"$WANT_INSTALLPERMS" = x"yes")
26 # AMANDA_WITH_FORCE_UID
30 # Handle the --without-force-id option, which disables userid checks for
31 # all Amanda applications. Defines CHECK_USERID *unless* this option is
34 AC_DEFUN([AMANDA_WITH_FORCE_UID],
36 AC_ARG_WITH(force-uid,
37 AS_HELP_STRING([--without-force-uid],
38 [do not check userids when running programs]),
39 CHECK_USERID="$withval",
42 case "$CHECK_USERID" in
44 AC_DEFINE(CHECK_USERID, 1,
45 [Define to force to another user on client machines. ])
50 AC_MSG_ERROR([*** You must not supply an argument to --with-force-uid option.])
60 # Handle the --with-user option, which sets the userid Amanda expects to run
61 # under. Defines and substitutes CLIENT_LOGIN.
63 AC_DEFUN([AMANDA_WITH_USER],
66 AS_HELP_STRING([--with-user=USER],
67 [force execution to USER on client systems (REQUIRED)]),
70 "" | y | ye | yes | n | no)
71 AC_MSG_ERROR([*** You must supply an argument to the --with-user option.])
74 CLIENT_LOGIN="$withval"
78 AMANDA_MSG_WARN([[no user specified (--with-user) -- using 'amanda']])
83 AC_DEFINE_UNQUOTED(CLIENT_LOGIN,"$CLIENT_LOGIN",
84 [Define as a the user to force to on client machines. ])
85 AC_SUBST(CLIENT_LOGIN)
94 # Handle the --with-group option, which sets the groupid Amanda expects to run
95 # under. Substitutes (but does not define) SETUID_GROUP.
97 AC_DEFUN([AMANDA_WITH_GROUP],
100 AS_HELP_STRING([--with-group=GROUP],
101 [group allowed to execute setuid-root programs (REQUIRED)]),
104 "" | y | ye | yes | n | no)
105 AC_MSG_ERROR([*** You must supply an argument to the --with-group option.])
107 *) SETUID_GROUP="$withval"
111 AMANDA_MSG_WARN([[no group specified (--with-group) -- using 'backup']])
115 AC_SUBST(SETUID_GROUP)
124 # Handle the --with-owner option, which sets the userid the 'make install' process
125 # will use. Substitutes and defines BINARY_OWNER.
127 AC_DEFUN([AMANDA_WITH_OWNER],
129 AC_REQUIRE([AMANDA_WITH_USER])
131 AS_HELP_STRING([--with-owner=USER]
132 [force ownership of installed files to USER (default same as --with-user)]),
135 "" | y | ye | yes | n | no)
136 AC_MSG_ERROR([*** You must supply an argument to the --with-owner option.])
138 *) BINARY_OWNER="$withval"
142 BINARY_OWNER="$CLIENT_LOGIN"
145 AC_DEFINE_UNQUOTED(BINARY_OWNER,"$BINARY_OWNER",
146 [Define as the user who owns installed binaries. ])
147 AC_SUBST(BINARY_OWNER)
152 # AMANDA_WITH_SINGLE_USERID
156 # Check if this system is one on which clients should be built setuid,
157 # Sets up AM_CONDITIONAL/define WANT_SETUID_CLIENT and defines
158 # SINGLE_USERID if either the system requires it or the user specified it.
160 AC_DEFUN([AMANDA_WITH_SINGLE_USERID],
162 SINGLE_USERID=${SINGLE_USERID:-no}
163 WANT_SETUID_CLIENT=${WANT_SETUID_CLIENT:-true}
165 AC_ARG_WITH(single-userid,
166 AS_HELP_STRING([--with-single-userid]
167 [force amanda to run as a single userid (for testing)]),
168 [ SINGLE_USERID=$withval ])
172 WANT_SETUID_CLIENT=false
177 if test x"$WANT_SETUID_CLIENT" = x"true"; then
178 AC_DEFINE(WANT_SETUID_CLIENT,1,
179 [Define if clients should be built setuid-root])
181 AM_CONDITIONAL(WANT_SETUID_CLIENT, test x"$WANT_SETUID_CLIENT" = x"true")
183 if test x"$SINGLE_USERID" = x"yes"; then
184 AC_DEFINE(SINGLE_USERID, 1,
185 [Define if all of Amanda will run as a single userid (e.g., on Cygwin or for installchecks)])