]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-defaults.m4
License change: Apache License, Version 2.0.
[thirdparty/cups.git] / config-scripts / cups-defaults.m4
index b3ce770478cf1b57a0062c236ce2440b5259b35e..8c12cad8fc5164de8981d035e1675af23d9e57f8 100644 (file)
@@ -1,21 +1,14 @@
 dnl
-dnl "$Id: cups-defaults.m4 7649 2008-06-16 17:46:57Z mike $"
+dnl Default cupsd configuration settings for CUPS.
 dnl
-dnl   Default cupsd configuration settings for the Common UNIX Printing System
-dnl   (CUPS).
+dnl Copyright 2007-2017 by Apple Inc.
+dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
 dnl
-dnl   Copyright 2007-2008 by Apple Inc.
-dnl   Copyright 2006-2007 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
+dnl Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
 dnl
 
 dnl Default languages...
-LANGUAGES="`ls -1 locale/cups_*.po | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
+LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
 
 AC_ARG_WITH(languages, [  --with-languages        set installed languages, default=all ],[
        case "$withval" in
@@ -25,13 +18,58 @@ AC_ARG_WITH(languages, [  --with-languages        set installed languages, defau
        esac])
 AC_SUBST(LANGUAGES)
 
+dnl macOS bundle-based localization support
+AC_ARG_WITH(bundledir, [  --with-bundledir        set macOS localization bundle directory ],
+       CUPS_BUNDLEDIR="$withval",
+       if test "x$host_os_name" = xdarwin -a $host_os_version -ge 100; then
+               CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
+               LANGUAGES=""
+       else
+               CUPS_BUNDLEDIR=""
+       fi)
+
+AC_SUBST(CUPS_BUNDLEDIR)
+if test "x$CUPS_BUNDLEDIR" != x; then
+       AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR")
+fi
+
+dnl Default executable file permissions
+AC_ARG_WITH(exe_file_perm, [  --with-exe-file-perm    set default executable permissions value, default=0555],
+       CUPS_EXE_FILE_PERM="$withval",
+       [case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_EXE_FILE_PERM="755"
+                       ;;
+               *)
+                       CUPS_EXE_FILE_PERM="555"
+                       ;;
+       esac])
+AC_SUBST(CUPS_EXE_FILE_PERM)
+
 dnl Default ConfigFilePerm
 AC_ARG_WITH(config_file_perm, [  --with-config-file-perm set default ConfigFilePerm value, default=0640],
        CUPS_CONFIG_FILE_PERM="$withval",
-       CUPS_CONFIG_FILE_PERM="640")
+       [if test "x$host_os_name" = xdarwin; then
+               CUPS_CONFIG_FILE_PERM="644"
+       else
+               CUPS_CONFIG_FILE_PERM="640"
+       fi])
 AC_SUBST(CUPS_CONFIG_FILE_PERM)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
 
+dnl Default permissions for cupsd
+AC_ARG_WITH(cupsd_file_perm, [  --with-cupsd-file-perm  set default cupsd permissions, default=0500],
+       CUPS_CUPSD_FILE_PERM="$withval",
+       [case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_CUPSD_FILE_PERM="700"
+                       ;;
+               *)
+                       CUPS_CUPSD_FILE_PERM="500"
+                       ;;
+       esac])
+AC_SUBST(CUPS_CUPSD_FILE_PERM)
+
 dnl Default LogFilePerm
 AC_ARG_WITH(log_file_perm, [  --with-log-file-perm    set default LogFilePerm value, default=0644],
        CUPS_LOG_FILE_PERM="$withval",
@@ -40,13 +78,12 @@ AC_SUBST(CUPS_LOG_FILE_PERM)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, 0$CUPS_LOG_FILE_PERM)
 
 dnl Default FatalErrors
