diff options
author | Stefan Schweizer <genstef@gentoo.org> | 2005-09-27 12:37:14 +0000 |
---|---|---|
committer | Stefan Schweizer <genstef@gentoo.org> | 2005-09-27 12:37:14 +0000 |
commit | 1b10cf5dd428d955a92369423809f98f47262079 (patch) | |
tree | bb155b78b6889c13e347dc69e64004fc52e798b3 /net-print | |
parent | Add sparc keyword (Security Bug #106996); concerns expressed in the bug's (diff) | |
download | gentoo-2-1b10cf5dd428d955a92369423809f98f47262079.tar.gz gentoo-2-1b10cf5dd428d955a92369423809f98f47262079.tar.bz2 gentoo-2-1b10cf5dd428d955a92369423809f98f47262079.zip |
New ebuild including an udev-Run-rule and hplj 1020 Support thanks to Czirkos Zoltan <cirix@fw.hu> for testing, bug 106502
(Portage version: 2.0.52-r1)
Diffstat (limited to 'net-print')
-rw-r--r-- | net-print/foo2zjs/ChangeLog | 10 | ||||
-rw-r--r-- | net-print/foo2zjs/files/digest-foo2zjs-20050925 | 5 | ||||
-rw-r--r-- | net-print/foo2zjs/files/foo2zjs-Makefile-20050925.diff | 119 | ||||
-rw-r--r-- | net-print/foo2zjs/files/foo2zjs-udevfwld-20050925.diff | 265 | ||||
-rw-r--r-- | net-print/foo2zjs/foo2zjs-20050925.ebuild | 74 |
5 files changed, 472 insertions, 1 deletions
diff --git a/net-print/foo2zjs/ChangeLog b/net-print/foo2zjs/ChangeLog index 9206e0661504..173ea2ee3280 100644 --- a/net-print/foo2zjs/ChangeLog +++ b/net-print/foo2zjs/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-print/foo2zjs # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-print/foo2zjs/ChangeLog,v 1.5 2005/09/17 00:19:34 ciaranm Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/foo2zjs/ChangeLog,v 1.6 2005/09/27 12:37:14 genstef Exp $ + +*foo2zjs-20050925 (27 Sep 2005) + + 27 Sep 2005; Stefan Schweizer <genstef@gentoo.org> + +files/foo2zjs-Makefile-20050925.diff, + +files/foo2zjs-udevfwld-20050925.diff, +foo2zjs-20050925.ebuild: + New ebuild including an udev-Run-rule and hplj 1020 Support thanks to + Czirkos Zoltan <cirix@fw.hu> for testing, bug 106502 17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: Converted to UTF-8, fixed encoding screwups diff --git a/net-print/foo2zjs/files/digest-foo2zjs-20050925 b/net-print/foo2zjs/files/digest-foo2zjs-20050925 new file mode 100644 index 000000000000..ed4f556a48c8 --- /dev/null +++ b/net-print/foo2zjs/files/digest-foo2zjs-20050925 @@ -0,0 +1,5 @@ +MD5 d680f447a416c5f9041f27c0a1df57a0 m23dlicc.exe 170496 +MD5 3b78a08aa968b4c1ed591947721d3e47 m22dlicc.exe 634368 +MD5 cae0d20d3c1d57cd3953d9b335014294 cpplxp.exe 4799488 +MD5 36ca0680a7b22c9b5cd1f8b34ab48cd8 foo2zjs-20050319.tar.gz 972297 +MD5 7242e44d7c863ffe7aae98639868209b foo2zjs-hplj1020-20050426.diff.bz2 124846 diff --git a/net-print/foo2zjs/files/foo2zjs-Makefile-20050925.diff b/net-print/foo2zjs/files/foo2zjs-Makefile-20050925.diff new file mode 100644 index 000000000000..81eafe050fb7 --- /dev/null +++ b/net-print/foo2zjs/files/foo2zjs-Makefile-20050925.diff @@ -0,0 +1,119 @@ +diff -Nuarp foo2zjs.orig/Makefile foo2zjs/Makefile +--- foo2zjs.orig/Makefile 2005-09-25 11:44:11.000000000 +0200 ++++ foo2zjs/Makefile 2005-09-25 12:13:55.000000000 +0200 +@@ -6,8 +6,8 @@ EUID := $(shell id -u) + VERSION=0.0 + + # Installation prefix... +-PREFIX=/usr/local +-PREFIX=/usr ++PREFIX=$(DESTDIR)/usr/local ++PREFIX=$(DESTDIR)/usr + + # Pathnames for this package... + BIN=$(PREFIX)/bin +@@ -17,7 +17,7 @@ MANDIR=$(PREFIX)/share/man + DOCDIR=$(PREFIX)/share/doc/foo2zjs/ + + # Pathnames for referenced packages... +-FOODB=/usr/share/foomatic/db/source ++FOODB=$(PREFIX)/share/foomatic/db/source + + # User ID's + LPuid=-olp +@@ -115,9 +115,6 @@ ifeq ($(UNAME),Linux) + endif + endif + +-# Compiler flags +-CFLAGS += -O2 -Wall +- + # + # Rules to create test documents + # +@@ -212,6 +209,7 @@ install: all install-prog install-icc2ps + # On Suse 9.0, run "yast" + + install-prog: ++ [ -d $(BIN) ] || install -d -m 755 $(BIN)/ + # + # Install driver, wrapper, and development tools + # +@@ -239,6 +237,7 @@ install-foo: + # + @if [ -d $(FOODB) ]; then \ + for dir in driver printer opt; do \ ++ [ -d $(FOODB)/$$dir/ ] || install -d -m 755 $(FOODB)/$$dir/; \ + echo install -m 644 foomatic-db/$$dir/*.xml $(FOODB)/$$dir/; \ + install -c -m 644 foomatic-db/$$dir/*.xml $(FOODB)/$$dir/; \ + done \ +@@ -256,9 +255,9 @@ install-foo: + # + # Clear foomatic cache and rebuild database if needed + # +- rm -rf /var/cache/foomatic/*/* +- if [ -d /var/cache/foomatic/compiled ]; then \ +- cd /var/cache/foomatic/compiled; \ ++ rm -rf $(DESTDIR)/var/cache/foomatic/*/* ++ if [ -d $(DESTDIR)/var/cache/foomatic/compiled ]; then \ ++ cd $(DESTDIR)/var/cache/foomatic/compiled; \ + foomatic-combo-xml -O >overview.xml; \ + fi + +@@ -306,15 +305,13 @@ install-extra: + # foo2oak ICM files (if any) + install $(LPuid) $(LPgid) -m 775 -d $(SHAREOAK)/icm/ + +-USBDIR=/etc/hotplug/usb ++USBDIR=$(DESTDIR)/etc/hotplug/usb + install-hotplug: + [ -d $(USBDIR) ] || install -d -m 755 $(USBDIR)/ + install -c -m 755 hplj1000 $(USBDIR)/ + ln -sf $(USBDIR)/hplj1000 $(USBDIR)/hplj1005 + ln -sf $(USBDIR)/hplj1000 $(USBDIR)/hplj1020 +- $(USBDIR)/hplj1000 install-usermap +- $(USBDIR)/hplj1005 install-usermap +- $(USBDIR)/hplj1020 install-usermap ++ install -c -m 755 hplj.usermap $(USBDIR)/ + + clean: + -rm -f foo2zjs zjsdecode +@@ -466,7 +463,7 @@ xxx.zm: FRC + ppd: + ./getweb ppd + +-MODEL=/usr/share/cups/model ++MODEL=$(PREFIX)/share/cups/model + install-ppd: + # + # Install PPD files for CUPS +@@ -523,7 +520,6 @@ install-doc: doc + install -c -m 644 README $(DOCDIR) + install -c -m 644 ChangeLog $(DOCDIR) + +-GROFF=/usr/local/test/bin/groff + GROFF=groff + manual.pdf: $(MANPAGES) + -$(GROFF) -t -man $(MANPAGES) | ps2pdf - $@ +diff -Nuarp foo2zjs.orig/hplj.usermap foo2zjs/hplj.usermap +--- foo2zjs.orig/hplj.usermap 1970-01-01 01:00:00.000000000 +0100 ++++ foo2zjs/hplj.usermap 2005-09-25 12:13:45.000000000 +0200 +@@ -0,0 +1,3 @@ ++hplj1000 0x0003 0x03f0 0x0517 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 ++hplj1005 0x0003 0x03f0 0x1317 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 ++hplj1020 0x0003 0x03f0 0x2B17 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 +diff -Nuarp foo2zjs.orig/icc2ps/Makefile foo2zjs/icc2ps/Makefile +--- foo2zjs.orig/icc2ps/Makefile 2003-08-08 03:38:13.000000000 +0200 ++++ foo2zjs/icc2ps/Makefile 2005-09-25 12:05:47.000000000 +0200 +@@ -1,10 +1,9 @@ +-PREFIX= /usr ++PREFIX= $(DESTDIR)/usr + BIN= $(PREFIX)/bin + SRC= icc2ps.c xgetopt.c + LIB= cmscam97.c cmscnvrt.c cmserr.c cmsgamma.c cmsgmt.c cmsintrp.c cmsio1.c \ + cmslut.c cmsmatsh.c cmsmtrx.c cmsnamed.c cmspack.c cmspcs.c cmsps2.c \ + cmssamp.c cmswtpnt.c cmsxform.c +-CFLAGS= -O3 + + all: foo2zjs-icc2ps + diff --git a/net-print/foo2zjs/files/foo2zjs-udevfwld-20050925.diff b/net-print/foo2zjs/files/foo2zjs-udevfwld-20050925.diff new file mode 100644 index 000000000000..836f17b68000 --- /dev/null +++ b/net-print/foo2zjs/files/foo2zjs-udevfwld-20050925.diff @@ -0,0 +1,265 @@ +diff -Nuarp foo2zjs.orig/58-foo2zjs.rules foo2zjs/58-foo2zjs.rules +--- foo2zjs.orig/58-foo2zjs.rules 1970-01-01 01:00:00.000000000 +0100 ++++ foo2zjs/58-foo2zjs.rules 2005-09-25 12:56:11.000000000 +0200 +@@ -0,0 +1,3 @@ ++BUS=="usb", KERNEL=="lp[0-9]*", SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0517", RUN+="/sbin/foo2zjs-loadfw 1000" ++BUS=="usb", KERNEL=="lp[0-9]*", SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1317", RUN+="/sbin/foo2zjs-loadfw 1005" ++BUS=="usb", KERNEL=="lp[0-9]*", SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2B17", RUN+="/sbin/foo2zjs-loadfw 1020" +diff -Nuarp foo2zjs.orig/INSTALL foo2zjs/INSTALL +--- foo2zjs.orig/INSTALL 2005-09-25 12:16:59.000000000 +0200 ++++ foo2zjs/INSTALL 2005-09-25 12:53:05.000000000 +0200 +@@ -86,15 +86,23 @@ HP LASERJET 1000/1005 NOTES + + # make install-hotplug + ++ On Linux with USB connected printer and udev: ++ If you are running Linux and the printer is connected via USB, you ++ can arrange for the firmware to be automatically downloaded to the ++ printer by performing one more installation step: ++ ++ # make install-udev ++ This udev-loading is more reliable than the hotplug-loading ++ + On another OS or with a parallel port connected printer: + + You must send a firmware file to the printer each time you power it + up. If you downloaded the extra files for the HP above, a typical + command line to load the firmware would be: + +- cat /usr/share/foo2zjs/firmware/sihp1000.dl > /dev/usb/lp0 ++ cat /lib/firmware/sihp1000.dl > /dev/lp0 + or: +- cat /usr/share/foo2zjs/firmware/sihp1005.dl > /dev/usb/lp0 ++ cat /lib/firmware/sihp1005.dl > /dev/lp0 + + NOTE: The original HP files are named '*.img'. Sometimes HP supplies + these files ready-to-download to the printer, sometimes they are raw +diff -Nuarp foo2zjs.orig/INSTALL.in foo2zjs/INSTALL.in +--- foo2zjs.orig/INSTALL.in 2005-09-25 12:16:59.000000000 +0200 ++++ foo2zjs/INSTALL.in 2005-09-25 12:52:50.000000000 +0200 +@@ -86,15 +86,23 @@ HP LASERJET 1000/1005 NOTES + + # make install-hotplug + ++ On Linux with USB connected printer and udev: ++ If you are running Linux and the printer is connected via USB, you ++ can arrange for the firmware to be automatically downloaded to the ++ printer by performing one more installation step: ++ ++ # make install-udev ++ This udev-loading is more reliable than the hotplug-loading ++ + On another OS or with a parallel port connected printer: + + You must send a firmware file to the printer each time you power it + up. If you downloaded the extra files for the HP above, a typical + command line to load the firmware would be: + +- cat /usr/share/foo2zjs/firmware/sihp1000.dl > /dev/usb/lp0 ++ cat /lib/firmware/sihp1000.dl > /dev/lp0 + or: +- cat /usr/share/foo2zjs/firmware/sihp1005.dl > /dev/usb/lp0 ++ cat /lib/firmware/sihp1005.dl > /dev/lp0 + + NOTE: The original HP files are named '*.img'. Sometimes HP supplies + these files ready-to-download to the printer, sometimes they are raw +diff -Nuarp foo2zjs.orig/Makefile foo2zjs/Makefile +--- foo2zjs.orig/Makefile 2005-09-25 12:16:59.000000000 +0200 ++++ foo2zjs/Makefile 2005-09-25 13:39:35.000000000 +0200 +@@ -9,6 +9,10 @@ VERSION=0.0 + PREFIX=$(DESTDIR)/usr/local + PREFIX=$(DESTDIR)/usr + ++# USB_PRINTERID is also installed there because it is needed by the FWloader ++FWLOADERDIR=$(DESTDIR)/sbin ++FIRMWAREDIR=$(DESTDIR)/lib/firmware ++ + # Pathnames for this package... + BIN=$(PREFIX)/bin + SHAREZJS=$(PREFIX)/share/foo2zjs +@@ -214,6 +218,13 @@ install-prog: + # Install driver, wrapper, and development tools + # + install -c $(PROGS) $(SHELLS) $(BIN)/ ++ ++ [ -d $(FWLOADERDIR) ] || install -d -m 755 $(FWLOADERDIR)/ ++ # ++ # We need usb_printerid before /usr is mounted. ++ # ++ [ -x $(BIN)/usb_printerid ] && mv $(BIN)/usb_printerid $(FWLOADERDIR)/usb_printerid ++ + # + # Install gamma correction files. These are just templates, + # and don't actually do anything right now. If anybody wants +@@ -293,15 +304,15 @@ install-extra: + fi; \ + done + # foo2zjs Firmware files (if any) +- install $(LPuid) $(LPgid) -m 775 -d $(SHAREZJS)/firmware/ ++ install $(LPuid) $(LPgid) -m 775 -d $(FIRMWAREDIR)/ + for i in sihp*.img; do \ + if [ -f $$i ]; then \ + base=`basename $$i .img`; \ + ./arm2hpdl $$i >$$base.dl; \ +- install -c -m 644 $$base.dl $(SHAREZJS)/firmware/; \ ++ install -c -m 644 $$base.dl $(FIRMWAREDIR)/; \ + fi; \ + done +- install -c -m 644 hp1020.img $(SHAREZJS)/firmware/sihp1020.dl ++ install -c -m 644 hp1020.img $(FIRMWAREDIR)/sihp1020.dl + # foo2oak ICM files (if any) + install $(LPuid) $(LPgid) -m 775 -d $(SHAREOAK)/icm/ + +@@ -313,6 +324,13 @@ install-hotplug: + ln -sf $(USBDIR)/hplj1000 $(USBDIR)/hplj1020 + install -c -m 755 hplj.usermap $(USBDIR)/ + ++UDEVDIR=$(DESTDIR)/etc/udev/rules.d ++install-udev: ++ [ -d $(FWLOADERDIR) ] || install -d -m 755 $(FWLOADERDIR) ++ install -c -m 755 foo2zjs-loadfw $(FWLOADERDIR) ++ [ -d $(UDEVDIR) ] || install -d -m 755 $(UDEVDIR)/ ++ install -c -m 755 58-foo2zjs.rules $(UDEVDIR) ++ + clean: + -rm -f foo2zjs zjsdecode + -rm -f *.zc *.zm +diff -Nuarp foo2zjs.orig/foo2zjs-loadfw foo2zjs/foo2zjs-loadfw +--- foo2zjs.orig/foo2zjs-loadfw 1970-01-01 01:00:00.000000000 +0100 ++++ foo2zjs/foo2zjs-loadfw 2005-09-25 12:57:45.000000000 +0200 +@@ -0,0 +1,117 @@ ++#!/bin/sh ++ ++# foo2zjs-loadfw: ++# ++# Hotplug script for HP1000/1005/1020 USB laser printers. The model number ++# that this script deals with is determined from the udev env. ++# ++# Used to download firmware automatically into the printer when it ++# is powered up or plugged into the USB port. ++# ++# The inspiration fo this script is from: ++# Oscar Santacreu. Alicante-Spain (2002) ++# Mike Morgan (2004) ++# Modified by Stefan Schweizer (2005) to work as a udev-RUN-script ++ ++# ++# Directory to find downloadable HP firmware files sihpMMMM.dl ++# ++FWDIR=/lib/firmware ++ ++# ++# Program used to determine USB id information ++# ++USBID=/sbin/usb_printerid ++ ++# ++# Figure out how to log our messages ++# ++if [ -t 1 ]; then ++ # Running from a tty... ++ log() { ++ echo "$0: $@" ++ } ++elif [ -x /usr/bin/logger ]; then ++ # Have logger... ++ log() { ++ logger -t "$0" -- "$@" ++ } ++else ++ # No logger... ++ log() { ++ echo "$0: $@" >> /var/log/messages ++ } ++fi ++ ++# ++# Figure out the model number from the name of this script ++# ++case "$1" in ++1000) ++ MODEL=1000 ++ MODELNAME="hp LaserJet $MODEL" ++ ;; ++1005) ++ MODEL=1005 ++ MODELNAME="hp LaserJet $MODEL" ++ ;; ++1020) ++ MODEL=1020 ++ MODELNAME="HP LaserJet $MODEL" ++ ;; ++*) ++ log "Only HP LaserJet 1000, 1005 and 1020 are supported" ++ log "You need to supply one of these on the cmdline: $0 10**" ++ exit ++ ;; ++esac ++ ++if [ -z "$DEVNAME" ]; then ++ if [ -n "$2" ]; then ++ DEVNAME=$2 ++ else ++ log "You need to either have $DEVNAME set in the environment or supply it on the cmdline, like:" ++ log "$0 10** /dev/usb/lp0" ++ exit 1 ++ fi ++fi ++ ++# ++# Procedure to load a single device with firmware ++# ++load1() { ++ fw="$FWDIR/sihp$MODEL.dl" ++ if [ ! -f "$fw" ]; then ++ log "Missing HP LaserJet $MODEL firmware file $fw" ++ log "...read foo2zjs installation instructions and run ./getweb $MODEL" ++ return 1 ++ fi ++ ++ log "loading HP LaserJet $MODEL firmware $fw to $DEVNAME ..." ++ if cat $fw > $DEVNAME; then ++ log "... download successful." ++ else ++ log "... download failed." ++ fi ++ return 0 ++} ++ ++# ++# OK, now download firmware to any printers that need it ++# ++if [ -x $USBID ]; then ++ if $USBID $DEVNAME | grep "$MODELNAME" 2> /dev/null; then ++ # This is a LaserJet 100x ++ if $USBID $DEVNAME | grep 'FWVER' 2> /dev/null; then ++ log "HP LaserJet $MODEL firmware already loaded into $DEVNAME" ++ else ++ # Firmware is not yet loaded ++ load1 "$DEVNAME" ++ fi ++ else ++ log "No supported printer found." ++ fi ++else ++ log "HP LaserJet $MODEL firmware was not downloaded..." ++ log "...couldn't find $USBID" ++fi +diff -Nuarp foo2zjs.orig/hplj1000 foo2zjs/hplj1000 +--- foo2zjs.orig/hplj1000 2005-09-25 12:16:59.000000000 +0200 ++++ foo2zjs/hplj1000 2005-09-25 12:47:29.000000000 +0200 +@@ -30,12 +30,12 @@ DEV="" + # + # Directory to find downloadable HP firmware files sihpMMMM.dl + # +-FWDIR=/usr/share/foo2zjs/firmware ++FWDIR=/lib/firmware + + # + # Program used to determine USB id information + # +-USBID=/usr/bin/usb_printerid ++USBID=/sbin/usb_printerid + + # + # Figure out how to log our messages diff --git a/net-print/foo2zjs/foo2zjs-20050925.ebuild b/net-print/foo2zjs/foo2zjs-20050925.ebuild new file mode 100644 index 000000000000..139934ccf424 --- /dev/null +++ b/net-print/foo2zjs/foo2zjs-20050925.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/foo2zjs/foo2zjs-20050925.ebuild,v 1.1 2005/09/27 12:37:14 genstef Exp $ + +inherit eutils flag-o-matic + +DESCRIPTION="Support for printing to ZjStream-based printers" +HOMEPAGE="http://foo2zjs.rkkda.com/" +SRC_URI="ftp://ftp.minolta-qms.com/pub/crc/out_going/win/m23dlicc.exe + ftp://ftp.minolta-qms.com/pub/crc/out_going/win2000/m22dlicc.exe + ftp://ftp.minolta-qms.com/pub/crc/out_going/windows/cpplxp.exe + http://dev.gentoo.org/~genstef/files/foo2zjs-20050319.tar.gz + http://dev.gentoo.org/~genstef/files/foo2zjs-hplj1020-20050426.diff.bz2" +RESTRICT="nomirror" +LICENSE="GPL-2" +SLOT="0" +IUSE="cups foomaticdb usb" +DEPEND="app-arch/unzip + dev-lang/perl" +RDEPEND="cups? ( net-print/cups ) + foomaticdb? ( net-print/foomatic ) + usb? ( || ( sys-fs/udev sys-apps/hotplug ) )" +KEYWORDS="~x86 ~amd64" +S=${WORKDIR}/${PN} + +src_unpack() { + unpack foo2zjs-20050319.tar.gz foo2zjs-hplj1020-20050426.diff.bz2 + + # link getweb files in ${S} to get unpacked + for i in m23dlicc.exe m22dlicc.exe cpplxp.exe + do + ln -s ${DISTDIR}/${i} ${S} + done + + cd ${S} + + epatch ${WORKDIR}/foo2zjs-hplj1020-20050426.diff + epatch ${FILESDIR}/foo2zjs-Makefile-20050925.diff + epatch ${FILESDIR}/foo2zjs-udevfwld-20050925.diff + + # Why are these present in the tarball? + rm arm2hpdl foo2oak +} + +src_compile() { + emake getweb || die "Failed building getweb script" + + # remove wget as we got the firmware with portage + sed -si "s/.*wget.*//" getweb + sed -si "s/error \"Couldn't dow.*//" getweb + # unpack files + ./getweb all + + emake || die "emake failed" +} + +src_install() { + use foomaticdb && dodir /usr/share/foomatic/db/source + + use cups && dodir /usr/share/cups/model + + make DESTDIR=${D} install \ + || die "make install failed" + + if use usb; then + if [ -x ${ROOT}/sbin/udevsend ]; then + make DESTDIR=${D} install-udev \ + || die "make install-udev failed" + else + make DESTDIR=${D} install-hotplug \ + || die "make install-hotplug failed" + fi + fi +} |