work for sane-backends 1

This commit is contained in:
Ertuğrul Erata
2015-08-02 22:36:35 +03:00
parent 636428c722
commit 35c121d1b3
30 changed files with 1359 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
import os
def setup():
shelltools.export("AUTOPOINT", "true")
autotools.autoreconf("-fi")
autotools.configure("--with-rpmbuild=/bin/false \
--with-drivers=all \
--enable-nls \
--without-aalib \
--disable-rpath \
--disable-lockdev \
--disable-resmgr \
--disable-ttylock \
--disable-baudboy \
--disable-static")
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s \
udevscriptdir=/lib/udev" % get.installDIR())
HAL_FDI="usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi"
UDEV_RULES="lib/udev/rules.d/40-libgphoto2.rules"
CAM_LIST="usr/lib/libgphoto2/print-camera-list"
CAM_LIBS="usr/lib/libgphoto2/%s" % get.srcVERSION()
# Create hal directory
pisitools.dodir(shelltools.dirName(HAL_FDI))
# Export the necessary env variables
shelltools.export("CAMLIBS", "%s/%s" % (get.installDIR(), CAM_LIBS))
shelltools.export("LIBDIR", "%s/usr/lib/" % get.installDIR())
shelltools.export("LD_LIBRARY_PATH", "%s/usr/lib/" % get.installDIR())
# Generate HAL FDI file
f = open(os.path.join(get.installDIR(), HAL_FDI), "w")
f.write(os.popen("%s/%s hal-fdi" % (get.installDIR(), CAM_LIST)).read())
f.close()
# Generate UDEV rule which will replace the HAL FDI when HAL is deprecated
pisitools.dodir("/lib/udev/rules.d")
f = open(os.path.join(get.installDIR(), UDEV_RULES), "w")
f.write(os.popen("%s/%s udev-rules version 136" % (get.installDIR(), CAM_LIST)).read())
f.close()
pisitools.removeDir("/usr/share/doc/libgphoto2_port")
# Remove circular symlink
pisitools.remove("/usr/include/gphoto2/gphoto2")
pisitools.dodoc("ChangeLog", "NEWS*", "README", "AUTHORS", "TESTERS", "MAINTAINERS", "HACKING")
@@ -0,0 +1,9 @@
import os
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
stale_files = ["/usr/share/hal/fdi/information/10freedesktop/10-camera-libgphoto2-device.fdi",
"/etc/udev/rules.d/60-libgphoto2.rules"]
for f in stale_files:
if os.path.exists(f):
os.unlink(f)
@@ -0,0 +1,32 @@
From 242878ac1cefd1ef99c2e5d84a794f72e49e28be Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Fri, 23 Oct 2009 13:12:16 +0200
Subject: [PATCH] Repair reattach of kernel driver if it was unbound
Drah in the header for USBDEVFS_CONNECT.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
libgphoto2_port/usb/libusb.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/libgphoto2_port/usb/libusb.c b/libgphoto2_port/usb/libusb.c
index d1535a5..c8a63f1 100644
--- a/libgphoto2_port/usb/libusb.c
+++ b/libgphoto2_port/usb/libusb.c
@@ -38,6 +38,12 @@
#include <gphoto2/gphoto2-port-result.h>
#include <gphoto2/gphoto2-port-log.h>
+#if defined(LIBUSB_HAS_GET_DRIVER_NP) && defined(LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP)
+/* Pull in USBDEVFS_CONNECT */
+#include <sys/ioctl.h>
+#include <linux/usbdevice_fs.h>
+#endif
+
#ifdef ENABLE_NLS
# include <libintl.h>
# undef _
--
1.6.5.rc2
@@ -0,0 +1,14 @@
diff -up gphoto2-2.4.0/libgphoto2-2.4.0/libgphoto2_port/serial/unix.c.ixany gphoto2-2.4.0/libgphoto2-2.4.0/libgphoto2_port/serial/unix.c
--- libgphoto2-2.4.0/libgphoto2_port/serial/unix.c.ixany 2007-07-27 02:36:13.000000000 +0200
+++ libgphoto2-2.4.0/libgphoto2_port/serial/unix.c 2008-02-25 06:40:40.000000000 +0100
@@ -98,6 +98,10 @@
#define CHECK(result) {int r=(result); if (r<0) return (r);}
+#ifndef IXANY
+#define IXANY 0004000
+#endif
+
/* Linux */
#ifdef __linux__
/* devfs is accounted for in the implementation */
@@ -0,0 +1,74 @@
--- libgphoto2-2.4.1/gphoto2-config.in.pkgcfg 2007-07-27 02:36:23.000000000 +0200
+++ libgphoto2-2.4.1/gphoto2-config.in 2007-07-31 12:21:14.000000000 +0200
@@ -1,11 +1,5 @@
#! /bin/sh
-# leave these definitions here
-# they are required for correct interpolation of
-# @libdir@ and @includedir@ later on
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
-
usage()
{
cat <<EOF
@@ -13,7 +7,7 @@ Usage: gphoto2-config [OPTION]
Known values for OPTION are:
- --prefix=DIR change libgphoto2 prefix [default ${prefix}]
+ --prefix print libgphoto2 prefix
--libs print library linking information
--cflags print pre-processor and compiler flags
--help display this help and exit
@@ -55,11 +49,11 @@ while test $# -gt 0; do
;;
--cflags)
- echo "-I@includedir@/gphoto2"
+ pkg-config --cflags libgphoto2
;;
--libs)
- echo "-L@libdir@" -lgphoto2 -lgphoto2_port -lm
+ pkg-config --libs libgphoto2
;;
*)
--- libgphoto2-2.4.1/libgphoto2_port/gphoto2-port-config.in.pkgcfg 2007-07-27 02:36:16.000000000 +0200
+++ libgphoto2-2.4.1/libgphoto2_port/gphoto2-port-config.in 2007-07-31 12:21:14.000000000 +0200
@@ -1,11 +1,5 @@
#! /bin/sh
-# leave these definitions here
-# they are required for correct interpolation of
-# @libdir@ and @includedir@ later on
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
-
usage()
{
cat <<EOF
@@ -13,7 +7,7 @@ Usage: gphoto2-port-config [OPTION]
Known values for OPTION are:
- --prefix=DIR change libgphoto2-port prefix [default ${prefix}]
+ --prefix print libgphoto2-port prefix
--libs print library linking information
--cflags print pre-processor and compiler flags
--help display this help and exit
@@ -55,11 +49,11 @@ while test $# -gt 0; do
;;
--cflags)
- echo "-I@includedir@/gphoto2"
+ pkg-config --cflags libgphoto2_port
;;
--libs)
- echo "-L@libdir@" -lgphoto2_port
+ pkg-config --libs libgphoto2_port
;;
*)
+113
View File
@@ -0,0 +1,113 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>libgphoto2</Name>
<Homepage>http://www.gphoto.org/</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>library</IsA>
<Summary>Library that implements support for numerous digital cameras</Summary>
<Description>libgphoto2 is the core library designed to allow access to digital camera by external programs.</Description>
<Archive sha1sum="976feb07d51026e6ca647f9fa333c500c5e0c041" type="tarbz2">mirrors://sourceforge/gphoto/libgphoto2-2.5.8.tar.bz2</Archive>
<BuildDependencies>
<Dependency>doxygen</Dependency>
<Dependency>gd-devel</Dependency>
<Dependency>tiff-devel</Dependency>
<Dependency>fontconfig-devel</Dependency>
<Dependency>libjpeg-turbo-devel</Dependency>
<Dependency>libexif-devel</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>libgphoto2</Name>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>libxml2</Dependency>
<Dependency>libtool-ltdl</Dependency>
<Dependency>gd</Dependency>
<Dependency>tiff</Dependency>
<Dependency>libvpx</Dependency>
<Dependency>libexif</Dependency>
<Dependency>fontconfig</Dependency>
<Dependency>libjpeg-turbo</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="executable">/lib/udev</Path>
<Path fileType="doc">/usr/share/doc/libgphoto2/README</Path>
<Path fileType="doc">/usr/share/doc/libgphoto2/COPYING</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="data">/usr/share/libgphoto2</Path>
<Path fileType="data">/usr/share/hal/fdi</Path>
<Path fileType="data">/lib/udev/rules.d</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
</Package>
<Package>
<Name>libgphoto2-docs</Name>
<Summary>Documentation for libgphoto2</Summary>
<Files>
<Path fileType="doc">/usr/share/doc/libgphoto2</Path>
<Path fileType="doc">/usr/share/doc/libgphoto2/camlibs</Path>
<Path fileType="doc">/usr/share/doc/libgphoto2/apidocs.html</Path>
<Path fileType="doc">/usr/share/doc/libgphoto2/linux-hotplug</Path>
</Files>
</Package>
<Package>
<Name>libgphoto2-devel</Name>
<Summary>Development files for libgphoto2</Summary>
<RuntimeDependencies>
<Dependency>libexif-devel</Dependency>
<Dependency release="current">libgphoto2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin/gphoto2-config*</Path>
<Path fileType="executable">/usr/bin/gphoto2-port-config</Path>
<Path fileType="header">/usr/include/gphoto2</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="3">
<Date>2015-08-02</Date>
<Version>2.5.8</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2014-05-15</Date>
<Version>2.5.4</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2014-01-30</Date>
<Version>2.5.3.1</Version>
<Comment>Version bump.</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2012-11-16</Date>
<Version>2.5.0</Version>
<Comment>First release</Comment>
<Name>PisiLinux Community</Name>
<Email>namso-01qhotmail.it</Email>
</Update>
</History>
</PISI>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>libgphoto2</Name>
<Summary xml:lang="tr">Sayısal kamera ve müzik çalarlara erişim sağlayan kütüphane</Summary>
<Description xml:lang="tr">libgphoto2, harici uygulamalar tarafından sayısal kameralara ve müzik çalarlara erişim için kullanılan bir programlama kütüphanesidir.</Description>
<Description xml:lang="fr">Libgphoto2 est une librairie centrale conçue pour permettre aux programmes extérieurs d'accéder aux appareils photos numériques.</Description>
<Description xml:lang="es">Libgphoto2 es la librería núcleo (core) que permite a programas externos acceder a camaras digitales.</Description>
</Source>
<Package>
<Name>libgphoto2-docs</Name>
<Summary xml:lang="tr">libgphoto2 için detaylı belgelendirme</Summary>
</Package>
<Package>
<Name>libgphoto2-devel</Name>
<Summary xml:lang="tr">libgphoto2 için geliştirme dosyaları</Summary>
</Package>
</PISI>
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
def setup():
autotools.autoreconf("-fi")
autotools.configure("--disable-static")
def configure():
autotools.make()
def install():
autotools.install()
shelltools.system("chrpath --delete %s/usr/lib/python2.7/site-packages/ieee1284module.so" % get.installDIR())
pisitools.dodoc("AUTHORS", "NEWS", "TODO", "README", "doc/interface*")
@@ -0,0 +1,60 @@
diff -up libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing libieee1284-0.2.11/src/ieee1284module.c
--- libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing 2004-02-03 11:50:57.000000000 +0000
+++ libieee1284-0.2.11/src/ieee1284module.c 2010-06-23 12:36:05.093026807 +0100
@@ -28,6 +28,17 @@ typedef struct {
struct parport *port;
} ParportObject;
+static PyObject *
+Parport_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
+{
+ ParportObject *self;
+ self = (ParportObject *) type->tp_alloc (type, 0);
+ if (self != NULL)
+ self->port = NULL;
+
+ return (PyObject *) self;
+}
+
static int
Parport_init (ParportObject *self, PyObject *args, PyObject *kwds)
{
@@ -562,6 +573,23 @@ static PyTypeObject ParportType = {
0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT, /* tp_flags */
"parallel port object", /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ Parport_methods, /* tp_methods */
+ 0, /* tp_members */
+ Parport_getseters, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)Parport_init, /* tp_init */
+ 0, /* tp_alloc */
+ Parport_new, /* tp_new */
};
static PyObject *
@@ -625,14 +653,9 @@ initieee1284 (void)
PyObject *d = PyModule_GetDict (m);
PyObject *c;
- ParportType.tp_new = PyType_GenericNew;
- ParportType.tp_init = (initproc) Parport_init;
- ParportType.tp_getset = Parport_getseters;
- ParportType.tp_methods = Parport_methods;
if (PyType_Ready (&ParportType) < 0)
return;
- Py_INCREF (&ParportType);
PyModule_AddObject (m, "Parport", (PyObject *) &ParportType);
pyieee1284_error = PyErr_NewException("ieee1284.error", NULL, NULL);
+84
View File
@@ -0,0 +1,84 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>libieee1284</Name>
<Homepage>http://cyberelk.net/tim/libieee1284/</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>library</IsA>
<Summary>Library to query devices using IEEE1284</Summary>
<Description>Library is intended to be used by applications that need to communicate with (or at least identify) devices that are attached via a parallel port.</Description>
<Archive sha1sum="600e6f8a5c79b435ee81df3618cd82e2b74812de" type="tarbz2">mirrors://sourceforge/libieee1284/libieee1284-0.2.11.tar.bz2</Archive>
<Patches>
<Patch level="1">libieee1284-strict-aliasing.patch</Patch>
</Patches>
</Source>
<Package>
<Name>libieee1284</Name>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
</Package>
<Package>
<Name>python-libieee1284</Name>
<Summary>Python bindings for libieee1284</Summary>
<RuntimeDependencies>
<Dependency release="current">libieee1284</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/python*</Path>
</Files>
</Package>
<Package>
<Name>libieee1284-devel</Name>
<Summary>Development files for libieee1284</Summary>
<RuntimeDependencies>
<Dependency release="current">libieee1284</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="4">
<Date>2014-03-10</Date>
<Version>0.2.11</Version>
<Comment>Fix rpath</Comment>
<Name>Varol Maksutoğlu</Name>
<Email>waroi@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2014-03-09</Date>
<Version>0.2.11</Version>
<Comment>Rebuild.</Comment>
<Name>Kamil Atlı</Name>
<Email>suvarice@gmail.com</Email>
</Update>
<Update release="2">
<Date>2013-07-28</Date>
<Version>0.2.11</Version>
<Comment>Dep Fixed</Comment>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2010-10-13</Date>
<Version>0.2.11</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,20 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>libieee1284</Name>
<Summary xml:lang="tr">IEEE1284 kullanarak donanımların sorgulanması için bir kütüphane</Summary>
<Description xml:lang="tr">Paralel portlar aracılığı ile bağlanmış araçlarla iletişimi (en azından tanımlanmasını) gerçekleştiren uygulamalar için gerekli olan kütüphanedir.</Description>
<Description xml:lang="fr">Cette librairie est à destination des applications qui ont besoins de communiquer avec (ou au moins identifier) des périphériques liés au système par le port parallèle.</Description>
<Description xml:lang="es">La librería usado por aplicaciones que necesitan comunicarse con (,o al menos necesitan identificar) dispositivos conectados al puerto paralelo.</Description>
</Source>
<Package>
<Name>python-libieee1284</Name>
<Summary xml:lang="tr">libieee1284 için Python bağlayıcıları</Summary>
</Package>
<Package>
<Name>libieee1284-devel</Name>
<Summary xml:lang="tr">libieee1284 için geliştirme dosyaları</Summary>
</Package>
</PISI>
+3
View File
@@ -0,0 +1,3 @@
<PISI>
<Name>hardware.scanner</Name>
</PISI>
@@ -0,0 +1,50 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
def setup():
# Those are in gentoo ebuild too, but what are they for?
# I couldn't find in docs, some comment would be helpful here -gurer
shelltools.export("SANEI_JPEG", "sanei_jpeg.o")
shelltools.export("SANEI_JPEG_LO", "sanei_jpeg.lo")
autotools.autoreconf("-fi")
autotools.configure("--enable-ipv6 \
--enable-avahi \
--enable-libusb \
--disable-rpath \
--disable-locking \
--disable-latex \
--with-docdir=/usr/share/doc/%s \
--with-gphoto2" % get.srcNAME())
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
# Install udev rule
pisitools.insinto("/lib/udev/rules.d", "tools/udev/libsane.rules", "65-libsane.rules")
# Add epson epkowa and brother2 backends also
shelltools.echo("%s/etc/sane.d/dll.conf" % get.installDIR(),
"# Epson 'epkowa' backend\n" +
"# See http://www.sane-project.org/cgi-bin/driver.pl?manu=Epson&bus=any for supported scanners\n" +
"# In order to use this backend, you have to install iscan package\nepkowa")
shelltools.echo("%s/etc/sane.d/dll.conf" % get.installDIR(),
"\n# Brother backend\n" +
"# See http://en.pardus-wiki.org/Brother_scanner_support_for_DCP_and_MFC_models for installation\n" +
"brother\nbrother2\nbrother3")
shelltools.echo("%s/etc/sane.d/dll.conf" % get.installDIR(), "\n# Added for Xerox Phaser 3100 MFP\nXeroxPhaser3100\n")
@@ -0,0 +1 @@
SANE_CONFIG_DIR=/etc/sane.d
@@ -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;
}
@@ -0,0 +1,98 @@
From 37523b867d411c2f82d08128246be7e38bc9812c Mon Sep 17 00:00:00 2001
From: Paul Newall <quandry@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
@@ -0,0 +1,24 @@
--- backend/niash.c.orig 2006-02-04 12:34:28.000000000 +0100
+++ backend/niash.c 2007-02-21 15:38:12.000000000 +0100
@@ -89,7 +89,9 @@ typedef enum
optLamp,
optCalibrate,
- optGamma /* analog gamma = single number */
+ optGamma, /* analog gamma = single number */
+/* have optEndOfList only to define arrays with sufficient size */
+ optEndOfList
} EOptionIndex;
@@ -105,8 +107,8 @@ typedef union
typedef struct
{
- SANE_Option_Descriptor aOptions[optLast];
- TOptionValue aValues[optLast];
+ SANE_Option_Descriptor aOptions[optEndOfList];
+ TOptionValue aValues[optEndOfList];
TScanParams ScanParams;
THWParams HWParams;
@@ -0,0 +1,66 @@
commit 7987b0332e6b660ac7992176daeede40cab98390
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Jun 16 17:02:49 2009 +0200
patch: open-macro
Squashed commit of the following:
commit ab8fe801c4f82017988cb44cb79d82d286aa0de4
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Jun 9 17:57:45 2009 +0200
don't inadvertently use glibc open() macro
diff --git a/backend/mustek_pp.c b/backend/mustek_pp.c
index 8c3f06a..7e9d094 100644
--- a/backend/mustek_pp.c
+++ b/backend/mustek_pp.c
@@ -1152,7 +1152,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle)
}
- if ((status = dev->func->open (dev->port, dev->caps, &fd)) != SANE_STATUS_GOOD) {
+ if ((status = (dev->func->open) (dev->port, dev->caps, &fd)) != SANE_STATUS_GOOD) {
DBG (1, "sane_open: could not open device (%s)\n",
sane_strstatus (status));
diff --git a/backend/pixma_common.c b/backend/pixma_common.c
index 2bcb3c1..c5e1e96 100644
--- a/backend/pixma_common.c
+++ b/backend/pixma_common.c
@@ -511,7 +511,7 @@ pixma_open (unsigned devnr, pixma_t ** handle)
strncpy (s->id, pixma_get_device_id (devnr), sizeof (s->id) - 1);
s->ops = s->cfg->ops;
s->scanning = 0;
- error = s->ops->open (s);
+ error = (s->ops->open) (s);
if (error < 0)
goto rollback;
error = pixma_deactivate (s->io);
diff --git a/backend/plustek_pp.c b/backend/plustek_pp.c
index 13d1443..629e238 100644
--- a/backend/plustek_pp.c
+++ b/backend/plustek_pp.c
@@ -258,7 +258,7 @@ static int drvopen( Plustek_Device *dev )
DBG( _DBG_INFO, "drvopen()\n" );
- handle = dev->open((const char*)dev->name, (void *)dev );
+ handle = (dev->open)((const char*)dev->name, (void *)dev );
tsecs = 0;
diff --git a/sanei/sanei_scsi.c b/sanei/sanei_scsi.c
index 69d5859..a594aba 100644
--- a/sanei/sanei_scsi.c
+++ b/sanei/sanei_scsi.c
@@ -5328,7 +5328,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel,
(*plugInInterface)->Release (plugInInterface);
IOObjectRelease (scsiDevice);
- ioReturnValue = (*scsiDeviceInterface)->open (scsiDeviceInterface);
+ ioReturnValue = ((*scsiDeviceInterface)->open) (scsiDeviceInterface);
if (ioReturnValue != kIOReturnSuccess)
{
DBG (5, "Error opening SCSI interface (0x%08x)\n", ioReturnValue);
@@ -0,0 +1,47 @@
From 305535e303032814b65bf6d889a95f00f08a9071 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Wed, 5 May 2010 12:49:02 +0200
Subject: [PATCH] patch: epson-expression800
Squashed commit of the following:
commit 3b501d7499357438a1fbd63fefb2f977ae3051f5
Author: Nils Philippsen <nils@redhat.com>
Date: Wed May 5 12:14:23 2010 +0200
Improve Epson Expression 800
Epson Expression 800 models announce themselves as "processor", not
"scanner".
---
doc/descriptions/epson.desc | 1 +
doc/descriptions/epson2.desc | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/doc/descriptions/epson.desc b/doc/descriptions/epson.desc
index a22325c..55a0136 100644
--- a/doc/descriptions/epson.desc
+++ b/doc/descriptions/epson.desc
@@ -174,6 +174,7 @@
:model "Expression 800"
:interface "SCSI"
:status :complete
+:scsi "EPSON" "Expression800" "processor"
:model "Expression 1600"
:interface "SCSI USB IEEE-1394"
diff --git a/doc/descriptions/epson2.desc b/doc/descriptions/epson2.desc
index 9a14f4f..56cabcd 100644
--- a/doc/descriptions/epson2.desc
+++ b/doc/descriptions/epson2.desc
@@ -241,6 +241,7 @@
:model "Expression 800" ; command spec
:interface "SCSI"
:status :complete
+:scsi "EPSON" "Expression800" "processor"
:comment "overseas version of the GT-9600"
:model "Expression 836XL" ; command spec
--
1.6.6.1
@@ -0,0 +1,36 @@
From d0c61e7e9b13185f424dff1f4ac697ec53089d69 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Tue, 4 Sep 2012 16:45:14 +0200
Subject: [PATCH] patch: sane-config-multilib
Squashed commit of the following:
commit 81aa4f41bf102b08258c8e1de1c0476835329ec5
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Sep 4 16:43:34 2012 +0200
make installed sane-config multi-lib aware again
This partially reverts commit 77c4ea1a7aa680fb1c3ee4daa1404f21439b2c9b.
---
tools/sane-config.in | 4 ----
1 file changed, 4 deletions(-)
diff --git a/tools/sane-config.in b/tools/sane-config.in
index 8e4b52a..1fae2e5 100644
--- a/tools/sane-config.in
+++ b/tools/sane-config.in
@@ -10,10 +10,6 @@ scriptname="sane-config"
prefix="@prefix@"
exec_prefix="@exec_prefix@"
-# using our installed *.pc only - neither default nor user paths
-export PKG_CONFIG_LIBDIR="@libdir@/pkgconfig"
-export PKG_CONFIG_PATH=""
-
pkgconfig_package=sane-backends
usage ()
--
1.7.11.4
@@ -0,0 +1,49 @@
From 031cd8dd376ed6537afd06ca5aec5e67f5da0489 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Fri, 31 Aug 2012 16:14:49 +0200
Subject: [PATCH] patch: soname
Squashed commit of the following:
commit 2035ced803168210a70c4946814440764e5d0186
Author: Nils Philippsen <nils@redhat.com>
Date: Fri Aug 31 16:13:51 2012 +0200
don't use the same SONAME for backend libs and main lib
---
ltmain.sh | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/ltmain.sh b/ltmain.sh
index f3eb4c8..17d1508 100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -8101,25 +8101,6 @@ EOF
dlname=$soname
fi
- # Local change for sane-backends: internal name for every lib
- # is "libsane" not "libsane-backendname". So linking to each
- # backend is possible. Also the following test was moved to this
- # location.
- # If -module or -export-dynamic was specified, set the dlname
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- case $host in
- *mingw*)
- ;;
- *aix*)
- ;;
- *)
- soname=`echo $soname | sed -e "s/libsane-[A-Za-z_0-9]*/libsane/g"`
- esac
- # End of local change
-
lib="$output_objdir/$realname"
linknames=
for link
--
1.7.11.4
@@ -0,0 +1,64 @@
From c7f5126447ed5335a54d9333ac37f35c2189fbf4 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Mon, 10 Sep 2012 12:25:33 +0200
Subject: [PATCH] patch: udev
Squashed commit of the following:
commit 3d19b3eaf91fa8c3c2a78956f570d3e0f4c3f342
Author: Nils Philippsen <nils@redhat.com>
Date: Mon Sep 10 12:25:16 2012 +0200
adapt generated udev rules for Fedora
commit 7017c3ad1dadc27edd2c47ceec04f8648c839d53
Author: Nils Philippsen <nils@redhat.com>
Date: Mon Sep 10 12:20:43 2012 +0200
use group and mode macros consistently
---
tools/sane-desc.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/tools/sane-desc.c b/tools/sane-desc.c
index 7bbd012..5c5bbe9 100644
--- a/tools/sane-desc.c
+++ b/tools/sane-desc.c
@@ -56,9 +56,9 @@
#define COLOR_NEW "\"#F00000\""
#define COLOR_UNKNOWN "\"#000000\""
-#define DEVMODE "0664"
+#define DEVMODE "0644"
#define DEVOWNER "root"
-#define DEVGROUP "scanner"
+#define DEVGROUP "root"
#ifndef PATH_MAX
# define PATH_MAX 1024
@@ -3543,7 +3543,8 @@ print_udev (void)
}
printf("\n# The following rule will disable USB autosuspend for the device\n");
- printf("ENV{libsane_matched}==\"yes\", RUN+=\"/bin/sh -c 'if test -e /sys/$env{DEVPATH}/power/control; then echo on > /sys/$env{DEVPATH}/power/control; elif test -e /sys/$env{DEVPATH}/power/level; then echo on > /sys/$env{DEVPATH}/power/level; fi'\"\n");
+ printf("ENV{libsane_matched}==\"yes\", TEST==\"power/control\", ATTR{power/control}=\"on\"\n");
+ printf("ENV{libsane_matched}==\"yes\", TEST!=\"power/control\", TEST==\"power/level\", ATTR{power/level}=\"on\"\n");
printf ("\nLABEL=\"libsane_usb_rules_end\"\n\n");
@@ -3619,10 +3620,8 @@ print_udev (void)
}
printf ("LABEL=\"libsane_scsi_rules_end\"\n");
- if (mode == output_mode_udevacl)
- printf("\nENV{libsane_matched}==\"yes\", RUN+=\"/bin/setfacl -m g:%s:rw $env{DEVNAME}\"\n", DEVGROUP);
- else
- printf ("\nENV{libsane_matched}==\"yes\", MODE=\"664\", GROUP=\"scanner\"\n");
+ if (mode != output_mode_udevacl)
+ printf ("\nENV{libsane_matched}==\"yes\", MODE=\"%s\", GROUP=\"%s\"\n", DEVMODE, DEVGROUP);
printf ("\nLABEL=\"libsane_rules_end\"\n");
}
--
1.7.11.4
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,33 @@
--- a/backend/mustek_pp_ccd300.c.orig 2003-12-01 12:52:19.000000000 +0100
+++ b/backend/mustek_pp_ccd300.c 2009-07-29 16:29:54.000000000 +0200
@@ -940,10 +940,10 @@ get_color_line_101x (Mustek_pp_Handle *
wait_bank_change (dev, priv->bank_count, 1);
reset_bank_count (dev);
if (priv->ccd_line >= (priv->line_step >> SANE_FIXED_SCALE_SHIFT))
- priv->redline = ++priv->redline % priv->green_offs;
+ priv->redline = (priv->redline + 1) % priv->green_offs;
if (priv->ccd_line >=
priv->blue_offs + (priv->line_step >> SANE_FIXED_SCALE_SHIFT))
- priv->blueline = ++priv->blueline % priv->blue_offs;
+ priv->blueline = (priv->blueline + 1) % priv->blue_offs;
continue;
}
@@ -979,7 +979,7 @@ get_color_line_101x (Mustek_pp_Handle *
}
- priv->redline = ++priv->redline % priv->green_offs;
+ priv->redline = (priv->redline + 1) % priv->green_offs;
if (priv->ccd_line >= priv->green_offs && gogreen)
{
@@ -1013,7 +1013,7 @@ get_color_line_101x (Mustek_pp_Handle *
if (priv->ccd_line >=
priv->blue_offs + (priv->line_step >> SANE_FIXED_SCALE_SHIFT))
- priv->blueline = ++priv->blueline % priv->blue_offs;
+ priv->blueline = (priv->blueline + 1) % priv->blue_offs;
if (gogreen)
{
+129
View File
@@ -0,0 +1,129 @@
<?xml version="1.0"?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>sane-backends</Name>
<Homepage>http://www.sane-project.org</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<Icon>sane</Icon>
<IsA>app:console</IsA>
<IsA>library</IsA>
<Summary>Scanner access software</Summary>
<Description>Scanner Access Now Easy (SANE) is a universal scanner interface. The SANE application programming interface provides standardized access to any raster image scanner hardware.</Description>
<Archive sha1sum="c10bcb30a1b092b2c2fe5a86d6a5efc29123ccf9" type="targz">ftp://ftp.archlinux.org/other/sane/sane-backends-1.0.24.tar.gz</Archive>
<BuildDependencies>
<Dependency>libieee1284-devel</Dependency>
<Dependency>libgphoto2-devel</Dependency>
<Dependency>libv4l-devel</Dependency>
<Dependency>avahi-devel</Dependency>
<Dependency>libjpeg-turbo-devel</Dependency>
<Dependency>tiff-devel</Dependency>
<Dependency>net-snmp-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- fixes too small arrays in backend/niash.c -->
<Patch>fix-buffer-overflow.patch</Patch>
<Patch level="1">sane-backends-1.0.20-open-macro.patch</Patch>
<Patch level="1">sane-backends-1.0.23-sane-config-multilib.patch</Patch>
<Patch level="1">sane-backends-1.0.23-soname.patch</Patch>
<Patch level="1">sane-backends-1.0.21-epson-expression800.patch</Patch>
<Patch level="1">sane-backends-1.0.23-udev.patch</Patch>
<!-- Fix undefined 'foo = ++foo modulo bar' operations -->
<Patch level="1">suse/fix-mustek_pp_ccd300.c.patch</Patch>
<Patch level="1">archlinux/network.patch</Patch>
<Patch level="1">archlinux/segfault-avahi-fix-kodakio.patch</Patch>
</Patches>
</Source>
<Package>
<Name>sane-backends</Name>
<RuntimeDependencies>
<Dependency>libieee1284</Dependency>
<Dependency>avahi-libs</Dependency>
<Dependency>libgphoto2</Dependency>
<Dependency>libv4l</Dependency>
<Dependency>tiff</Dependency>
<Dependency>libjpeg-turbo</Dependency>
<Dependency>net-snmp</Dependency>
<Dependency>cups</Dependency>
<Dependency>libexif</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/etc/sane.d/dll.d</Path>
<Path fileType="data">/etc/env.d</Path>
<Path fileType="config">/etc/sane.d</Path>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="executable">/usr/sbin</Path>
<Path fileType="executable">/usr/libexec</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc/sane-backends/README</Path>
<Path fileType="doc">/usr/share/doc/sane-backends/COPYING</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="data">/usr/share/pixmaps</Path>
<Path fileType="data">/lib/udev/rules.d</Path>
<Path fileType="data">/usr/share/sane</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/sane.png">sane.png</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/etc/env.d/30sane">30sane</AdditionalFile>
</AdditionalFiles>
</Package>
<Package>
<Name>sane-backends-devel</Name>
<Summary>Development files for sane-backends</Summary>
<RuntimeDependencies>
<Dependency release="current">sane-backends</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<Package>
<Name>sane-backends-docs</Name>
<Summary>Documentation for SANE backends</Summary>
<Files>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<History>
<Update release="4">
<Date>2014-02-15</Date>
<Version>1.0.24</Version>
<Comment>Version bump.</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2013-12-21</Date>
<Version>1.0.23</Version>
<Comment>Move devel files fix to paths</Comment>
<Name>Burak Fazıl Ertürk</Name>
<Email>burakerturk@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2013-07-28</Date>
<Version>1.0.23</Version>
<Comment>Dep Fixed</Comment>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2012-10-25</Date>
<Version>1.0.23</Version>
<Comment>First release</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,18 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>sane-backends</Name>
<Summary xml:lang="tr">SANE (Scanner Access Now Easy) döküman ve resim tarayıcı sistemi araçları</Summary>
<Description xml:lang="tr">SANE ve uygulama programlama arayüzü (API) ile herhangi bir görüntü tarayıcı donanımına standartlaştırlmış erişim sağlar.</Description>
</Source>
<Package>
<Name>sane-backends-devel</Name>
<Summary xml:lang="tr">sane-backends için geliştirme dosyaları</Summary>
</Package>
<Package>
<Name>sane-backends-docs</Name>
<Summary xml:lang="tr">sane-backends için belgelendirme dosyaları</Summary>
</Package>
</PISI>