-AC_ARG_WITH(fatal_errors, [  --with-fatal-errors set default FatalErrors value, default=config],
+AC_ARG_WITH(fatal_errors, [  --with-fatal-errors     set default FatalErrors value, default=config],
        CUPS_FATAL_ERRORS="$withval",
        CUPS_FATAL_ERRORS="config")
 AC_SUBST(CUPS_FATAL_ERRORS)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
 
-
 dnl Default LogLevel
 AC_ARG_WITH(log_level, [  --with-log-level        set default LogLevel value, default=warn],
        CUPS_LOG_LEVEL="$withval",
@@ -55,14 +92,23 @@ AC_SUBST(CUPS_LOG_LEVEL)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_LEVEL, "$CUPS_LOG_LEVEL")
 
 dnl Default AccessLogLevel
-AC_ARG_WITH(access_log_level, [  --with-access-log-level set default AccessLogLevel value, default=actions],
+AC_ARG_WITH(access_log_level, [  --with-access-log-level set default AccessLogLevel value, default=none],
        CUPS_ACCESS_LOG_LEVEL="$withval",
-       CUPS_ACCESS_LOG_LEVEL="actions")
+       CUPS_ACCESS_LOG_LEVEL="none")
 AC_SUBST(CUPS_ACCESS_LOG_LEVEL)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL")
 
+dnl Default PageLogFormat
+AC_ARG_ENABLE(page_logging, [  --enable-page-logging   enable page_log by default])
+if test "x$enable_page_logging" = xyes; then
+       CUPS_PAGE_LOG_FORMAT=""
+else
+       CUPS_PAGE_LOG_FORMAT="PageLogFormat"
+fi
+AC_SUBST(CUPS_PAGE_LOG_FORMAT)
+
 dnl Default Browsing
-AC_ARG_ENABLE(browsing, [  --enable-browsing       enable Browsing by default, default=yes])
+AC_ARG_ENABLE(browsing, [  --disable-browsing      disable Browsing by default])
 if test "x$enable_browsing" = xno; then
        CUPS_BROWSING="No"
        AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0)
@@ -73,16 +119,16 @@ fi
 AC_SUBST(CUPS_BROWSING)
 
 dnl Default BrowseLocalProtocols
-AC_ARG_WITH(local_protocols, [  --with-local-protocols  set default BrowseLocalProtocols, default="CUPS"],
+AC_ARG_WITH(local_protocols, [  --with-local-protocols  set default BrowseLocalProtocols, default=""],
        default_local_protocols="$withval",
        default_local_protocols="default")
 
 if test x$with_local_protocols != xno; then
        if test "x$default_local_protocols" = "xdefault"; then
-               if test "x$DNSSDLIBS" != "x"; then
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS dnssd"
-       else
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS"
+               if test "x$DNSSD_BACKEND" != "x"; then
+                       CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
+               else
+                       CUPS_BROWSE_LOCAL_PROTOCOLS=""
                fi
        else
                CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
@@ -95,43 +141,9 @@ AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
        "$CUPS_BROWSE_LOCAL_PROTOCOLS")
 
-dnl Default BrowseRemoteProtocols
-AC_ARG_WITH(remote_protocols, [  --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"],
-       default_remote_protocols="$withval",
-       default_remote_protocols="default")
-
-if test x$with_remote_protocols != xno; then
-       if test "x$default_remote_protocols" = "xdefault"; then
-               if test "$uname" = "Darwin" -a $uversion -ge 90; then
-                       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-               else
-                       CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS"
-               fi
-       else
-               CUPS_BROWSE_REMOTE_PROTOCOLS="$default_remote_protocols"
-       fi
-else
-       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-fi
-
-AC_SUBST(CUPS_BROWSE_REMOTE_PROTOCOLS)
-AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS,
-       "$CUPS_BROWSE_REMOTE_PROTOCOLS")
-
-dnl Default BrowseShortNames
-AC_ARG_ENABLE(browse_short, [  --enable-browse-short-names
-                          enable BrowseShortNames by default, default=yes])
-if test "x$enable_browse_short" = xno; then
-       CUPS_BROWSE_SHORT_NAMES="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 0)
-else
-       CUPS_BROWSE_SHORT_NAMES="Yes"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 1)
-fi
-AC_SUBST(CUPS_BROWSE_SHORT_NAMES)
-
 dnl Default DefaultShared
-AC_ARG_ENABLE(default_shared, [  --enable-default-shared enable DefaultShared by default, default=yes])
+AC_ARG_ENABLE(default_shared, [  --disable-default-shared
+                         disable DefaultShared by default])
 if test "x$enable_default_shared" = xno; then
        CUPS_DEFAULT_SHARED="No"
        AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0)
@@ -141,43 +153,11 @@ else
 fi
 AC_SUBST(CUPS_DEFAULT_SHARED)
 
