summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs-xml/smbdotconf/printing/printing.xml6
-rw-r--r--lib/param/param_table.c4
-rw-r--r--source3/param/loadparm.c14
-rw-r--r--source3/utils/testparm.c2
4 files changed, 9 insertions, 17 deletions
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
index c365594e1f..eb5925f740 100644
--- a/docs-xml/smbdotconf/printing/printing.xml
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -18,7 +18,11 @@
<constant>LPRNG</constant>, <constant>PLP</constant>,
<constant>SYSV</constant>, <constant>HPUX</constant>,
<constant>QNX</constant>, <constant>SOFTQ</constant>,
- and <constant>CUPS</constant>.</para>
+ <constant>CUPS</constant> and <constant>IPRINT</constant>.</para>
+
+ <para>Be aware that CUPS and IPRINT are only available if the CUPS
+ development library was available at the time Samba was compiled
+ or packaged.</para>
<para>To see what the defaults are for the other print
commands when using the various options use the <citerefentry><refentrytitle>testparm</refentrytitle>
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 4126d89c65..2aa392a683 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -186,8 +186,12 @@ static const struct enum_list enum_printing[] = {
{PRINT_QNX, "qnx"},
{PRINT_PLP, "plp"},
{PRINT_LPRNG, "lprng"},
+#ifdef HAVE_CUPS
{PRINT_CUPS, "cups"},
+#endif
+#ifdef HAVE_IPRINT
{PRINT_IPRINT, "iprint"},
+#endif
{PRINT_LPRNT, "nt"},
{PRINT_LPROS2, "os2"},
#if defined(DEVELOPER) || defined(ENABLE_SELFTEST)
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 1e418258d4..2c77691373 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -408,7 +408,6 @@ static void init_printer_values(struct loadparm_service *pService)
case PRINT_CUPS:
case PRINT_IPRINT:
-#ifdef HAVE_CUPS
/* set the lpq command to contain the destination printer
name only. This is used by cups_queue_get() */
string_set(&pService->szLpqcommand, "%p");
@@ -418,15 +417,6 @@ static void init_printer_values(struct loadparm_service *pService)
string_set(&pService->szLpresumecommand, "");
string_set(&pService->szQueuepausecommand, "");
string_set(&pService->szQueueresumecommand, "");
-#else
- string_set(&pService->szLpqcommand, "lpq -P'%p'");
- string_set(&pService->szLprmcommand, "lprm -P'%p' %j");
- string_set(&pService->szPrintcommand, "lpr -P'%p' %s; rm %s");
- string_set(&pService->szLppausecommand, "lp -i '%p-%j' -H hold");
- string_set(&pService->szLpresumecommand, "lp -i '%p-%j' -H resume");
- string_set(&pService->szQueuepausecommand, "disable '%p'");
- string_set(&pService->szQueueresumecommand, "enable '%p'");
-#endif /* HAVE_CUPS */
break;
case PRINT_SYSV:
@@ -5284,11 +5274,7 @@ const char *lp_printcapname(void)
return Globals.szPrintcapname;
if (sDefault.iPrinting == PRINT_CUPS) {
-#ifdef HAVE_CUPS
return "cups";
-#else
- return "lpstat";
-#endif
}
if (sDefault.iPrinting == PRINT_BSD)
diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c
index 105f1c5746..a9793ab4cd 100644
--- a/source3/utils/testparm.c
+++ b/source3/utils/testparm.c
@@ -333,13 +333,11 @@ static void do_per_share_checks(int s)
"%s. Map system can only work if force create mode "
"excludes octal 010 (S_IXGRP).\n", lp_servicename(talloc_tos(), s));
}
-#ifdef HAVE_CUPS
if (lp_printing(s) == PRINT_CUPS && *(lp_printcommand(talloc_tos(), s)) != '\0') {
fprintf(stderr,"Warning: Service %s defines a print command, but \
rameter is ignored when using CUPS libraries.\n",
lp_servicename(talloc_tos(), s) );
}
-#endif
}
int main(int argc, const char *argv[])