rpms/cups/devel cups-media-empty-warning.patch, NONE, 1.1 cups.spec, 1.557, 1.558

Tim Waugh twaugh at fedoraproject.org
Tue Dec 8 11:25:50 UTC 2009


Author: twaugh

Update of /cvs/pkgs/rpms/cups/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25931

Modified Files:
	cups.spec 
Added Files:
	cups-media-empty-warning.patch 
Log Message:
* Tue Dec  8 2009 Tim Waugh <twaugh at redhat.com> - 1:1.4.2-14
- Use upstream patch to stop the network backends incorrectly clearing
  the media-empty-warning state (rev 8896).


cups-media-empty-warning.patch:
 backend-private.h |    3 ++-
 ipp.c             |    2 +-
 lpd.c             |    3 ++-
 parallel.c        |    2 +-
 runloop.c         |   11 ++++++-----
 socket.c          |    2 +-
 usb-unix.c        |    4 ++--
 7 files changed, 15 insertions(+), 12 deletions(-)

--- NEW FILE cups-media-empty-warning.patch ---
diff -up cups-1.4.2/backend/backend-private.h.media-empty-warning cups-1.4.2/backend/backend-private.h
--- cups-1.4.2/backend/backend-private.h.media-empty-warning	2009-08-31 19:45:43.000000000 +0100
+++ cups-1.4.2/backend/backend-private.h	2009-12-08 11:22:27.859488572 +0000
@@ -280,7 +280,8 @@ extern int		backendNetworkSideCB(int pri
 			                     int snmp_fd, http_addr_t *addr,
 					     int use_bc);
 extern ssize_t		backendRunLoop(int print_fd, int device_fd, int snmp_fd,
-			               http_addr_t *addr, int use_bc,
+			               http_addr_t *addr, int use_bc, 
+			               int update_state, 
 				       int (*side_cb)(int print_fd,
 				                      int device_fd,
 						      int snmp_fd,
diff -up cups-1.4.2/backend/ipp.c.media-empty-warning cups-1.4.2/backend/ipp.c
--- cups-1.4.2/backend/ipp.c.media-empty-warning	2009-12-08 11:22:12.388488617 +0000
+++ cups-1.4.2/backend/ipp.c	2009-12-08 11:22:27.860488582 +0000
@@ -498,7 +498,7 @@ main(int  argc,				/* I - Number of comm
 
     _cupsLangPuts(stderr, _("INFO: Copying print data...\n"));
 
-    tbytes = backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0,
+    tbytes = backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, 0,
                             backendNetworkSideCB);
 
     if (snmp_fd >= 0)
diff -up cups-1.4.2/backend/lpd.c.media-empty-warning cups-1.4.2/backend/lpd.c
--- cups-1.4.2/backend/lpd.c.media-empty-warning	2009-06-26 19:26:36.000000000 +0100
+++ cups-1.4.2/backend/lpd.c	2009-12-08 11:22:27.861488697 +0000
@@ -447,7 +447,8 @@ main(int  argc,				/* I - Number of comm
 
     _cupsLangPuts(stderr, _("INFO: Copying print data...\n"));
 
-    backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, backendNetworkSideCB);
+    backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, 0, 
+		   backendNetworkSideCB);
 
     if (snmp_fd >= 0)
       _cupsSNMPClose(snmp_fd);
diff -up cups-1.4.2/backend/parallel.c.media-empty-warning cups-1.4.2/backend/parallel.c
--- cups-1.4.2/backend/parallel.c.media-empty-warning	2009-08-31 19:45:43.000000000 +0100
+++ cups-1.4.2/backend/parallel.c	2009-12-08 11:22:27.862488185 +0000
@@ -284,7 +284,7 @@ main(int  argc,				/* I - Number of comm
       lseek(print_fd, 0, SEEK_SET);
     }
 
-    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, side_cb);
+    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, side_cb);
 
     if (print_fd != 0 && tbytes >= 0)
       _cupsLangPrintf(stderr,
diff -up cups-1.4.2/backend/runloop.c.media-empty-warning cups-1.4.2/backend/runloop.c
--- cups-1.4.2/backend/runloop.c.media-empty-warning	2009-08-31 19:45:43.000000000 +0100
+++ cups-1.4.2/backend/runloop.c	2009-12-08 11:22:27.862488185 +0000
@@ -147,6 +147,7 @@ backendRunLoop(
     int         snmp_fd,		/* I - SNMP socket or -1 if none */
     http_addr_t *addr,			/* I - Address of device */
     int         use_bc,			/* I - Use back-channel? */
+    int         update_state,		/* I - Update printer-state-reasons? */
     int         (*side_cb)(int, int, int, http_addr_t *, int))
 					/* I - Side-channel callback */
 {
@@ -245,7 +246,7 @@ backendRunLoop(
 	* Pause printing to clear any pending errors...
 	*/
 
-	if (errno == ENXIO && offline != 1)
+	if (errno == ENXIO && offline != 1 && update_state)
 	{
 	  fputs("STATE: +offline-report\n", stderr);
 	  _cupsLangPuts(stderr, _("INFO: Printer is currently offline.\n"));
@@ -351,7 +352,7 @@ backendRunLoop(
 
         if (errno == ENOSPC)
 	{
-	  if (paperout != 1)
+	  if (paperout != 1 && update_state)
 	  {
 	    fputs("STATE: +media-empty-warning\n", stderr);
 	    _cupsLangPuts(stderr, _("ERROR: Out of paper!\n"));
@@ -360,7 +361,7 @@ backendRunLoop(
         }
 	else if (errno == ENXIO)
 	{
-	  if (offline != 1)
+	  if (offline != 1 && update_state)
 	  {
 	    fputs("STATE: +offline-report\n", stderr);
 	    _cupsLangPuts(stderr, _("INFO: Printer is currently off-line.\n"));
@@ -376,13 +377,13 @@ backendRunLoop(
       }
       else
       {
-        if (paperout)
+        if (paperout && update_state)
 	{
 	  fputs("STATE: -media-empty-warning\n", stderr);
 	  paperout = 0;
 	}
 
-	if (offline)
+	if (offline && update_state)
 	{
 	  fputs("STATE: -offline-report\n", stderr);
 	  _cupsLangPuts(stderr, _("INFO: Printer is now online.\n"));
diff -up cups-1.4.2/backend/socket.c.media-empty-warning cups-1.4.2/backend/socket.c
--- cups-1.4.2/backend/socket.c.media-empty-warning	2009-06-12 05:02:45.000000000 +0100
+++ cups-1.4.2/backend/socket.c	2009-12-08 11:22:27.863488075 +0000
@@ -393,7 +393,7 @@ main(int  argc,				/* I - Number of comm
       lseek(print_fd, 0, SEEK_SET);
     }
 
-    tbytes = backendRunLoop(print_fd, device_fd, snmp_fd, &(addr->addr), 1,
+    tbytes = backendRunLoop(print_fd, device_fd, snmp_fd, &(addr->addr), 1, 0, 
                             backendNetworkSideCB);
 
     if (print_fd != 0 && tbytes >= 0)
diff -up cups-1.4.2/backend/usb-unix.c.media-empty-warning cups-1.4.2/backend/usb-unix.c
--- cups-1.4.2/backend/usb-unix.c.media-empty-warning	2009-12-08 11:22:12.445487428 +0000
+++ cups-1.4.2/backend/usb-unix.c	2009-12-08 11:22:27.864488180 +0000
@@ -218,10 +218,10 @@ print_device(const char *uri,		/* I - De
     * select() or poll(), so we can't support the sidechannel either...
     */
 
-    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, NULL);
+    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, NULL);
 
 #else
-    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, side_cb);
+    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, side_cb);
 #endif /* __sun */
 
     if (print_fd != 0 && tbytes >= 0)


Index: cups.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups.spec,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -p -r1.557 -r1.558
--- cups.spec	8 Dec 2009 11:13:07 -0000	1.557
+++ cups.spec	8 Dec 2009 11:25:50 -0000	1.558
@@ -64,6 +64,7 @@ Patch39: cups-str3440.patch
 Patch40: cups-str3442.patch
 Patch41: cups-negative-snmp-string-length.patch
 Patch42: cups-sidechannel-intrs.patch
+Patch43: cups-media-empty-warning.patch
 
 Patch100: cups-lspp.patch
 
@@ -235,6 +236,7 @@ module. 
 %patch40 -p1 -b .str3442
 %patch41 -p1 -b .negative-snmp-string-length
 %patch42 -p1 -b .sidechannel-intrs
+%patch43 -p1 -b .media-empty-warning
 
 %if %lspp
 %patch100 -p1 -b .lspp
@@ -526,6 +528,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %changelog
 * Tue Dec  8 2009 Tim Waugh <twaugh at redhat.com> - 1:1.4.2-14
+- Use upstream patch to stop the network backends incorrectly clearing
+  the media-empty-warning state (rev 8896).
 - Use upstream patch to fix interrupt handling in the side-channel
   APIs (rev 8896).
 - Use upstream patch to handle negative SNMP string lengths (rev 8896).




More information about the fedora-extras-commits mailing list