-dnl Default ImplicitClasses
-AC_ARG_ENABLE(implicit, [  --enable-implicit-classes
-                          enable ImplicitClasses by default, default=yes])
-if test "x$enable_implicit" = xno; then
-       CUPS_IMPLICIT_CLASSES="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 0)
-else
-       CUPS_IMPLICIT_CLASSES="Yes"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 1)
-fi
-AC_SUBST(CUPS_IMPLICIT_CLASSES)
-
-dnl Default UseNetworkDefault
-AC_ARG_ENABLE(use_network_default, [  --enable-use-network-default
-                          enable UseNetworkDefault by default, default=auto])
-if test "x$enable_use_network_default" != xno; then
-       AC_MSG_CHECKING(whether to use network default printers)
-       if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
-               CUPS_USE_NETWORK_DEFAULT="Yes"
-               AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 1)
-               AC_MSG_RESULT(yes)
-       else
-               CUPS_USE_NETWORK_DEFAULT="No"
-               AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
-               AC_MSG_RESULT(no)
-       fi
-else
-       CUPS_USE_NETWORK_DEFAULT="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
-fi
-AC_SUBST(CUPS_USE_NETWORK_DEFAULT)
-
 dnl Determine the correct username and group for this OS...
 AC_ARG_WITH(cups_user, [  --with-cups-user        set default user for CUPS],
        CUPS_USER="$withval",
        AC_MSG_CHECKING(for default print user)
-       if test x$uname = xDarwin; then
+       if test x$host_os_name = xdarwin; then
                if test x`id -u _lp 2>/dev/null` = x; then
                        CUPS_USER="lp";
                else
@@ -203,10 +183,14 @@ AC_ARG_WITH(cups_user, [  --with-cups-user        set default user for CUPS],
                AC_MSG_RESULT(no password file, using "$CUPS_USER")
        fi)
 
+if test "x$CUPS_USER" = "xroot" -o "x$CUPS_USER" = "x0"; then
+       AC_MSG_ERROR([The default user for CUPS cannot be root!])
+fi
+
 AC_ARG_WITH(cups_group, [  --with-cups-group       set default group for CUPS],
        CUPS_GROUP="$withval",
        AC_MSG_CHECKING(for default print group)
-       if test x$uname = xDarwin; then
+       if test x$host_os_name = xdarwin; then
                if test x`id -g _lp 2>/dev/null` = x; then
                        CUPS_GROUP="lp";
                else
@@ -233,9 +217,13 @@ AC_ARG_WITH(cups_group, [  --with-cups-group       set default group for CUPS],
                AC_MSG_RESULT(no group file, using "$CUPS_GROUP")
        fi)
 
+if test "x$CUPS_GROUP" = "xroot" -o "x$CUPS_GROUP" = "xwheel" -o "x$CUPS_GROUP" = "x0"; then
+       AC_MSG_ERROR([The default group for CUPS cannot be root!])
+fi
+
 AC_ARG_WITH(system_groups, [  --with-system-groups    set default system groups for CUPS],
        CUPS_SYSTEM_GROUPS="$withval",
-       if test x$uname = xDarwin; then
+       if test x$host_os_name = xdarwin; then
                CUPS_SYSTEM_GROUPS="admin"
        else
                AC_MSG_CHECKING(for default system groups)
@@ -264,9 +252,14 @@ AC_ARG_WITH(system_groups, [  --with-system-groups    set default system groups
                fi
        fi)
 
-
 CUPS_PRIMARY_SYSTEM_GROUP="`echo $CUPS_SYSTEM_GROUPS | awk '{print $1}'`"
 
+for group in $CUPS_SYSTEM_GROUPS; do
+       if test "x$CUPS_GROUP" = "x$group"; then
+               AC_MSG_ERROR([The default system groups cannot contain the default CUPS group!])
+       fi
+done
+
 AC_SUBST(CUPS_USER)
 AC_SUBST(CUPS_GROUP)
 AC_SUBST(CUPS_SYSTEM_GROUPS)
@@ -283,15 +276,15 @@ AC_ARG_WITH(printcap, [  --with-printcap         set default printcap file],
 
 if test x$default_printcap != xno; then
        if test "x$default_printcap" = "xdefault"; then
-               case $uname in
-                       Darwin*)
-                               if test $uversion -ge 90; then
-                                       CUPS_DEFAULT_PRINTCAP=""
+               case $host_os_name in
+                       darwin*)
+                               if test $host_os_version -ge 90; then
+                                       CUPS_DEFAULT_PRINTCAP="/Library/Preferences/org.cups.printers.plist"
                                else
                                        CUPS_DEFAULT_PRINTCAP="/etc/printcap"
                                fi
                                ;;
-                       SunOS*)
+                       sunos*)
                                CUPS_DEFAULT_PRINTCAP="/etc/printers.conf"
                                ;;
                        *)
@@ -305,6 +298,7 @@ else
        CUPS_DEFAULT_PRINTCAP=""
 fi
 
