The BOOTP protocol is used when you need to provide additional information such as the location of a configuration file to the network interface. Using the standard bootpd(8) program supplied with UNIX you simply need to add a line to the /etc/bootptab file; for IRIX:
The BOOTP protocol is used when you need to provide additional information such as the location of a configuration file to the network interface. Using the standard bootpd(8) program supplied with UNIX you simply need to add a line to the /etc/bootptab file:
myprinter:ha=080069001234:ip=192.0.2.2:t144=myprinter.boot
diff --git a/doc/help/ref-cupsd-conf.html.in b/doc/help/ref-cupsd-conf.html.in
index 8454cf78d5..93b0188a65 100644
--- a/doc/help/ref-cupsd-conf.html.in
+++ b/doc/help/ref-cupsd-conf.html.in
@@ -21,7 +21,7 @@ process using the startup script for your operating system:
-
AIX, IRIX, Linux, Solaris:
+
AIX, Linux, Solaris:
/etc/init.d/cups restart
@@ -2139,22 +2139,6 @@ printcap file. The default is to generate the plist format on OS X, the
Solaris format on Solaris, and the BSD format on other operating systems.
-
The PrintcapGUI directive sets the program to
-associate with the IRIX printer GUI interface script which is
-used by IRIX applications to display printer-specific options.
-There is no default program.
Finally, the tools/testrpm and tools/testosx scripts can be used to create binary packages from the current working copy for testing on Linux and OS X, respectively:
diff --git a/filter/rastertolabel.c b/filter/rastertolabel.c
index 4c0860ccc6..6420c60b80 100644
--- a/filter/rastertolabel.c
+++ b/filter/rastertolabel.c
@@ -777,17 +777,6 @@ OutputLine(ppd_file_t *ppd, /* I - PPD file */
putchar(0x16);
fwrite(Buffer, header->cupsBytesPerLine, 1, stdout);
fflush(stdout);
-
-#ifdef __sgi
- /*
- * This hack works around a bug in the IRIX serial port driver when
- * run at high baud rates (e.g. 115200 baud)... This results in
- * slightly slower label printing, but at least the labels come
- * out properly.
- */
-
- sginap(1);
-#endif /* __sgi */
}
else
Feed ++;
diff --git a/packaging/cups.list.in b/packaging/cups.list.in
index 6dedcaf5b9..e915037e0d 100644
--- a/packaging/cups.list.in
+++ b/packaging/cups.list.in
@@ -293,7 +293,6 @@ f 0555 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
d 0755 root sys $SERVERBIN/daemon -
f 0555 root sys $SERVERBIN/daemon/cups-deviced scheduler/cups-deviced
f 0555 root sys $SERVERBIN/daemon/cups-driverd scheduler/cups-driverd
-f 0555 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
d 0755 root sys $SERVERBIN/driver -
d 0755 root sys $SERVERBIN/filter -
f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
@@ -366,8 +365,6 @@ f 0555 root sys $LIBDIR/libcups.sl.2 cups/libcups.sl.2 nostrip()
l 0755 root sys $LIBDIR/libcups.sl libcups.sl.2
f 0555 root sys $LIBDIR/libcupscgi.sl.1 cgi-bin/libcupscgi.sl.1 nostrip()
l 0755 root sys $LIBDIR/libcupscgi.sl libcupscgi.sl.1
-f 0555 root sys $LIBDIR/libcupsdriver.sl.1 driver/libcupsdriver.sl.1 nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.sl libcupsdriver.sl.1
f 0555 root sys $LIBDIR/libcupsimage.sl.2 filter/libcupsimage.sl.2 nostrip()
l 0755 root sys $LIBDIR/libcupsimage.sl libcupsimage.sl.2
f 0555 root sys $LIBDIR/libcupsmime.sl.1 scheduler/libcupsmime.sl.1 nostrip()
@@ -377,7 +374,6 @@ l 0755 root sys $LIBDIR/libcupsppdc.sl libcupsppdc.sl.1
%system aix
f 0555 root sys $LIBDIR/libcups_s.a cups/libcups_s.a nostrip()
f 0555 root sys $LIBDIR/libcupscgi_s.a cgi-bin/libcupscgi_s.a nostrip()
-f 0555 root sys $LIBDIR/libcupsdriver_s.a driver/libcupsdriver_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsimage_s.a filter/libcupsimage_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsmime_s.a scheduler/libcupsmime_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsppdc_s.a ppdc/libcupsppdc_s.a nostrip()
@@ -386,8 +382,6 @@ f 0555 root sys $LIBDIR/libcups.2.dylib cups/libcups.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcups.dylib libcups.2.dylib
f 0555 root sys $LIBDIR/libcupscgi.1.dylib cgi-bin/libcupscgi.1.dylib nostrip()
l 0755 root sys $LIBDIR/libcupscgi.dylib libcupscgi.1.dylib
-f 0555 root sys $LIBDIR/libcupsdriver.1.dylib driver/libcupsdriver.1.dylib nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.dylib libcupsdriver.1.dylib
f 0555 root sys $LIBDIR/libcupsimage.2.dylib filter/libcupsimage.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsimage.dylib libcupsimage.2.dylib
f 0555 root sys $LIBDIR/libcupsmime.1.dylib scheduler/libcupsmime.1.dylib nostrip()
@@ -399,8 +393,6 @@ f 0555 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2 nostrip()
l 0755 root sys $LIBDIR/libcups.so libcups.so.2
f 0555 root sys $LIBDIR/libcupscgi.so.1 cgi-bin/libcupscgi.so.1 nostrip()
l 0755 root sys $LIBDIR/libcupscgi.so libcupscgi.so.1
-f 0555 root sys $LIBDIR/libcupsdriver.so.1 driver/libcupsdriver.so.1 nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.so libcupsdriver.so.1
f 0555 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2 nostrip()
l 0755 root sys $LIBDIR/libcupsimage.so libcupsimage.so.2
f 0555 root sys $LIBDIR/libcupsmime.so.1 scheduler/libcupsmime.so.1 nostrip()
@@ -418,7 +410,9 @@ d 1770 root $CUPS_GROUP $REQUESTS/tmp -
d 0775 root $CUPS_GROUP $CACHEDIR -
d 0775 root $CUPS_GROUP $CACHEDIR/rss -
#d 0755 root $CUPS_GROUP $CACHEDIR/ppd -
+%system !darwin
d 0755 root $CUPS_GROUP $STATEDIR -
+%system all
d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
# Data files
@@ -530,7 +524,7 @@ f 0444 root sys $DATADIR/templates templates/*.tmpl
#f 0444 root sys $DATADIR/templates/zh_TW templates/zh_TW/*.tmpl
# Config files
-d 0755 root sys $SERVERROOT -
+d 0755 root $CUPS_GROUP $SERVERROOT -
d 0755 root $CUPS_GROUP $SERVERROOT/interfaces -
d 0755 root $CUPS_GROUP $SERVERROOT/ppd -
d 0700 root $CUPS_GROUP $SERVERROOT/ssl -
diff --git a/ppdc/ppdc-driver.cxx b/ppdc/ppdc-driver.cxx
index c9a7a1c969..6459a33a69 100644
--- a/ppdc/ppdc-driver.cxx
+++ b/ppdc/ppdc-driver.cxx
@@ -1025,7 +1025,16 @@ ppdcDriver::write_ppd_file(
if (!o->choices->count)
continue;
- if (!o->text->value)
+ if (o->section == PPDC_SECTION_JCL)
+ {
+ if (!o->text->value)
+ cupsFilePrintf(fp, "*JCLOpenUI *%s/%s: ", o->name->value,
+ catalog->find_message(o->name->value));
+ else
+ cupsFilePrintf(fp, "*JCLOpenUI *%s/%s: ", o->name->value,
+ catalog->find_message(o->text->value));
+ }
+ else if (!o->text->value)
cupsFilePrintf(fp, "*OpenUI *%s/%s: ", o->name->value,
catalog->find_message(o->name->value));
else
diff --git a/scheduler/conf.c b/scheduler/conf.c
index b750db3896..9b48da5032 100644
--- a/scheduler/conf.c
+++ b/scheduler/conf.c
@@ -151,7 +151,6 @@ static const cupsd_var_t variables[] =
{ "PreserveJobFiles", &JobFiles, CUPSD_VARTYPE_TIME },
{ "PreserveJobHistory", &JobHistory, CUPSD_VARTYPE_TIME },
{ "Printcap", &Printcap, CUPSD_VARTYPE_STRING },
- { "PrintcapGUI", &PrintcapGUI, CUPSD_VARTYPE_STRING },
{ "ReloadTimeout", &ReloadTimeout, CUPSD_VARTYPE_TIME },
{ "RemoteRoot", &RemoteRoot, CUPSD_VARTYPE_STRING },
{ "RequestRoot", &RequestRoot, CUPSD_VARTYPE_STRING },
@@ -580,7 +579,6 @@ cupsdReadConfiguration(void)
"%p %u %j %T %P %C %{job-billing} "
"%{job-originating-host-name} %{job-name} %{media} %{sides}");
cupsdSetString(&Printcap, CUPS_DEFAULT_PRINTCAP);
- cupsdSetString(&PrintcapGUI, "/usr/bin/glpoptions");
cupsdSetString(&FontPath, CUPS_FONTPATH);
cupsdSetString(&RemoteRoot, "remroot");
cupsdSetStringf(&ServerHeader, "CUPS/%d.%d", CUPS_VERSION_MAJOR,
diff --git a/scheduler/conf.h b/scheduler/conf.h
index 741855ae3f..4343007748 100644
--- a/scheduler/conf.h
+++ b/scheduler/conf.h
@@ -147,8 +147,6 @@ VAR char *AccessLog VALUE(NULL),
/* Temporary directory */
*Printcap VALUE(NULL),
/* Printcap file */
- *PrintcapGUI VALUE(NULL),
- /* GUI program to use for IRIX */
*FontPath VALUE(NULL),
/* Font search path */
*RemoteRoot VALUE(NULL),
diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
index e677620435..08aa883d1f 100644
--- a/scheduler/cups.sh.in
+++ b/scheduler/cups.sh.in
@@ -4,7 +4,7 @@
#
# Startup/shutdown script for CUPS.
#
-# Copyright 2007-2011 by Apple Inc.
+# Copyright 2007-2012 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -35,18 +35,6 @@
#### OS-Dependent Configuration
case "`uname`" in
- IRIX*)
- IS_ON=/sbin/chkconfig
-
- if $IS_ON verbose; then
- ECHO=echo
- else
- ECHO=:
- fi
- ECHO_OK=:
- ECHO_ERROR=:
- ;;
-
*BSD*)
IS_ON=:
ECHO=echo
@@ -147,7 +135,7 @@ case "`uname`" in
HP-UX* | AIX* | SINIX*)
pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
- IRIX* | SunOS*)
+ SunOS*)
pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
UnixWare*)
diff --git a/scheduler/dirsvc.c b/scheduler/dirsvc.c
index 0e5e3e6958..6dfdb1361e 100644
--- a/scheduler/dirsvc.c
+++ b/scheduler/dirsvc.c
@@ -459,6 +459,7 @@ cupsdUpdateDNSSDName(void)
else
# endif /* __APPLE__ */
# ifdef HAVE_AVAHI
+ if (DNSSDClient)
{
const char *host_name = avahi_client_get_host_name(DNSSDClient);
const char *host_fqdn = avahi_client_get_host_name_fqdn(DNSSDClient);
@@ -472,7 +473,8 @@ cupsdUpdateDNSSDName(void)
else
cupsdSetStringf(&DNSSDHostName, "%s.local", ServerName);
}
-# else /* HAVE_DNSSD */
+ else
+# endif /* HAVE_AVAHI */
{
cupsdSetString(&DNSSDComputerName, ServerName);
@@ -481,7 +483,6 @@ cupsdUpdateDNSSDName(void)
else
cupsdSetStringf(&DNSSDHostName, "%s.local", ServerName);
}
-# endif /* HAVE_AVAHI */
/*
* Then (re)register the web interface if enabled...
diff --git a/scheduler/main.c b/scheduler/main.c
index afb6e2e628..07b0c15340 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -65,10 +65,15 @@
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
# include
#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
+
#ifdef HAVE_NOTIFY_H
# include
#endif /* HAVE_NOTIFY_H */
+#ifdef HAVE_SYS_PARAM_H
+# include
+#endif /* HAVE_SYS_PARAM_H */
+
/*
* Local functions...
@@ -129,10 +134,6 @@ main(int argc, /* I - Number of command-line args */
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-#ifdef __sgi
- cups_file_t *fp; /* Fake lpsched lock file */
- struct stat statbuf; /* Needed for checking lpsched FIFO */
-#endif /* __sgi */
int run_as_child = 0;
/* Needed for background fork/exec */
#ifdef __APPLE__
@@ -365,15 +366,15 @@ main(int argc, /* I - Number of command-line args */
}
}
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) && OpenBSD < 201211
/*
* Call _thread_sys_closefrom() so the child process doesn't reset the
* parent's file descriptors to be blocking. This is a workaround for a
- * limitation of userland libpthread on OpenBSD.
+ * limitation of userland libpthread on older versions of OpenBSD.
*/
_thread_sys_closefrom(0);
-#endif /* __OpenBSD__ */
+#endif /* __OpenBSD__ && OpenBSD < 201211 */
/*
* Since CoreFoundation and DBUS both create fork-unsafe data on execution of
@@ -565,28 +566,6 @@ main(int argc, /* I - Number of command-line args */
signal(SIGTERM, sigterm_handler);
#endif /* HAVE_SIGSET */
-#ifdef __sgi
- /*
- * Try to create a fake lpsched lock file if one is not already there.
- * Some Adobe applications need it under IRIX in order to enable
- * printing...
- */
-
- if ((fp = cupsFileOpen("/var/spool/lp/SCHEDLOCK", "w")) == NULL)
- {
- syslog(LOG_LPR, "Unable to create fake lpsched lock file "
- "\"/var/spool/lp/SCHEDLOCK\"\' - %s!",
- strerror(errno));
- }
- else
- {
- fchmod(cupsFileNumber(fp), 0644);
- fchown(cupsFileNumber(fp), User, Group);
-
- cupsFileClose(fp);
- }
-#endif /* __sgi */
-
/*
* Initialize authentication certificates...
*/
@@ -1131,18 +1110,6 @@ main(int argc, /* I - Number of command-line args */
krb5_free_context(KerberosContext);
#endif /* HAVE_GSSAPI */
-#ifdef __sgi
- /*
- * Remove the fake IRIX lpsched lock file, but only if the existing
- * file is not a FIFO which indicates that the real IRIX lpsched is
- * running...
- */
-
- if (!stat("/var/spool/lp/FIFO", &statbuf))
- if (!S_ISFIFO(statbuf.st_mode))
- unlink("/var/spool/lp/SCHEDLOCK");
-#endif /* __sgi */
-
cupsdStopSelect();
return (!stop_scheduler);
diff --git a/scheduler/printers.c b/scheduler/printers.c
index b5de7ccd87..b7b84c13e4 100644
--- a/scheduler/printers.c
+++ b/scheduler/printers.c
@@ -49,10 +49,6 @@
* load_ppd() - Load a cached PPD file, updating the cache as
* needed.
* new_media_col() - Create a media-col collection value.
- * write_irix_config() - Update the config files used by the IRIX
- * desktop tools.
- * write_irix_state() - Update the status files used by IRIX printing
- * desktop tools.
* write_xml_string() - Write a string with XML escaping.
*/
@@ -96,10 +92,6 @@ static void load_ppd(cupsd_printer_t *p);
static void log_ipp_conformance(cupsd_printer_t *p, const char *reason);
static ipp_t *new_media_col(_pwg_size_t *size, const char *source,
const char *type);
-#ifdef __sgi
-static void write_irix_config(cupsd_printer_t *p);
-static void write_irix_state(cupsd_printer_t *p);
-#endif /* __sgi */
static void write_xml_string(cups_file_t *fp, const char *s);
@@ -720,9 +712,6 @@ cupsdDeletePrinter(
{
int i, /* Looping var */
changed = 0; /* Class changed? */
-#ifdef __sgi
- char filename[1024]; /* Interface script filename */
-#endif /* __sgi */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDeletePrinter(p=%p(%s), update=%d)",
@@ -755,31 +744,6 @@ cupsdDeletePrinter(
"cupsdDeletePrinter: Removing %s from Printers", p->name);
cupsArrayRemove(Printers, p);
- /*
- * Remove the dummy interface/icon/option files under IRIX...
- */
-
-#ifdef __sgi
- snprintf(filename, sizeof(filename), "/var/spool/lp/interface/%s", p->name);
- unlink(filename);
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/gui_interface/ELF/%s.gui",
- p->name);
- unlink(filename);
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/activeicons/%s", p->name);
- unlink(filename);
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/pod/%s.config", p->name);
- unlink(filename);
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/pod/%s.status", p->name);
- unlink(filename);
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/member/%s", p->name);
- unlink(filename);
-#endif /* __sgi */
-
/*
* If p is the default printer, assign a different one...
*/
@@ -1657,14 +1621,6 @@ cupsdSaveAllPrinters(void)
(long)printer->marker_time);
cupsFilePuts(fp, "\n");
-
-#ifdef __sgi
- /*
- * Make IRIX desktop & printer status happy
- */
-
- write_irix_state(printer);
-#endif /* __sgi */
}
cupsdCloseCreatedConfFile(fp, filename);
@@ -2457,15 +2413,6 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
add_printer_defaults(p);
-#ifdef __sgi
- /*
- * Write the IRIX printer config and status files...
- */
-
- write_irix_config(p);
- write_irix_state(p);
-#endif /* __sgi */
-
/*
* Let the browse protocols reflect the change
*/
@@ -2653,10 +2600,6 @@ cupsdSetPrinterState(
*/
p->state_time = time(NULL);
-
-#ifdef __sgi
- write_irix_state(p);
-#endif /* __sgi */
}
/*
@@ -3045,16 +2988,6 @@ cupsdWritePrintcap(void)
cupsd_printer_t *p; /* Current printer */
-#ifdef __sgi
- /*
- * Update the IRIX printer state for the default printer; if
- * no printers remain, then the default printer file will be
- * removed...
- */
-
- write_irix_state(DefaultPrinter);
-#endif /* __sgi */
-
/*
* See if we have a printcap file; if not, don't bother writing it.
*/
@@ -5079,261 +5012,6 @@ new_media_col(_pwg_size_t *size, /* I - media-size/margin values */
}
-#ifdef __sgi
-/*
- * 'write_irix_config()' - Update the config files used by the IRIX
- * desktop tools.
- */
-
-static void
-write_irix_config(cupsd_printer_t *p) /* I - Printer to update */
-{
- char filename[1024]; /* Interface script filename */
- cups_file_t *fp; /* Interface script file */
- ipp_attribute_t *attr; /* Attribute data */
-
-
- /*
- * Add dummy interface and GUI scripts to fool SGI's "challenged" printing
- * tools. First the interface script that tells the tools what kind of
- * printer we have...
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/interface/%s", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePuts(fp, "#!/bin/sh\n");
-
- if ((attr = ippFindAttribute(p->attrs, "printer-make-and-model",
- IPP_TAG_TEXT)) != NULL)
- cupsFilePrintf(fp, "NAME=\"%s\"\n", attr->values[0].string.text);
- else if (p->type & CUPS_PRINTER_CLASS)
- cupsFilePuts(fp, "NAME=\"Printer Class\"\n");
- else
- cupsFilePuts(fp, "NAME=\"Remote Destination\"\n");
-
- if (p->type & CUPS_PRINTER_COLOR)
- cupsFilePuts(fp, "TYPE=ColorPostScript\n");
- else
- cupsFilePuts(fp, "TYPE=MonoPostScript\n");
-
- cupsFilePrintf(fp, "HOSTNAME=%s\n", ServerName);
- cupsFilePrintf(fp, "HOSTPRINTER=%s\n", p->name);
-
- cupsFileClose(fp);
-
- chmod(filename, 0755);
- chown(filename, User, Group);
- }
-
- /*
- * Then the member file that tells which device file the queue is connected
- * to... Networked printers use "/dev/null" in this file, so that's what
- * we use (the actual device URI can confuse some apps...)
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/member/%s", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePuts(fp, "/dev/null\n");
-
- cupsFileClose(fp);
-
- chmod(filename, 0644);
- chown(filename, User, Group);
- }
-
- /*
- * The gui_interface file is a script or program that launches a GUI
- * option panel for the printer, using options specified on the
- * command-line in the third argument. The option panel must send
- * any printing options to stdout on a single line when the user
- * accepts them, or nothing if the user cancels the dialog.
- *
- * The default options panel program is /usr/bin/glpoptions, from
- * the ESP Print Pro software. You can select another using the
- * PrintcapGUI option.
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/gui_interface/ELF/%s.gui", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePuts(fp, "#!/bin/sh\n");
- cupsFilePrintf(fp, "%s -d %s -o \"$3\"\n", PrintcapGUI, p->name);
-
- cupsFileClose(fp);
-
- chmod(filename, 0755);
- chown(filename, User, Group);
- }
-
- /*
- * The POD config file is needed by the printstatus command to show
- * the printer location and device.
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/pod/%s.config", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePrintf(fp, "Printer Class | %s\n",
- (p->type & CUPS_PRINTER_COLOR) ? "ColorPostScript" : "MonoPostScript");
- cupsFilePrintf(fp, "Printer Model | %s\n", p->make_model ? p->make_model : "");
- cupsFilePrintf(fp, "Location Code | %s\n", p->location ? p->location : "");
- cupsFilePrintf(fp, "Physical Location | %s\n", p->info ? p->info : "");
- cupsFilePrintf(fp, "Port Path | %s\n", p->device_uri);
- cupsFilePrintf(fp, "Config Path | /var/spool/lp/pod/%s.config\n", p->name);
- cupsFilePrintf(fp, "Active Status Path | /var/spool/lp/pod/%s.status\n", p->name);
- cupsFilePuts(fp, "Status Update Wait | 10 seconds\n");
-
- cupsFileClose(fp);
-
- chmod(filename, 0664);
- chown(filename, User, Group);
- }
-}
-
-
-/*
- * 'write_irix_state()' - Update the status files used by IRIX printing
- * desktop tools.
- */
-
-static void
-write_irix_state(cupsd_printer_t *p) /* I - Printer to update */
-{
- char filename[1024]; /* Interface script filename */
- cups_file_t *fp; /* Interface script file */
- int tag; /* Status tag value */
-
-
- if (p)
- {
- /*
- * The POD status file is needed for the printstatus window to
- * provide the current status of the printer.
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/pod/%s.status", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePrintf(fp, "Operational Status | %s\n",
- (p->state == IPP_PRINTER_IDLE) ? "Idle" :
- (p->state == IPP_PRINTER_PROCESSING) ? "Busy" :
- "Faulted");
- cupsFilePrintf(fp, "Information | 01 00 00 | %s\n", CUPS_SVERSION);
- cupsFilePrintf(fp, "Information | 02 00 00 | Device URI: %s\n",
- p->device_uri);
- cupsFilePrintf(fp, "Information | 03 00 00 | %s jobs\n",
- p->accepting ? "Accepting" : "Not accepting");
- cupsFilePrintf(fp, "Information | 04 00 00 | %s\n", p->state_message);
-
- cupsFileClose(fp);
-
- chmod(filename, 0664);
- chown(filename, User, Group);
- }
-
- /*
- * The activeicons file is needed to provide desktop icons for printers:
- *
- * [ quoted from /usr/lib/print/tagit ]
- *
- * --- Type of printer tags (base values)
- *
- * Dumb=66048 # 0x10200
- * DumbColor=66080 # 0x10220
- * Raster=66112 # 0x10240
- * ColorRaster=66144 # 0x10260
- * Plotter=66176 # 0x10280
- * PostScript=66208 # 0x102A0
- * ColorPostScript=66240 # 0x102C0
- * MonoPostScript=66272 # 0x102E0
- *
- * --- Printer state modifiers for local printers
- *
- * Idle=0 # 0x0
- * Busy=1 # 0x1
- * Faulted=2 # 0x2
- * Unknown=3 # 0x3 (Faulted due to unknown reason)
- *
- * --- Printer state modifiers for network printers
- *
- * NetIdle=8 # 0x8
- * NetBusy=9 # 0x9
- * NetFaulted=10 # 0xA
- * NetUnknown=11 # 0xB (Faulted due to unknown reason)
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/activeicons/%s", p->name);
-
- if (p->type & CUPS_PRINTER_CLASS)
- unlink(filename);
- else if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- if (p->type & CUPS_PRINTER_COLOR)
- tag = 66240;
- else
- tag = 66272;
-
- if (p->type & CUPS_PRINTER_REMOTE)
- tag |= 8;
-
- if (p->state == IPP_PRINTER_PROCESSING)
- tag |= 1;
-
- else if (p->state == IPP_PRINTER_STOPPED)
- tag |= 2;
-
- cupsFilePuts(fp, "#!/bin/sh\n");
- cupsFilePrintf(fp, "#Tag %d\n", tag);
-
- cupsFileClose(fp);
-
- chmod(filename, 0755);
- chown(filename, User, Group);
- }
- }
-
- /*
- * The default file is needed by the printers window to show
- * the default printer.
- */
-
- snprintf(filename, sizeof(filename), "/var/spool/lp/default");
-
- if (DefaultPrinter != NULL)
- {
- if ((fp = cupsFileOpen(filename, "w")) != NULL)
- {
- cupsFilePrintf(fp, "%s\n", DefaultPrinter->name);
-
- cupsFileClose(fp);
-
- chmod(filename, 0644);
- chown(filename, User, Group);
- }
- }
- else
- unlink(filename);
-}
-#endif /* __sgi */
-
-
/*
* 'write_xml_string()' - Write a string with XML escaping.
*/
diff --git a/scheduler/select.c b/scheduler/select.c
index 4510d7c232..5af53416c9 100644
--- a/scheduler/select.c
+++ b/scheduler/select.c
@@ -3,7 +3,7 @@
*
* Select abstraction functions for the CUPS scheduler.
*
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2012 by Apple Inc.
* Copyright 2006-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -49,15 +49,14 @@
/*
* Design Notes for Poll/Select API in CUPSD
* -----------------------------------------
- *
+ *
* SUPPORTED APIS
- *
+ *
* OS select poll epoll kqueue /dev/poll
* -------------- ------ ------ ------ ------ ---------
* AIX YES YES NO NO NO
* FreeBSD YES YES NO YES NO
* HP-UX YES YES NO NO NO
- * IRIX YES YES NO NO NO
* Linux YES YES YES NO NO
* MacOS X YES YES NO YES NO
* NetBSD YES YES NO YES NO
@@ -65,22 +64,22 @@
* Solaris YES YES NO NO YES
* Tru64 YES YES NO NO NO
* Windows YES NO NO NO NO
- *
- *
+ *
+ *
* HIGH-LEVEL API
- *
+ *
* typedef void (*cupsd_selfunc_t)(void *data);
- *
+ *
* void cupsdStartSelect(void);
* void cupsdStopSelect(void);
* void cupsdAddSelect(int fd, cupsd_selfunc_t read_cb,
* cupsd_selfunc_t write_cb, void *data);
* void cupsdRemoveSelect(int fd);
* int cupsdDoSelect(int timeout);
- *
- *
+ *
+ *
* IMPLEMENTATION STRATEGY
- *
+ *
* 0. Common Stuff
* a. CUPS array of file descriptor to callback functions
* and data + temporary array of removed fd's.
@@ -103,7 +102,7 @@
* working sets.
* d. cupsdStopSelect() frees all of the memory used by the
* CUPS array and fd_set's.
- *
+ *
* 2. poll() - O(n log n)
* a. Regular array of pollfd, sorted the same as the CUPS
* array.
@@ -117,7 +116,7 @@
* e. cupsdRemoveSelect() flags the pollfd array as invalid.
* f. cupsdStopSelect() frees all of the memory used by the
* CUPS array and pollfd array.
- *
+ *
* 3. epoll() - O(n)
* a. cupsdStartSelect() creates epoll file descriptor using
* epoll_create() with the maximum fd count, and
@@ -133,7 +132,7 @@
* the callback record.
* d. cupsdStopSelect() closes the epoll file descriptor and
* frees all of the memory used by the event buffer.
- *
+ *
* 4. kqueue() - O(n)
* b. cupsdStartSelect() creates kqueue file descriptor
* using kqueue() function and allocates a global event
@@ -146,7 +145,7 @@
* find the callback record.
* e. cupsdStopSelect() closes the kqueue() file descriptor
* and frees all of the memory used by the event buffer.
- *
+ *
* 5. /dev/poll - O(n log n) - NOT YET IMPLEMENTED
* a. cupsdStartSelect() opens /dev/poll and allocates an
* array of pollfd structs; on failure to open /dev/poll,
diff --git a/systemv/lpstat.c b/systemv/lpstat.c
index fd36fe898d..6c9d734d71 100644
--- a/systemv/lpstat.c
+++ b/systemv/lpstat.c
@@ -205,38 +205,6 @@ main(int argc, /* I - Number of command-line arguments */
}
break;
-#ifdef __sgi
- case 'b' : /* Show both the local and remote status */
- op = 'b';
-
- if (argv[i][2])
- {
- /*
- * The local and remote status are separated by a blank line;
- * since all CUPS jobs are networked, we only output the
- * second list for now... In the future, we might further
- * emulate this by listing the remote server's queue, but
- * for now this is enough to make the SGI printstatus program
- * happy...
- */
-
- check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
-
- puts("");
- status |= show_jobs(argv[i] + 2, NULL, 3, ranking, which);
- }
- else
- {
- _cupsLangPrintf(stderr,
- _("%s: Error - expected destination after "
- "\"-b\" option."),
- argv[0]);
-
- return (1);
- }
- break;
-#endif /* __sgi */
-
case 'c' : /* Show classes and members */
op = 'c';
@@ -299,18 +267,7 @@ main(int argc, /* I - Number of command-line arguments */
break;
case 'l' : /* Long status or long job status */
-#ifdef __sgi
- op = 'l';
-
- if (argv[i][2])
- {
- check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
-
- status |= show_jobs(argv[i] + 2, NULL, 3, ranking, which);
- }
- else
-#endif /* __sgi */
- long_status = 2;
+ long_status = 2;
break;
case 'o' : /* Show jobs by destination */
diff --git a/templates/ca/header.tmpl.in b/templates/ca/header.tmpl.in
index 988d6bf794..02cf580812 100644
--- a/templates/ca/header.tmpl.in
+++ b/templates/ca/header.tmpl.in
@@ -6,8 +6,16 @@
{refresh_page?:}
+
-
+
CUPS i el logotip de CUPS són marques registrades per
Apple Inc. CUPS té copyright 2007-2012 Apple
diff --git a/templates/es/header.tmpl.in b/templates/es/header.tmpl.in
index b6c63b4315..3e974c802e 100644
--- a/templates/es/header.tmpl.in
+++ b/templates/es/header.tmpl.in
@@ -6,8 +6,16 @@
{refresh_page?:}
+
-
+
CUPS y el logo de CUPS son marcas registradas de
Apple, Inc. Los derechos de copia de CUPS
diff --git a/templates/header.tmpl.in b/templates/header.tmpl.in
index a383725c51..8aaf89c182 100644
--- a/templates/header.tmpl.in
+++ b/templates/header.tmpl.in
@@ -6,8 +6,16 @@
{refresh_page?:}
+
-
+
CUPS and the CUPS logo are trademarks of
Apple Inc. CUPS is copyright 2007-2012 Apple
diff --git a/templates/trailer.tmpl b/templates/trailer.tmpl
index 123a19722b..14412f1ca3 100644
--- a/templates/trailer.tmpl
+++ b/templates/trailer.tmpl
@@ -1,4 +1,4 @@
-
+
CUPS and the CUPS logo are trademarks of
Apple Inc. CUPS is copyright 2007-2012 Apple