1dnl 2dnl Default cupsd configuration settings for CUPS. 3dnl 4dnl Copyright © 2007-2018 by Apple Inc. 5dnl Copyright © 2006-2007 by Easy Software Products, all rights reserved. 6dnl 7dnl Licensed under Apache License v2.0. See the file "LICENSE" for more 8dnl information. 9dnl 10 11dnl Default languages... 12LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`" 13 14AC_ARG_WITH(languages, [ --with-languages set installed languages, default=all ],[ 15 case "$withval" in 16 none | no) LANGUAGES="" ;; 17 all) ;; 18 *) LANGUAGES="$withval" ;; 19 esac]) 20AC_SUBST(LANGUAGES) 21 22dnl macOS bundle-based localization support 23AC_ARG_WITH(bundledir, [ --with-bundledir set localization bundle directory ], 24 CUPS_BUNDLEDIR="$withval",[ 25 if test "x$host_os_name" = xdarwin -a $host_os_version -ge 100; then 26 CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A" 27 LANGUAGES="" 28 else 29 CUPS_BUNDLEDIR="" 30 fi]) 31 32AC_SUBST(CUPS_BUNDLEDIR) 33if test "x$CUPS_BUNDLEDIR" != x; then 34 AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR") 35fi 36 37AC_ARG_WITH(bundlelang, [ --with-bundlelang set localization bundle base language (English or en) ], 38 cups_bundlelang="$withval",[ 39 if test $host_os_version -ge 190; then 40 cups_bundlelang="en" 41 else 42 cups_bundlelang="English" 43 fi]) 44 45if test "x$cups_bundlelang" != x -a "x$CUPS_BUNDLEDIR" != x; then 46 CUPS_RESOURCEDIR="$CUPS_BUNDLEDIR/Resources/$cups_bundlelang.lproj" 47else 48 CUPS_RESOURCEDIR="" 49fi 50AC_SUBST(CUPS_RESOURCEDIR) 51 52dnl Default executable file permissions 53AC_ARG_WITH(exe_file_perm, [ --with-exe-file-perm set default executable permissions value, default=0555], 54 CUPS_EXE_FILE_PERM="$withval", 55 [case "$host_os_name" in 56 linux* | gnu* | *-gnu) 57 CUPS_EXE_FILE_PERM="755" 58 ;; 59 *) 60 CUPS_EXE_FILE_PERM="555" 61 ;; 62 esac]) 63AC_SUBST(CUPS_EXE_FILE_PERM) 64 65dnl Default ConfigFilePerm 66AC_ARG_WITH(config_file_perm, [ --with-config-file-perm set default ConfigFilePerm value, default=0640], 67 CUPS_CONFIG_FILE_PERM="$withval", 68 [if test "x$host_os_name" = xdarwin; then 69 CUPS_CONFIG_FILE_PERM="644" 70 else 71 CUPS_CONFIG_FILE_PERM="640" 72 fi]) 73AC_SUBST(CUPS_CONFIG_FILE_PERM) 74AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM) 75 76dnl Default permissions for cupsd 77AC_ARG_WITH(cupsd_file_perm, [ --with-cupsd-file-perm set default cupsd permissions, default=0500], 78 CUPS_CUPSD_FILE_PERM="$withval", 79 [case "$host_os_name" in 80 linux* | gnu*) 81 CUPS_CUPSD_FILE_PERM="700" 82 ;; 83 *) 84 CUPS_CUPSD_FILE_PERM="500" 85 ;; 86 esac]) 87AC_SUBST(CUPS_CUPSD_FILE_PERM) 88 89dnl Default LogFilePerm 90AC_ARG_WITH(log_file_perm, [ --with-log-file-perm set default LogFilePerm value, default=0644], 91 CUPS_LOG_FILE_PERM="$withval", 92 CUPS_LOG_FILE_PERM="644") 93AC_SUBST(CUPS_LOG_FILE_PERM) 94AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, 0$CUPS_LOG_FILE_PERM) 95 96dnl Default MaxLogSize 97AC_ARG_WITH(max_log_size, [ --with-max-log-size set default MaxLogSize value, default=1m], 98 CUPS_MAX_LOG_SIZE="$withval", 99 CUPS_MAX_LOG_SIZE="1m") 100AC_SUBST(CUPS_MAX_LOG_SIZE) 101AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_LOG_SIZE, "$CUPS_MAX_LOG_SIZE") 102 103dnl Default ErrorPolicy 104AC_ARG_WITH(error_policy, [ --with-error-policy set default ErrorPolicy value, default=stop-printer], 105 CUPS_ERROR_POLICY="$withval", 106 CUPS_ERROR_POLICY="stop-printer") 107AC_SUBST(CUPS_ERROR_POLICY) 108AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ERROR_POLICY, "$CUPS_ERROR_POLICY") 109 110dnl Default FatalErrors 111AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors value, default=config], 112 CUPS_FATAL_ERRORS="$withval", 113 CUPS_FATAL_ERRORS="config") 114AC_SUBST(CUPS_FATAL_ERRORS) 115AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS") 116 117dnl Default LogLevel 118AC_ARG_WITH(log_level, [ --with-log-level set default LogLevel value, default=warn], 119 CUPS_LOG_LEVEL="$withval", 120 CUPS_LOG_LEVEL="warn") 121AC_SUBST(CUPS_LOG_LEVEL) 122AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_LEVEL, "$CUPS_LOG_LEVEL") 123 124dnl Default AccessLogLevel 125AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=none], 126 CUPS_ACCESS_LOG_LEVEL="$withval", 127 CUPS_ACCESS_LOG_LEVEL="none") 128AC_SUBST(CUPS_ACCESS_LOG_LEVEL) 129AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL") 130 131dnl Default PageLogFormat 132AC_ARG_ENABLE(page_logging, [ --enable-page-logging enable page_log by default]) 133if test "x$enable_page_logging" = xyes; then 134 CUPS_PAGE_LOG_FORMAT="" 135else 136 CUPS_PAGE_LOG_FORMAT="PageLogFormat" 137fi 138AC_SUBST(CUPS_PAGE_LOG_FORMAT) 139 140dnl Default SyncOnClose 141AC_ARG_ENABLE(sync_on_close, [ --enable-sync-on-close enable SyncOnClose (off by default)]) 142if test "x$enable_sync_on_close" = xyes; then 143 CUPS_SYNC_ON_CLOSE="Yes" 144 AC_DEFINE(CUPS_DEFAULT_SYNC_ON_CLOSE) 145else 146 CUPS_SYNC_ON_CLOSE="No" 147fi 148AC_SUBST(CUPS_SYNC_ON_CLOSE) 149 150dnl Default Browsing 151AC_ARG_ENABLE(browsing, [ --disable-browsing disable Browsing by default]) 152if test "x$enable_browsing" = xno; then 153 CUPS_BROWSING="No" 154 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0) 155else 156 CUPS_BROWSING="Yes" 157 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 1) 158fi 159AC_SUBST(CUPS_BROWSING) 160 161dnl Default BrowseLocalProtocols 162AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default=""], 163 default_local_protocols="$withval", 164 default_local_protocols="default") 165 166if test x$with_local_protocols != xno; then 167 if test "x$default_local_protocols" = "xdefault"; then 168 if test "x$DNSSD_BACKEND" != "x"; then 169 CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd" 170 else 171 CUPS_BROWSE_LOCAL_PROTOCOLS="" 172 fi 173 else 174 CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols" 175 fi 176else 177 CUPS_BROWSE_LOCAL_PROTOCOLS="" 178fi 179 180AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS) 181AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS, 182 "$CUPS_BROWSE_LOCAL_PROTOCOLS") 183 184dnl Default DefaultShared 185AC_ARG_ENABLE(default_shared, [ --disable-default-shared 186 disable DefaultShared by default]) 187if test "x$enable_default_shared" = xno; then 188 CUPS_DEFAULT_SHARED="No" 189 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0) 190else 191 CUPS_DEFAULT_SHARED="Yes" 192 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 1) 193fi 194AC_SUBST(CUPS_DEFAULT_SHARED) 195 196dnl Determine the correct username and group for this OS... 197AC_ARG_WITH(cups_user, [ --with-cups-user set default user for CUPS], 198 CUPS_USER="$withval", 199 AC_MSG_CHECKING(for default print user) 200 if test x$host_os_name = xdarwin; then 201 if test x`id -u _lp 2>/dev/null` = x; then 202 CUPS_USER="lp"; 203 else 204 CUPS_USER="_lp"; 205 fi 206 AC_MSG_RESULT($CUPS_USER) 207 elif test -f /etc/passwd; then 208 CUPS_USER="" 209 for user in lp lpd guest daemon nobody; do 210 if test "`grep \^${user}: /etc/passwd`" != ""; then 211 CUPS_USER="$user" 212 AC_MSG_RESULT($user) 213 break; 214 fi 215 done 216 217 if test x$CUPS_USER = x; then 218 CUPS_USER="nobody" 219 AC_MSG_RESULT(not found, using "$CUPS_USER") 220 fi 221 else 222 CUPS_USER="nobody" 223 AC_MSG_RESULT(no password file, using "$CUPS_USER") 224 fi) 225 226if test "x$CUPS_USER" = "xroot" -o "x$CUPS_USER" = "x0"; then 227 AC_MSG_ERROR([The default user for CUPS cannot be root!]) 228fi 229 230AC_ARG_WITH(cups_group, [ --with-cups-group set default group for CUPS], 231 CUPS_GROUP="$withval", 232 AC_MSG_CHECKING(for default print group) 233 if test x$host_os_name = xdarwin; then 234 if test x`id -g _lp 2>/dev/null` = x; then 235 CUPS_GROUP="lp"; 236 else 237 CUPS_GROUP="_lp"; 238 fi 239 AC_MSG_RESULT($CUPS_GROUP) 240 elif test -f /etc/group; then 241 GROUP_LIST="_lp lp nobody" 242 CUPS_GROUP="" 243 for group in $GROUP_LIST; do 244 if test "`grep \^${group}: /etc/group`" != ""; then 245 CUPS_GROUP="$group" 246 AC_MSG_RESULT($group) 247 break; 248 fi 249 done 250 251 if test x$CUPS_GROUP = x; then 252 CUPS_GROUP="nobody" 253 AC_MSG_RESULT(not found, using "$CUPS_GROUP") 254 fi 255 else 256 CUPS_GROUP="nobody" 257 AC_MSG_RESULT(no group file, using "$CUPS_GROUP") 258 fi) 259 260if test "x$CUPS_GROUP" = "xroot" -o "x$CUPS_GROUP" = "xwheel" -o "x$CUPS_GROUP" = "x0"; then 261 AC_MSG_ERROR([The default group for CUPS cannot be root!]) 262fi 263 264AC_ARG_WITH(system_groups, [ --with-system-groups set default system groups for CUPS], 265 CUPS_SYSTEM_GROUPS="$withval", 266 if test x$host_os_name = xdarwin; then 267 CUPS_SYSTEM_GROUPS="admin" 268 else 269 AC_MSG_CHECKING(for default system groups) 270 if test -f /etc/group; then 271 CUPS_SYSTEM_GROUPS="" 272 GROUP_LIST="lpadmin sys system root wheel" 273 for group in $GROUP_LIST; do 274 if test "`grep \^${group}: /etc/group`" != ""; then 275 if test "x$CUPS_SYSTEM_GROUPS" = x; then 276 CUPS_SYSTEM_GROUPS="$group" 277 else 278 CUPS_SYSTEM_GROUPS="$CUPS_SYSTEM_GROUPS $group" 279 fi 280 fi 281 done 282 283 if test "x$CUPS_SYSTEM_GROUPS" = x; then 284 CUPS_SYSTEM_GROUPS="$GROUP_LIST" 285 AC_MSG_RESULT(no groups found, using "$CUPS_SYSTEM_GROUPS") 286 else 287 AC_MSG_RESULT("$CUPS_SYSTEM_GROUPS") 288 fi 289 else 290 CUPS_SYSTEM_GROUPS="$GROUP_LIST" 291 AC_MSG_RESULT(no group file, using "$CUPS_SYSTEM_GROUPS") 292 fi 293 fi) 294 295CUPS_PRIMARY_SYSTEM_GROUP="`echo $CUPS_SYSTEM_GROUPS | awk '{print $1}'`" 296 297for group in $CUPS_SYSTEM_GROUPS; do 298 if test "x$CUPS_GROUP" = "x$group"; then 299 AC_MSG_ERROR([The default system groups cannot contain the default CUPS group!]) 300 fi 301done 302 303AC_SUBST(CUPS_USER) 304AC_SUBST(CUPS_GROUP) 305AC_SUBST(CUPS_SYSTEM_GROUPS) 306AC_SUBST(CUPS_PRIMARY_SYSTEM_GROUP) 307 308AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USER, "$CUPS_USER") 309AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GROUP, "$CUPS_GROUP") 310AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SYSTEM_GROUPS, "$CUPS_SYSTEM_GROUPS") 311 312dnl Default printcap file... 313AC_ARG_WITH(printcap, [ --with-printcap set default printcap file], 314 default_printcap="$withval", 315 default_printcap="default") 316 317if test x$default_printcap != xno; then 318 if test "x$default_printcap" = "xdefault"; then 319 case $host_os_name in 320 darwin*) 321 if test $host_os_version -ge 90; then 322 CUPS_DEFAULT_PRINTCAP="/Library/Preferences/org.cups.printers.plist" 323 else 324 CUPS_DEFAULT_PRINTCAP="/etc/printcap" 325 fi 326 ;; 327 sunos*) 328 CUPS_DEFAULT_PRINTCAP="/etc/printers.conf" 329 ;; 330 *) 331 CUPS_DEFAULT_PRINTCAP="/etc/printcap" 332 ;; 333 esac 334 else 335 CUPS_DEFAULT_PRINTCAP="$default_printcap" 336 fi 337else 338 CUPS_DEFAULT_PRINTCAP="" 339fi 340 341AC_SUBST(CUPS_DEFAULT_PRINTCAP) 342AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTCAP, "$CUPS_DEFAULT_PRINTCAP") 343 344dnl Default LPD config file... 345AC_ARG_WITH(lpdconfigfile, [ --with-lpdconfigfile set default LPDConfigFile URI], 346 default_lpdconfigfile="$withval", 347 default_lpdconfigfile="default") 348 349if test x$default_lpdconfigfile != xno; then 350 if test "x$default_lpdconfigfile" = "xdefault"; then 351 case $host_os_name in 352 darwin*) 353 CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist" 354 ;; 355 *) 356 if test "x$XINETD" != x; then 357 CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd" 358 else 359 CUPS_DEFAULT_LPD_CONFIG_FILE="" 360 fi 361 ;; 362 esac 363 else 364 CUPS_DEFAULT_LPD_CONFIG_FILE="$default_lpdconfigfile" 365 fi 366else 367 CUPS_DEFAULT_LPD_CONFIG_FILE="" 368fi 369 370AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE") 371AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE) 372 373dnl Default SMB config file... 374AC_ARG_WITH(smbconfigfile, [ --with-smbconfigfile set default SMBConfigFile URI], 375 default_smbconfigfile="$withval", 376 default_smbconfigfile="default") 377 378if test x$default_smbconfigfile != xno; then 379 if test "x$default_smbconfigfile" = "xdefault"; then 380 if test -f /etc/smb.conf; then 381 CUPS_DEFAULT_SMB_CONFIG_FILE="samba:///etc/smb.conf" 382 else 383 CUPS_DEFAULT_SMB_CONFIG_FILE="" 384 fi 385 else 386 CUPS_DEFAULT_SMB_CONFIG_FILE="$default_smbconfigfile" 387 fi 388else 389 CUPS_DEFAULT_SMB_CONFIG_FILE="" 390fi 391 392AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE") 393AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE) 394 395dnl Default MaxCopies value... 396AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=9999 ], 397 CUPS_MAX_COPIES="$withval", 398 CUPS_MAX_COPIES="9999") 399 400AC_SUBST(CUPS_MAX_COPIES) 401AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_COPIES, $CUPS_MAX_COPIES) 402 403dnl Default raw printing state 404AC_ARG_ENABLE(raw_printing, [ --disable-raw-printing do not allow raw printing by default]) 405if test "x$enable_raw_printing" != xno; then 406 DEFAULT_RAW_PRINTING="" 407else 408 DEFAULT_RAW_PRINTING="#" 409fi 410AC_SUBST(DEFAULT_RAW_PRINTING) 411 412dnl Default SNMP options... 413AC_ARG_WITH(snmp-address, [ --with-snmp-address set SNMP query address, default=auto ], 414 if test "x$withval" = x; then 415 CUPS_SNMP_ADDRESS="" 416 else 417 CUPS_SNMP_ADDRESS="Address $withval" 418 fi, 419 if test "x$host_os_name" = xdarwin; then 420 CUPS_SNMP_ADDRESS="" 421 else 422 CUPS_SNMP_ADDRESS="Address @LOCAL" 423 fi) 424 425AC_ARG_WITH(snmp-community, [ --with-snmp-community set SNMP community, default=public ], 426 CUPS_SNMP_COMMUNITY="Community $withval", 427 CUPS_SNMP_COMMUNITY="Community public") 428 429AC_SUBST(CUPS_SNMP_ADDRESS) 430AC_SUBST(CUPS_SNMP_COMMUNITY) 431 432dnl New default port definition for IPP... 433AC_ARG_WITH(ipp-port, [ --with-ipp-port set port number for IPP, default=631 ], 434 DEFAULT_IPP_PORT="$withval", 435 DEFAULT_IPP_PORT="631") 436 437AC_SUBST(DEFAULT_IPP_PORT) 438AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT) 439 440dnl Web interface... 441AC_ARG_ENABLE(webif, [ --enable-webif enable the web interface by default, default=no for macOS]) 442case "x$enable_webif" in 443 xno) 444 CUPS_WEBIF=No 445 CUPS_DEFAULT_WEBIF=0 446 ;; 447 xyes) 448 CUPS_WEBIF=Yes 449 CUPS_DEFAULT_WEBIF=1 450 ;; 451 *) 452 if test $host_os_name = darwin; then 453 CUPS_WEBIF=No 454 CUPS_DEFAULT_WEBIF=0 455 else 456 CUPS_WEBIF=Yes 457 CUPS_DEFAULT_WEBIF=1 458 fi 459 ;; 460esac 461 462AC_SUBST(CUPS_WEBIF) 463AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF) 464