[Printing-architecture] Distribution-independent printer driver package -- first shot

Till Kamppeter till.kamppeter at gmail.com
Mon Feb 5 07:13:06 PST 2007


Hi,

here is my first try to build a distribution-independent printer driver
package:

http://www.linux-foundation.org/~till/tmp/splix-1.0.1-0.beta2.1lsb3.1.i486.rpm
http://www.linux-foundation.org/~till/tmp/splix-1.0.1-0.beta2.1lsb3.1.src.rpm
http://www.linux-foundation.org/~till/tmp/splix.spec

It installs and works on both Ubuntu Feisty and Fedora Core 6 (these two
I have tested, it should work on any modern distro fulfilling LSB 3.1).

Except the new directories for PPDs and printer drivers every modern 
distribution should already have everything needed. Proceed as follows 
for testing:

- On any Ubuntu or Debian "alien splix-1.0.1-0.beta2.1lsb3.1.i486.rpm"
- The "lsb" package, at least version 3.1 must be installed.
- The CUPS and ESP GhostScript packages of the your distro need to be
   installed (for other drivers also foomatic-filters will be needed).
- To get the new directory structure for printer drivers and PPDs as
   agreed on for LSB 3.2 on Ubuntu Feisty update the cupsys package to
   the newest version, on any other Ubuntu or Debian do

      mkdir -p /opt/share/ppd
      mkdir -p /usr/local/share/ppd
      ln -s /usr/local/share/ppd /usr/share/ppd/1-local-admin
      ln -s /opt/share/ppd /usr/share/ppd/2-third-party

   and on any other distribution do

      mkdir -p /usr/share/ppd (not needed in Ubuntu)
      mkdir -p /opt/share/ppd
      mkdir -p /usr/local/share/ppd
      ln -s /usr/local/share/ppd /usr/share/cups/model/1-local-admin
      ln -s /opt/share/ppd /usr/share/cups/model/2-third-party
      ln -s /usr/share/ppd /usr/share/cups/model/3-distribution
- Install the driver package
- Set up a print queue with cUPS.

I have built the package in the LSB Build Environment chroot. The filter
binary passes the lsbappchk test, but the package gives following output 
on lsbpkgchk:

-------------------------------------------------------------------------
till at lsbbuild:~/rpm/SPECS$ /opt/lsb/bin/lsbpkgchk 
../RPMS/i486/splix-1.0.1-0.beta2.1lsb3.1.i486.rpm
checkRpmIdxHEADERSIGNATURES() Not yet checking contents
checkRpmIdxHEADERSIGNATURES() offset ffffffb0
checkRpmIdxHEADERSIGNATURES() data at b7d6e0b4
checkRpmIdxSHA1() Not yet checking SHA1 contents
SIGTAG_MD5 calculated value doesn't match expected value
checkRpmIdxHEADERIMMUTABLE() Not yet checking contents
Post-install program not checked
Post-uninstall program not checked
checkRpmIdxPROVIDENAME() type=8 offset=1428 count=1 splix
Error: Didn't see expected dependency lsb=3.1
Provide Flag not checked: 8
Optflags not checked: -O2 -g -march=i486
Error: checkRpmIdx() unexpected Index tag=1140 type=4 offset=2114 count=46
Error: checkRpmIdx() unexpected Index tag=1141 type=4 offset=222c count=46
Error: checkRpmIdx() unexpected Index tag=1142 type=8 offset=2344 count=5
Error: checkRpmIdx() unexpected Index tag=1143 type=4 offset=2404 count=46
Error: checkRpmIdx() unexpected Index tag=1144 type=4 offset=251c count=46
Error: checkRpmIdx() unexpected Index tag=1146 type=7 offset=2634 count=10
Error: checkRpmIdx() unexpected Index tag=1177 type=4 offset=2644 count=46
Warning: checkRpmIdx() Deprecated Index RPMTAG_RHNPLATFORM found
checkRpmArchiveFilename: file opt/SpliX not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/bin not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/bin/rastertospl2 not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/AUTHORS not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/COPYING not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/ChangeLog not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/INSTALL not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/README not FHS compliant
checkRpmArchiveFilename: file opt/SpliX/doc/TODO not FHS compliant
checkRpmArchiveFilename: file opt/lib/printdriver/SpliX not FHS compliant
checkRpmArchiveFilename: file opt/lib/printdriver/SpliX/rastertospl2 not 
FHS compliant
checkRpmArchiveFilename: file opt/share/ppd/SpliX not FHS compliant
checkRpmArchiveFilename: file opt/share/ppd/SpliX/Samsung not FHS compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-300-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-300-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-300-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-300-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-500-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-500-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-500-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-500-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-510-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-510-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-510-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-510-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-600-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-600-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-600-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-CLP-600-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1510-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1510-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1510-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1510-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1520-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1520-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1520-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1520-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1610-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1610-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1610-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1610-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1710-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1710-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1710-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1710-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1740-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1740-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1740-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1740-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1750-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1750-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1750-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-1750-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2010-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2010-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2010-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2010-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2150-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2150-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2150-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2150-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2250-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2250-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2250-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2250-SpliX-it.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2550-SpliX-de.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2550-SpliX-en.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2550-SpliX-fr.ppd.gz not FHS 
compliant
checkRpmArchiveFilename: file 
opt/share/ppd/SpliX/Samsung/Samsung-ML-2550-SpliX-it.ppd.gz not FHS 
compliant
till at lsbbuild:~/rpm/SPECS$
-------------------------------------------------------------------------

Most of his output is caused by the fact that LSB 3.1 does not provide 
the new directories, but any help on getting rid of the other ones would 
be great.

    Till





More information about the Printing-architecture mailing list