Integrate libsane and sane into Solaris [PSARC/2008/170 FastTrack timeout 03/11/2008]

Brian Cameron Brian.Cameron at sun.com
Tue Mar 4 09:28:43 PST 2008


Note that Sane and libsane was previously ARC'ed via LSARC

   http://sac.eng.sun.com/arc/LSARC/2007/018/

This case was derailed due to some concerns that Gary Winiger had.
Therefore, I am not sure that this case will be non-controversial
or appropriate for FastTrack.  At any rate, effort should be made
to make sure that the issues that were raised in the previous ARC
case are addressed.

Brian


> I am sponsoring this fast-track for Raymond Chen.
> Requested release binding is minor, and the timer is set to
> 03/11/2008.
> 
> Regards,
> T.Paul Lee
> 
> 
> Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 Integrate libsane and sane into Solaris
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Raymond Chen
>     1.3  Date of This Document:
> 	04 March, 2008
> 4. Technical Description
> Summary
> 	This project integrates libsane and sane into Solaris.
> 	This project requests a minor binding.
> 	
> 4.1 Details
> 	
> 	SANE is an application programming interface (API) that provides
> 	standardized access to any raster image scanner hardware. The
> 	standardized interface  makes  it possible to write just one
> 	driver for each scanner device instead of one driver for each
> 	scanner and application.
> 	
> 	SANE is clearly separated into applications(frontends) and scanner
> 	drivers(backends). A SANE backend provides an interface with the
> 	hardware and describes a number of options which drive each scanner.
> 	sane, in this proposal, refers to applications that
> 	are delivered by SANE community, http://www.sane-project.org/.
> 
> 	"sane-backends" package of FOSS project SANE contains backends,
> 	documentation, networking support and the command line frontend
> 	"scanimage".
> 
> 	In this project, the following components will be ported and
> 	integrated into Solaris:
> 
> 	    1)sane-backends
> 	    	sane-backends contain drivers for popular scanners on the
> 		market. This project proposes to only support local USB
> 		scanners.
> 		As an effort to enrich desktop applications for Indiana,
> 		SANE network feature is not considered essential and hence
> 		out of scope for this project. A future case may support
> 		this functionality.
> 
> 	    2)libsane
> 	    	Standard SANE APIs are provided by libsane. Different
> 		frontends are developed on the base of such set of API.
> 
> 	    3)sane documentation
> 	    	User manuals.
> 
> 	    4)scanimage
> 	    	scanimage is a command-line interface to control image
> 		acquisition devices. It is one of the SANE frontends.
> 
> 	    5)xscanimage
> 	    	xscanimage provides a graphical user interface to control
> 		an image acquisition device such as scanner. It allows
> 		previewing and scanning individual images.
> 	
> 	SANE depends on the scanner's device special file for access control.
> 	For USB interface scanners, by default only users on console or
> 	superuser have permission to access the devnode, which is controlled
> 	by logindevperm(4). It is also possible to restrict access to a
> 	scanner using Solaris device allocation subsystem. Sysadmin can enable
> 	BSM and put scanner device special file (exported by ugen(7D)) in
> 	device_map and device_allocate(4), so that the scanner is allocatable
> 	and then can be used by only one qualified user at a time.
> 
>  
> 4.2 Interface description
> 
>     All interfaces in sane.h and saneopts.h are exported as Volatile.
> 
>     Exported interfaces
>     -------------------
>     SUNWsane			Uncommitted	SANE frontends
>     SUNWsane-backends		Uncommitted	SANE backends --
>     						library and drivers
>     /usr/include/sane/sane.h	Volatile	SANE API header file
>     /usr/include/sane/saneopts.h	Volatile SANE options header file
>     /usr/lib/libsane.so.1.0.19	Volatile	SANE library
>     /usr/lib/sane/*		Volatile	SANE backends
>     /etc/sane.d/dll.conf	Volatile	Contain backend names
>     /etc/sane.d/*.conf		Volatile	Each backend has a .conf
> 
>     /usr/bin/scanimage		Volatile	SANE CLI frontend
>     /usr/bin/xscanimage		Volatile	SANE GUI frontend
>     /usr/bin/sane-config	Volatile	Utility to get information
>     						about installed libsane
>     /usr/bin/sane-find-scanner	Volatile	Utility to find scanners
> 
>     /usr/share/man/man1/scanimage.1	Volatile	manual
>     /usr/share/man/man1/xscanimage.1	Volatile	manual
>     /usr/share/man/man1/sane-find-scanner.1	Volatile	manual
>     /usr/share/man/man1/sane-config.1	Volatile	manual
>     /usr/share/man/man7/sane.7	Volatile	manual
>     /usr/share/man/man5/sane-*.5	Volatile	Sane backends manual
> 
>     --------------- SANE C API ----------------------------------------
>     sane_init		Volatile	Initialize the backend
>     sane_exit		Volatile	Terminate use of a backend
>     sane_get_devices	Volatile	Query the list of devices
>     sane_open		Volatile	Establish association with a
>     					particular device
>     sane_close		Volatile	Terminates the above association 
>     sane_get_option_descriptor	Volatile	Access option descriptors
>     sane_control_option	Volatile	Set/query the current value of
>     					option number 
>     sane_get_parameters	Volatile	Obtain the current scan parameters
>     sane_start		Volatile	Initiates acquisition of an image
>     sane_read		Volatile	Read image data from the device
>     sane_cancel		Volatile	Cancel the pending operation
>     sane_set_io_mode	Volatile	Set the I/O mode
>     sane_get_select_fd	Volatile	Obtain file-descriptor from handle
>     sane_strstatus	Volatile	Translate SANE status code into
>     					printable string 
> 
>     Imported Interfaces
>     --------------------
>     libusb		Volatile	User-space USB device management
>     					library
>     libjpeg		Uncommitted	JPEG image compression and
>     					decompression
>     libtiff		Uncommitted     Reading and writing TIFF files
>     GTK+		Volatile        GNOME Desktop Library  
>     GDK			Volatile        GNOME Desktop Library
> 
> 
> 5. References
> 	[1] http://www.sane-project.org/
> 	[2] LSARC/2006/734 GNOME 2.16
> 	[3] LSARC 2003/085 libtiff, libjpeg and libpng.
> 	[4] PSARC 2003/721 libusb: user level usb library
> 	[5] LSARC 2007/018 Sane-backends and Xsane
> 
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		sfw
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
> 
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc at opensolaris.org




More information about the opensolaris-arc mailing list