diff --git a/.gitignore b/.gitignore index a907bf0..bc233cc 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,4 @@ cups-1.4.4-source.tar.bz2 /cups-2.1.2-source.tar.bz2 /cups-2.1.3-source.tar.bz2 /cups-2.1.4-source.tar.gz +/cups-2.2b2-source.tar.gz diff --git a/cups-2.0.4-source.tar.bz2.sig b/cups-2.0.4-source.tar.bz2.sig deleted file mode 100644 index 2adb172..0000000 Binary files a/cups-2.0.4-source.tar.bz2.sig and /dev/null differ diff --git a/cups-2.2b2-source.tar.gz.sig b/cups-2.2b2-source.tar.gz.sig new file mode 100644 index 0000000..9f03226 Binary files /dev/null and b/cups-2.2b2-source.tar.gz.sig differ diff --git a/cups-avahi-address.patch b/cups-avahi-address.patch index b731d83..b8090ea 100644 --- a/cups-avahi-address.patch +++ b/cups-avahi-address.patch @@ -1,7 +1,7 @@ -diff -up cups-2.0rc1/cups/http-support.c.avahi-address cups-2.0rc1/cups/http-support.c ---- cups-2.0rc1/cups/http-support.c.avahi-address 2014-08-28 17:37:22.000000000 +0200 -+++ cups-2.0rc1/cups/http-support.c 2014-09-12 15:31:45.062950696 +0200 -@@ -2342,7 +2342,7 @@ http_resolve_cb( +diff -up cups-2.2b2/cups/http-support.c.avahi-address cups-2.2b2/cups/http-support.c +--- cups-2.2b2/cups/http-support.c.avahi-address 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/cups/http-support.c 2016-06-27 15:31:34.201361844 +0200 +@@ -2340,7 +2340,7 @@ http_resolve_cb( const char *type, /* I - Registration type */ const char *domain, /* I - Domain (unused) */ const char *hostTarget, /* I - Hostname */ @@ -10,7 +10,7 @@ diff -up cups-2.0rc1/cups/http-support.c.avahi-address cups-2.0rc1/cups/http-sup uint16_t port, /* I - Port number */ AvahiStringList *txt, /* I - TXT record */ AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */ -@@ -2495,39 +2495,62 @@ http_resolve_cb( +@@ -2493,39 +2493,62 @@ http_resolve_cb( * getting the IP address of the .local name and then do reverse-lookups... */ @@ -20,7 +20,7 @@ diff -up cups-2.0rc1/cups/http-support.c.avahi-address cups-2.0rc1/cups/http-sup + size_t addrlen; + int error; - DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget)); + DEBUG_printf(("5http_resolve_cb: Looking up \"%s\".", hostTarget)); - snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port)); - if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL) @@ -54,7 +54,7 @@ diff -up cups-2.0rc1/cups/http-support.c.avahi-address cups-2.0rc1/cups/http-sup - if (!error) - { -- DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn)); +- DEBUG_printf(("5http_resolve_cb: Found \"%s\".", fqdn)); + if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn || + _cups_strcasecmp(hostptr, ".local")) @@ -73,7 +73,7 @@ diff -up cups-2.0rc1/cups/http-support.c.avahi-address cups-2.0rc1/cups/http-sup + #ifdef DEBUG - else -- DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d", +- DEBUG_printf(("5http_resolve_cb: \"%s\" did not resolve: %d", - httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)), - error)); + DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d", diff --git a/cups-avahi-no-threaded.patch b/cups-avahi-no-threaded.patch index 9f613fc..f81c71f 100644 --- a/cups-avahi-no-threaded.patch +++ b/cups-avahi-no-threaded.patch @@ -1,6 +1,6 @@ -diff -up cups-2.1.3/scheduler/avahi.c.avahi-no-threaded cups-2.1.3/scheduler/avahi.c ---- cups-2.1.3/scheduler/avahi.c.avahi-no-threaded 2016-02-08 12:30:39.434688965 +0100 -+++ cups-2.1.3/scheduler/avahi.c 2016-02-08 12:30:39.434688965 +0100 +diff -up cups-2.2b2/scheduler/avahi.c.avahi-no-threaded cups-2.2b2/scheduler/avahi.c +--- cups-2.2b2/scheduler/avahi.c.avahi-no-threaded 2016-06-27 17:55:19.568728958 +0200 ++++ cups-2.2b2/scheduler/avahi.c 2016-06-27 17:55:19.568728958 +0200 @@ -0,0 +1,441 @@ +/* + * "$Id$" @@ -443,9 +443,9 @@ diff -up cups-2.1.3/scheduler/avahi.c.avahi-no-threaded cups-2.1.3/scheduler/ava +/* + * End of "$Id$". + */ -diff -up cups-2.1.3/scheduler/avahi.h.avahi-no-threaded cups-2.1.3/scheduler/avahi.h ---- cups-2.1.3/scheduler/avahi.h.avahi-no-threaded 2016-02-08 12:30:39.434688965 +0100 -+++ cups-2.1.3/scheduler/avahi.h 2016-02-08 12:30:39.434688965 +0100 +diff -up cups-2.2b2/scheduler/avahi.h.avahi-no-threaded cups-2.2b2/scheduler/avahi.h +--- cups-2.2b2/scheduler/avahi.h.avahi-no-threaded 2016-06-27 17:55:19.568728958 +0200 ++++ cups-2.2b2/scheduler/avahi.h 2016-06-27 17:55:19.568728958 +0200 @@ -0,0 +1,69 @@ +/* + * "$Id$" @@ -516,10 +516,10 @@ diff -up cups-2.1.3/scheduler/avahi.h.avahi-no-threaded cups-2.1.3/scheduler/ava +/* + * End of "$Id$". + */ -diff -up cups-2.1.3/scheduler/cupsd.h.avahi-no-threaded cups-2.1.3/scheduler/cupsd.h ---- cups-2.1.3/scheduler/cupsd.h.avahi-no-threaded 2014-03-21 17:42:53.000000000 +0100 -+++ cups-2.1.3/scheduler/cupsd.h 2016-02-08 12:30:39.434688965 +0100 -@@ -119,6 +119,7 @@ extern const char *cups_hstrerror(int); +diff -up cups-2.2b2/scheduler/cupsd.h.avahi-no-threaded cups-2.2b2/scheduler/cupsd.h +--- cups-2.2b2/scheduler/cupsd.h.avahi-no-threaded 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/cupsd.h 2016-06-27 17:57:45.476572827 +0200 +@@ -118,6 +118,7 @@ extern const char *cups_hstrerror(int); #include "colorman.h" #include "conf.h" #include "banners.h" @@ -527,7 +527,7 @@ diff -up cups-2.1.3/scheduler/cupsd.h.avahi-no-threaded cups-2.1.3/scheduler/cup #include "dirsvc.h" #include "network.h" #include "subscriptions.h" -@@ -139,6 +140,15 @@ extern const char *cups_hstrerror(int); +@@ -138,6 +139,15 @@ extern const char *cups_hstrerror(int); typedef void (*cupsd_selfunc_t)(void *data); @@ -543,21 +543,21 @@ diff -up cups-2.1.3/scheduler/cupsd.h.avahi-no-threaded cups-2.1.3/scheduler/cup /* * Globals... -@@ -163,6 +173,10 @@ VAR int OnDemand VALUE(0); +@@ -162,6 +172,9 @@ VAR int OnDemand VALUE(0); /* Launched on demand */ - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ + #endif /* HAVE_ONDEMAND */ +#ifdef HAVE_AVAHI +VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */ +#endif /* HAVE_AVAHI */ -+ /* * Prototypes... -@@ -226,6 +240,17 @@ extern void cupsdStopSelect(void); +@@ -224,3 +237,15 @@ extern void cupsdStopSelect(void); + /* server.c */ extern void cupsdStartServer(void); extern void cupsdStopServer(void); - ++ +#ifdef HAVE_AVAHI +extern void cupsdInitTimeouts(void); +extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv, @@ -569,13 +569,11 @@ diff -up cups-2.1.3/scheduler/cupsd.h.avahi-no-threaded cups-2.1.3/scheduler/cup + const struct timeval *tv); +extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout); +#endif /* HAVE_AVAHI */ - - /* - * End of "$Id: cupsd.h 11717 2014-03-21 16:42:53Z msweet $". -diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/dirsvc.c ---- cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded 2015-01-30 17:15:53.000000000 +0100 -+++ cups-2.1.3/scheduler/dirsvc.c 2016-02-08 12:30:39.435688964 +0100 -@@ -195,7 +195,7 @@ cupsdStartBrowsing(void) +\ No newline at end of file +diff -up cups-2.2b2/scheduler/dirsvc.c.avahi-no-threaded cups-2.2b2/scheduler/dirsvc.c +--- cups-2.2b2/scheduler/dirsvc.c.avahi-no-threaded 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/dirsvc.c 2016-06-27 17:55:19.569728950 +0200 +@@ -193,7 +193,7 @@ cupsdStartBrowsing(void) cupsdUpdateDNSSDName(); # else /* HAVE_AVAHI */ @@ -584,7 +582,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di { cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread."); -@@ -206,7 +206,7 @@ cupsdStartBrowsing(void) +@@ -204,7 +204,7 @@ cupsdStartBrowsing(void) { int error; /* Error code, if any */ @@ -593,7 +591,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di if (DNSSDClient == NULL) { -@@ -217,11 +217,9 @@ cupsdStartBrowsing(void) +@@ -215,11 +215,9 @@ cupsdStartBrowsing(void) if (FatalErrors & CUPSD_FATAL_BROWSE) cupsdEndProcess(getpid(), 0); @@ -606,7 +604,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di } # endif /* HAVE_DNSSD */ } -@@ -608,7 +606,7 @@ dnssdClientCallback( +@@ -606,7 +604,7 @@ dnssdClientCallback( * Renew Avahi client... */ @@ -615,7 +613,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di if (!DNSSDClient) { -@@ -672,13 +670,7 @@ dnssdDeregisterInstance( +@@ -670,13 +668,7 @@ dnssdDeregisterInstance( DNSServiceRefDeallocate(*srv); # else /* HAVE_AVAHI */ @@ -629,7 +627,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di # endif /* HAVE_DNSSD */ *srv = NULL; -@@ -999,16 +991,10 @@ dnssdRegisterInstance( +@@ -997,16 +989,10 @@ dnssdRegisterInstance( (void)commit; # else /* HAVE_AVAHI */ @@ -646,7 +644,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s", name, dnssdErrorString(avahi_client_errno(DNSSDClient))); return (0); -@@ -1123,9 +1109,6 @@ dnssdRegisterInstance( +@@ -1121,9 +1107,6 @@ dnssdRegisterInstance( cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD commit of \"%s\" failed.", name); } @@ -656,7 +654,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di # endif /* HAVE_DNSSD */ if (error) -@@ -1296,9 +1279,6 @@ dnssdStop(void) +@@ -1294,9 +1277,6 @@ dnssdStop(void) DNSSDMaster = NULL; # else /* HAVE_AVAHI */ @@ -666,7 +664,7 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di if (DNSSDClient) { avahi_client_free(DNSSDClient); -@@ -1307,7 +1287,7 @@ dnssdStop(void) +@@ -1305,7 +1285,7 @@ dnssdStop(void) if (DNSSDMaster) { @@ -675,10 +673,10 @@ diff -up cups-2.1.3/scheduler/dirsvc.c.avahi-no-threaded cups-2.1.3/scheduler/di DNSSDMaster = NULL; } # endif /* HAVE_DNSSD */ -diff -up cups-2.1.3/scheduler/dirsvc.h.avahi-no-threaded cups-2.1.3/scheduler/dirsvc.h ---- cups-2.1.3/scheduler/dirsvc.h.avahi-no-threaded 2013-05-29 13:51:34.000000000 +0200 -+++ cups-2.1.3/scheduler/dirsvc.h 2016-02-08 12:30:39.435688964 +0100 -@@ -51,7 +51,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU +diff -up cups-2.2b2/scheduler/dirsvc.h.avahi-no-threaded cups-2.2b2/scheduler/dirsvc.h +--- cups-2.2b2/scheduler/dirsvc.h.avahi-no-threaded 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/dirsvc.h 2016-06-27 17:55:19.569728950 +0200 +@@ -49,7 +49,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU VAR DNSServiceRef DNSSDMaster VALUE(NULL); /* Master DNS-SD service reference */ # else /* HAVE_AVAHI */ @@ -687,21 +685,22 @@ diff -up cups-2.1.3/scheduler/dirsvc.h.avahi-no-threaded cups-2.1.3/scheduler/di /* Master polling interface for Avahi */ VAR AvahiClient *DNSSDClient VALUE(NULL); /* Client information */ -diff -up cups-2.1.3/scheduler/main.c.avahi-no-threaded cups-2.1.3/scheduler/main.c ---- cups-2.1.3/scheduler/main.c.avahi-no-threaded 2016-02-08 12:30:39.415688973 +0100 -+++ cups-2.1.3/scheduler/main.c 2016-02-08 12:34:39.894591550 +0100 -@@ -135,6 +135,10 @@ main(int argc, /* I - Number of comm +diff -up cups-2.2b2/scheduler/main.c.avahi-no-threaded cups-2.2b2/scheduler/main.c +--- cups-2.2b2/scheduler/main.c.avahi-no-threaded 2016-06-27 17:55:19.555729061 +0200 ++++ cups-2.2b2/scheduler/main.c 2016-06-27 17:58:44.350106330 +0200 +@@ -131,7 +131,10 @@ main(int argc, /* I - Number of comm int service_idle_exit; /* Idle exit on select timeout? */ - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ + #endif /* HAVE_ONDEMAND */ +- +#ifdef HAVE_AVAHI + cupsd_timeout_t *tmo; /* Next scheduled timed callback */ + long tmo_delay; /* Time before it must be called */ +#endif /* HAVE_AVAHI */ - #ifdef HAVE_GETEUID -@@ -585,6 +589,14 @@ main(int argc, /* I - Number of comm + /* +@@ -609,6 +612,14 @@ main(int argc, /* I - Number of comm httpInitialize(); @@ -716,7 +715,7 @@ diff -up cups-2.1.3/scheduler/main.c.avahi-no-threaded cups-2.1.3/scheduler/main cupsdStartServer(); /* -@@ -902,6 +914,16 @@ main(int argc, /* I - Number of comm +@@ -930,6 +941,16 @@ main(int argc, /* I - Number of comm } #endif /* __APPLE__ */ @@ -733,7 +732,7 @@ diff -up cups-2.1.3/scheduler/main.c.avahi-no-threaded cups-2.1.3/scheduler/main #ifndef __APPLE__ /* * Update the network interfaces once a minute... -@@ -1591,6 +1613,10 @@ select_timeout(int fds) /* I - Number +@@ -1620,6 +1641,10 @@ select_timeout(int fds) /* I - Number cupsd_client_t *con; /* Client information */ cupsd_job_t *job; /* Job information */ const char *why; /* Debugging aid */ @@ -744,7 +743,7 @@ diff -up cups-2.1.3/scheduler/main.c.avahi-no-threaded cups-2.1.3/scheduler/main cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld", -@@ -1636,6 +1662,19 @@ select_timeout(int fds) /* I - Number +@@ -1665,6 +1690,19 @@ select_timeout(int fds) /* I - Number } #endif /* __APPLE__ */ @@ -764,10 +763,10 @@ diff -up cups-2.1.3/scheduler/main.c.avahi-no-threaded cups-2.1.3/scheduler/main /* * Check whether we are accepting new connections... */ -diff -up cups-2.1.3/scheduler/Makefile.avahi-no-threaded cups-2.1.3/scheduler/Makefile ---- cups-2.1.3/scheduler/Makefile.avahi-no-threaded 2015-02-17 14:10:19.000000000 +0100 -+++ cups-2.1.3/scheduler/Makefile 2016-02-08 12:30:39.438688963 +0100 -@@ -17,6 +17,7 @@ include ../Makedefs +diff -up cups-2.2b2/scheduler/Makefile.avahi-no-threaded cups-2.2b2/scheduler/Makefile +--- cups-2.2b2/scheduler/Makefile.avahi-no-threaded 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/Makefile 2016-06-27 17:55:19.569728950 +0200 +@@ -15,6 +15,7 @@ include ../Makedefs CUPSDOBJS = \ auth.o \ @@ -775,7 +774,7 @@ diff -up cups-2.1.3/scheduler/Makefile.avahi-no-threaded cups-2.1.3/scheduler/Ma banners.o \ cert.o \ classes.o \ -@@ -40,7 +41,8 @@ CUPSDOBJS = \ +@@ -38,7 +39,8 @@ CUPSDOBJS = \ server.o \ statbuf.o \ subscriptions.o \ @@ -785,9 +784,9 @@ diff -up cups-2.1.3/scheduler/Makefile.avahi-no-threaded cups-2.1.3/scheduler/Ma LIBOBJS = \ filter.o \ mime.o \ -diff -up cups-2.1.3/scheduler/timeout.c.avahi-no-threaded cups-2.1.3/scheduler/timeout.c ---- cups-2.1.3/scheduler/timeout.c.avahi-no-threaded 2016-02-08 12:30:39.440688962 +0100 -+++ cups-2.1.3/scheduler/timeout.c 2016-02-08 12:30:39.440688962 +0100 +diff -up cups-2.2b2/scheduler/timeout.c.avahi-no-threaded cups-2.2b2/scheduler/timeout.c +--- cups-2.2b2/scheduler/timeout.c.avahi-no-threaded 2016-06-27 17:55:19.569728950 +0200 ++++ cups-2.2b2/scheduler/timeout.c 2016-06-27 17:55:19.569728950 +0200 @@ -0,0 +1,235 @@ +/* + * "$Id$" diff --git a/cups-lpr-help.patch b/cups-lpr-help.patch index c42434d..f025698 100644 --- a/cups-lpr-help.patch +++ b/cups-lpr-help.patch @@ -1,7 +1,7 @@ -diff -up cups-1.5b1/berkeley/lpr.c.lpr-help cups-1.5b1/berkeley/lpr.c ---- cups-1.5b1/berkeley/lpr.c.lpr-help 2011-03-21 23:02:00.000000000 +0100 -+++ cups-1.5b1/berkeley/lpr.c 2011-05-23 17:58:06.000000000 +0200 -@@ -24,6 +24,31 @@ +diff -up cups-2.2b2/berkeley/lpr.c.lpr-help cups-2.2b2/berkeley/lpr.c +--- cups-2.2b2/berkeley/lpr.c.lpr-help 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/berkeley/lpr.c 2016-06-27 15:11:30.646348752 +0200 +@@ -18,6 +18,31 @@ #include @@ -33,16 +33,16 @@ diff -up cups-1.5b1/berkeley/lpr.c.lpr-help cups-1.5b1/berkeley/lpr.c /* * 'main()' - Parse options and send files for printing. */ -@@ -270,6 +294,12 @@ main(int argc, /* I - Number of comm - break; +@@ -281,6 +306,12 @@ main(int argc, /* I - Number of comm + break; - default : + default : + if (!strcmp (argv[i], "--help")) + { + usage (argv[0]); + return (0); + } + - _cupsLangPrintf(stderr, - _("%s: Error - unknown option \"%c\"."), argv[0], - argv[i][1]); + _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt); + return (1); + } diff --git a/cups-lspp.patch b/cups-lspp.patch index d95c4db..93a3a49 100644 --- a/cups-lspp.patch +++ b/cups-lspp.patch @@ -1,7 +1,7 @@ -diff -up cups-2.1b1/config.h.in.lspp cups-2.1b1/config.h.in ---- cups-2.1b1/config.h.in.lspp 2015-06-03 19:19:04.000000000 +0200 -+++ cups-2.1b1/config.h.in 2015-06-29 13:32:27.084427729 +0200 -@@ -737,6 +737,13 @@ static __inline int _cups_abs(int i) { r +diff -up cups-2.2b2/config.h.in.lspp cups-2.2b2/config.h.in +--- cups-2.2b2/config.h.in.lspp 2016-06-27 17:39:48.075973879 +0200 ++++ cups-2.2b2/config.h.in 2016-06-27 17:47:31.376356684 +0200 +@@ -737,4 +737,11 @@ static __inline int _cups_abs(int i) { r # endif /* __GNUC__ || __STDC_VERSION__ */ #endif /* !HAVE_ABS && !abs */ @@ -13,11 +13,9 @@ diff -up cups-2.1b1/config.h.in.lspp cups-2.1b1/config.h.in + + #endif /* !_CUPS_CONFIG_H_ */ - - /* -diff -up cups-2.1b1/config-scripts/cups-lspp.m4.lspp cups-2.1b1/config-scripts/cups-lspp.m4 ---- cups-2.1b1/config-scripts/cups-lspp.m4.lspp 2015-06-29 13:32:27.084427729 +0200 -+++ cups-2.1b1/config-scripts/cups-lspp.m4 2015-06-29 13:32:27.084427729 +0200 +diff -up cups-2.2b2/config-scripts/cups-lspp.m4.lspp cups-2.2b2/config-scripts/cups-lspp.m4 +--- cups-2.2b2/config-scripts/cups-lspp.m4.lspp 2016-06-27 17:39:48.076973871 +0200 ++++ cups-2.2b2/config-scripts/cups-lspp.m4 2016-06-27 17:39:48.076973871 +0200 @@ -0,0 +1,36 @@ +dnl +dnl LSPP code for the Common UNIX Printing System (CUPS). @@ -55,10 +53,10 @@ diff -up cups-2.1b1/config-scripts/cups-lspp.m4.lspp cups-2.1b1/config-scripts/c + ;; + esac +fi -diff -up cups-2.1b1/configure.ac.lspp cups-2.1b1/configure.ac ---- cups-2.1b1/configure.ac.lspp 2014-12-01 14:53:56.000000000 +0100 -+++ cups-2.1b1/configure.ac 2015-06-29 13:32:27.084427729 +0200 -@@ -36,6 +36,8 @@ sinclude(config-scripts/cups-startup.m4) +diff -up cups-2.2b2/configure.ac.lspp cups-2.2b2/configure.ac +--- cups-2.2b2/configure.ac.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/configure.ac 2016-06-27 17:39:48.076973871 +0200 +@@ -38,6 +38,8 @@ sinclude(config-scripts/cups-startup.m4) sinclude(config-scripts/cups-defaults.m4) sinclude(config-scripts/cups-scripting.m4) @@ -67,10 +65,10 @@ diff -up cups-2.1b1/configure.ac.lspp cups-2.1b1/configure.ac INSTALL_LANGUAGES="" UNINSTALL_LANGUAGES="" LANGFILES="" -diff -up cups-2.1b1/filter/common.c.lspp cups-2.1b1/filter/common.c ---- cups-2.1b1/filter/common.c.lspp 2014-02-06 19:33:34.000000000 +0100 -+++ cups-2.1b1/filter/common.c 2015-06-29 13:32:27.084427729 +0200 -@@ -19,6 +19,12 @@ +diff -up cups-2.2b2/filter/common.c.lspp cups-2.2b2/filter/common.c +--- cups-2.2b2/filter/common.c.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/filter/common.c 2016-06-27 17:39:48.076973871 +0200 +@@ -17,6 +17,12 @@ * Include necessary headers... */ @@ -83,7 +81,7 @@ diff -up cups-2.1b1/filter/common.c.lspp cups-2.1b1/filter/common.c #include "common.h" #include -@@ -301,6 +307,18 @@ WriteLabelProlog(const char *label, /* I +@@ -299,6 +305,18 @@ WriteLabelProlog(const char *label, /* I { const char *classification; /* CLASSIFICATION environment variable */ const char *ptr; /* Temporary string pointer */ @@ -102,7 +100,7 @@ diff -up cups-2.1b1/filter/common.c.lspp cups-2.1b1/filter/common.c /* -@@ -323,6 +341,124 @@ WriteLabelProlog(const char *label, /* I +@@ -321,6 +339,124 @@ WriteLabelProlog(const char *label, /* I return; } @@ -227,7 +225,7 @@ diff -up cups-2.1b1/filter/common.c.lspp cups-2.1b1/filter/common.c /* * Set the classification + page label string... */ -@@ -403,7 +539,10 @@ WriteLabelProlog(const char *label, /* I +@@ -401,7 +537,10 @@ WriteLabelProlog(const char *label, /* I printf(" %.0f moveto ESPpl show\n", top - 14.0); puts("pop"); puts("}bind put"); @@ -238,10 +236,10 @@ diff -up cups-2.1b1/filter/common.c.lspp cups-2.1b1/filter/common.c /* -diff -up cups-2.1b1/filter/pstops.c.lspp cups-2.1b1/filter/pstops.c ---- cups-2.1b1/filter/pstops.c.lspp 2015-05-22 19:26:40.000000000 +0200 -+++ cups-2.1b1/filter/pstops.c 2015-06-29 13:32:27.085427726 +0200 -@@ -3178,6 +3178,18 @@ write_label_prolog(pstops_doc_t *doc, /* +diff -up cups-2.2b2/filter/pstops.c.lspp cups-2.2b2/filter/pstops.c +--- cups-2.2b2/filter/pstops.c.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/filter/pstops.c 2016-06-27 17:39:48.077973863 +0200 +@@ -3176,6 +3176,18 @@ write_label_prolog(pstops_doc_t *doc, /* { const char *classification; /* CLASSIFICATION environment variable */ const char *ptr; /* Temporary string pointer */ @@ -260,7 +258,7 @@ diff -up cups-2.1b1/filter/pstops.c.lspp cups-2.1b1/filter/pstops.c /* -@@ -3200,6 +3212,124 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3198,6 +3210,124 @@ write_label_prolog(pstops_doc_t *doc, /* return; } @@ -385,7 +383,7 @@ diff -up cups-2.1b1/filter/pstops.c.lspp cups-2.1b1/filter/pstops.c /* * Set the classification + page label string... */ -@@ -3278,7 +3408,10 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3276,7 +3406,10 @@ write_label_prolog(pstops_doc_t *doc, /* doc_printf(doc, " %.0f moveto ESPpl show\n", top - 14.0); doc_puts(doc, "pop\n"); doc_puts(doc, "}bind put\n"); @@ -396,10 +394,10 @@ diff -up cups-2.1b1/filter/pstops.c.lspp cups-2.1b1/filter/pstops.c /* -diff -up cups-2.1b1/Makedefs.in.lspp cups-2.1b1/Makedefs.in ---- cups-2.1b1/Makedefs.in.lspp 2015-06-29 13:32:27.040427821 +0200 -+++ cups-2.1b1/Makedefs.in 2015-06-29 13:32:27.085427726 +0200 -@@ -145,7 +145,7 @@ LDFLAGS = -L../cgi-bin -L../cups -L../f +diff -up cups-2.2b2/Makedefs.in.lspp cups-2.2b2/Makedefs.in +--- cups-2.2b2/Makedefs.in.lspp 2016-06-27 17:39:48.045974117 +0200 ++++ cups-2.2b2/Makedefs.in 2016-06-27 17:39:48.077973863 +0200 +@@ -143,7 +143,7 @@ LDFLAGS = -L../cgi-bin -L../cups -L../f @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ) LINKCUPSIMAGE = @LINKCUPSIMAGE@ @@ -408,10 +406,10 @@ diff -up cups-2.1b1/Makedefs.in.lspp cups-2.1b1/Makedefs.in ONDEMANDFLAGS = @ONDEMANDFLAGS@ ONDEMANDLIBS = @ONDEMANDLIBS@ OPTIM = @OPTIM@ -diff -up cups-2.1b1/scheduler/client.c.lspp cups-2.1b1/scheduler/client.c ---- cups-2.1b1/scheduler/client.c.lspp 2015-06-29 13:32:26.998427910 +0200 -+++ cups-2.1b1/scheduler/client.c 2015-06-29 13:32:27.085427726 +0200 -@@ -24,12 +24,20 @@ +diff -up cups-2.2b2/scheduler/client.c.lspp cups-2.2b2/scheduler/client.c +--- cups-2.2b2/scheduler/client.c.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/client.c 2016-06-27 17:39:48.077973863 +0200 +@@ -22,12 +22,20 @@ #define _HTTP_NO_PRIVATE #include "cupsd.h" @@ -432,7 +430,7 @@ diff -up cups-2.1b1/scheduler/client.c.lspp cups-2.1b1/scheduler/client.c /* -@@ -265,6 +273,59 @@ cupsdAcceptClient(cupsd_listener_t *lis) +@@ -266,6 +274,59 @@ cupsdAcceptClient(cupsd_listener_t *lis) } #endif /* HAVE_TCPD_H */ @@ -506,7 +504,7 @@ diff -up cups-2.1b1/scheduler/client.c.lspp cups-2.1b1/scheduler/client.c status = HTTP_STATUS_CONTINUE; -@@ -1939,6 +2007,73 @@ cupsdReadClient(cupsd_client_t *con) /* +@@ -1924,6 +1992,73 @@ cupsdReadClient(cupsd_client_t *con) /* fcntl(con->file, F_SETFD, fcntl(con->file, F_GETFD) | FD_CLOEXEC); } @@ -580,7 +578,7 @@ diff -up cups-2.1b1/scheduler/client.c.lspp cups-2.1b1/scheduler/client.c if (httpGetState(con->http) != HTTP_STATE_POST_SEND) { if (!httpWait(con->http, 0)) -@@ -3440,6 +3575,49 @@ is_path_absolute(const char *path) /* I +@@ -3456,6 +3591,49 @@ is_path_absolute(const char *path) /* I return (1); } @@ -630,10 +628,10 @@ diff -up cups-2.1b1/scheduler/client.c.lspp cups-2.1b1/scheduler/client.c /* * 'pipe_command()' - Pipe the output of a command to the remote client. -diff -up cups-2.1b1/scheduler/client.h.lspp cups-2.1b1/scheduler/client.h ---- cups-2.1b1/scheduler/client.h.lspp 2014-03-21 17:42:53.000000000 +0100 -+++ cups-2.1b1/scheduler/client.h 2015-06-29 13:32:27.085427726 +0200 -@@ -18,6 +18,13 @@ +diff -up cups-2.2b2/scheduler/client.h.lspp cups-2.2b2/scheduler/client.h +--- cups-2.2b2/scheduler/client.h.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/client.h 2016-06-27 17:39:48.077973863 +0200 +@@ -16,6 +16,13 @@ #endif /* HAVE_AUTHORIZATION_H */ @@ -647,7 +645,7 @@ diff -up cups-2.1b1/scheduler/client.h.lspp cups-2.1b1/scheduler/client.h /* * HTTP client structure... */ -@@ -67,6 +74,10 @@ struct cupsd_client_s +@@ -65,6 +72,10 @@ struct cupsd_client_s #ifdef HAVE_AUTHORIZATION_H AuthorizationRef authref; /* Authorization ref */ #endif /* HAVE_AUTHORIZATION_H */ @@ -658,7 +656,7 @@ diff -up cups-2.1b1/scheduler/client.h.lspp cups-2.1b1/scheduler/client.h }; #define HTTP(con) ((con)->http) -@@ -140,6 +151,9 @@ extern void cupsdStartListening(void); +@@ -138,6 +149,9 @@ extern void cupsdStartListening(void); extern void cupsdStopListening(void); extern void cupsdUpdateCGI(void); extern void cupsdWriteClient(cupsd_client_t *con); @@ -668,10 +666,10 @@ diff -up cups-2.1b1/scheduler/client.h.lspp cups-2.1b1/scheduler/client.h #ifdef HAVE_SSL extern int cupsdEndTLS(cupsd_client_t *con); -diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c ---- cups-2.1b1/scheduler/conf.c.lspp 2015-06-29 13:32:27.082427733 +0200 -+++ cups-2.1b1/scheduler/conf.c 2015-06-29 13:32:27.086427724 +0200 -@@ -42,6 +42,9 @@ +diff -up cups-2.2b2/scheduler/conf.c.lspp cups-2.2b2/scheduler/conf.c +--- cups-2.2b2/scheduler/conf.c.lspp 2016-06-27 17:39:48.072973903 +0200 ++++ cups-2.2b2/scheduler/conf.c 2016-06-27 17:39:48.078973855 +0200 +@@ -40,6 +40,9 @@ # define INADDR_NONE 0xffffffff #endif /* !INADDR_NONE */ @@ -681,7 +679,7 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c /* * Configuration variable structure... -@@ -133,6 +136,10 @@ static const cupsd_var_t cupsd_vars[] = +@@ -131,6 +134,10 @@ static const cupsd_var_t cupsd_vars[] = { "ServerName", &ServerName, CUPSD_VARTYPE_STRING }, { "StrictConformance", &StrictConformance, CUPSD_VARTYPE_BOOLEAN }, { "Timeout", &Timeout, CUPSD_VARTYPE_TIME }, @@ -692,7 +690,7 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c { "WebInterface", &WebInterface, CUPSD_VARTYPE_BOOLEAN } }; static const cupsd_var_t cupsfiles_vars[] = -@@ -579,6 +586,9 @@ cupsdReadConfiguration(void) +@@ -577,6 +584,9 @@ cupsdReadConfiguration(void) const char *tmpdir; /* TMPDIR environment variable */ struct stat tmpinfo; /* Temporary directory info */ cupsd_policy_t *p; /* Policy */ @@ -702,7 +700,7 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c /* -@@ -933,6 +943,25 @@ cupsdReadConfiguration(void) +@@ -931,6 +941,25 @@ cupsdReadConfiguration(void) RunUser = getuid(); @@ -728,7 +726,7 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c cupsdLogMessage(CUPSD_LOG_INFO, "Remote access is %s.", RemotePort ? "enabled" : "disabled"); -@@ -1352,7 +1381,19 @@ cupsdReadConfiguration(void) +@@ -1350,7 +1379,19 @@ cupsdReadConfiguration(void) cupsdClearString(&Classification); if (Classification) @@ -748,7 +746,7 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c /* * Check the MaxClients setting, and then allocate memory for it... -@@ -3829,6 +3870,18 @@ read_location(cups_file_t *fp, /* I - C +@@ -3827,6 +3868,18 @@ read_location(cups_file_t *fp, /* I - C return ((FatalErrors & CUPSD_FATAL_CONFIG) ? 0 : linenum); } @@ -767,10 +765,10 @@ diff -up cups-2.1b1/scheduler/conf.c.lspp cups-2.1b1/scheduler/conf.c /* * 'read_policy()' - Read a definition. -diff -up cups-2.1b1/scheduler/conf.h.lspp cups-2.1b1/scheduler/conf.h ---- cups-2.1b1/scheduler/conf.h.lspp 2015-06-29 13:32:27.002427901 +0200 -+++ cups-2.1b1/scheduler/conf.h 2015-06-29 13:32:27.086427724 +0200 -@@ -250,6 +250,13 @@ VAR char *ServerKeychain VALUE(NULL); +diff -up cups-2.2b2/scheduler/conf.h.lspp cups-2.2b2/scheduler/conf.h +--- cups-2.2b2/scheduler/conf.h.lspp 2016-06-27 17:39:48.078973855 +0200 ++++ cups-2.2b2/scheduler/conf.h 2016-06-27 17:44:46.370632333 +0200 +@@ -248,6 +248,13 @@ VAR char *ServerKeychain VALUE(NULL); /* Keychain holding cert + key */ #endif /* HAVE_SSL */ @@ -781,11 +779,11 @@ diff -up cups-2.1b1/scheduler/conf.h.lspp cups-2.1b1/scheduler/conf.h + /* Put the label on each page */ +#endif /* WITH_LSPP */ + - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) + #ifdef HAVE_ONDEMAND VAR int IdleExitTimeout VALUE(60); /* Time after which an idle cupsd will exit */ -@@ -268,6 +275,9 @@ int HaveServerCreds VALUE(0); - gss_cred_id_t ServerCreds; /* Server's GSS credentials */ +@@ -266,6 +273,9 @@ VAR int HaveServerCreds VALUE(0); + VAR gss_cred_id_t ServerCreds; /* Server's GSS credentials */ #endif /* HAVE_GSSAPI */ +#ifdef WITH_LSPP @@ -794,10 +792,10 @@ diff -up cups-2.1b1/scheduler/conf.h.lspp cups-2.1b1/scheduler/conf.h /* * Prototypes... -diff -up cups-2.1b1/scheduler/cupsd.h.lspp cups-2.1b1/scheduler/cupsd.h ---- cups-2.1b1/scheduler/cupsd.h.lspp 2015-06-29 13:32:27.072427754 +0200 -+++ cups-2.1b1/scheduler/cupsd.h 2015-06-29 13:32:27.086427724 +0200 -@@ -13,6 +13,8 @@ +diff -up cups-2.2b2/scheduler/cupsd.h.lspp cups-2.2b2/scheduler/cupsd.h +--- cups-2.2b2/scheduler/cupsd.h.lspp 2016-06-27 17:39:48.064973966 +0200 ++++ cups-2.2b2/scheduler/cupsd.h 2016-06-27 17:39:48.078973855 +0200 +@@ -11,6 +11,8 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -806,7 +804,7 @@ diff -up cups-2.1b1/scheduler/cupsd.h.lspp cups-2.1b1/scheduler/cupsd.h /* * Include necessary headers. -@@ -37,13 +39,20 @@ +@@ -36,13 +38,20 @@ # include #endif /* WIN32 */ @@ -828,10 +826,10 @@ diff -up cups-2.1b1/scheduler/cupsd.h.lspp cups-2.1b1/scheduler/cupsd.h /* * Some OS's don't have hstrerror(), most notably Solaris... */ -diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c ---- cups-2.1b1/scheduler/ipp.c.lspp 2015-06-29 13:32:27.025427853 +0200 -+++ cups-2.1b1/scheduler/ipp.c 2015-06-29 13:32:27.088427720 +0200 -@@ -16,6 +16,9 @@ +diff -up cups-2.2b2/scheduler/ipp.c.lspp cups-2.2b2/scheduler/ipp.c +--- cups-2.2b2/scheduler/ipp.c.lspp 2016-06-27 17:39:48.028974252 +0200 ++++ cups-2.2b2/scheduler/ipp.c 2016-06-27 17:39:48.080973839 +0200 +@@ -14,6 +14,9 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -841,7 +839,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c /* * Include necessary headers... */ -@@ -39,6 +42,14 @@ extern int mbr_check_membership_by_id(uu +@@ -37,6 +40,14 @@ extern int mbr_check_membership_by_id(uu # endif /* HAVE_MEMBERSHIPPRIV_H */ #endif /* __APPLE__ */ @@ -856,7 +854,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c /* * Local functions... -@@ -63,6 +74,9 @@ static void cancel_all_jobs(cupsd_client +@@ -61,6 +72,9 @@ static void cancel_all_jobs(cupsd_client static void cancel_job(cupsd_client_t *con, ipp_attribute_t *uri); static void cancel_subscription(cupsd_client_t *con, int id); static int check_rss_recipient(const char *recipient); @@ -866,7 +864,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c static int check_quotas(cupsd_client_t *con, cupsd_printer_t *p); static void close_job(cupsd_client_t *con, ipp_attribute_t *uri); static void copy_attrs(ipp_t *to, ipp_t *from, cups_array_t *ra, -@@ -1236,6 +1250,21 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1248,6 +1262,21 @@ add_job(cupsd_client_t *con, /* I - Cl "time-at-creation", "time-at-processing" }; @@ -888,7 +886,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))", -@@ -1547,6 +1576,106 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1559,6 +1588,106 @@ add_job(cupsd_client_t *con, /* I - Cl return (NULL); } @@ -995,7 +993,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c if ((job = cupsdAddJob(priority, printer->name)) == NULL) { send_ipp_status(con, IPP_INTERNAL_ERROR, -@@ -1555,6 +1684,32 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1567,6 +1696,32 @@ add_job(cupsd_client_t *con, /* I - Cl return (NULL); } @@ -1028,7 +1026,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c job->dtype = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE); job->attrs = con->request; job->dirty = 1; -@@ -1727,6 +1882,29 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1756,6 +1911,29 @@ add_job(cupsd_client_t *con, /* I - Cl ippSetString(job->attrs, &attr, 0, printer->job_sheets[0]); ippSetString(job->attrs, &attr, 1, printer->job_sheets[1]); } @@ -1058,7 +1056,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c job->job_sheets = attr; -@@ -1757,6 +1935,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1786,6 +1964,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s,none\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -1068,7 +1066,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c } else if (attr->num_values == 2 && strcmp(attr->values[0].string.text, -@@ -1775,6 +1956,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1804,6 +1985,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -1078,7 +1076,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c } else if (strcmp(attr->values[0].string.text, Classification) && strcmp(attr->values[0].string.text, "none") && -@@ -1795,6 +1979,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1824,6 +2008,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -1088,7 +1086,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c } } else if (strcmp(attr->values[0].string.text, Classification) && -@@ -1835,8 +2022,52 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1864,8 +2051,52 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -1397,7 +1395,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c if (!strcmp(s, "printer-name")) { cupsFilePuts(out, job->dest); -@@ -6130,6 +6589,22 @@ get_job_attrs(cupsd_client_t *con, /* I +@@ -6389,6 +6848,22 @@ get_job_attrs(cupsd_client_t *con, /* I exclude = cupsdGetPrivateAttrs(policy, con, printer, job->username); @@ -1420,7 +1418,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c /* * Copy attributes... */ -@@ -6529,6 +7004,11 @@ get_jobs(cupsd_client_t *con, /* I - C +@@ -6786,6 +7261,11 @@ get_jobs(cupsd_client_t *con, /* I - C if (username[0] && _cups_strcasecmp(username, job->username)) continue; @@ -1432,7 +1430,7 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c if (count > 0) ippAddSeparator(con->response); -@@ -11145,6 +11625,11 @@ validate_user(cupsd_job_t *job, /* I +@@ -11415,6 +11895,11 @@ validate_user(cupsd_job_t *job, /* I strlcpy(username, get_username(con), userlen); @@ -1444,10 +1442,10 @@ diff -up cups-2.1b1/scheduler/ipp.c.lspp cups-2.1b1/scheduler/ipp.c /* * Check the username against the owner... */ -diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c ---- cups-2.1b1/scheduler/job.c.lspp 2015-06-29 13:32:27.053427794 +0200 -+++ cups-2.1b1/scheduler/job.c 2015-06-29 13:33:56.985238152 +0200 -@@ -13,6 +13,9 @@ +diff -up cups-2.2b2/scheduler/job.c.lspp cups-2.2b2/scheduler/job.c +--- cups-2.2b2/scheduler/job.c.lspp 2016-06-27 17:39:48.041974149 +0200 ++++ cups-2.2b2/scheduler/job.c 2016-06-27 17:39:48.081973831 +0200 +@@ -11,6 +11,9 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -1457,7 +1455,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c /* * Include necessary headers... */ -@@ -28,6 +31,14 @@ +@@ -26,6 +29,14 @@ # endif /* HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H */ #endif /* __APPLE__ */ @@ -1472,7 +1470,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c /* * Design Notes for Job Management -@@ -530,6 +541,14 @@ cupsdContinueJob(cupsd_job_t *job) /* I +@@ -546,6 +557,14 @@ cupsdContinueJob(cupsd_job_t *job) /* I /* PRINTER_STATE_REASONS env var */ rip_max_cache[255]; /* RIP_MAX_CACHE env variable */ @@ -1487,7 +1485,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c cupsdLogMessage(CUPSD_LOG_DEBUG2, -@@ -1066,6 +1085,67 @@ cupsdContinueJob(cupsd_job_t *job) /* I +@@ -1082,6 +1101,67 @@ cupsdContinueJob(cupsd_job_t *job) /* I if (final_content_type[0]) envp[envc ++] = final_content_type; @@ -1555,7 +1553,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c if (Classification && !banner_page) { if ((attr = ippFindAttribute(job->attrs, "job-sheets", -@@ -1889,6 +1969,22 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J +@@ -1905,6 +1985,22 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J ippSetString(job->attrs, &job->reasons, 0, "none"); } @@ -1578,7 +1576,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c job->impressions = ippFindAttribute(job->attrs, "job-impressions-completed", IPP_TAG_INTEGER); job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed", IPP_TAG_INTEGER); job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME); -@@ -2293,6 +2389,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -2318,6 +2414,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J { char filename[1024]; /* Job control filename */ cups_file_t *fp; /* Job file */ @@ -1593,7 +1591,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p", -@@ -2305,6 +2409,78 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -2340,6 +2444,78 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J fchown(cupsFileNumber(fp), RunUser, Group); @@ -1672,7 +1670,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c job->attrs->state = IPP_IDLE; if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL, -@@ -3887,6 +4063,19 @@ get_options(cupsd_job_t *job, /* I - Jo +@@ -3919,6 +4095,19 @@ get_options(cupsd_job_t *job, /* I - Jo banner_page) continue; @@ -1692,7 +1690,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c /* * Otherwise add them to the list... */ -@@ -4640,6 +4829,18 @@ start_job(cupsd_job_t *job, /* I - +@@ -4680,6 +4869,18 @@ start_job(cupsd_job_t *job, /* I - cupsd_printer_t *printer) /* I - Printer to print job */ { const char *filename; /* Support filename */ @@ -1711,7 +1709,7 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c ipp_attribute_t *cancel_after = ippFindAttribute(job->attrs, "job-cancel-after", IPP_TAG_INTEGER); -@@ -4816,6 +5017,113 @@ start_job(cupsd_job_t *job, /* I - +@@ -4856,6 +5057,113 @@ start_job(cupsd_job_t *job, /* I - fcntl(job->side_pipes[1], F_SETFD, fcntl(job->side_pipes[1], F_GETFD) | FD_CLOEXEC); @@ -1825,10 +1823,10 @@ diff -up cups-2.1b1/scheduler/job.c.lspp cups-2.1b1/scheduler/job.c /* * Now start the first file in the job... */ -diff -up cups-2.1b1/scheduler/job.h.lspp cups-2.1b1/scheduler/job.h ---- cups-2.1b1/scheduler/job.h.lspp 2015-05-27 21:30:32.000000000 +0200 -+++ cups-2.1b1/scheduler/job.h 2015-06-29 13:32:27.092427712 +0200 -@@ -13,6 +13,13 @@ +diff -up cups-2.2b2/scheduler/job.h.lspp cups-2.2b2/scheduler/job.h +--- cups-2.2b2/scheduler/job.h.lspp 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/job.h 2016-06-27 17:39:48.081973831 +0200 +@@ -11,6 +11,13 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -1842,7 +1840,7 @@ diff -up cups-2.1b1/scheduler/job.h.lspp cups-2.1b1/scheduler/job.h /* * Constants... */ -@@ -90,6 +97,10 @@ struct cupsd_job_s /**** Job request * +@@ -88,6 +95,10 @@ struct cupsd_job_s /**** Job request * int progress; /* Printing progress */ int num_keywords; /* Number of PPD keywords */ cups_option_t *keywords; /* PPD keywords */ @@ -1853,10 +1851,10 @@ diff -up cups-2.1b1/scheduler/job.h.lspp cups-2.1b1/scheduler/job.h }; typedef struct cupsd_joblog_s /**** Job log message ****/ -diff -up cups-2.1b1/scheduler/main.c.lspp cups-2.1b1/scheduler/main.c ---- cups-2.1b1/scheduler/main.c.lspp 2015-06-29 13:32:27.073427752 +0200 -+++ cups-2.1b1/scheduler/main.c 2015-06-29 13:32:27.093427710 +0200 -@@ -62,6 +62,9 @@ extern int launch_activate_socket(const +diff -up cups-2.2b2/scheduler/main.c.lspp cups-2.2b2/scheduler/main.c +--- cups-2.2b2/scheduler/main.c.lspp 2016-06-27 17:39:48.064973966 +0200 ++++ cups-2.2b2/scheduler/main.c 2016-06-27 17:39:48.081973831 +0200 +@@ -56,6 +56,9 @@ # include #endif /* HAVE_SYS_PARAM_H */ @@ -1866,7 +1864,7 @@ diff -up cups-2.1b1/scheduler/main.c.lspp cups-2.1b1/scheduler/main.c /* * Local functions... -@@ -126,6 +129,9 @@ main(int argc, /* I - Number of comm +@@ -122,6 +125,9 @@ main(int argc, /* I - Number of comm #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) struct sigaction action; /* Actions for POSIX signals */ #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ @@ -1876,7 +1874,7 @@ diff -up cups-2.1b1/scheduler/main.c.lspp cups-2.1b1/scheduler/main.c #ifdef __APPLE__ int use_sysman = 1; /* Use system management functions? */ #else -@@ -506,6 +512,25 @@ main(int argc, /* I - Number of comm +@@ -505,6 +511,25 @@ main(int argc, /* I - Number of comm exit(errno); } @@ -1902,7 +1900,7 @@ diff -up cups-2.1b1/scheduler/main.c.lspp cups-2.1b1/scheduler/main.c /* * Set the timezone info... */ -@@ -1180,6 +1205,11 @@ main(int argc, /* I - Number of comm +@@ -1205,6 +1230,11 @@ main(int argc, /* I - Number of comm cupsdStopSelect(); @@ -1914,10 +1912,10 @@ diff -up cups-2.1b1/scheduler/main.c.lspp cups-2.1b1/scheduler/main.c return (!stop_scheduler); } -diff -up cups-2.1b1/scheduler/printers.c.lspp cups-2.1b1/scheduler/printers.c ---- cups-2.1b1/scheduler/printers.c.lspp 2015-06-29 13:32:27.004427897 +0200 -+++ cups-2.1b1/scheduler/printers.c 2015-06-29 13:32:27.095427705 +0200 -@@ -13,6 +13,8 @@ +diff -up cups-2.2b2/scheduler/printers.c.lspp cups-2.2b2/scheduler/printers.c +--- cups-2.2b2/scheduler/printers.c.lspp 2016-06-27 17:39:48.013974372 +0200 ++++ cups-2.2b2/scheduler/printers.c 2016-06-27 17:39:48.082973823 +0200 +@@ -11,6 +11,8 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -1926,7 +1924,7 @@ diff -up cups-2.1b1/scheduler/printers.c.lspp cups-2.1b1/scheduler/printers.c /* * Include necessary headers... */ -@@ -37,6 +39,10 @@ +@@ -35,6 +37,10 @@ # include #endif /* __APPLE__ */ @@ -1937,7 +1935,7 @@ diff -up cups-2.1b1/scheduler/printers.c.lspp cups-2.1b1/scheduler/printers.c /* * Local functions... -@@ -2155,6 +2161,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) +@@ -2191,6 +2197,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) ipp_attribute_t *attr; /* Attribute data */ char *name, /* Current user/group name */ *filter; /* Current filter */ @@ -1951,7 +1949,7 @@ diff -up cups-2.1b1/scheduler/printers.c.lspp cups-2.1b1/scheduler/printers.c DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name, -@@ -2280,6 +2293,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) +@@ -2318,6 +2331,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) attr->values[1].string.text = _cupsStrAlloc(Classification ? Classification : p->job_sheets[1]); } diff --git a/cups-no-export-ssllibs.patch b/cups-no-export-ssllibs.patch index de277d8..14b4426 100644 --- a/cups-no-export-ssllibs.patch +++ b/cups-no-export-ssllibs.patch @@ -1,12 +1,10 @@ -diff -up cups-1.5.3/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5.3/config-scripts/cups-ssl.m4 ---- cups-1.5.3/config-scripts/cups-ssl.m4.no-export-ssllibs 2012-03-21 05:45:48.000000000 +0100 -+++ cups-1.5.3/config-scripts/cups-ssl.m4 2012-05-15 16:47:13.753314620 +0200 -@@ -173,7 +173,7 @@ AC_SUBST(IPPALIASES) +diff -up cups-2.2b2/config-scripts/cups-ssl.m4.no-export-ssllibs cups-2.2b2/config-scripts/cups-ssl.m4 +--- cups-2.2b2/config-scripts/cups-ssl.m4.no-export-ssllibs 2016-06-27 15:06:22.299980753 +0200 ++++ cups-2.2b2/config-scripts/cups-ssl.m4 2016-06-27 15:08:00.953154042 +0200 +@@ -102,5 +102,5 @@ AC_SUBST(IPPALIASES) AC_SUBST(SSLFLAGS) AC_SUBST(SSLLIBS) -EXPORT_SSLLIBS="$SSLLIBS" +EXPORT_SSLLIBS="" AC_SUBST(EXPORT_SSLLIBS) - - dnl diff --git a/cups-no-gzip-man.patch b/cups-no-gzip-man.patch index cabfcf1..9bffccc 100644 --- a/cups-no-gzip-man.patch +++ b/cups-no-gzip-man.patch @@ -1,10 +1,10 @@ -diff -up cups-1.6b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.6b1/config-scripts/cups-manpages.m4 ---- cups-1.6b1/config-scripts/cups-manpages.m4.no-gzip-man 2012-04-23 19:26:57.000000000 +0200 -+++ cups-1.6b1/config-scripts/cups-manpages.m4 2012-05-25 14:57:01.959845267 +0200 -@@ -69,10 +69,10 @@ case "$uname" in +diff -up cups-2.2b2/config-scripts/cups-manpages.m4.no-gzip-man cups-2.2b2/config-scripts/cups-manpages.m4 +--- cups-2.2b2/config-scripts/cups-manpages.m4.no-gzip-man 2016-06-27 14:59:39.642245559 +0200 ++++ cups-2.2b2/config-scripts/cups-manpages.m4 2016-06-27 15:05:02.553627348 +0200 +@@ -53,10 +53,10 @@ case "$uname" in ;; Linux* | GNU* | Darwin*) - # Linux, GNU Hurd, and OS X + # Linux, GNU Hurd, and macOS - MAN1EXT=1.gz - MAN5EXT=5.gz - MAN7EXT=7.gz diff --git a/cups-strict-ppd-line-length.patch b/cups-strict-ppd-line-length.patch index bc8cdc7..4ba1dd2 100644 --- a/cups-strict-ppd-line-length.patch +++ b/cups-strict-ppd-line-length.patch @@ -6,7 +6,7 @@ diff -up cups-2.0rc1/cups/ppd.c.strict-ppd-line-length cups-2.0rc1/cups/ppd.c col ++; - if (col > (PPD_MAX_LINE - 1)) -+ if (col > (PPD_MAX_LINE - 1) && cg->ppd_conform == PPD_CONFORM_STRICT) ++ if (col > (PPD_MAX_LINE - 1) && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Line is too long... @@ -15,7 +15,7 @@ diff -up cups-2.0rc1/cups/ppd.c.strict-ppd-line-length cups-2.0rc1/cups/ppd.c col ++; - if (col > (PPD_MAX_LINE - 1)) -+ if (col > (PPD_MAX_LINE - 1) && cg->ppd_conform == PPD_CONFORM_STRICT) ++ if (col > (PPD_MAX_LINE - 1) && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Line is too long... @@ -24,7 +24,7 @@ diff -up cups-2.0rc1/cups/ppd.c.strict-ppd-line-length cups-2.0rc1/cups/ppd.c col ++; - if (col > (PPD_MAX_LINE - 1)) -+ if (col > (PPD_MAX_LINE - 1) && cg->ppd_conform == PPD_CONFORM_STRICT) ++ if (col > (PPD_MAX_LINE - 1) && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Line is too long... diff --git a/cups-systemd-socket.patch b/cups-systemd-socket.patch index 03c21b8..c6c3506 100644 --- a/cups-systemd-socket.patch +++ b/cups-systemd-socket.patch @@ -1,9 +1,9 @@ -diff -up cups-2.0.2/scheduler/main.c.ustTJg cups-2.0.2/scheduler/main.c ---- cups-2.0.2/scheduler/main.c.ustTJg 2015-02-10 13:40:24.121547526 +0100 -+++ cups-2.0.2/scheduler/main.c 2015-02-10 13:40:24.295545063 +0100 -@@ -658,8 +658,15 @@ main(int argc, /* I - Number of comm +diff -up cups-2.2b2/scheduler/main.c.systemd-socket cups-2.2b2/scheduler/main.c +--- cups-2.2b2/scheduler/main.c.systemd-socket 2016-06-27 15:12:24.930881404 +0200 ++++ cups-2.2b2/scheduler/main.c 2016-06-27 15:19:38.118234985 +0200 +@@ -690,8 +690,15 @@ main(int argc, /* I - Number of comm - #if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD) + #if defined(HAVE_ONDEMAND) if (OnDemand) + { cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand."); @@ -15,12 +15,12 @@ diff -up cups-2.0.2/scheduler/main.c.ustTJg cups-2.0.2/scheduler/main.c + (unsigned long) getpid()); +# endif /* HAVE_SYSTEMD */ + } else - #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ + #endif /* HAVE_ONDEMAND */ if (fg) cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground."); -diff -up cups-2.0.2/scheduler/org.cups.cupsd.path.in.ustTJg cups-2.0.2/scheduler/org.cups.cupsd.path.in ---- cups-2.0.2/scheduler/org.cups.cupsd.path.in.ustTJg 2014-03-21 15:50:24.000000000 +0100 -+++ cups-2.0.2/scheduler/org.cups.cupsd.path.in 2015-02-10 13:40:24.295545063 +0100 +diff -up cups-2.2b2/scheduler/org.cups.cupsd.path.in.systemd-socket cups-2.2b2/scheduler/org.cups.cupsd.path.in +--- cups-2.2b2/scheduler/org.cups.cupsd.path.in.systemd-socket 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/org.cups.cupsd.path.in 2016-06-27 15:12:24.930881404 +0200 @@ -2,7 +2,7 @@ Description=CUPS Scheduler @@ -30,9 +30,9 @@ diff -up cups-2.0.2/scheduler/org.cups.cupsd.path.in.ustTJg cups-2.0.2/scheduler [Install] WantedBy=multi-user.target -diff -up cups-2.0.2/scheduler/org.cups.cupsd.service.in.ustTJg cups-2.0.2/scheduler/org.cups.cupsd.service.in ---- cups-2.0.2/scheduler/org.cups.cupsd.service.in.ustTJg 2014-10-21 13:55:01.000000000 +0200 -+++ cups-2.0.2/scheduler/org.cups.cupsd.service.in 2015-02-10 13:40:24.296545049 +0100 +diff -up cups-2.2b2/scheduler/org.cups.cupsd.service.in.systemd-socket cups-2.2b2/scheduler/org.cups.cupsd.service.in +--- cups-2.2b2/scheduler/org.cups.cupsd.service.in.systemd-socket 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/scheduler/org.cups.cupsd.service.in 2016-06-27 15:12:24.930881404 +0200 @@ -1,10 +1,11 @@ [Unit] Description=CUPS Scheduler diff --git a/cups.spec b/cups.spec index b63a513..e228781 100644 --- a/cups.spec +++ b/cups.spec @@ -1,5 +1,5 @@ %global use_alternatives 1 -%global lspp 1 +%global lspp 1 # {_exec_prefix}/lib/cups is correct, even on x86_64. # It is not used for shared objects but for executables. @@ -7,18 +7,18 @@ # but we use lib for compatibility with 3rd party drivers (at upstream request). %global cups_serverbin %{_exec_prefix}/lib/cups -#%%global prever rc1 -#%%global VERSION %{version}%{prever} -%global VERSION %{version} +%global prever b2 +%global VERSION %{version}%{prever} +#%%global VERSION %{version} Summary: CUPS printing system Name: cups Epoch: 1 -Version: 2.1.4 -Release: 1%{?dist} +Version: 2.2 +Release: 0.1%{prever}%{?dist} License: GPLv2 Url: http://www.cups.org/ -Source0: http://www.cups.org/software/%{VERSION}/cups-%{VERSION}-source.tar.gz +Source0: https://github.com/apple/cups/releases/download/v%{VERSION}/cups-%{VERSION}-source.tar.gz # Pixmap for desktop file Source2: cupsprinter.png # Logrotate configuration @@ -487,7 +487,7 @@ rm -f %{cups_serverbin}/backend/smb %verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/snmp.conf %attr(0640,root,lp) %{_sysconfdir}/cups/snmp.conf.default %verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) %{_sysconfdir}/cups/subscriptions.conf -%{_sysconfdir}/cups/interfaces +#%{_sysconfdir}/cups/interfaces %verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/lpoptions %dir %attr(0755,root,lp) %{_sysconfdir}/cups/ppd %dir %attr(0700,root,lp) %{_sysconfdir}/cups/ssl @@ -614,6 +614,9 @@ rm -f %{cups_serverbin}/backend/smb %{_mandir}/man5/ipptoolfile.5.gz %changelog +* Mon Jun 27 2016 Zdenek Dohnal - 1:2.2-0.1b2 +- Rebase to 2.2b2, editing patches and spec (no need for /etc/cups/interfaces) + * Mon Jun 27 2016 Zdenek Dohnal - 1:2.1.4-1 - substitution BuildRequires: pkgconfig(libsystemd-*) for BuildRequires: pkgconfig(libsystemd) diff --git a/sources b/sources index 7dd03a9..d3db7b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9f9bf6e3b9c20a3519b4dc409666d6e7 cups-2.1.4-source.tar.gz +817fd56423d74dada906cc9e9ebee206 cups-2.2b2-source.tar.gz