Date: Monday, October 28, 2013 @ 18:39:46 Author: tpowa Revision: 197703
archrelease: copy trunk to extra-i686, extra-x86_64 Added: sane/repos/extra-i686/PKGBUILD (from rev 197702, sane/trunk/PKGBUILD) sane/repos/extra-i686/network.patch (from rev 197702, sane/trunk/network.patch) sane/repos/extra-i686/sane.xinetd (from rev 197702, sane/trunk/sane.xinetd) sane/repos/extra-i686/saned.service (from rev 197702, sane/trunk/saned.service) sane/repos/extra-i686/saned.socket (from rev 197702, sane/trunk/saned.socket) sane/repos/extra-i686/segfault-avahi-fix-kodakio.patch (from rev 197702, sane/trunk/segfault-avahi-fix-kodakio.patch) sane/repos/extra-x86_64/PKGBUILD (from rev 197702, sane/trunk/PKGBUILD) sane/repos/extra-x86_64/network.patch (from rev 197702, sane/trunk/network.patch) sane/repos/extra-x86_64/sane.xinetd (from rev 197702, sane/trunk/sane.xinetd) sane/repos/extra-x86_64/saned.service (from rev 197702, sane/trunk/saned.service) sane/repos/extra-x86_64/saned.socket (from rev 197702, sane/trunk/saned.socket) sane/repos/extra-x86_64/segfault-avahi-fix-kodakio.patch (from rev 197702, sane/trunk/segfault-avahi-fix-kodakio.patch) Deleted: sane/repos/extra-i686/PKGBUILD sane/repos/extra-i686/network.patch sane/repos/extra-i686/sane.xinetd sane/repos/extra-i686/saned.service sane/repos/extra-i686/saned.socket sane/repos/extra-x86_64/PKGBUILD sane/repos/extra-x86_64/network.patch sane/repos/extra-x86_64/sane.xinetd sane/repos/extra-x86_64/saned.service sane/repos/extra-x86_64/saned.socket -----------------------------------------------+ /PKGBUILD | 156 ++++++++++++++++++++++++ /network.patch | 84 ++++++++++++ /sane.xinetd | 22 +++ /saned.service | 16 ++ /saned.socket | 18 ++ extra-i686/PKGBUILD | 72 ----------- extra-i686/network.patch | 42 ------ extra-i686/sane.xinetd | 11 - extra-i686/saned.service | 8 - extra-i686/saned.socket | 9 - extra-i686/segfault-avahi-fix-kodakio.patch | 98 +++++++++++++++ extra-x86_64/PKGBUILD | 72 ----------- extra-x86_64/network.patch | 42 ------ extra-x86_64/sane.xinetd | 11 - extra-x86_64/saned.service | 8 - extra-x86_64/saned.socket | 9 - extra-x86_64/segfault-avahi-fix-kodakio.patch | 98 +++++++++++++++ 17 files changed, 492 insertions(+), 284 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-i686/PKGBUILD 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,72 +0,0 @@ -# $Id$ -# Maintainer: Tobias Powalowski <tp...@archlinux.org> -# Contributor: Sarah Hay <sarah...@mb.sympatico.ca> -# Contributor: Simo L. <neot...@yahoo.com> -# Contributor: eric <e...@archlinux.org> - -pkgname=sane -pkgver=1.0.24 -pkgrel=2 -pkgdesc="Scanner Access Now Easy" -url="http://www.sane-project.org/" -arch=('i686' 'x86_64') -license=('GPL') -depends=('libtiff>=4.0.0' 'libgphoto2' 'libjpeg>=8' 'libusbx' 'libcups' 'libieee1284' 'v4l-utils' 'avahi' 'bash' 'net-snmp') -makedepends=('texlive-latexextra') -backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,kodakaio.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,nec.conf,net.conf,p5.conf,pie.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane) -source=(ftp://ftp.archlinux.org/other/sane/$pkgname-backends-$pkgver.tar.gz - 'sane.xinetd' - 'saned.socket' - 'saned.service' - 'network.patch') -options=(!libtool) - -prepare() { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - # fix http://vasks.debian.org/tracker/?func=detail&atid=410366&aid=313760&group_id=30186 - patch -Np1 -i ${srcdir}/network.patch -} - -build() { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - - ./configure --prefix=/usr --sbindir=/usr/bin \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-docdir=/usr/share/doc/sane \ - --enable-avahi \ - --enable-pthread \ - --disable-rpath \ - --enable-libusb_1_0 \ - --disable-locking - make -} - -package () { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - make DESTDIR="${pkgdir}" install - # fix hp officejets - echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf" - # install udev files - install -D -m0644 tools/udev/libsane.rules \ - "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" - # fix udev rules - sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" - - # install xinetd file - install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane" - - # Install the pkg-config file - install -D -m644 tools/sane-backends.pc \ - "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc" - # install systemd files - install -D -m644 ${srcdir}/saned.socket \ - "${pkgdir}/usr/lib/systemd/system/saned.socket" - install -D -m644 ${srcdir}/saned.service \ - "${pkgdir}/usr/lib/systemd/system/saned@.service" -} -md5sums=('1ca68e536cd7c1852322822f5f6ac3a4' - 'bc2c8b4f7b3012c8936c7da21f60e2ac' - 'e57e9e15528f47f5f1b3f1411135ed5d' - '3f9fe36b0c4ff0b01b53b1cffa5d9700' - '44e77692c52db15b0f530a1d9a8e1296') Copied: sane/repos/extra-i686/PKGBUILD (from rev 197702, sane/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,78 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> +# Contributor: Sarah Hay <sarah...@mb.sympatico.ca> +# Contributor: Simo L. <neot...@yahoo.com> +# Contributor: eric <e...@archlinux.org> + +pkgname=sane +pkgver=1.0.24 +pkgrel=3 +pkgdesc="Scanner Access Now Easy" +url="http://www.sane-project.org/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libtiff>=4.0.0' 'libgphoto2' 'libjpeg>=8' 'libusbx' 'libcups' 'libieee1284' 'v4l-utils' 'avahi' 'bash' 'net-snmp') +makedepends=('texlive-latexextra') +backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,kodakaio.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,nec.conf,net.conf,p5.conf,pie.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane) +source=(ftp://ftp.archlinux.org/other/sane/$pkgname-backends-$pkgver.tar.gz + 'sane.xinetd' + 'saned.socket' + 'saned.service' + 'network.patch' + 'segfault-avahi-fix-kodakio.patch') +options=(!libtool) + +prepare() { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + # fix http://vasks.debian.org/tracker/?func=detail&atid=410366&aid=313760&group_id=30186 + patch -Np1 -i ${srcdir}/network.patch + # fix http://anonscm.debian.org/gitweb/?p=sane/sane-backends.git;a=commit;h=37523b867d411c2f82d08128246be7e38bc9812c + # #37525 + # https://alioth.debian.org/tracker/?group_id=30186&atid=410366&func=detail&aid=314301 + patch -Np1 -i ${srcdir}/segfault-avahi-fix-kodakio.patch +} + +build() { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + + ./configure --prefix=/usr --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-docdir=/usr/share/doc/sane \ + --enable-avahi \ + --enable-pthread \ + --disable-rpath \ + --enable-libusb_1_0 \ + --disable-locking + make +} + +package () { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + make DESTDIR="${pkgdir}" install + # fix hp officejets + echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf" + # install udev files + install -D -m0644 tools/udev/libsane.rules \ + "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" + # fix udev rules + sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" + + # install xinetd file + install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane" + + # Install the pkg-config file + install -D -m644 tools/sane-backends.pc \ + "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc" + # install systemd files + install -D -m644 ${srcdir}/saned.socket \ + "${pkgdir}/usr/lib/systemd/system/saned.socket" + install -D -m644 ${srcdir}/saned.service \ + "${pkgdir}/usr/lib/systemd/system/saned@.service" +} +md5sums=('1ca68e536cd7c1852322822f5f6ac3a4' + 'bc2c8b4f7b3012c8936c7da21f60e2ac' + 'e57e9e15528f47f5f1b3f1411135ed5d' + '3f9fe36b0c4ff0b01b53b1cffa5d9700' + '44e77692c52db15b0f530a1d9a8e1296' + '039524a38af8721f2e97d45e889295ca') Deleted: extra-i686/network.patch =================================================================== --- extra-i686/network.patch 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-i686/network.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -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 <unistd.h> - #include <stdlib.h> - #include <string.h> -+#include <time.h> - - #ifdef HAVE_WINSOCK2_H - #include <winsock2.h> -@@ -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; - } Copied: sane/repos/extra-i686/network.patch (from rev 197702, sane/trunk/network.patch) =================================================================== --- extra-i686/network.patch (rev 0) +++ extra-i686/network.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,42 @@ +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 <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <time.h> + + #ifdef HAVE_WINSOCK2_H + #include <winsock2.h> +@@ -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; + } Deleted: extra-i686/sane.xinetd =================================================================== --- extra-i686/sane.xinetd 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-i686/sane.xinetd 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,11 +0,0 @@ -service sane-port -{ - port = 6566 - socket_type = stream - wait = no - user = nobody - group = scanner - server = /usr/bin/saned - # disabled by default! - disable = yes - } Copied: sane/repos/extra-i686/sane.xinetd (from rev 197702, sane/trunk/sane.xinetd) =================================================================== --- extra-i686/sane.xinetd (rev 0) +++ extra-i686/sane.xinetd 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,11 @@ +service sane-port +{ + port = 6566 + socket_type = stream + wait = no + user = nobody + group = scanner + server = /usr/bin/saned + # disabled by default! + disable = yes + } Deleted: extra-i686/saned.service =================================================================== --- extra-i686/saned.service 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-i686/saned.service 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,8 +0,0 @@ -[Unit] -Description=Scanner Service - -[Service] -Group=scanner -ExecStart=/usr/bin/saned -StandardInput=socket -StandardError=syslog Copied: sane/repos/extra-i686/saned.service (from rev 197702, sane/trunk/saned.service) =================================================================== --- extra-i686/saned.service (rev 0) +++ extra-i686/saned.service 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,8 @@ +[Unit] +Description=Scanner Service + +[Service] +Group=scanner +ExecStart=/usr/bin/saned +StandardInput=socket +StandardError=syslog Deleted: extra-i686/saned.socket =================================================================== --- extra-i686/saned.socket 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-i686/saned.socket 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,9 +0,0 @@ -[Unit] -Description=saned incoming socket - -[Socket] -ListenStream=6566 -Accept=yes - -[Install] -WantedBy=sockets.target Copied: sane/repos/extra-i686/saned.socket (from rev 197702, sane/trunk/saned.socket) =================================================================== --- extra-i686/saned.socket (rev 0) +++ extra-i686/saned.socket 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,9 @@ +[Unit] +Description=saned incoming socket + +[Socket] +ListenStream=6566 +Accept=yes + +[Install] +WantedBy=sockets.target Copied: sane/repos/extra-i686/segfault-avahi-fix-kodakio.patch (from rev 197702, sane/trunk/segfault-avahi-fix-kodakio.patch) =================================================================== --- extra-i686/segfault-avahi-fix-kodakio.patch (rev 0) +++ extra-i686/segfault-avahi-fix-kodakio.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,98 @@ +From 37523b867d411c2f82d08128246be7e38bc9812c Mon Sep 17 00:00:00 2001 +From: Paul Newall <quan...@ntlworld.com> +Date: Mon, 14 Oct 2013 22:22:53 +0100 +Subject: [PATCH] Bugfix in kodakaio.c to fix segfault when non kodak scanners + return unexpected data via avahi auto discovery + +--- + backend/kodakaio.c | 43 ++++++++++++++++++++++++++++++---------- + doc/descriptions/kodakaio.desc | 2 +- + 3 files changed, 37 insertions(+), 12 deletions(-) + +diff --git a/backend/kodakaio.c b/backend/kodakaio.c +index 8c4583a..b442e50 100644 +--- a/backend/kodakaio.c ++++ b/backend/kodakaio.c +@@ -127,7 +127,7 @@ for ubuntu 12.10 + + #define KODAKAIO_VERSION 02 + #define KODAKAIO_REVISION 4 +-#define KODAKAIO_BUILD 6 ++#define KODAKAIO_BUILD 7 + + /* for usb (but also used for net though it's not required). */ + #define MAX_BLOCK_SIZE 32768 +@@ -2184,6 +2184,7 @@ static void resolve_callback( + AvahiLookupResultFlags flags, + AVAHI_GCC_UNUSED void* userdata) { + ++ AvahiStringList *vid_pair_list = NULL, *pid_pair_list = NULL; + char *pidkey, *pidvalue; + char *vidkey, *vidvalue; + size_t valuesize; +@@ -2204,20 +2205,40 @@ static void resolve_callback( + avahi_address_snprint(a, sizeof(a), address); + + /* Output short for Kodak ESP */ +- DBG(min(10,DBG_AUTO), "%s:%u %s ", a,port,host_name); +- avahi_string_list_get_pair(avahi_string_list_find(txt, "vid"), +- &vidkey, &vidvalue, &valuesize); +- DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); +- avahi_string_list_get_pair(avahi_string_list_find(txt, "pid"), +- &pidkey, &pidvalue, &valuesize); +- DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); ++ DBG(min(10,DBG_AUTO), "%s:%u %s\n", a,port,host_name); + ++ vid_pair_list = avahi_string_list_find(txt, "vid"); ++ if(vid_pair_list != NULL) { ++ avahi_string_list_get_pair(vid_pair_list, &vidkey, &vidvalue, &valuesize); ++ DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "failed to find key vid\n"); ++ ++ pid_pair_list = avahi_string_list_find(txt, "pid"); ++ if(pid_pair_list != NULL) { ++ avahi_string_list_get_pair(pid_pair_list, &pidkey, &pidvalue, &valuesize); ++ DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "failed to find key pid\n"); ++ ++ if(pid_pair_list != NULL && vid_pair_list != NULL) { + ProcessAvahiDevice(name, vidvalue, pidvalue, a); +- avahi_free(vidkey); avahi_free(vidvalue); +- avahi_free(pidkey); avahi_free(pidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n"); ++ ++ if(vid_pair_list != NULL) { ++ avahi_free(vidkey); ++ avahi_free(vidvalue); ++ DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n"); ++ } ++ if(pid_pair_list != NULL) { ++ avahi_free(pidkey); ++ avahi_free(pidvalue); ++ DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n"); ++ } + } + } +- ++ DBG(min(10,DBG_AUTO), "ending resolve_callback\n"); + avahi_service_resolver_free(r); + } + +diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc +index 7882513..5fb18ed 100644 +--- a/doc/descriptions/kodakaio.desc ++++ b/doc/descriptions/kodakaio.desc +@@ -1,6 +1,6 @@ + :backend "kodakaio" + :url "http://sourceforge.net/projects/cupsdriverkodak/" +-:version "2.4.6" ++:version "2.4.7" + :manpage "sane-kodakaio" + :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10" + :devicetype :scanner +-- +1.7.10.4 + Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-x86_64/PKGBUILD 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,72 +0,0 @@ -# $Id$ -# Maintainer: Tobias Powalowski <tp...@archlinux.org> -# Contributor: Sarah Hay <sarah...@mb.sympatico.ca> -# Contributor: Simo L. <neot...@yahoo.com> -# Contributor: eric <e...@archlinux.org> - -pkgname=sane -pkgver=1.0.24 -pkgrel=2 -pkgdesc="Scanner Access Now Easy" -url="http://www.sane-project.org/" -arch=('i686' 'x86_64') -license=('GPL') -depends=('libtiff>=4.0.0' 'libgphoto2' 'libjpeg>=8' 'libusbx' 'libcups' 'libieee1284' 'v4l-utils' 'avahi' 'bash' 'net-snmp') -makedepends=('texlive-latexextra') -backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,kodakaio.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,nec.conf,net.conf,p5.conf,pie.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane) -source=(ftp://ftp.archlinux.org/other/sane/$pkgname-backends-$pkgver.tar.gz - 'sane.xinetd' - 'saned.socket' - 'saned.service' - 'network.patch') -options=(!libtool) - -prepare() { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - # fix http://vasks.debian.org/tracker/?func=detail&atid=410366&aid=313760&group_id=30186 - patch -Np1 -i ${srcdir}/network.patch -} - -build() { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - - ./configure --prefix=/usr --sbindir=/usr/bin \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-docdir=/usr/share/doc/sane \ - --enable-avahi \ - --enable-pthread \ - --disable-rpath \ - --enable-libusb_1_0 \ - --disable-locking - make -} - -package () { - cd "${srcdir}/${pkgname}-backends-${pkgver}" - make DESTDIR="${pkgdir}" install - # fix hp officejets - echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf" - # install udev files - install -D -m0644 tools/udev/libsane.rules \ - "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" - # fix udev rules - sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" - - # install xinetd file - install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane" - - # Install the pkg-config file - install -D -m644 tools/sane-backends.pc \ - "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc" - # install systemd files - install -D -m644 ${srcdir}/saned.socket \ - "${pkgdir}/usr/lib/systemd/system/saned.socket" - install -D -m644 ${srcdir}/saned.service \ - "${pkgdir}/usr/lib/systemd/system/saned@.service" -} -md5sums=('1ca68e536cd7c1852322822f5f6ac3a4' - 'bc2c8b4f7b3012c8936c7da21f60e2ac' - 'e57e9e15528f47f5f1b3f1411135ed5d' - '3f9fe36b0c4ff0b01b53b1cffa5d9700' - '44e77692c52db15b0f530a1d9a8e1296') Copied: sane/repos/extra-x86_64/PKGBUILD (from rev 197702, sane/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,78 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> +# Contributor: Sarah Hay <sarah...@mb.sympatico.ca> +# Contributor: Simo L. <neot...@yahoo.com> +# Contributor: eric <e...@archlinux.org> + +pkgname=sane +pkgver=1.0.24 +pkgrel=3 +pkgdesc="Scanner Access Now Easy" +url="http://www.sane-project.org/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libtiff>=4.0.0' 'libgphoto2' 'libjpeg>=8' 'libusbx' 'libcups' 'libieee1284' 'v4l-utils' 'avahi' 'bash' 'net-snmp') +makedepends=('texlive-latexextra') +backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,kodakaio.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,nec.conf,net.conf,p5.conf,pie.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane) +source=(ftp://ftp.archlinux.org/other/sane/$pkgname-backends-$pkgver.tar.gz + 'sane.xinetd' + 'saned.socket' + 'saned.service' + 'network.patch' + 'segfault-avahi-fix-kodakio.patch') +options=(!libtool) + +prepare() { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + # fix http://vasks.debian.org/tracker/?func=detail&atid=410366&aid=313760&group_id=30186 + patch -Np1 -i ${srcdir}/network.patch + # fix http://anonscm.debian.org/gitweb/?p=sane/sane-backends.git;a=commit;h=37523b867d411c2f82d08128246be7e38bc9812c + # #37525 + # https://alioth.debian.org/tracker/?group_id=30186&atid=410366&func=detail&aid=314301 + patch -Np1 -i ${srcdir}/segfault-avahi-fix-kodakio.patch +} + +build() { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + + ./configure --prefix=/usr --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-docdir=/usr/share/doc/sane \ + --enable-avahi \ + --enable-pthread \ + --disable-rpath \ + --enable-libusb_1_0 \ + --disable-locking + make +} + +package () { + cd "${srcdir}/${pkgname}-backends-${pkgver}" + make DESTDIR="${pkgdir}" install + # fix hp officejets + echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf" + # install udev files + install -D -m0644 tools/udev/libsane.rules \ + "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" + # fix udev rules + sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules" + + # install xinetd file + install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane" + + # Install the pkg-config file + install -D -m644 tools/sane-backends.pc \ + "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc" + # install systemd files + install -D -m644 ${srcdir}/saned.socket \ + "${pkgdir}/usr/lib/systemd/system/saned.socket" + install -D -m644 ${srcdir}/saned.service \ + "${pkgdir}/usr/lib/systemd/system/saned@.service" +} +md5sums=('1ca68e536cd7c1852322822f5f6ac3a4' + 'bc2c8b4f7b3012c8936c7da21f60e2ac' + 'e57e9e15528f47f5f1b3f1411135ed5d' + '3f9fe36b0c4ff0b01b53b1cffa5d9700' + '44e77692c52db15b0f530a1d9a8e1296' + '039524a38af8721f2e97d45e889295ca') Deleted: extra-x86_64/network.patch =================================================================== --- extra-x86_64/network.patch 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-x86_64/network.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -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 <unistd.h> - #include <stdlib.h> - #include <string.h> -+#include <time.h> - - #ifdef HAVE_WINSOCK2_H - #include <winsock2.h> -@@ -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; - } Copied: sane/repos/extra-x86_64/network.patch (from rev 197702, sane/trunk/network.patch) =================================================================== --- extra-x86_64/network.patch (rev 0) +++ extra-x86_64/network.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,42 @@ +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 <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <time.h> + + #ifdef HAVE_WINSOCK2_H + #include <winsock2.h> +@@ -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; + } Deleted: extra-x86_64/sane.xinetd =================================================================== --- extra-x86_64/sane.xinetd 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-x86_64/sane.xinetd 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,11 +0,0 @@ -service sane-port -{ - port = 6566 - socket_type = stream - wait = no - user = nobody - group = scanner - server = /usr/bin/saned - # disabled by default! - disable = yes - } Copied: sane/repos/extra-x86_64/sane.xinetd (from rev 197702, sane/trunk/sane.xinetd) =================================================================== --- extra-x86_64/sane.xinetd (rev 0) +++ extra-x86_64/sane.xinetd 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,11 @@ +service sane-port +{ + port = 6566 + socket_type = stream + wait = no + user = nobody + group = scanner + server = /usr/bin/saned + # disabled by default! + disable = yes + } Deleted: extra-x86_64/saned.service =================================================================== --- extra-x86_64/saned.service 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-x86_64/saned.service 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,8 +0,0 @@ -[Unit] -Description=Scanner Service - -[Service] -Group=scanner -ExecStart=/usr/bin/saned -StandardInput=socket -StandardError=syslog Copied: sane/repos/extra-x86_64/saned.service (from rev 197702, sane/trunk/saned.service) =================================================================== --- extra-x86_64/saned.service (rev 0) +++ extra-x86_64/saned.service 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,8 @@ +[Unit] +Description=Scanner Service + +[Service] +Group=scanner +ExecStart=/usr/bin/saned +StandardInput=socket +StandardError=syslog Deleted: extra-x86_64/saned.socket =================================================================== --- extra-x86_64/saned.socket 2013-10-28 17:39:27 UTC (rev 197702) +++ extra-x86_64/saned.socket 2013-10-28 17:39:46 UTC (rev 197703) @@ -1,9 +0,0 @@ -[Unit] -Description=saned incoming socket - -[Socket] -ListenStream=6566 -Accept=yes - -[Install] -WantedBy=sockets.target Copied: sane/repos/extra-x86_64/saned.socket (from rev 197702, sane/trunk/saned.socket) =================================================================== --- extra-x86_64/saned.socket (rev 0) +++ extra-x86_64/saned.socket 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,9 @@ +[Unit] +Description=saned incoming socket + +[Socket] +ListenStream=6566 +Accept=yes + +[Install] +WantedBy=sockets.target Copied: sane/repos/extra-x86_64/segfault-avahi-fix-kodakio.patch (from rev 197702, sane/trunk/segfault-avahi-fix-kodakio.patch) =================================================================== --- extra-x86_64/segfault-avahi-fix-kodakio.patch (rev 0) +++ extra-x86_64/segfault-avahi-fix-kodakio.patch 2013-10-28 17:39:46 UTC (rev 197703) @@ -0,0 +1,98 @@ +From 37523b867d411c2f82d08128246be7e38bc9812c Mon Sep 17 00:00:00 2001 +From: Paul Newall <quan...@ntlworld.com> +Date: Mon, 14 Oct 2013 22:22:53 +0100 +Subject: [PATCH] Bugfix in kodakaio.c to fix segfault when non kodak scanners + return unexpected data via avahi auto discovery + +--- + backend/kodakaio.c | 43 ++++++++++++++++++++++++++++++---------- + doc/descriptions/kodakaio.desc | 2 +- + 3 files changed, 37 insertions(+), 12 deletions(-) + +diff --git a/backend/kodakaio.c b/backend/kodakaio.c +index 8c4583a..b442e50 100644 +--- a/backend/kodakaio.c ++++ b/backend/kodakaio.c +@@ -127,7 +127,7 @@ for ubuntu 12.10 + + #define KODAKAIO_VERSION 02 + #define KODAKAIO_REVISION 4 +-#define KODAKAIO_BUILD 6 ++#define KODAKAIO_BUILD 7 + + /* for usb (but also used for net though it's not required). */ + #define MAX_BLOCK_SIZE 32768 +@@ -2184,6 +2184,7 @@ static void resolve_callback( + AvahiLookupResultFlags flags, + AVAHI_GCC_UNUSED void* userdata) { + ++ AvahiStringList *vid_pair_list = NULL, *pid_pair_list = NULL; + char *pidkey, *pidvalue; + char *vidkey, *vidvalue; + size_t valuesize; +@@ -2204,20 +2205,40 @@ static void resolve_callback( + avahi_address_snprint(a, sizeof(a), address); + + /* Output short for Kodak ESP */ +- DBG(min(10,DBG_AUTO), "%s:%u %s ", a,port,host_name); +- avahi_string_list_get_pair(avahi_string_list_find(txt, "vid"), +- &vidkey, &vidvalue, &valuesize); +- DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); +- avahi_string_list_get_pair(avahi_string_list_find(txt, "pid"), +- &pidkey, &pidvalue, &valuesize); +- DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); ++ DBG(min(10,DBG_AUTO), "%s:%u %s\n", a,port,host_name); + ++ vid_pair_list = avahi_string_list_find(txt, "vid"); ++ if(vid_pair_list != NULL) { ++ avahi_string_list_get_pair(vid_pair_list, &vidkey, &vidvalue, &valuesize); ++ DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "failed to find key vid\n"); ++ ++ pid_pair_list = avahi_string_list_find(txt, "pid"); ++ if(pid_pair_list != NULL) { ++ avahi_string_list_get_pair(pid_pair_list, &pidkey, &pidvalue, &valuesize); ++ DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "failed to find key pid\n"); ++ ++ if(pid_pair_list != NULL && vid_pair_list != NULL) { + ProcessAvahiDevice(name, vidvalue, pidvalue, a); +- avahi_free(vidkey); avahi_free(vidvalue); +- avahi_free(pidkey); avahi_free(pidvalue); ++ } ++ else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n"); ++ ++ if(vid_pair_list != NULL) { ++ avahi_free(vidkey); ++ avahi_free(vidvalue); ++ DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n"); ++ } ++ if(pid_pair_list != NULL) { ++ avahi_free(pidkey); ++ avahi_free(pidvalue); ++ DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n"); ++ } + } + } +- ++ DBG(min(10,DBG_AUTO), "ending resolve_callback\n"); + avahi_service_resolver_free(r); + } + +diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc +index 7882513..5fb18ed 100644 +--- a/doc/descriptions/kodakaio.desc ++++ b/doc/descriptions/kodakaio.desc +@@ -1,6 +1,6 @@ + :backend "kodakaio" + :url "http://sourceforge.net/projects/cupsdriverkodak/" +-:version "2.4.6" ++:version "2.4.7" + :manpage "sane-kodakaio" + :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10" + :devicetype :scanner +-- +1.7.10.4 +