From 619a6b6164660089f7dee5fcb6ea484f7bcff72b Mon Sep 17 00:00:00 2001 From: Sam James Date: Thu, 17 Sep 2020 23:20:15 +0000 Subject: media-gfx/sane-backends: security cleanup Bug: https://bugs.gentoo.org/729312 Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Sam James --- media-gfx/sane-backends/Manifest | 1 - .../sane-backends-1.0.27-canon-lide-100.patch | 17 - .../files/sane-backends-1.0.27-network.patch | 42 --- .../sane-backends-1.0.27-revert-samsung.patch | 406 --------------------- ...ne-backends-1.0.27-uninitialized-variable.patch | 25 -- .../sane-backends/sane-backends-1.0.27-r3.ebuild | 344 ----------------- 6 files changed, 835 deletions(-) delete mode 100644 media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch delete mode 100644 media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch delete mode 100644 media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch delete mode 100644 media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch delete mode 100644 media-gfx/sane-backends/sane-backends-1.0.27-r3.ebuild (limited to 'media-gfx/sane-backends') diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest index 1e5f15e24b25..4a1266cd0039 100644 --- a/media-gfx/sane-backends/Manifest +++ b/media-gfx/sane-backends/Manifest @@ -1,2 +1 @@ DIST backends-1.0.30.tar.gz 5721262 BLAKE2B 139d3ca908d54b94d14ef4145d44a89b939807c15870be03c3c028cf95351bf9a4abd3ea115b84396366bb054f37ade883f429467dceb0663c2855b92e0a4fa5 SHA512 19127c8109c1587d60d8cba713f73b1a24242df44fa49c3e59320f48022783f05d26d3242a3f87478e583a807d88b446ef7a51afb33b674be29656496c435d7b -DIST sane-backends-1.0.27.tar.gz 6430188 BLAKE2B 90f910311e31a436eaa0ca0fedd998aac3331f89a346f31613776ebc860a10cc37055fd15db8de8d743498914ea0c16e4153dbaa101380eb6e36857d730c3456 SHA512 c6552768bfc10216730fc11011c82f74ca0952182019ded3916072147ec09be5c975ce1d37dc3ccea050c488dbdf983c2ca17dcd702644060ba796ae2591f9c5 diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch deleted file mode 100644 index 504f9e666e62..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up sane-backends-1.0.27/backend/genesys.c.canon-lide-100 sane-backends-1.0.27/backend/genesys.c ---- sane-backends-1.0.27/backend/genesys.c.canon-lide-100 2018-02-01 10:37:26.160044539 +0100 -+++ sane-backends-1.0.27/backend/genesys.c 2018-02-01 10:45:44.616653277 +0100 -@@ -2070,11 +2070,9 @@ genesys_white_shading_calibration (Genes - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - -- /* if needed, go back before doin next scan, by using rewind, registers and -- * slopes table are kept intact from previous scan */ -- if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) -+ if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) - { -- status = dev->model->cmd_set->rewind (dev); -+ status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - } - - status = diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch deleted file mode 100644 index 2605ea83578d..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c -index a57d7c7..d0a1e92 100644 ---- a/sanei/sanei_tcp.c -+++ b/sanei/sanei_tcp.c -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_WINSOCK2_H - #include -@@ -123,14 +124,27 @@ sanei_tcp_write(int fd, const u_char * buf, int count) - ssize_t - sanei_tcp_read(int fd, u_char * buf, int count) - { -- ssize_t bytes_recv = 0, rc = 1; -+ ssize_t bytes_recv = 0, rc = 1; -+ int retry = 5; - - while (bytes_recv < count && rc > 0) - { - rc = recv(fd, buf+bytes_recv, count-bytes_recv, 0); -+ DBG(1, "%s: bytes received %d\n", __FUNCTION__, rc); - if (rc > 0) - bytes_recv += rc; -- -+ else { -+ if ( errno == EAGAIN && retry-- ) { -+ DBG(1, "%s: waiting %d\n", __FUNCTION__, retry); -+ /* wait for max 1s */ -+ struct timespec req; -+ struct timespec rem; -+ req.tv_sec = 0; -+ req.tv_nsec= 100000000; -+ nanosleep(&req, &rem); -+ rc = 1; -+ } -+ } - } - return bytes_recv; - } diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch deleted file mode 100644 index af3e141a010c..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch +++ /dev/null @@ -1,406 +0,0 @@ -From 9b13d4c18b2424eaed02b72a928e9607921ec265 Mon Sep 17 00:00:00 2001 -From: Bernard Cafarelli -Date: Tue, 17 Apr 2018 22:43:15 +0200 -Subject: [PATCH] Revert "Color scanning for Samsung models, which support JPEG - Lossy compression." - -This reverts commit 926bfade544de4a4fd5f1a8082b85a97e2443770, leaving -the new IDs in. -As tracked in #315876, this breaks scanning with multiple Samsung scanners - -Conflicts: - backend/xerox_mfp.c - backend/xerox_mfp.h - doc/descriptions/xerox_mfp.desc ---- - backend/Makefile.am | 2 +- - backend/Makefile.in | 7 +- - backend/xerox_mfp.c | 193 +------------------------------- - backend/xerox_mfp.h | 5 - - doc/descriptions/xerox_mfp.desc | 10 +- - 5 files changed, 14 insertions(+), 203 deletions(-) - -diff --git a/backend/Makefile.am b/backend/Makefile.am -index 18695a4a..3225b133 100644 ---- a/backend/Makefile.am -+++ b/backend/Makefile.am -@@ -1086,7 +1086,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c - libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) --libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -+libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) - EXTRA_DIST += xerox_mfp.conf.in - - libdll_preload_la_SOURCES = dll.c -diff --git a/backend/Makefile.in b/backend/Makefile.in -index d1dca4a2..2643bb77 100644 ---- a/backend/Makefile.in -+++ b/backend/Makefile.in -@@ -1430,10 +1430,9 @@ libsane_v4l_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - libsane_xerox_mfp_la_DEPENDENCIES = $(COMMON_LIBS) libxerox_mfp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ -- $(am__DEPENDENCIES_1) ../sanei/sanei_usb.lo \ -- ../sanei/sanei_tcp.lo $(am__DEPENDENCIES_1) \ -+ ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) -+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) - nodist_libsane_xerox_mfp_la_OBJECTS = \ - libsane_xerox_mfp_la-xerox_mfp-s.lo - libsane_xerox_mfp_la_OBJECTS = $(nodist_libsane_xerox_mfp_la_OBJECTS) -@@ -2754,7 +2753,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c - libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) --libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -+libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) - libdll_preload_la_SOURCES = dll.c - libdll_preload_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -DENABLE_PRELOAD - libdll_la_SOURCES = dll.c -diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c -index 8b8c8956..d37a6237 100644 ---- a/backend/xerox_mfp.c -+++ b/backend/xerox_mfp.c -@@ -33,9 +33,6 @@ - #include "../include/sane/sanei_usb.h" - #include "../include/sane/sanei_config.h" - #include "../include/sane/sanei_backend.h" --#ifdef HAVE_LIBJPEG --#include --#endif - #include "xerox_mfp.h" - - #define BACKEND_BUILD 13 -@@ -93,128 +90,6 @@ static char *str_cmd(int cmd) - } - - #define MAX_DUMP 70 --const char *encTmpFileName = "/tmp/stmp_enc.tmp"; -- --static int decompress(struct device __sane_unused__ *dev, -- const char __sane_unused__ *infilename) --{ --#ifdef HAVE_LIBJPEG -- int rc; -- int row_stride, width, height, pixel_size; -- struct jpeg_decompress_struct cinfo; -- struct jpeg_error_mgr jerr; -- unsigned long bmp_size = 0; -- FILE *pInfile = NULL; -- JSAMPARRAY buffer; -- -- if ((pInfile = fopen(infilename, "rb")) == NULL) { -- fprintf(stderr, "can't open %s\n", infilename); -- return -1; -- } -- -- cinfo.err = jpeg_std_error(&jerr); -- -- jpeg_create_decompress(&cinfo); -- -- jpeg_stdio_src(&cinfo, pInfile); -- -- rc = jpeg_read_header(&cinfo, TRUE); -- if (rc != 1) { -- jpeg_destroy_decompress(&cinfo); -- fclose(pInfile); -- return -1; -- } -- -- jpeg_start_decompress(&cinfo); -- -- width = cinfo.output_width; -- height = cinfo.output_height; -- pixel_size = cinfo.output_components; -- bmp_size = width * height * pixel_size; -- dev->decDataSize = bmp_size; -- -- row_stride = width * pixel_size; -- -- buffer = (*cinfo.mem->alloc_sarray) -- ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1); -- -- while (cinfo.output_scanline < cinfo.output_height) { -- buffer[0] = dev->decData + \ -- (cinfo.output_scanline) * row_stride; -- jpeg_read_scanlines(&cinfo, buffer, 1); -- } -- jpeg_finish_decompress(&cinfo); -- jpeg_destroy_decompress(&cinfo); -- fclose(pInfile); -- return 0; --#else -- return -1; --#endif --} -- --static int copy_decompress_data(struct device *dev, unsigned char *pDest, int maxlen, int *destLen) --{ -- int data_size = 0; -- size_t result = 0, retVal = 0; -- -- -- if (0 == dev->decDataSize) { -- *destLen = 0; -- return retVal; -- } -- data_size = dev->decDataSize - dev->currentDecDataIndex; -- if (data_size > maxlen) { -- data_size = maxlen; -- } -- memcpy(pDest, dev->decData+dev->currentDecDataIndex, data_size); -- result = data_size; -- *destLen = result; -- dev->currentDecDataIndex += result; -- retVal = result; -- -- if (dev->decDataSize == dev->currentDecDataIndex) { -- dev->currentDecDataIndex = 0; -- dev->decDataSize = 0; -- } -- -- return retVal; --} -- --static int decompress_tempfile(struct device *dev) --{ -- decompress(dev, encTmpFileName); -- remove(encTmpFileName); -- return 0; --} -- --static int dump_to_tmp_file(struct device *dev) --{ -- unsigned char *pSrc = dev->data; -- int srcLen = dev->datalen; -- FILE *pInfile; -- if ((pInfile = fopen(encTmpFileName, "a")) == NULL) { -- fprintf(stderr, "can't open %s\n", encTmpFileName); -- return 0; -- } -- -- fwrite(pSrc, 1, srcLen, pInfile); -- fclose(pInfile); -- return srcLen; --} -- --static int isSupportedDevice(struct device __sane_unused__ *dev) --{ --#ifdef HAVE_LIBJPEG -- /* Checking device which supports JPEG Lossy compression for color scanning*/ -- if (dev->compressionTypes & (1 << 6)) -- return 1; -- else -- return 0; --#else -- return 0; --#endif --} -- - static void dbg_dump(struct device *dev) - { - int i; -@@ -639,11 +514,9 @@ static void set_parameters(struct device *dev) - dev->para.pixels_per_line = dev->win_width / px_to_len; - dev->para.bytes_per_line = dev->para.pixels_per_line; - -- if (!isSupportedDevice(dev)) { - #if BETTER_BASEDPI -- px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; -+ px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; - #endif -- } - dev->para.lines = dev->win_len / px_to_len; - if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) { -@@ -765,13 +638,6 @@ static int dev_set_window(struct device *dev) - cmd[0x11] = (SANE_Byte)floor(dev->win_off_y); - cmd[0x12] = (SANE_Byte)((dev->win_off_y - floor(dev->win_off_y)) * 100); - cmd[0x13] = dev->composition; -- /* Set to JPEG Lossy Compression, if mode is color (only for supported model)... -- * else go with Uncompressed (For backard compatibility with old models )*/ -- if (dev->composition == MODE_RGB24) { -- if (isSupportedDevice(dev)) { -- cmd[0x14] = 0x6; -- } -- } - cmd[0x16] = dev->threshold; - cmd[0x17] = dev->doc_source; - -@@ -843,7 +709,6 @@ dev_inquiry(struct device *dev) - dev->res[0x3e] << 8 | - dev->res[0x3f]; - dev->line_order = dev->res[0x31]; -- dev->compressionTypes = dev->res[0x32]; - dev->doc_loaded = (dev->res[0x35] == 0x02) && - (dev->res[0x26] & 0x03); - -@@ -942,10 +807,6 @@ dev_free(struct device *dev) - free(UNCONST(dev->sane.type)); - if (dev->data) - free(dev->data); -- if (dev->decData) { -- free(dev->decData); -- dev->decData = NULL; -- } - memset(dev, 0, sizeof(*dev)); - free(dev); - } -@@ -1283,19 +1144,6 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - /* if there is no data to read or output from buffer */ - if (!dev->blocklen && dev->datalen <= PADDING_SIZE) { - -- /* copying uncompressed data */ -- if (dev->composition == MODE_RGB24 && -- isSupportedDevice(dev) && -- dev->decDataSize > 0) { -- int diff = dev->total_img_size - dev->total_out_size; -- int bufLen = (diff < maxlen) ? diff : maxlen; -- if (0 < diff && -- 0 < copy_decompress_data(dev, buf, bufLen, lenp)) { -- dev->total_out_size += *lenp; -- return SANE_STATUS_GOOD; -- } -- } -- - /* and we don't need to acquire next block */ - if (dev->final_block) { - int slack = dev->total_img_size - dev->total_out_size; -@@ -1311,10 +1159,7 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - /* this will never happen */ - DBG(1, "image overflow %d bytes\n", dev->total_img_size - dev->total_out_size); - } -- if (isSupportedDevice(dev) && -- dev->composition == MODE_RGB24) { -- remove(encTmpFileName); -- } -+ - /* that's all */ - dev_stop(dev); - return SANE_STATUS_EOF; -@@ -1365,18 +1210,9 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - - if (buf && lenp) { /* read mode */ - /* copy will do minimal of valid data */ -- if (dev->para.format == SANE_FRAME_RGB && dev->line_order) { -- if (isSupportedDevice(dev)) { -- clrlen = dump_to_tmp_file(dev); -- /* decompress after reading entire block data*/ -- if (0 == dev->blocklen) { -- decompress_tempfile(dev); -- } -- copy_decompress_data(dev, buf, maxlen, &olen); -- } else { -- clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); -- } -- } else -+ if (dev->para.format == SANE_FRAME_RGB && dev->line_order) -+ clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); -+ else - clrlen = copy_plain_trim(dev, buf, maxlen, &olen); - - dev->datalen -= clrlen; -@@ -1455,9 +1291,6 @@ sane_start(SANE_Handle h) - if (!dev->data && !(dev->data = malloc(DATASIZE))) - return ret_cancel(dev, SANE_STATUS_NO_MEM); - -- if (!dev->decData && !(dev->decData = malloc(POST_DATASIZE))) -- return ret_cancel(dev, SANE_STATUS_NO_MEM); -- - if (!dev_acquire(dev)) - return dev->state; - -@@ -1479,22 +1312,6 @@ sane_start(SANE_Handle h) - - dev->total_img_size = dev->para.bytes_per_line * dev->para.lines; - -- if (isSupportedDevice(dev) && -- dev->composition == MODE_RGB24) { -- int fd; -- remove(encTmpFileName); -- -- /* Precreate temporary file in exclusive mode. */ -- fd = open(encTmpFileName, O_CREAT|O_EXCL, 0600); -- if (fd == -1) { -- DBG(3, "%s: %p, can't create temporary file %s: %s\n", __func__, -- (void *)dev, encTmpFileName, strerror(errno)); -- return ret_cancel(dev, SANE_STATUS_ACCESS_DENIED); -- } -- close(fd); -- } -- dev->currentDecDataIndex = 0; -- - return SANE_STATUS_GOOD; - } - -diff --git a/backend/xerox_mfp.h b/backend/xerox_mfp.h -index 3d93f06d..ea89dda2 100644 ---- a/backend/xerox_mfp.h -+++ b/backend/xerox_mfp.h -@@ -74,10 +74,6 @@ struct device { - #define DATATAIL(dev) ((dev->dataoff + dev->datalen) & DATAMASK) - #define DATAROOM(dev) dataroom(dev) - --#define POST_DATASIZE 0xFFFFFF -- SANE_Byte *decData; -- int decDataSize; -- int currentDecDataIndex; - /* data from CMD_INQUIRY: */ - int resolutions; /* supported resolution bitmask */ - int compositions; /* supported image compositions bitmask */ -@@ -102,7 +98,6 @@ struct device { - int composition; /* MODE_ */ - int doc_source; /* document source */ - int threshold; /* brightness */ -- int compressionTypes; - - /* CMD_READ data. It is per block only, image could be in many blocks */ - int blocklen; /* image data block len (padding incl.) */ -diff --git a/doc/descriptions/xerox_mfp.desc b/doc/descriptions/xerox_mfp.desc -index d21a6be6..67253b38 100644 ---- a/doc/descriptions/xerox_mfp.desc -+++ b/doc/descriptions/xerox_mfp.desc -@@ -320,7 +320,7 @@ - - :model "SCX-3405W" - :interface "Ethernet" --:status :good -+:status :basic - - :model "SCX-3400" - :interface "USB" -@@ -335,17 +335,17 @@ - :model "SCX-4729FD" - :interface "USB" - :usbid "0x04e8" "0x3453" --:status :good -+:status :basic - - :model "CLX-6260" - :interface "USB" - :usbid "0x04e8" "0x3455" --:status :good -+:status :minimal - - :model "CLX-3300 Series" - :interface "USB" - :usbid "0x04e8" "0x3456" --:status :good -+:status :basic - - :model "SCX-470x" - :interface "USB" -@@ -355,7 +355,7 @@ - :model "CLX-4190" - :interface "USB" - :usbid "0x04e8" "0x345a" --:status :good -+:status :minimal - - :model "SCX-4650 4x21S Series" - :interface "USB" --- -2.17.0 - diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch deleted file mode 100644 index 0311975c0ce8..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch +++ /dev/null @@ -1,25 +0,0 @@ -From dd61ef1cc84299781e382b9258d97102cee192b4 Mon Sep 17 00:00:00 2001 -From: Olaf Meeuwissen -Date: Thu, 3 Aug 2017 18:50:05 +0900 -Subject: [PATCH] genesys: Fix use of uninitialized variable - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869673 ---- - backend/genesys.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/backend/genesys.c b/backend/genesys.c -index 1c1bbf4..0b644c4 100644 ---- a/backend/genesys.c -+++ b/backend/genesys.c -@@ -6237,6 +6237,7 @@ attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) - dev->model = genesys_usb_device_list[i].model; - dev->vendorId = genesys_usb_device_list[i].vendor; - dev->productId = genesys_usb_device_list[i].product; -+ dev->usb_mode = 0; /* i.e. unset */ - dev->already_initialized = SANE_FALSE; - - DBG (DBG_info, "attach: found %s flatbed scanner %s at %s\n", --- -2.1.4 - diff --git a/media-gfx/sane-backends/sane-backends-1.0.27-r3.ebuild b/media-gfx/sane-backends/sane-backends-1.0.27-r3.ebuild deleted file mode 100644 index 3470233904fc..000000000000 --- a/media-gfx/sane-backends/sane-backends-1.0.27-r3.ebuild +++ /dev/null @@ -1,344 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit eutils flag-o-matic multilib-minimal systemd toolchain-funcs udev user - -# gphoto and v4l are handled by their usual USE flags. -# The pint backend was disabled because I could not get it to compile. -IUSE_SANE_BACKENDS=" - abaton - agfafocus - apple - artec - artec_eplus48u - as6e - avision - bh - canon - canon630u - canon_dr - canon_pp - cardscan - coolscan - coolscan2 - coolscan3 - dc210 - dc240 - dc25 - dell1600n_net - dmc - epjitsu - epson - epson2 - fujitsu - genesys - gt68xx - hp - hp3500 - hp3900 - hp4200 - hp5400 - hp5590 - hpljm1005 - hpsj5s - hs2p - ibm - kodak - kodakaio - kvs1025 - kvs20xx - kvs40xx - leo - lexmark - ma1509 - magicolor - matsushita - microtek - microtek2 - mustek - mustek_pp - mustek_usb - mustek_usb2 - nec - net - niash - p5 - pie - pixma - plustek - plustek_pp - pnm - qcam - ricoh - rts8891 - s9036 - sceptre - sharp - sm3600 - sm3840 - snapscan - sp15c - st400 - stv680 - tamarack - teco1 - teco2 - teco3 - test - u12 - umax - umax1220u - umax_pp - xerox_mfp" - -IUSE="gphoto2 ipv6 snmp systemd threads usb v4l xinetd zeroconf" - -for backend in ${IUSE_SANE_BACKENDS}; do - case ${backend} in - # Disable backends that require parallel ports as no one has those anymore. - canon_pp|hpsj5s|mustek_pp|\ - pnm) - IUSE+=" -sane_backends_${backend}" - ;; - mustek_usb2|kvs40xx) - IUSE+=" sane_backends_${backend}" - ;; - *) - IUSE+=" +sane_backends_${backend}" - esac -done - -REQUIRED_USE=" - sane_backends_mustek_usb2? ( threads ) - sane_backends_kvs40xx? ( threads ) -" - -DESCRIPTION="Scanner Access Now Easy - Backends" -HOMEPAGE="http://www.sane-project.org/" -MY_P="${P}" -FRS_ID="4224" -SRC_URI="https://alioth.debian.org/frs/download.php/file/${FRS_ID}/${P}.tar.gz" - -LICENSE="GPL-2 public-domain" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - sane_backends_dc210? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] ) - sane_backends_dc240? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] ) - sane_backends_dell1600n_net? ( - >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] - >=media-libs/tiff-3.9.7-r1:0=[${MULTILIB_USEDEP}] - ) - sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) - sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) - sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) - usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] ) - gphoto2? ( - >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}] - >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] - ) - v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - xinetd? ( sys-apps/xinetd ) - snmp? ( net-analyzer/net-snmp:0= ) - systemd? ( sys-apps/systemd:0= ) - zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) -" - -DEPEND="${RDEPEND} - v4l? ( sys-kernel/linux-headers ) - >=sys-devel/gettext-0.18.1 - virtual/pkgconfig -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/sane-config -) - -pkg_setup() { - enewgroup scanner - enewuser saned -1 -1 -1 scanner -} - -src_prepare() { - default - - cat >> backend/dll.conf.in <<-EOF - # Add support for the HP-specific backend. Needs net-print/hplip installed. - hpaio - # Add support for the Epson-specific backend. Needs media-gfx/iscan installed. - epkowa - EOF - - eapply "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch - eapply "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch - - # From Arch - eapply "${FILESDIR}"/${PN}-1.0.27-network.patch - - # From Fedora - # Fix https://bugs.gentoo.org/635348 - eapply "${FILESDIR}"/${PN}-1.0.27-canon-lide-100.patch - # Fix https://bugs.gentoo.org/653300 - eapply "${FILESDIR}"/${PN}-1.0.27-revert-samsung.patch - - # From Debian - eapply "${FILESDIR}"/${PN}-1.0.27-uninitialized-variable.patch - - # Fix for "make check". Upstream sometimes forgets to update this. - local ver=$(./configure --version | awk '{print $NF; exit 0}') - sed -i \ - -e "/by sane-desc 3.5 from sane-backends/s:sane-backends .*:sane-backends ${ver}:" \ - testsuite/tools/data/html* || die -} - -src_configure() { - append-flags -fno-strict-aliasing # From Fedora - - # if LINGUAS is set, just use the listed and supported localizations. - if [[ ${LINGUAS+set} == "set" ]]; then - mkdir -p po || die - strip-linguas -u po - printf '%s\n' ${LINGUAS} > po/LINGUAS - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - # the blank is intended - an empty string would result in building ALL backends. - local BACKENDS=" " - - use gphoto2 && BACKENDS="gphoto2" - use v4l && BACKENDS="${BACKENDS} v4l" - for backend in ${IUSE_SANE_BACKENDS}; do - if use "sane_backends_${backend}" && [ ${backend} != pnm ]; then - BACKENDS="${BACKENDS} ${backend}" - fi - done - - local myconf=( - $(use_with usb) - $(multilib_native_use_with snmp) - ) - - # you can only enable this backend, not disable it... - if use sane_backends_pnm; then - myconf+=( --enable-pnm-backend ) - fi - if use sane_backends_mustek_pp; then - myconf+=( --enable-parport-directio ) - fi - if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp; }; then - myconf+=( sane_cv_use_libieee1284=no ) - fi - - # relative path must be used for tests to work properly - # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory - # --without-api-spec to not automagically depend on tons of stuff - # that break in many ways, bug #636202, #668232, #668350 - # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html - ECONF_SOURCE=${S} \ - SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \ - BACKENDS="${BACKENDS}" \ - econf \ - --disable-locking \ - --without-api-spec \ - $(use_with gphoto2) \ - $(multilib_native_use_with systemd) \ - $(use_with v4l) \ - $(use_enable ipv6) \ - $(use_enable threads pthread) \ - $(use_enable zeroconf avahi) \ - "${myconf[@]}" -} - -multilib_src_compile() { - emake VARTEXFONTS="${T}/fonts" - - if tc-is-cross-compiler; then - pushd "${BUILD_DIR}"/tools >/dev/null || die - - # The build system sucks and doesn't handle this properly. - # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366 - tc-export_build_env BUILD_CC - ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ - -I. -I../include -I"${S}"/include \ - "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \ - "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die - local dirs=( hal hotplug hotplug-ng udev ) - local targets=( - hal/libsane.fdi - hotplug/libsane.usermap - hotplug-ng/libsane.db - udev/libsane.rules - ) - mkdir -p "${dirs[@]}" || die - emake "${targets[@]}" - - popd >/dev/null - fi - - if use usb; then - sed -i -e '/^$/d' \ - tools/hotplug/libsane.usermap || die - fi -} - -multilib_src_install() { - emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \ - docdir="${EPREFIX}"/usr/share/doc/${PF} - - if multilib_is_native_abi; then - if use usb; then - insinto /etc/hotplug/usb - doins tools/hotplug/libsane.usermap - fi - - udev_newrules tools/udev/libsane.rules 41-libsane.rules - insinto "/usr/share/pkgconfig" - doins tools/sane-backends.pc - fi -} - -multilib_src_install_all() { - keepdir /var/lib/lock/sane - fowners root:scanner /var/lib/lock/sane - fperms g+w /var/lib/lock/sane - dodir /etc/env.d - - if use systemd; then - systemd_newunit "${FILESDIR}"/saned_at.service "saned@.service" - systemd_newunit "${FILESDIR}"/saned.socket saned.socket - fi - - if use usb; then - exeinto /etc/hotplug/usb - doexe tools/hotplug/libusbscanner - newdoc tools/hotplug/README README.hotplug - fi - - dodoc NEWS AUTHORS ChangeLog* PROBLEMS README README.linux - find "${D}" -name '*.la' -delete || die - - if use xinetd; then - insinto /etc/xinetd.d - doins "${FILESDIR}"/saned - fi - - newinitd "${FILESDIR}"/saned.initd saned - newconfd "${FILESDIR}"/saned.confd saned -} - -pkg_postinst() { - if use xinetd; then - elog "If you want remote clients to connect, edit" - elog "/etc/sane.d/saned.conf and /etc/hosts.allow" - fi - - if ! use systemd; then - elog "If you are using a USB scanner, add all users who want" - elog "to access your scanner to the \"scanner\" group." - fi -} -- cgit v1.2.3-65-gdbad