cups: fix for cups not building without avahi
Backport upstream patch for CUPS issue: STR #4402 [YOCTO #6325] (From OE-Core rev: 7decf9dce56868e39902dac5957eb72f6e1e9acd) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
5eb03b6773
commit
bb86520cb2
|
@ -0,0 +1,190 @@
|
|||
|
||||
|
||||
Upstream CUPS issue when building with out dnssd/avahi
|
||||
|
||||
https://www.cups.org/str.php?L4408+P-1+S-2+C0+I0+E0+Q
|
||||
|
||||
Upstream-Status: Backport [STR #4402]
|
||||
|
||||
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
||||
|
||||
--- a/scheduler/dirsvc.c 2014-03-05 13:11:32.000000000 -0800
|
||||
+++ b/shceduler/dirsvc.c 2014-05-19 11:33:51.743124614 -0700
|
||||
@@ -50,6 +50,9 @@
|
||||
static void update_lpd(int onoff);
|
||||
static void update_smb(int onoff);
|
||||
|
||||
+static void deregister_all_printers(int from_callback);
|
||||
+static void register_all_printers(int from_callback);
|
||||
+
|
||||
|
||||
#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
|
||||
# ifdef __APPLE__
|
||||
@@ -60,12 +63,10 @@
|
||||
# ifdef HAVE_AVAHI
|
||||
static void dnssdClientCallback(AvahiClient *c, AvahiClientState state, void *userdata);
|
||||
# endif /* HAVE_AVAHI */
|
||||
-static void dnssdDeregisterAllPrinters(int from_callback);
|
||||
static void dnssdDeregisterInstance(cupsd_srv_t *srv, int from_callback);
|
||||
static void dnssdDeregisterPrinter(cupsd_printer_t *p, int clear_name, int from_callback);
|
||||
static const char *dnssdErrorString(int error);
|
||||
static void dnssdFreeTxtRecord(cupsd_txt_t *txt);
|
||||
-static void dnssdRegisterAllPrinters(int from_callback);
|
||||
# ifdef HAVE_DNSSD
|
||||
static void dnssdRegisterCallback(DNSServiceRef sdRef,
|
||||
DNSServiceFlags flags,
|
||||
@@ -241,7 +242,7 @@
|
||||
* Register the individual printers
|
||||
*/
|
||||
|
||||
- dnssdRegisterAllPrinters(0);
|
||||
+ register_all_printers(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -259,7 +260,7 @@
|
||||
* De-register the individual printers
|
||||
*/
|
||||
|
||||
- dnssdDeregisterAllPrinters(0);
|
||||
+ deregister_all_printers(0);
|
||||
|
||||
/*
|
||||
* Shut down browsing sockets...
|
||||
@@ -579,7 +580,7 @@
|
||||
* Register the individual printers
|
||||
*/
|
||||
|
||||
- dnssdRegisterAllPrinters(1);
|
||||
+ register_all_printers(1);
|
||||
break;
|
||||
|
||||
case AVAHI_CLIENT_FAILURE:
|
||||
@@ -591,7 +592,7 @@
|
||||
* Unregister everything and close the client...
|
||||
*/
|
||||
|
||||
- dnssdDeregisterAllPrinters(1);
|
||||
+ deregister_all_printers(1);
|
||||
dnssdDeregisterInstance(&WebIFSrv, 1);
|
||||
avahi_client_free(DNSSDClient);
|
||||
DNSSDClient = NULL;
|
||||
@@ -631,28 +632,6 @@
|
||||
|
||||
|
||||
/*
|
||||
- * 'dnssdDeregisterAllPrinters()' - Deregister all printers.
|
||||
- */
|
||||
-
|
||||
-static void
|
||||
-dnssdDeregisterAllPrinters(
|
||||
- int from_callback) /* I - Deregistering because of callback? */
|
||||
-{
|
||||
- cupsd_printer_t *p; /* Current printer */
|
||||
-
|
||||
-
|
||||
- if (!DNSSDMaster)
|
||||
- return;
|
||||
-
|
||||
- for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
|
||||
- p;
|
||||
- p = (cupsd_printer_t *)cupsArrayNext(Printers))
|
||||
- if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
|
||||
- dnssdDeregisterPrinter(p, 1, from_callback);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
* 'dnssdDeregisterInstance()' - Deregister a DNS-SD service instance.
|
||||
*/
|
||||
|
||||
@@ -858,27 +837,6 @@
|
||||
|
||||
|
||||
/*
|
||||
- * 'dnssdRegisterAllPrinters()' - Register all printers.
|
||||
- */
|
||||
-
|
||||
-static void
|
||||
-dnssdRegisterAllPrinters(int from_callback) /* I - Called from callback? */
|
||||
-{
|
||||
- cupsd_printer_t *p; /* Current printer */
|
||||
-
|
||||
-
|
||||
- if (!DNSSDMaster)
|
||||
- return;
|
||||
-
|
||||
- for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
|
||||
- p;
|
||||
- p = (cupsd_printer_t *)cupsArrayNext(Printers))
|
||||
- if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
|
||||
- dnssdRegisterPrinter(p, from_callback);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
* 'dnssdRegisterCallback()' - DNSServiceRegister callback.
|
||||
*/
|
||||
|
||||
@@ -1813,6 +1771,61 @@
|
||||
}
|
||||
|
||||
|
||||
+/*
|
||||
+ * 'deregister_all_printers()' - Deregister all printers.
|
||||
+ */
|
||||
+
|
||||
+static void
|
||||
+deregister_all_printers(
|
||||
+ int from_callback) /* I - Deregistering because of callback? */
|
||||
+{
|
||||
+ cupsd_printer_t *p; /* Current printer */
|
||||
+
|
||||
+
|
||||
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
|
||||
+ if (!DNSSDMaster)
|
||||
+ return;
|
||||
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
|
||||
+
|
||||
+ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
|
||||
+ p;
|
||||
+ p = (cupsd_printer_t *)cupsArrayNext(Printers))
|
||||
+ if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
|
||||
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
|
||||
+ dnssdDeregisterPrinter(p, 1, from_callback);
|
||||
+#else
|
||||
+ cupsdDeregisterPrinter(p, 1);
|
||||
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * 'register_all_printers()' - Register all printers.
|
||||
+ */
|
||||
+
|
||||
+static void
|
||||
+register_all_printers(int from_callback) /* I - Called from callback? */
|
||||
+{
|
||||
+ cupsd_printer_t *p; /* Current printer */
|
||||
+
|
||||
+
|
||||
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
|
||||
+ if (!DNSSDMaster)
|
||||
+ return;
|
||||
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
|
||||
+
|
||||
+ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
|
||||
+ p;
|
||||
+ p = (cupsd_printer_t *)cupsArrayNext(Printers))
|
||||
+ if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
|
||||
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
|
||||
+ dnssdRegisterPrinter(p, from_callback);
|
||||
+#else
|
||||
+ cupsdRegisterPrinter(p);
|
||||
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
|
||||
+}
|
||||
+
|
||||
+
|
||||
/*
|
||||
* End of "$Id: dirsvc.c 11688 2014-03-05 21:11:32Z msweet $".
|
||||
*/
|
Loading…
Reference in New Issue