Accepting request 506265 from Printing

Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/506265
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/epson-inkjet-printer-escpr?expand=0&rev=21
This commit is contained in:
Dominique Leuenberger 2017-06-27 08:21:33 +00:00 committed by Git OBS Bridge
commit 5f31382685
3 changed files with 114 additions and 1 deletions

98
bug_x86_64.patch Normal file
View File

@ -0,0 +1,98 @@
diff -Naur epson-inkjet-printer-escpr-1.6.9/src/filter.c epson-inkjet-printer-escpr-1.6.9-fixed/src/filter.c
--- epson-inkjet-printer-escpr-1.6.9/src/filter.c 2016-09-21 03:55:30.000000000 +0200
+++ epson-inkjet-printer-escpr-1.6.9-fixed/src/filter.c 2016-10-07 22:07:23.965463021 +0200
@@ -34,6 +34,8 @@
#include "epson-protocol.h"
#include "epson-escpr-api.h"
#include "epson-escpr-mem.h"
+#include "epson-escpr-services.h"
+#include "epson-escpage.h"
#include "err.h"
#include "mem.h"
@@ -42,6 +44,11 @@
#include "libprtX.h"
#include "optBase.h"
#include "linux_cmn.h"
+#include "xfifo.h"
+
+extern EPS_ERR_CODE SetupJobAttrib (const EPS_JOB_ATTRIB*);
+extern EPS_ERR_CODE SendStartJob ();
+extern EPS_ERR_CODE PrintBand (const EPS_UINT8*, EPS_UINT32, EPS_UINT32*);
#define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4)
@@ -380,10 +387,10 @@
}else{
debug_msg("pageStartJob() success");
}
-
+
printJob.jobStatus = EPS_STATUS_ESTABLISHED;
- int printHeight = 0;
-///////////////////////////////////////////////////////////////////////////////////////////////////////////
+ EPS_UINT32 printHeight = 0;
+///////////////////////////////////////////////////////////////////////////////////////////////////////////
print_area_x = printJob.printableAreaWidth;
print_area_y = printJob.printableAreaHeight;
@@ -535,7 +542,7 @@
memcpy(rever_buf + k*3, startpage + pos + (bandBmp.widthBytes - 6) - k*3, 3);
}
}
- PrintBand (rever_buf, bandBmp.widthBytes, &printHeight);
+ PrintBand ((const EPS_UINT8 *)rever_buf, bandBmp.widthBytes, &printHeight);
pos -= bandBmp.widthBytes;
}
@@ -642,17 +649,17 @@
}
}
}
-
+
band_line_count ++;
-
+
if (band_line_count >= band_line)
{
printHeight = band_line_count;
PrintBand (bandBmp.bits, bandBmp.widthBytes, &printHeight);
#if (HAVE_PPM)
fp = fopen(ppmfilename, "a+");
- int i=0;
- for(i=0; i<bytes_per_line/byte_par_pixel*3; i++){
+ int i=0;
+ for(i=0; i<bytes_per_line/byte_par_pixel*3; i++){
fprintf(fp, "%u ", (unsigned char)bandBmp.Bits[i]);
}
fprintf(fp, "\n");
@@ -831,7 +838,7 @@
/* Get number of pages */
char page_num;
- read (STDIN_FILENO, &page_num, 1);
+ (void)read (STDIN_FILENO, &page_num, 1);
/* Others */
jobAttr.apfAutoCorrect = EPS_APF_ACT_STANDARD;
@@ -881,7 +888,7 @@
// fwrite (pBuf, cbBuf, 1, outfp);
- XFIFOWrite(context, pBuf, cbBuf);
+ XFIFOWrite(context, (char *)pBuf, cbBuf);
return 1;
}
diff -Naur epson-inkjet-printer-escpr-1.6.9/src/mem.c epson-inkjet-printer-escpr-1.6.9-fixed/src/mem.c
--- epson-inkjet-printer-escpr-1.6.9/src/mem.c 2016-09-21 03:55:30.000000000 +0200
+++ epson-inkjet-printer-escpr-1.6.9-fixed/src/mem.c 2016-10-07 22:07:59.519366574 +0200
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include "mem.h"
+#include "err.h"
void *
mem_malloc (unsigned int size, bool_t crit)

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Sun Jun 18 16:31:54 UTC 2017 - bwiedemann@suse.com
- call gzip -n to make build fully reproducible
-------------------------------------------------------------------
Mon Jun 12 22:31:03 UTC 2017 - nico.kruber@gmail.com
- add bug_x86_64.patch which should fix the segfault that some
users are experiencing
-------------------------------------------------------------------
Tue Apr 18 07:58:26 UTC 2017 - nico.kruber@gmail.com

View File

@ -51,6 +51,9 @@ Summary: Epson ESC/P-R Inkjet Printer Driver
License: GPL-2.0
Group: Hardware/Printing
Source0: epson-inkjet-printer-escpr-%{version}-1lsb3.2.tar.gz
# PATCH-FIX-UPSTREAM bug_x86_64.patch -- fix a segfault on x64_64 (probably manifested with GCC7 use)
# https://aur.archlinux.org/cgit/aur.git/plain/bug_x86_64.patch?h=epson-inkjet-printer-escpr
Patch0: bug_x86_64.patch
# This software is a filter program used with CUPS:
Requires: cups
# Install into this non-root directory (required when norootforbuild is used):
@ -75,6 +78,7 @@ installed package see the PPD files in this directory:
%prep
# Be quiet when unpacking:
%setup -q
%patch0 -p1
%build
# Set our preferred architecture-specific flags for the compiler and linker:
@ -119,7 +123,7 @@ set +x
for p in *.ppd
do echo -n "$p: "
grep -E -v '^\*UIConstraints:|^\*NonUIConstraints:|^\*cupsFilter:' $p | cupstestppd - || true
gzip $p
gzip -n9 $p
done
# Switch back to the usual build log messages:
set -x