+AC_SUBST(CUPS_DEFAULT_PRINTCAP)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTCAP, "$CUPS_DEFAULT_PRINTCAP")
 
 dnl Default LPD config file...
@@ -314,13 +308,13 @@ AC_ARG_WITH(lpdconfigfile, [  --with-lpdconfigfile    set default LPDConfigFile
 
 if test x$default_lpdconfigfile != xno; then
        if test "x$default_lpdconfigfile" = "xdefault"; then
-               case $uname in
-                       Darwin*)
+               case $host_os_name in
+                       darwin*)
                                CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
                                ;;
                        *)
-                               if test -d /etc/xinetd.d; then
-                                       CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd:///etc/xinetd.d/cups-lpd"
+                               if test "x$XINETD" != x; then
+                                       CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd"
                                else
                                        CUPS_DEFAULT_LPD_CONFIG_FILE=""
                                fi
@@ -334,6 +328,7 @@ else
 fi
 
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE)
 
 dnl Default SMB config file...
 AC_ARG_WITH(smbconfigfile, [  --with-smbconfigfile    set default SMBConfigFile URI],
@@ -355,30 +350,20 @@ else
 fi
 
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE)
 
 dnl Default MaxCopies value...
-AC_ARG_WITH(max-copies, [  --with-max-copies       set default max copies value, default=auto ],
+AC_ARG_WITH(max-copies, [  --with-max-copies       set default max copies value, default=9999 ],
        CUPS_MAX_COPIES="$withval",
-       if test "x$uname" = xDarwin; then
-               CUPS_MAX_COPIES="9999"
-       else
-               CUPS_MAX_COPIES="100"
-       fi)
+       CUPS_MAX_COPIES="9999")
 
 AC_SUBST(CUPS_MAX_COPIES)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_COPIES, $CUPS_MAX_COPIES)
 
 dnl Default raw printing state
-AC_ARG_ENABLE(raw_printing, [  --enable-raw-printing   enable raw printing by default, default=auto])
+AC_ARG_ENABLE(raw_printing, [  --disable-raw-printing  do not allow raw printing by default])
 if test "x$enable_raw_printing" != xno; then
-       AC_MSG_CHECKING(whether to enable raw printing)
-       if test "x$enable_raw_printing" = xyes -o $uname = Darwin; then
-               DEFAULT_RAW_PRINTING=""
-               AC_MSG_RESULT(yes)
-       else
-               DEFAULT_RAW_PRINTING="#"
-               AC_MSG_RESULT(no)
-       fi
+       DEFAULT_RAW_PRINTING=""
 else
        DEFAULT_RAW_PRINTING="#"
 fi
@@ -391,7 +376,7 @@ AC_ARG_WITH(snmp-address, [  --with-snmp-address     set SNMP query address, def
        else
                CUPS_SNMP_ADDRESS="Address $withval"
        fi,
-       if test "x$uname" = xDarwin; then
+       if test "x$host_os_name" = xdarwin; then
                CUPS_SNMP_ADDRESS=""
        else
                CUPS_SNMP_ADDRESS="Address @LOCAL"
@@ -405,13 +390,34 @@ AC_SUBST(CUPS_SNMP_ADDRESS)
 AC_SUBST(CUPS_SNMP_COMMUNITY)
 
 dnl New default port definition for IPP...
-AC_ARG_WITH(ipp-port, [  --with-ipp-port         set default port number for IPP ],
+AC_ARG_WITH(ipp-port, [  --with-ipp-port         set port number for IPP, default=631 ],
        DEFAULT_IPP_PORT="$withval",
        DEFAULT_IPP_PORT="631")
 
 AC_SUBST(DEFAULT_IPP_PORT)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
 
-dnl
-dnl End of "$Id: cups-defaults.m4 7649 2008-06-16 17:46:57Z mike $".
-dnl
+dnl Web interface...
+AC_ARG_ENABLE(webif, [  --enable-webif          enable the web interface by default, default=no for macOS])
+case "x$enable_webif" in
+       xno)
+               CUPS_WEBIF=No
+               CUPS_DEFAULT_WEBIF=0
+               ;;
+       xyes)
+               CUPS_WEBIF=Yes
+               CUPS_DEFAULT_WEBIF=1
+               ;;
+       *)
+               if test $host_os_name = darwin; then
+                       CUPS_WEBIF=No
+                       CUPS_DEFAULT_WEBIF=0
+               else
+                       CUPS_WEBIF=Yes
+                       CUPS_DEFAULT_WEBIF=1
+               fi
+               ;;
+esac
+
+AC_SUBST(CUPS_WEBIF)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)