#
INSTALL_BIN = $(LIBTOOL) $(INSTALL) -m 755 -s
+INSTALL_CONFIG = $(INSTALL) -m @CUPS_CONFIG_FILE_PERM@
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_DIR = $(INSTALL) -d
INSTALL_LIB = $(LIBTOOL) $(INSTALL) -m 755
INSTALL_SCRIPT = $(INSTALL) -m 755
#
-# Default user and group for the scheduler...
+# Default user, group, and system groups for the scheduler...
#
CUPS_USER = @CUPS_USER@
CUPS_GROUP = @CUPS_GROUP@
+CUPS_SYSTEM_GROUPS = @CUPS_SYSTEM_GROUPS@
+
+#
+# Default permissions...
+#
+
+CUPS_CONFIG_FILE_PERM = @CUPS_CONFIG_FILE_PERM@
+CUPS_LOG_FILE_PERM = @CUPS_LOG_FILE_PERM@
#
# Libraries...
$(INSTALL_DIR) $(SERVERROOT)
for file in $(KEEP); do \
if test -r $(SERVERROOT)/$$file ; then \
- $(INSTALL_DATA) $$file $(SERVERROOT)/$$file.N ; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.N ; \
else \
- $(INSTALL_DATA) $$file $(SERVERROOT) ; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT) ; \
fi ; \
done
- $(INSTALL_DATA) cupsd.conf $(SERVERROOT)/cupsd.conf.default
+ $(INSTALL_CONFIG) cupsd.conf $(SERVERROOT)/cupsd.conf.default
for file in $(REPLACE); do \
if test -r $(SERVERROOT)/$$file ; then \
$(MV) $(SERVERROOT)/$$file $(SERVERROOT)/$$file.O ; \
fi ; \
- $(INSTALL_DATA) $$file $(SERVERROOT) ; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT) ; \
done
-if test x$(PAMDIR) != x$(BUILDROOT); then \
$(INSTALL_DIR) $(PAMDIR); \
--- /dev/null
+dnl
+dnl "$Id$"
+dnl
+dnl Default cupsd configuration settings for the Common UNIX Printing System
+dnl (CUPS).
+dnl
+dnl Copyright 2006 by Easy Software Products, all rights reserved.
+dnl
+dnl These coded instructions, statements, and computer programs are the
+dnl property of Easy Software Products and are protected by Federal
+dnl copyright law. Distribution and use rights are outlined in the file
+dnl "LICENSE.txt" which should have been included with this file. If this
+dnl file is missing or damaged please contact Easy Software Products
+dnl at:
+dnl
+dnl Attn: CUPS Licensing Information
+dnl Easy Software Products
+dnl 44141 Airport View Drive, Suite 204
+dnl Hollywood, Maryland 20636 USA
+dnl
+dnl Voice: (301) 373-9600
+dnl EMail: cups-info@cups.org
+dnl WWW: http://www.cups.org
+dnl
+
+dnl Default ConfigFilePerm
+AC_ARG_WITH(config_perm, [ --with-config-file-perm set default ConfigFilePerm value, default=0640],
+ CUPS_CONFIG_FILE_PERM="$withval",
+ CUPS_CONFIG_FILE_PERM="0640")
+AC_SUBST(CUPS_CONFIG_FILE_PERM)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, $CUPS_CONFIG_FILE_PERM)
+
+dnl Default LogFilePerm
+AC_ARG_WITH(log_perm, [ --with-log-file-perm set default LogFilePerm value, default=0644],
+ CUPS_LOG_FILE_PERM="$withval",
+ CUPS_LOG_FILE_PERM="0644")
+AC_SUBST(CUPS_LOG_FILE_PERM)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, $CUPS_LOG_FILE_PERM)
+
+dnl Default Browsing
+AC_ARG_ENABLE(browsing, [ --enable-browsing enable Browsing by default, default=yes])
+if test "x$enable_browsing" = xno; then
+ CUPS_BROWSING="No"
+ AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0)
+else
+ CUPS_BROWSING="Yes"
+ AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 1)
+fi
+AC_SUBST(CUPS_BROWSING)
+
+dnl Default BrowseLocalProtocols
+AC_ARG_WITH(browse_local, [ --with-local-protocols set default BrowseLocalProtocols, default="CUPS"],
+ CUPS_BROWSE_LOCAL_PROTOCOLS="$withval",
+ CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS")
+AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
+ "$CUPS_BROWSE_LOCAL_PROTOCOLS")
+
+dnl Default BrowseRemoteProtocols
+AC_ARG_WITH(browse_remote, [ --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"],
+ CUPS_BROWSE_REMOTE_PROTOCOLS="$withval",
+ CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS")
+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])
+if test "x$enable_default_shared" = xno; then
+ CUPS_DEFAULT_SHARED="No"
+ AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0)
+else
+ CUPS_DEFAULT_SHARED="Yes"
+ AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 1)
+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
+dnl End of "$Id$".
+dnl
*
* @configure_input@
*
- * Copyright 1997-2005 by Easy Software Products.
+ * Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Easy Software Products and are protected by Federal
/*
- * Default user and group...
+ * Default user and groups...
*/
#define CUPS_DEFAULT_USER "lp"
#define CUPS_DEFAULT_GROUP "sys"
+#define CUPS_DEFAULT_SYSTEM_GROUPS "sys root system"
+
+
+/*
+ * Default file permissions...
+ */
+
+#define CUPS_DEFAULT_CONFIG_FILE_PERM 0640
+#define CUPS_DEFAULT_LOG_FILE_PERM 0644
+
+
+/*
+ * Default browsing settings...
+ */
+
+#define CUPS_DEFAULT_BROWSING 1
+#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "CUPS"
+#define CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS "CUPS"
+#define CUPS_DEFAULT_BROWSE_SHORT_NAMES 1
+#define CUPS_DEFAULT_DEFAULT_SHARED 1
+#define CUPS_DEFAULT_IMPLICIT_CLASSES 1
/*
sinclude(config-scripts/cups-opsys.m4)
sinclude(config-scripts/cups-common.m4)
+sinclude(config-scripts/cups-defaults.m4)
sinclude(config-scripts/cups-directories.m4)
sinclude(config-scripts/cups-manpages.m4)
AC_OUTPUT(Makedefs packaging/cups.list init/cups.sh cups-config
conf/cupsd.conf conf/pam.std doc/index.html
- doc/help/standard.html templates/edit-config.tmpl)
+ doc/help/standard.html templates/edit-config.tmpl
+ templates/header.tmpl)
chmod +x cups-config
</BLOCKQUOTE>
-<H2><A NAME="CUPSD">cupsd Configuration</A></H2>
+<H2 CLASS="title"><A NAME="CUPSD">cupsd Configuration</A></H2>
<P><CODE>cupsd(8)</CODE> is configured by default to show
printers shared by other systems and only allow local access to
(<VAR>@CUPS_DEFAULT_DOMAINSOCKET@</VAR>) or "localhost"
(127.0.0.1).</P>
+<H3><A NAME="SETTINGS">Settings</A></H3>
+
+<DIV CLASS="table"><TABLE WIDTH="80%">
+<TR>
+ <TH>Directive</TH>
+ <TH>Value</TH>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#Browsing">Browsing</A></CODE></TD>
+ <TD><CODE>@CUPS_BROWSING@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#BrowseLocalProtocols">BrowseLocalProtocols</A></CODE></TD>
+ <TD><CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#BrowseRemoteProtocols">BrowseRemoteProtocols</A></CODE></TD>
+ <TD><CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#BrowseShortNames">BrowseShortNames</A></CODE></TD>
+ <TD><CODE>@CUPS_BROWSE_SHORT_NAMES@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#ConfigFilePerm">ConfigFilePerm</A></CODE></TD>
+ <TD><CODE>@CUPS_CONFIG_FILE_PERM@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#DefaultShared">DefaultShared</A></CODE></TD>
+ <TD><CODE>@CUPS_DEFAULT_SHARED@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#ImplicitClasses">ImplicitClasses</A></CODE></TD>
+ <TD><CODE>@CUPS_IMPLICIT_CLASSES@</CODE></TD>
+</TR>
+<TR>
+ <TD><CODE><A HREF="cupsd-conf-reference.html#LogFilePerm">LogFilePerm</A></CODE></TD>
+ <TD><CODE>@CUPS_LOG_FILE_PERM@</CODE></TD>
+</TR>
+</TABLE></DIV>
-<H2><A NAME="DIRECTORIES">Directories</A></H2>
+
+<H2 CLASS="title"><A NAME="DIRECTORIES">Directories</A></H2>
<DIV CLASS="table"><TABLE WIDTH="80%">
<TR>
</TR>
</TABLE></DIV>
-
</BODY>
</HTML>
* Numeric options...
*/
- ConfigFilePerm = 0640; /* TODO: Add configure option */
+ ConfigFilePerm = CUPS_DEFAULT_CONFIG_FILE_PERM;
DefaultAuthType = AUTH_BASIC;
JobRetryLimit = 5;
JobRetryInterval = 300;
FilterLimit = 0;
FilterNice = 0;
HostNameLookups = FALSE;
- ImplicitClasses = TRUE;
+ ImplicitClasses = CUPS_DEFAULT_IMPLICIT_CLASSES;
ImplicitAnyClasses = FALSE;
HideImplicitMembers = TRUE;
KeepAlive = TRUE;
KeepAliveTimeout = DEFAULT_KEEPALIVE;
ListenBackLog = SOMAXCONN;
- LogFilePerm = 0644;
+ LogFilePerm = CUPS_DEFAULT_LOG_FILE_PERM;
LogLevel = CUPSD_LOG_ERROR;
MaxClients = 100;
MaxClientsPerHost = 0;
BrowseInterval = DEFAULT_INTERVAL;
BrowsePort = ippPort();
- BrowseLocalProtocols = BROWSE_CUPS;
- BrowseRemoteProtocols = BROWSE_CUPS;
- BrowseShortNames = TRUE;
+ BrowseLocalProtocols = BROWSE_CUPS; /* TODO: Use configure option */
+ BrowseRemoteProtocols = BROWSE_CUPS; /* TODO: Use configure option */
+ BrowseShortNames = CUPS_DEFAULT_BROWSE_SHORT_NAMES;
BrowseTimeout = DEFAULT_TIMEOUT;
- Browsing = TRUE;
- DefaultShared = TRUE; /* TODO: Add configure option */
+ Browsing = CUPS_DEFAULT_BROWSING;
+ DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED;
cupsdClearString(&BrowseLocalOptions);
cupsdClearString(&BrowseRemoteOptions);
if (!Browsing || !(BrowseLocalProtocols | BrowseRemoteProtocols))
return;
- if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS) &&
- BrowseSocket < 0)
+ if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS)
{
- /*
- * Create the broadcast socket...
- */
-
- if ((BrowseSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
+ if (BrowseSocket < 0)
{
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdStartBrowsing: Unable to create broadcast socket - %s.",
- strerror(errno));
- BrowseLocalProtocols &= ~BROWSE_CUPS;
- BrowseRemoteProtocols &= ~BROWSE_CUPS;
- return;
- }
+ /*
+ * Create the broadcast socket...
+ */
- /*
- * Set the "broadcast" flag...
- */
+ if ((BrowseSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "cupsdStartBrowsing: Unable to create broadcast "
+ "socket - %s.", strerror(errno));
+ BrowseLocalProtocols &= ~BROWSE_CUPS;
+ BrowseRemoteProtocols &= ~BROWSE_CUPS;
+ return;
+ }
- val = 1;
- if (setsockopt(BrowseSocket, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val)))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdStartBrowsing: Unable to set broadcast mode - %s.",
- strerror(errno));
+ /*
+ * Bind the socket to browse port...
+ */
+
+ memset(&addr, 0, sizeof(addr));
+ addr.sin_addr.s_addr = htonl(INADDR_ANY);
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(BrowsePort);
+
+ if (bind(BrowseSocket, (struct sockaddr *)&addr, sizeof(addr)))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "cupsdStartBrowsing: Unable to bind broadcast "
+ "socket - %s.", strerror(errno));
#ifdef WIN32
- closesocket(BrowseSocket);
+ closesocket(BrowseSocket);
#else
- close(BrowseSocket);
+ close(BrowseSocket);
#endif /* WIN32 */
- BrowseSocket = -1;
- BrowseLocalProtocols &= ~BROWSE_CUPS;
- BrowseRemoteProtocols &= ~BROWSE_CUPS;
- return;
+ BrowseSocket = -1;
+ BrowseLocalProtocols &= ~BROWSE_CUPS;
+ BrowseRemoteProtocols &= ~BROWSE_CUPS;
+ return;
+ }
}
/*
- * Bind the socket to browse port...
+ * Set the "broadcast" flag...
*/
- memset(&addr, 0, sizeof(addr));
- addr.sin_addr.s_addr = htonl(INADDR_ANY);
- addr.sin_family = AF_INET;
- addr.sin_port = htons(BrowsePort);
-
- if (bind(BrowseSocket, (struct sockaddr *)&addr, sizeof(addr)))
+ val = 1;
+ if (setsockopt(BrowseSocket, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val)))
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdStartBrowsing: Unable to bind broadcast socket - %s.",
+ "cupsdStartBrowsing: Unable to set broadcast mode - %s.",
strerror(errno));
#ifdef WIN32
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
- <TITLE>{title} - {cups_version}</TITLE>
+ <TITLE>{title} - @CUPS_VERSION@</TITLE>
<!-- Prevent caching of CGI content -->
<META HTTP-EQUIV="Expires" CONTENT="now">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
mkdir -p $pkgdir/Package
mkdir -p $pkgdir/Resources
-# Install CUPS into the Package directory...
-#make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install
-make BUILDROOT=$pkgdir/Package install
-
# Install resource files into the Resources directory...
echo Installing resource files...
cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf
<packaging/cups-info.plist.in >packaging/cups-info.plist
sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \
<doc/index.html.in >doc/index.html
+sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \
+ <templates/header.tmpl.in >templates/header.tmpl
+
+# Install CUPS into the Package directory...
+#make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install
+make BUILDROOT=$pkgdir/Package install
# Figure out where PackageMaker is installled...
if test -d /Developer/Applications/Utilities/PackageMaker.app; then