[sane-devel] proposal for inclusion of 'niash' backend

Henning Meier-Geinitz henning@meier-geinitz.de
Mon, 22 Dec 2003 16:23:10 +0100


On Sun, Dec 21, 2003 at 11:55:30PM +0100, Bertrik Sikken wrote:
> The sources are currently licensed under GPL.

Could you change this to GPL + SANE exception? That's what the other
backends use so it easier for us. If that's not possible for some
reason, GPL only should also be ok (other opinions?).

> Project page is at:
> https://sourceforge.net/projects/hp3300backend/
> Sources can be found at:
> http://prdownloads.sourceforge.net/hp3300backend/backend-20031221_1.tar.gz?download

At least the CZ mirror didn't have that file. I had to be very quick
to change the mirror setting before that FTP server responded with its
error message :-)

> Can the sane maintainers have a look at it and see what's
> needed to have this included into sane?

* niash.desc should go into doc/descriptions/ (not backend/)
* don't add your backend to backend/Makefile.in but to configure.in
* niash.conf: it's commented out, but anyway: nowerdays
  /dev/usb/scanner* seems to be prefered over /dev/usbscanner* on Linux.
* Compilation doesn't work. First error:
  niash_xfer.c:26: error: parse error before '/' token
  Please don't use "//" comments.
  Test you code with the CVS version of sane-backends. You should see
  the errors and warnings there. At least  if you use gcc.
* Check the syntax of you .desc file. It's outdated (missing/wrong
  status & version). When you put it in the right place, make will
  complain (or at least warn) about the issues.
* manpage: have a look at the other manpages for the headers (package
  name etc.).  
* niash.c (probably other files):
  #include "sane/sane.h"
  #include "sane/config.h"
  Please alway include config.h first.
* c files: run "indent -gnu" over all these files so our coding styles
  don't diverge more then they already do
* check your backend with frontend/tstbackend.c. It ususally finds
  quite some bugs.
* With the CVS version, try ./configure --enable-static ; make ; make libcheck  
  make libcheck
  Libraries exporting 'illegal' symbols:
  *** backend/.libs/libsane-niash.a:
  00000590 T CalcGamma
  000019e0 T CircBufferExit
  00001610 T CircBufferGetLine
  00001720 T CircBufferInit
  00000040 T DumpHex
  000022d0 T FinishScan
  00001d70 T GetLamp
  000010b0 T InitScan
  00002300 T MatchUsbDevice
  00000500 T NiashClose
  00000370 T NiashOpen
  00002880 T NiashReadBulk
  000026c0 T NiashReadReg
  00002980 T NiashWakeup
  00002770 T NiashWriteBulk
  00002600 T NiashWriteReg
  00002540 T NiashXferClose
  000023f0 T NiashXferInit
  00002490 T NiashXferOpen
  00001a50 T ScanLines
  000000a0 D ScannerModels
  00001db0 T SetLamp
  00001e20 T SimpleCalib
  00001e50 T SimpleCalibExt
  00000104 D usb_devfile
  000006c0 T WriteGammaCalibTable
  All of them should be most probably static.  
* Don't forget to update AUTHORS and doc/sane.man.

I haven't read all of the code obviously and can't really test because
I don't own one of the supported scanners.

Good work!   

You should get an account on alioth so you can change your backend in
CVS: http://www.sane-project.org/cvs.html

If you don't like to make the initial commit yourself, I or another
developer can do it.