aboutsummaryrefslogtreecommitdiff
path: root/print/hplip3
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2006-05-05 08:35:30 +0000
committerPav Lucistnik <pav@FreeBSD.org>2006-05-05 08:35:30 +0000
commit90cd7e494b898b37f552addf952a4ebe5926c62b (patch)
treeff9ac5019a3e4ea132b20a070134401b4de2ccd6 /print/hplip3
parent8554f1fe2d9f577954133c1d113a62efd2288327 (diff)
downloadports-90cd7e494b898b37f552addf952a4ebe5926c62b.tar.gz
ports-90cd7e494b898b37f552addf952a4ebe5926c62b.zip
Notes
Diffstat (limited to 'print/hplip3')
-rw-r--r--print/hplip3/Makefile88
-rw-r--r--print/hplip3/distinfo3
-rw-r--r--print/hplip3/files/hpiod.sh.in32
-rw-r--r--print/hplip3/files/hpssd.sh.in35
-rw-r--r--print/hplip3/files/patch-Makefile.in79
-rw-r--r--print/hplip3/files/patch-configure34
-rw-r--r--print/hplip3/files/patch-io_hpiod24
-rw-r--r--print/hplip3/files/patch-io_hpiod_device.cpp276
-rw-r--r--print/hplip3/files/patch-io_hpiod_device.h12
-rw-r--r--print/hplip3/files/patch-prnt_hpijs_hpijsfax.cpp13
-rw-r--r--print/hplip3/pkg-descr8
-rw-r--r--print/hplip3/pkg-install41
-rw-r--r--print/hplip3/pkg-message15
-rw-r--r--print/hplip3/pkg-plist887
14 files changed, 1547 insertions, 0 deletions
diff --git a/print/hplip3/Makefile b/print/hplip3/Makefile
new file mode 100644
index 000000000000..ce838c155cef
--- /dev/null
+++ b/print/hplip3/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: hplip
+# Date created: 1 April 2006
+# Whom: amistry@am-productions.biz
+#
+# $FreeBSD$
+#
+
+PORTNAME= hplip
+PORTVERSION= 0.9.10
+CATEGORIES= print
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= hplip
+
+MAINTAINER= amistry@am-productions.biz
+COMMENT= Drivers and utilities for HP Printers and All-in-One devices
+
+LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
+ sane.1:${PORTSDIR}/graphics/sane-backends \
+ cups.2:${PORTSDIR}/print/cups-base \
+ usb:${PORTSDIR}/devel/libusb \
+ netsnmp.9:${PORTSDIR}/net-mgmt/net-snmp
+RUN_DEPENDS= pylupdate:${PORTSDIR}/x11-toolkits/py-qt
+
+CONFLITS= hpijs-* foomatic-filters-*
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-dependency-tracking \
+ --disable-pp-build
+INSTALLS_SHLIB= yes
+USE_GHOSTSCRIPT_RUN= yes
+USE_PYTHON= yes
+USE_RC_SUBR= hpiod.sh hpssd.sh
+
+CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+
+MAKE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+
+PKGDEINSTALL= ${PKGINSTALL}
+
+post-extract:
+ @${RM} -r ${WRKSRC}/data/images/CVS
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local/share/cups|${LOCALBASE}/share/cups|g ; \
+ s|/usr/lib/cups/filter|${LOCALBASE}/libexec/cups/filter|g' \
+ ${WRKSRC}/configure ${WRKSRC}/prnt/hpijs/configure
+ @${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|g ; \
+ s|/usr/lib|${LOCALBASE}/lib|g ; \
+ s|/etc/init.d|${LOCALBASE}/etc/rc.d|g ; \
+ s|/etc/sane.d|${LOCALBASE}/etc/sane.d|g ; \
+ s|/etc/hp|${LOCALBASE}/etc/hp|g' \
+ ${WRKSRC}/Makefile.in \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|/etc/hp/|${LOCALBASE}/etc/hp/|g ; \
+ s|/usr/lib/cups/filter|${LOCALBASE}/libexec/cups/filter|g' \
+ ${WRKSRC}/base/g.py \
+ ${WRKSRC}/fax/backend/hpfax.py \
+ ${WRKSRC}/hplip_readme.html \
+ ${WRKSRC}/hpssd.py \
+ ${WRKSRC}/io/hpiod/hpiod.h \
+ ${WRKSRC}/prnt/hpijs/hplip_api.h \
+ ${WRKSRC}/prnt/hpijs/configure.in
+ @${REINPLACE_CMD} -e 's|#!/usr/bin/env python|#!${LOCALBASE}/bin/python|g' \
+ ${WRKSRC}/*.py \
+ ${WRKSRC}/*/*.py \
+ ${WRKSRC}/*/*/*.py
+.if defined(NOPORTDOCS)
+ @${REINPLACE_CMD} -e 's|install-data-am: install-docDATA|install-data-am:|g' \
+ ${WRKSRC}/prnt/hpijs/Makefile.in
+ @${REINPLACE_CMD} -e 's|install-dist_xmlDATA install-docDATA|install-dist_xmlDATA|g' \
+ ${WRKSRC}/Makefile.in
+.endif
+
+pre-su-install:
+ @${MKDIR} ${PREFIX}/share/applications
+
+post-install:
+.if !defined(PACKAGE_BUILDING)
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.endif
+ @${LN} -sf ${PREFIX}/share/hplip/hpssd.py ${PREFIX}/sbin/hpssd
+ @${LN} -sf ${PREFIX}/bin/foomatic-rip \
+ ${PREFIX}/libexec/cups/filter/foomatic-rip
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/print/hplip3/distinfo b/print/hplip3/distinfo
new file mode 100644
index 000000000000..1a692b8fb02a
--- /dev/null
+++ b/print/hplip3/distinfo
@@ -0,0 +1,3 @@
+MD5 (hplip-0.9.10.tar.gz) = 349489b10fb44d1bf105b04ff5352551
+SHA256 (hplip-0.9.10.tar.gz) = a6a6247b396aba173d0cd7b2aadffc5467d0f82d5aa037503222b98b8d5fe8b1
+SIZE (hplip-0.9.10.tar.gz) = 9296866
diff --git a/print/hplip3/files/hpiod.sh.in b/print/hplip3/files/hpiod.sh.in
new file mode 100644
index 000000000000..8e2bee4637e9
--- /dev/null
+++ b/print/hplip3/files/hpiod.sh.in
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# PROVIDE: hpiod
+# REQUIRE: NETWORKING
+# KEYWORD: FreeBSD shutdown
+
+[ -z "${hpiod_enable}" ] && hpiod_enable="NO"
+
+. /etc/rc.subr
+
+prefix=%%PREFIX%%
+
+name=hpiod
+pidfile="/var/run/${name}.pid"
+portfile="/var/run/${name}.port"
+hpiod_user=hplip
+command="${prefix}/sbin/${name}"
+start_precmd="hpiod_prestart"
+
+rcvar=`set_rcvar`
+
+load_rc_config $name
+
+hpiod_prestart()
+{
+ touch ${pidfile}
+ touch ${portfile}
+ chown ${hpiod_user} ${pidfile}
+ chown ${hpiod_user} ${portfile}
+}
+
+run_rc_command $*
diff --git a/print/hplip3/files/hpssd.sh.in b/print/hplip3/files/hpssd.sh.in
new file mode 100644
index 000000000000..4e7dc15f11b0
--- /dev/null
+++ b/print/hplip3/files/hpssd.sh.in
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# PROVIDE: hpssd
+# REQUIRE: hpiod
+# BEFORE: cupsd
+# KEYWORD: FreeBSD shutdown
+
+[ -z "${hpssd_enable}" ] && hpssd_enable="NO"
+
+. /etc/rc.subr
+
+prefix=%%PREFIX%%
+
+name=hpssd
+pidfile="/var/run/${name}.pid"
+portfile="/var/run/${name}.port"
+hpssd_user=nobody
+command="${prefix}/sbin/${name}"
+command_interpreter="$prefix/bin/python"
+command_args=">/dev/null"
+start_precmd="hpssd_prestart"
+
+rcvar=`set_rcvar`
+
+load_rc_config $name
+
+hpssd_prestart()
+{
+ touch ${pidfile}
+ touch ${portfile}
+ chown ${hpssd_user} ${pidfile}
+ chown ${hpssd_user} ${portfile}
+}
+
+run_rc_command $*
diff --git a/print/hplip3/files/patch-Makefile.in b/print/hplip3/files/patch-Makefile.in
new file mode 100644
index 000000000000..b96eda6ffb3e
--- /dev/null
+++ b/print/hplip3/files/patch-Makefile.in
@@ -0,0 +1,79 @@
+--- Makefile.in.orig Thu Mar 23 22:35:33 2006
++++ Makefile.in Mon Apr 24 09:15:54 2006
+@@ -1973,15 +1973,9 @@
+ #
+ # Do full install if not rpm_install.
+ if [ "$(rpm_install)" = "no" ]; then \
+- ln -sf ../$(SOLONG) $(DESTDIR)$(sanedir)/$(SONOVER); \
+- ln -sf ../$(SOLONG) $(DESTDIR)$(sanedir)/$(SOSHORT); \
+- ln -sf ../$(SOLONG) $(DESTDIR)$(sanedir)/$(SOLONG); \
+- if [ -f $(DESTDIR)/etc/sane.d/dll.conf ]; then \
+- if ! grep ^hpaio $(DESTDIR)/etc/sane.d/dll.conf >/dev/null 2>/dev/null ; then \
+- echo "Adding hpaio entry to /etc/sane.d/dll.conf." ; \
+- echo hpaio >>$(DESTDIR)/etc/sane.d/dll.conf ; \
+- fi \
+- fi \
++ ln -sf $(prefix)/lib/$(SOSHORT) $(DESTDIR)$(sanedir)/$(SONOVER); \
++ ln -sf $(prefix)/lib/$(SOSHORT) $(DESTDIR)$(sanedir)/$(SOSHORT); \
++ ln -sf $(prefix)/lib/$(SOSHORT) $(DESTDIR)$(sanedir)/$(SOLONG); \
+ fi
+
+ install-data-hook: test-destdir
+@@ -2039,30 +2033,31 @@
+ newname=$${i%.*}; \
+ mv $(DESTDIR)$(hplipdir)/$$i $(DESTDIR)$(hplipdir)/$$newname; \
+ if [ "$(rpm_install)" = "no" ]; then \
+- ln -sf ../share/$(PACKAGE)/$$newname $(DESTDIR)$(bindir)/hp-$$newname; \
++ ln -sf $(prefix)/share/$(PACKAGE)/$$newname $(DESTDIR)$(bindir)/hp-$$newname; \
+ fi \
+ done
+ #
+ # Edit hpiod.conf in destdir.
+ echo -e "\n[$(PACKAGE)]\nversion=$(VERSION)\njdprobe=0\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf
+ echo -e "[dirs]\nhome=$(hplipdir)\nrun=$(rundir)\nppd=$(hpppddir)\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf
+- echo -ne "# Following values are determined at configure time and cannot be changed.\n[configure]\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf
++ echo "# Following values are determined at configure time and cannot be changed." >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf
++ echo "[configure]" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf
+ if [ "$(rpm_install)" = "yes" ]; then \
+- echo -ne "rpm-install=1\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "rpm-install=1" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ else \
+- echo -ne "rpm-install=0\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "rpm-install=0" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ fi
+ if [ "$(network_build)" = "yes" ]; then \
+- echo -ne "network-build=1\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "network-build=1" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ else \
+- echo -ne "network-build=0\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "network-build=0" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ fi
+ if [ "$(pp_build)" = "yes" ]; then \
+- echo -ne "pp-build=1\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "pp-build=1" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ else \
+- echo -ne "pp-build=0\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
++ echo "pp-build=0" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf; \
+ fi
+- echo -ne "internal-tag=$(PACKAGE_BUGREPORT)\n" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf;
++ echo "internal-tag=$(PACKAGE_BUGREPORT)" >> $(DESTDIR)$(hplipdir)/$(PACKAGE).conf;
+
+ #
+ # Edit hpiod.sh in destdir.
+@@ -2074,16 +2069,6 @@
+ if [ "$(rpm_install)" = "no" ]; then \
+ $(mkinstalldirs) $(DESTDIR)/etc/hp; \
+ $(INSTALL_DATA) $(DESTDIR)$(hplipdir)/$(PACKAGE).conf $(DESTDIR)/etc/hp; \
+- if [ -d $(DESTDIR)/etc/init.d ]; then \
+- $(INSTALL_SCRIPT) $(DESTDIR)$(hplipdir)/$(PACKAGE) $(DESTDIR)/etc/init.d; \
+- if [ "$(DESTDIR)" = "" ]; then \
+- if [ "$(INSTALLINITD)" != "" ]; then \
+- $(INSTALLINITD) $(PACKAGE); \
+- else \
+- $(CHKCONFIG) $(PACKAGE) reset; \
+- fi \
+- fi \
+- fi \
+ fi
+ #
+ # For internal testing.
diff --git a/print/hplip3/files/patch-configure b/print/hplip3/files/patch-configure
new file mode 100644
index 000000000000..22f040c1d5c1
--- /dev/null
+++ b/print/hplip3/files/patch-configure
@@ -0,0 +1,34 @@
+--- configure.bak Fri May 5 10:01:57 2006
++++ configure Fri May 5 10:03:39 2006
+@@ -22100,29 +22100,9 @@
+ echo "$as_me:$LINENO: result: \"using $CUPS_BACKEND_PATH\"" >&5
+ echo "${ECHO_T}\"using $CUPS_BACKEND_PATH\"" >&6
+
+-ICONSEARCHPATH="/usr/lib/menu /usr/share/applications"
+-ICON="hplip hplip.desktop"
++ICON_PATH="/usr/share/applications"
++ICON_FILE="hplip.desktop"
+
+-echo "$as_me:$LINENO: checking \"for icon directory\"" >&5
+-echo $ECHO_N "checking \"for icon directory\"... $ECHO_C" >&6
+-ICON_PATH=""
+-ICON_FILE=""
+-idx=1
+-for i in $ICONSEARCHPATH; do
+- if test -d "$i"; then
+- ICON_PATH="$i"
+- jdx=1
+- for j in $ICON; do
+- if test "$jdx" = "$idx"; then
+- break
+- fi
+- jdx=$jdx+1
+- done
+- ICON_FILE="$j"
+- break
+- fi
+- idx=$idx+1
+-done
+ if test "$ICON_PATH" != ""; then
+ echo "$as_me:$LINENO: result: \"using $ICON_PATH/$ICON_FILE\"" >&5
+ echo "${ECHO_T}\"using $ICON_PATH/$ICON_FILE\"" >&6
diff --git a/print/hplip3/files/patch-io_hpiod b/print/hplip3/files/patch-io_hpiod
new file mode 100644
index 000000000000..eea8422eed52
--- /dev/null
+++ b/print/hplip3/files/patch-io_hpiod
@@ -0,0 +1,24 @@
+diff -ruN io/hpiod.orig/usbext.c io/hpiod/usbext.c
+--- io/hpiod.orig/usbext.c Sat Apr 1 16:11:45 2006
++++ io/hpiod/usbext.c Sat Apr 1 16:10:29 2006
+@@ -33,7 +33,7 @@
+ int fd;
+ };
+
+-#if defined(__APPLE__) && defined(__MACH__)
++#if defined(__APPLE__) && defined(__MACH__) || defined(__FreeBSD__)
+
+ #else
+
+diff -ruN io/hpiod.orig/usbext.h io/hpiod/usbext.h
+--- io/hpiod.orig/usbext.h Sat Apr 1 16:11:45 2006
++++ io/hpiod/usbext.h Sat Apr 1 16:05:57 2006
+@@ -32,7 +32,7 @@
+ #include <sys/time.h>
+ #include <usb.h>
+
+-#if defined(__APPLE__) && defined(__MACH__)
++#if defined(__APPLE__) && defined(__MACH__) || defined(__FreeBSD__)
+ #else
+ #include <linux/usbdevice_fs.h>
+
diff --git a/print/hplip3/files/patch-io_hpiod_device.cpp b/print/hplip3/files/patch-io_hpiod_device.cpp
new file mode 100644
index 000000000000..1a9b2ead672d
--- /dev/null
+++ b/print/hplip3/files/patch-io_hpiod_device.cpp
@@ -0,0 +1,276 @@
+--- io/hpiod/device.cpp.orig Fri Mar 3 00:07:26 2006
++++ io/hpiod/device.cpp Wed Apr 5 02:57:32 2006
+@@ -25,6 +25,9 @@
+ \*****************************************************************************/
+
+ #include "hpiod.h"
++#ifdef __FreeBSD__
++#include <dev/usb/usb.h>
++#endif
+
+ const unsigned char Venice_Power_On[] = {0x1b, '%','P','u','i','f','p','.',
+ 'p','o','w','e','r',' ','1',';',
+@@ -109,6 +112,244 @@
+ return -2;
+ }
+
++#elif defined(__FreeBSD__)
++
++int Device::Write(int fd, const void *buf, int size)
++{
++ int nwrote, total, write_len, r, ep, endpoint_fd;
++ void *tmp_buf = (void *)buf;
++ fd_set ready;
++ char *pEndPoint = NULL;
++
++ if (FD[fd].pHD == NULL)
++ {
++ syslog(LOG_ERR, "invalid Device::Write state: %s %s %d\n", URI,__FILE__, __LINE__);
++ return -1;
++ }
++
++ if ((ep = GetOutEP(dev, FD[fd].Config, FD[fd].Interface, FD[fd].AltSetting, USB_ENDPOINT_TYPE_BULK)) < 0)
++ {
++ syslog(LOG_ERR, "invalid bulk out endpoint %s %s %d\n", URI, __FILE__, __LINE__);
++ return -1;
++ }
++
++ /* We only want the address, so mask out the direction bits */
++ ep = (ep & USB_ENDPOINT_ADDRESS_MASK);
++ /* open endpoint */
++ /* allocate data for the usb endpoint string */
++ pEndPoint = (char *)malloc(strlen(dev->filename)+20);
++ if(!pEndPoint)
++ return -1;
++ /* create device endpoint name string */
++ sprintf(pEndPoint, "%s.%d", dev->filename, ep);
++
++ /* open the endpoint with read write access */
++ endpoint_fd = open(pEndPoint, O_WRONLY, 0);
++ free(pEndPoint);
++ if(endpoint_fd < 0)
++ {
++ /* we failed to open the endpoint */
++ return -1;
++ }
++
++ total = size;
++ write_len = size;
++
++ while (total > 0)
++ {
++ FD_ZERO(&ready);
++ FD_SET(endpoint_fd, &ready);
++
++ if (!FD_ISSET(endpoint_fd, &ready))
++ {
++ close(endpoint_fd);
++ return -1;
++ }
++ nwrote = write(endpoint_fd, tmp_buf, write_len);
++
++ if (nwrote < 0)
++ {
++ close(endpoint_fd);
++ return -1;
++ }
++
++ write_len -= nwrote;
++ tmp_buf = (void *)((long)tmp_buf + nwrote);
++ total -= nwrote;
++ }
++
++ close(endpoint_fd);
++ return size;
++}
++
++int Device::Read(int fd, void *buf, int size, int usec)
++{
++ int nwrote, total, r, ep=0, endpoint_fd, i;
++ struct timeval t1, t2;
++ fd_set ready;
++ char *pEndPoint = NULL;
++ int bytes_want = 0;
++ int rlen = 0;
++ int bytes_read = 0;
++ int mili_timeout = usec/10;
++ unsigned char *pbuf_pos = NULL;
++ int total_usec, tmo_usec = usec;
++
++ if (FD[fd].pHD == NULL)
++ {
++ syslog(LOG_ERR, "invalid Device::Read state: %s %s %d\n", URI,__FILE__, __LINE__);
++ return -1;
++ }
++
++ if ((ep = GetInEP(dev, FD[fd].Config, FD[fd].Interface, FD[fd].AltSetting, USB_ENDPOINT_TYPE_BULK)) < 0)
++ {
++ syslog(LOG_ERR, "invalid bulk in endpoint %s %s %d\n", URI, __FILE__, __LINE__);
++ return -1;
++ }
++
++ /* We only want the address, so mask out the direction bits */
++ ep = (ep & USB_ENDPOINT_ADDRESS_MASK);
++ /* open endpoint */
++ /* allocate data for the usb endpoint string */
++ pEndPoint = (char *)malloc(strlen(dev->filename)+20);
++ if(!pEndPoint)
++ return -1;
++ /* create device endpoint name string */
++ sprintf(pEndPoint, "%s.%d", dev->filename, ep);
++
++ /* open the endpoint with read write access */
++ endpoint_fd = open(pEndPoint, O_RDONLY, 0);
++ if(endpoint_fd < 0)
++ {
++ /* we failed to open the endpoint */
++ syslog(LOG_ERR, "unable to open bulk in endpoint (%s) %s %s %d\n", pEndPoint, URI, __FILE__, __LINE__);
++ free(pEndPoint);
++ return -1;
++ }
++ free(pEndPoint);
++
++ /* set short transfer so that we can allow "short" reads since we
++ will don't know exactly
++ what is coming so we can't specify exact byte amounts */
++ i = 1;
++ if (ioctl(endpoint_fd, USB_SET_SHORT_XFER, &i) < 0)
++ {
++ syslog(LOG_ERR, "USB_SET_SHORT_XFER set failed Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ }
++
++ /* 0 timeout value will cause us the wait until the device has data
++ available or is disconnected */
++ if (ioctl(endpoint_fd, USB_SET_TIMEOUT, &mili_timeout) < 0)
++ {
++ syslog(LOG_ERR, "USB_SET_TIMEOUT set failed Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ }
++
++ gettimeofday (&t1, NULL); /* get start time */
++
++ if (FD[fd].ucnt > 0)
++ {
++ /* copy buffered data to storage */
++ if (size <= FD[fd].ucnt)
++ {
++ memcpy(buf, FD[fd].ubuf, size);
++ FD[fd].uindex += size;
++ FD[fd].ucnt -= size;
++ bytes_read = size;
++ }
++ else
++ {
++ memcpy(buf, FD[fd].ubuf, FD[fd].ucnt);
++ bytes_read += FD[fd].ucnt;
++ FD[fd].ucnt = 0;
++ }
++ }
++ else if (FD[fd].ucnt == 0 && bytes_read < size)
++ {
++ /* reset data buffer */
++ FD[fd].uindex = 0;
++ /* offset storage to not overwrite data copied from the buffer */
++ pbuf_pos = (unsigned char *)((long)buf + bytes_read);
++ bytes_want = size - bytes_read;
++ do
++ {
++ if (bytes_want >= BUFFER_SIZE)
++ {
++ /* check to see if the device is ready for a read */
++ FD_ZERO(&ready);
++ FD_SET(endpoint_fd, &ready);
++ if (!FD_ISSET(endpoint_fd, &ready))
++ {
++ syslog(LOG_ERR, "timeout Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ errno = ETIMEDOUT;
++ return -1;
++ }
++ /* read directly into storage */
++ rlen = read(endpoint_fd, pbuf_pos, BUFFER_SIZE);
++ if (rlen < 0)
++ {
++ syslog(LOG_ERR, "error Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ return -1;
++ }
++ bytes_read += rlen;
++ bytes_want -= rlen;
++ pbuf_pos += rlen;
++ }
++ else if (bytes_want < BUFFER_SIZE)
++ {
++ /* check to see if the device is ready for a read */
++ FD_ZERO(&ready);
++ FD_SET(endpoint_fd, &ready);
++ if (!FD_ISSET(endpoint_fd, &ready))
++ {
++ syslog(LOG_ERR, "timeout Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ errno = ETIMEDOUT;
++ return -1;
++ }
++ /* read to buffer */
++ rlen = read(endpoint_fd, FD[fd].ubuf, BUFFER_SIZE);
++ if (rlen < 0)
++ {
++ syslog(LOG_ERR, "error Device::Read : %s %s %d\n", URI,__FILE__, __LINE__);
++ return -1;
++ }
++ if (rlen >= bytes_want)
++ {
++ memcpy(pbuf_pos, FD[fd].ubuf,
++ bytes_want);
++ FD[fd].uindex += bytes_want;
++ FD[fd].ucnt = rlen - bytes_want;
++ bytes_read += bytes_want;
++ bytes_want = 0;
++ }
++ else
++ {
++ memcpy(pbuf_pos, FD[fd].ubuf, rlen);
++ bytes_want -= rlen;
++ bytes_read += rlen;
++ pbuf_pos += rlen;
++ }
++ }
++ /* Bulk_read has a timeout, but bulk_read can return zero byte packet(s), so we must use our own timeout here. */
++ gettimeofday(&t2, NULL); /* get current time */
++
++ total_usec = (t2.tv_sec - t1.tv_sec)*1000000;
++ total_usec += (t2.tv_usec > t1.tv_usec) ? t2.tv_usec - t1.tv_usec : t1.tv_usec - t2.tv_usec;
++ if (total_usec > usec)
++ {
++ size = -1; /* timeout */
++ errno = ETIMEDOUT;
++ break;
++ }
++ tmo_usec = usec - total_usec; /* decrease timeout */
++ continue;
++ }
++ while (bytes_want > 0);
++ }
++
++ close(endpoint_fd);
++ return size;
++}
++
+ #else
+
+ /*
+@@ -589,7 +830,8 @@
+
+ if (FD[fd].urb_write_active)
+ {
+-#if defined(__APPLE__) && defined(__MACH__)
++#if defined(__APPLE__) && defined(__MACH__) || defined(__FreeBSD__)
++ syslog(LOG_ERR, "danger! Device::ReleaseInterface, releasing an interface with an active write %s: %s %d\n", URI, __FILE__, __LINE__);
+ #else
+ usb_reap_urb_ex(FD[fd].pHD, &FD[fd].urb_write);
+ #endif
+@@ -913,7 +1155,7 @@
+ /* Make sure uri model still matches device id model. */
+ pSys->GetURIModel(URI, uriModel, sizeof(uriModel));
+ pSys->GetModel(ID, model, sizeof(model));
+- if (strcmp(uriModel, model) != 0)
++ if (strcasecmp(uriModel, model) != 0)
+ {
+ *result = R_INVALID_DEVICE_NODE; /* found different device plugged in */
+ syslog(LOG_ERR, "invalid model %s != %s Device::Open %s %d\n", uriModel, model, __FILE__, __LINE__);
diff --git a/print/hplip3/files/patch-io_hpiod_device.h b/print/hplip3/files/patch-io_hpiod_device.h
new file mode 100644
index 000000000000..de0796b353ee
--- /dev/null
+++ b/print/hplip3/files/patch-io_hpiod_device.h
@@ -0,0 +1,12 @@
+--- io/hpiod/device.h.orig Tue Feb 28 19:40:55 2006
++++ io/hpiod/device.h Sun Apr 2 23:38:58 2006
+@@ -72,6 +72,9 @@
+ int AltSetting;
+ int urb_write_active; /* 0=no, 1=yes */
+ #if defined(__APPLE__) && defined(__MACH__)
++
++#elif defined(__FreeBSD__)
++
+ #else
+ struct usbdevfs_urb urb_write; /* host to device */
+ struct usbdevfs_urb urb_read; /* device to host */
diff --git a/print/hplip3/files/patch-prnt_hpijs_hpijsfax.cpp b/print/hplip3/files/patch-prnt_hpijs_hpijsfax.cpp
new file mode 100644
index 000000000000..60453cb6c9a3
--- /dev/null
+++ b/print/hplip3/files/patch-prnt_hpijs_hpijsfax.cpp
@@ -0,0 +1,13 @@
+--- prnt/hpijs/hpijsfax.cpp.orig Sat Apr 1 16:35:53 2006
++++ prnt/hpijs/hpijsfax.cpp Sat Apr 1 16:37:36 2006
+@@ -297,8 +297,8 @@
+
+ memset (&tv, 0, sizeof (tv));
+ gettimeofday (&tv, NULL);
+- cur_time = localtime (&tv.tv_sec);
+- memset (hpFileName, 0, 256);
++ cur_time = localtime ((const time_t *)&tv.tv_sec);
++ memset (hpFileName, 0, 256);
+ sprintf (hpFileName, "%s/hplipfax%d%d%d%d%d%d.g3", getenv ("TMPDIR"),
+ cur_time->tm_year+1900, cur_time->tm_mon+1, cur_time->tm_mday,
+ cur_time->tm_hour, cur_time->tm_min, cur_time->tm_sec);
diff --git a/print/hplip3/pkg-descr b/print/hplip3/pkg-descr
new file mode 100644
index 000000000000..8e13ae2ee74b
--- /dev/null
+++ b/print/hplip3/pkg-descr
@@ -0,0 +1,8 @@
+HPLIP is an HP developed solution for printing, scanning,
+and faxing with HP inkjet and laser based printers in Linux.
+
+The HP driver project provides printing support for nearly
+1000 printer models, including Deskjet, Officejet, Photosmart,
+PSC (Print Scan Copy), Business Inkjet, LaserJet, and LaserJet MFP.
+
+WWW: http://hplip.sourceforge.net/
diff --git a/print/hplip3/pkg-install b/print/hplip3/pkg-install
new file mode 100644
index 000000000000..79d5edf4ecf6
--- /dev/null
+++ b/print/hplip3/pkg-install
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+USER=hplip
+GROUP=operator
+UID=116
+
+DLLFILE=${PKG_PREFIX}/etc/sane.d/dll.conf
+
+case $2 in
+POST-INSTALL)
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d /nonexistent -s /sbin/nologin -c "HPLIP Server"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+ echo "hpaio" >> ${DLLFILE}
+ ;;
+
+POST-DEINSTALL)
+ if pw user show "${USER}" 2>/dev/null; then
+ if pw userdel ${USER}; then
+ echo "Removed user \"${USER}\"."
+ else
+ echo "Removing user \"${USER}\" failed..."
+ exit 1
+ fi
+ else
+ echo "User \"${USER}\" doesn't exist!"
+ fi
+ cp ${DLLFILE} ${DLLFILE}.orig
+ cat ${DLLFILE}.orig | grep -v hpaio > ${DLLFILE}
+ rm ${DLLFILE}.orig
+ ;;
+esac
diff --git a/print/hplip3/pkg-message b/print/hplip3/pkg-message
new file mode 100644
index 000000000000..af13f704bccc
--- /dev/null
+++ b/print/hplip3/pkg-message
@@ -0,0 +1,15 @@
+**********************************************************
+Add the following to your rc.conf:
+
+hpiod_enable="YES"
+hpssd_enable="YES"
+
+The default setup runs hpiod as the hplip user and adds
+hplip to the operator group. So all you have to do if you
+have a custom ruleset setup is add the following to that
+ruleset in devfs.rules:
+
+add path 'ugen*' group operator
+add path 'ugen*' mode 0660
+
+**********************************************************
diff --git a/print/hplip3/pkg-plist b/print/hplip3/pkg-plist
new file mode 100644
index 000000000000..b7409e3b5ca2
--- /dev/null
+++ b/print/hplip3/pkg-plist
@@ -0,0 +1,887 @@
+bin/foomatic-rip
+bin/hp-align
+bin/hp-check
+bin/hp-clean
+bin/hp-colorcal
+bin/hp-fab
+bin/hp-info
+bin/hp-levels
+bin/hp-makeuri
+bin/hp-photo
+bin/hp-print
+bin/hp-sendfax
+bin/hp-setup
+bin/hp-testpage
+bin/hp-toolbox
+bin/hp-unload
+bin/hpijs
+bin/hppgsz
+etc/hp/hplip.conf
+lib/libhpip.la
+lib/libhpip.so
+lib/libhpip.so.0
+lib/libsane-hpaio.la
+lib/libsane-hpaio.so
+lib/libsane-hpaio.so.1
+lib/sane/libsane-hpaio.so
+lib/sane/libsane-hpaio.so.1
+lib/sane/libsane-hpaio.so.1.0.0
+libexec/cups/backend/hp
+libexec/cups/backend/hpfax
+libexec/cups/filter/foomatic-rip
+%%PYTHON_SITELIBDIR%%/pcardext.so
+%%PYTHON_SITELIBDIR%%/cupsext.so
+sbin/hpiod
+sbin/hpssd
+share/applications/hplip.desktop
+share/cups/model/foomatic-ppds
+%%PORTDOCS%%share/doc/hpijs-2.1.9/COPYING
+%%PORTDOCS%%share/doc/hpijs-2.1.9/README_LIBJPG
+%%PORTDOCS%%share/doc/hpijs-2.1.9/gs_hpijs.png
+%%PORTDOCS%%share/doc/hpijs-2.1.9/hpijs_readme.html
+%%PORTDOCS%%share/doc/hplip-0.9.10/COPYING
+%%PORTDOCS%%share/doc/hplip-0.9.10/hplip_overview.png
+%%PORTDOCS%%share/doc/hplip-0.9.10/hplip_readme.html
+%%DATADIR%%/COPYING
+%%DATADIR%%/__init__.py
+%%DATADIR%%/align
+%%DATADIR%%/base/__init__.py
+%%DATADIR%%/base/async.py
+%%DATADIR%%/base/async_qt.py
+%%DATADIR%%/base/codes.py
+%%DATADIR%%/base/device.py
+%%DATADIR%%/base/exif.py
+%%DATADIR%%/base/g.py
+%%DATADIR%%/base/imagesize.py
+%%DATADIR%%/base/kirbybase.py
+%%DATADIR%%/base/logger.py
+%%DATADIR%%/base/magic.py
+%%DATADIR%%/base/maint.py
+%%DATADIR%%/base/mfpdtf.py
+%%DATADIR%%/base/msg.py
+%%DATADIR%%/base/pml.py
+%%DATADIR%%/base/service.py
+%%DATADIR%%/base/slp.py
+%%DATADIR%%/base/status.py
+%%DATADIR%%/base/strings.py
+%%DATADIR%%/base/subproc.py
+%%DATADIR%%/base/utils.py
+%%DATADIR%%/check
+%%DATADIR%%/clean
+%%DATADIR%%/colorcal
+%%DATADIR%%/data/hplip.desktop
+%%DATADIR%%/data/images/120.png
+%%DATADIR%%/data/images/COLOR_INKJET_PRINTER_CP1700.png
+%%DATADIR%%/data/images/CP_1700.png
+%%DATADIR%%/data/images/DESKJET_1120C.png
+%%DATADIR%%/data/images/DESKJET_1220C.png
+%%DATADIR%%/data/images/DESKJET_2500C.png
+%%DATADIR%%/data/images/DESKJET_3820.png
+%%DATADIR%%/data/images/DESKJET_5740.png
+%%DATADIR%%/data/images/DESKJET_610.png
+%%DATADIR%%/data/images/DESKJET_630C.png
+%%DATADIR%%/data/images/DESKJET_650C.png
+%%DATADIR%%/data/images/DESKJET_840C.png
+%%DATADIR%%/data/images/DESKJET_916C.png
+%%DATADIR%%/data/images/DESKJET_9600.png
+%%DATADIR%%/data/images/DESKJET_960C.png
+%%DATADIR%%/data/images/DESKJET_970C.png
+%%DATADIR%%/data/images/DESKJET_990C.png
+%%DATADIR%%/data/images/DESKJET_995C.png
+%%DATADIR%%/data/images/Deskjet_350.png
+%%DATADIR%%/data/images/Deskjet_3740.png
+%%DATADIR%%/data/images/Deskjet_5700.png
+%%DATADIR%%/data/images/Deskjet_6500.png
+%%DATADIR%%/data/images/Deskjet_6800.png
+%%DATADIR%%/data/images/HP_2000C.png
+%%DATADIR%%/data/images/HP_BI_3000.png
+%%DATADIR%%/data/images/HP_Business_Inkjet_1200.png
+%%DATADIR%%/data/images/HP_Color_LaserJet_1500.png
+%%DATADIR%%/data/images/HP_Color_LaserJet_2840.png
+%%DATADIR%%/data/images/HP_Color_LaserJet_4500.png
+%%DATADIR%%/data/images/HP_Color_LaserJet_8550.png
+%%DATADIR%%/data/images/HP_LJ1xxx.png
+%%DATADIR%%/data/images/HP_LaserJet_1012.png
+%%DATADIR%%/data/images/HP_LaserJet_1220.png
+%%DATADIR%%/data/images/HP_LaserJet_3200M.png
+%%DATADIR%%/data/images/HP_LaserJet_3300_3310_3320.png
+%%DATADIR%%/data/images/HP_LaserJet_4000.png
+%%DATADIR%%/data/images/HP_LaserJet_4100_MFP.png
+%%DATADIR%%/data/images/HP_LaserJet_4M.png
+%%DATADIR%%/data/images/HP_LaserJet_8100_Series.png
+%%DATADIR%%/data/images/HP_LaserJet_9000_MFP.png
+%%DATADIR%%/data/images/HP_LaserJet_9040_MFP.png
+%%DATADIR%%/data/images/HP_LaserJet_9500dn.png
+%%DATADIR%%/data/images/HPmenu.png
+%%DATADIR%%/data/images/LASERJET_3500.png
+%%DATADIR%%/data/images/LASERJET_4650.png
+%%DATADIR%%/data/images/LASERJET_4650dtn.png
+%%DATADIR%%/data/images/LASERJET_5500.png
+%%DATADIR%%/data/images/LASERJET_5500dtn.png
+%%DATADIR%%/data/images/LASERJET_5550.png
+%%DATADIR%%/data/images/LASERJET_5550DTN.png
+%%DATADIR%%/data/images/OfficeJet_6100_Series.png
+%%DATADIR%%/data/images/OfficeJet_G85.png
+%%DATADIR%%/data/images/Officejet_6150_Series.png
+%%DATADIR%%/data/images/Officejet_7200_series.png
+%%DATADIR%%/data/images/PHOTOSMART_100.png
+%%DATADIR%%/data/images/PHOTOSMART_1218.png
+%%DATADIR%%/data/images/PHOTOSMART_1315.png
+%%DATADIR%%/data/images/PHOTOSMART_P1100.png
+%%DATADIR%%/data/images/PSC_900_Series.png
+%%DATADIR%%/data/images/Photosmart_2600_series.png
+%%DATADIR%%/data/images/Photosmart_2700_series.png
+%%DATADIR%%/data/images/Photosmart_3300_series.png
+%%DATADIR%%/data/images/Photosmart_370_series.png
+%%DATADIR%%/data/images/Photosmart_7400_series.png
+%%DATADIR%%/data/images/Photosmart_8050.png
+%%DATADIR%%/data/images/Photosmart_8100_series.png
+%%DATADIR%%/data/images/Photosmart_8250.png
+%%DATADIR%%/data/images/Photosmart_8400_series.png
+%%DATADIR%%/data/images/Photosmart_8750_series.png
+%%DATADIR%%/data/images/Photosmart_Pro_B9180.png
+%%DATADIR%%/data/images/align10.png
+%%DATADIR%%/data/images/audio.png
+%%DATADIR%%/data/images/bmp.png
+%%DATADIR%%/data/images/busy.png
+%%DATADIR%%/data/images/busy_small.png
+%%DATADIR%%/data/images/clean.png
+%%DATADIR%%/data/images/color-adj.png
+%%DATADIR%%/data/images/cp1160.png
+%%DATADIR%%/data/images/default_business_inkjet.png
+%%DATADIR%%/data/images/default_deskjet.png
+%%DATADIR%%/data/images/default_laserjet.png
+%%DATADIR%%/data/images/default_officejet.png
+%%DATADIR%%/data/images/default_photosmart.png
+%%DATADIR%%/data/images/default_printer.png
+%%DATADIR%%/data/images/default_psc.png
+%%DATADIR%%/data/images/desket_5650.png
+%%DATADIR%%/data/images/deskjet_3200.png
+%%DATADIR%%/data/images/deskjet_3320.png
+%%DATADIR%%/data/images/deskjet_3420.png
+%%DATADIR%%/data/images/deskjet_3425.png
+%%DATADIR%%/data/images/deskjet_3500.png
+%%DATADIR%%/data/images/deskjet_3600.png
+%%DATADIR%%/data/images/deskjet_3840.png
+%%DATADIR%%/data/images/deskjet_5100.png
+%%DATADIR%%/data/images/deskjet_5550.png
+%%DATADIR%%/data/images/deskjet_5552.png
+%%DATADIR%%/data/images/deskjet_5600.png
+%%DATADIR%%/data/images/deskjet_6120.png
+%%DATADIR%%/data/images/dj450.png
+%%DATADIR%%/data/images/down.png
+%%DATADIR%%/data/images/error.png
+%%DATADIR%%/data/images/error_small.png
+%%DATADIR%%/data/images/folder_open.png
+%%DATADIR%%/data/images/folder_remove.png
+%%DATADIR%%/data/images/gif.png
+%%DATADIR%%/data/images/h-kc-2.png
+%%DATADIR%%/data/images/h-kc-3.png
+%%DATADIR%%/data/images/help.png
+%%DATADIR%%/data/images/hp-tux-printer.png
+%%DATADIR%%/data/images/hp_LaserJet_1200.png
+%%DATADIR%%/data/images/hp_LaserJet_2100.png
+%%DATADIR%%/data/images/hp_LaserJet_3015.png
+%%DATADIR%%/data/images/hp_LaserJet_3020.png
+%%DATADIR%%/data/images/hp_LaserJet_4345_mfp.png
+%%DATADIR%%/data/images/hp_LaserJet_5000.png
+%%DATADIR%%/data/images/hp_LaserJet_8000.png
+%%DATADIR%%/data/images/hp_business_inkjet_1100.png
+%%DATADIR%%/data/images/hp_business_inkjet_2200.png
+%%DATADIR%%/data/images/hp_business_inkjet_2600.png
+%%DATADIR%%/data/images/hp_business_inkjet_3000.png
+%%DATADIR%%/data/images/hp_color_LaserJet_2550.png
+%%DATADIR%%/data/images/hp_color_LaserJet_3700.png
+%%DATADIR%%/data/images/hp_color_LaserJet_4600.png
+%%DATADIR%%/data/images/hp_color_LaserJet_9500.png
+%%DATADIR%%/data/images/hp_deskjet_9300.png
+%%DATADIR%%/data/images/icon_align.png
+%%DATADIR%%/data/images/icon_battery.png
+%%DATADIR%%/data/images/icon_black.png
+%%DATADIR%%/data/images/icon_black_and_cyan.png
+%%DATADIR%%/data/images/icon_blue.png
+%%DATADIR%%/data/images/icon_clean.png
+%%DATADIR%%/data/images/icon_colorcal.png
+%%DATADIR%%/data/images/icon_cups.png
+%%DATADIR%%/data/images/icon_cyan.png
+%%DATADIR%%/data/images/icon_ews.png
+%%DATADIR%%/data/images/icon_fax.png
+%%DATADIR%%/data/images/icon_grey.png
+%%DATADIR%%/data/images/icon_info.png
+%%DATADIR%%/data/images/icon_light_grey.png
+%%DATADIR%%/data/images/icon_light_grey_and_photo_black.png
+%%DATADIR%%/data/images/icon_linefeed_cal.png
+%%DATADIR%%/data/images/icon_lporg.png
+%%DATADIR%%/data/images/icon_magenta.png
+%%DATADIR%%/data/images/icon_magenta_and_yellow.png
+%%DATADIR%%/data/images/icon_photo.png
+%%DATADIR%%/data/images/icon_photo_black.png
+%%DATADIR%%/data/images/icon_photo_cyan.png
+%%DATADIR%%/data/images/icon_photo_magenta.png
+%%DATADIR%%/data/images/icon_photo_magenta_and_photo_cyan.png
+%%DATADIR%%/data/images/icon_photo_yellow.png
+%%DATADIR%%/data/images/icon_pq_diag.png
+%%DATADIR%%/data/images/icon_settings.png
+%%DATADIR%%/data/images/icon_support.png
+%%DATADIR%%/data/images/icon_support2.png
+%%DATADIR%%/data/images/icon_template.png
+%%DATADIR%%/data/images/icon_testpage.png
+%%DATADIR%%/data/images/icon_toner_cartridge.png
+%%DATADIR%%/data/images/icon_tricolor.png
+%%DATADIR%%/data/images/icon_yellow.png
+%%DATADIR%%/data/images/info.png
+%%DATADIR%%/data/images/inkdrop.png
+%%DATADIR%%/data/images/inkdrop_small.png
+%%DATADIR%%/data/images/jpg.png
+%%DATADIR%%/data/images/laserjet_2410.png
+%%DATADIR%%/data/images/load_paper.png
+%%DATADIR%%/data/images/movie.png
+%%DATADIR%%/data/images/mpg.png
+%%DATADIR%%/data/images/next.png
+%%DATADIR%%/data/images/officejet_4200_series.png
+%%DATADIR%%/data/images/officejet_500.png
+%%DATADIR%%/data/images/officejet_5600.png
+%%DATADIR%%/data/images/officejet_k550.png
+%%DATADIR%%/data/images/officejet_k80.png
+%%DATADIR%%/data/images/ok.png
+%%DATADIR%%/data/images/ok_small.png
+%%DATADIR%%/data/images/panel_lcd.xpm
+%%DATADIR%%/data/images/paper.png
+%%DATADIR%%/data/images/paper_small.png
+%%DATADIR%%/data/images/pens.png
+%%DATADIR%%/data/images/photosmart_7150.png
+%%DATADIR%%/data/images/photosmart_7900_series.png
+%%DATADIR%%/data/images/png.png
+%%DATADIR%%/data/images/prev.png
+%%DATADIR%%/data/images/psc_1100_series.png
+%%DATADIR%%/data/images/psc_2300_series.png
+%%DATADIR%%/data/images/standard_coverpage.png
+%%DATADIR%%/data/images/status_refresh.png
+%%DATADIR%%/data/images/tif.png
+%%DATADIR%%/data/images/toner.png
+%%DATADIR%%/data/images/toner_small.png
+%%DATADIR%%/data/images/type4_color_patch.png
+%%DATADIR%%/data/images/type4_gray_patch.png
+%%DATADIR%%/data/images/unknown.png
+%%DATADIR%%/data/images/up.png
+%%DATADIR%%/data/images/v-c-2.png
+%%DATADIR%%/data/images/v-c-3.png
+%%DATADIR%%/data/images/v-k-2.png
+%%DATADIR%%/data/images/v-k-3.png
+%%DATADIR%%/data/images/v-kc-2.png
+%%DATADIR%%/data/images/v-kc-3.png
+%%DATADIR%%/data/images/warning.png
+%%DATADIR%%/data/images/warning_small.png
+%%DATADIR%%/data/images/zca.png
+%%DATADIR%%/data/ldl/cb2pcal.ldl.gz
+%%DATADIR%%/data/ldl/cb2pcal_done.ldl.gz
+%%DATADIR%%/data/ldl/cbbcal.ldl.gz
+%%DATADIR%%/data/ldl/cbccal.ldl.gz
+%%DATADIR%%/data/ldl/cbccal_done.ldl.gz
+%%DATADIR%%/data/ldl/cbcpcal.ldl.gz
+%%DATADIR%%/data/ldl/cbpcal.ldl.gz
+%%DATADIR%%/data/pcl/align1_8xx.pcl.gz
+%%DATADIR%%/data/pcl/align1_9xx.pcl.gz
+%%DATADIR%%/data/pcl/align2_8xx.pcl.gz
+%%DATADIR%%/data/pcl/align2_9xx.pcl.gz
+%%DATADIR%%/data/pcl/align3_8xx.pcl.gz
+%%DATADIR%%/data/pcl/align3_9xx.pcl.gz
+%%DATADIR%%/data/pcl/align4_450.pcl.gz
+%%DATADIR%%/data/pcl/align4_8xx.pcl.gz
+%%DATADIR%%/data/pcl/align5_8xx.pcl.gz
+%%DATADIR%%/data/pcl/align6_450.pcl.gz
+%%DATADIR%%/data/pcl/colorcal1_450.pcl.gz
+%%DATADIR%%/data/pcl/colorcal2_450.pcl.gz
+%%DATADIR%%/data/pcl/crbcal.pcl.gz
+%%DATADIR%%/data/pcl/crcaldone.pcl.gz
+%%DATADIR%%/data/pcl/crcbcal.pcl.gz
+%%DATADIR%%/data/pcl/crccal.pcl.gz
+%%DATADIR%%/data/pcl/crcpcal.pcl.gz
+%%DATADIR%%/data/pcl/crpcal.pcl.gz
+%%DATADIR%%/data/ps/clean_page.pdf.gz
+%%DATADIR%%/data/ps/testpage.ps.gz
+%%DATADIR%%/data/xml/HPLIP-0.9.6.xml
+%%DATADIR%%/data/xml/HPLIP-0.9.7.xml
+%%DATADIR%%/data/xml/HPLIP-02-2006.xml
+%%DATADIR%%/data/xml/HPLIP-03-2006.xml
+%%DATADIR%%/data/xml/models.xml
+%%DATADIR%%/data/xml/unsupported.xml
+%%DATADIR%%/fab
+%%DATADIR%%/fax/__init__.py
+%%DATADIR%%/fax/backend/hpfax
+%%DATADIR%%/fax/coverpages.py
+%%DATADIR%%/fax/fax.py
+%%DATADIR%%/fax/ppd/HP-Fax-hplip.ppd
+%%DATADIR%%/hplip
+%%DATADIR%%/hplip.conf
+%%DATADIR%%/hplip.sh
+%%DATADIR%%/hplip_overview.png
+%%DATADIR%%/hplip_readme.html
+%%DATADIR%%/hpssd.py
+%%DATADIR%%/info
+%%DATADIR%%/levels
+%%DATADIR%%/makeuri
+%%DATADIR%%/pcard/__init__.py
+%%DATADIR%%/pcard/photocard.py
+%%DATADIR%%/photo
+%%DATADIR%%/plugins/Deskjet_460.py
+%%DATADIR%%/plugins/__init__.py
+%%DATADIR%%/plugins/dj450.py
+%%DATADIR%%/plugins/powersettings.py
+%%DATADIR%%/plugins/powersettingsdialog.py
+%%DATADIR%%/plugins/powersettingsdialog_base.py
+%%DATADIR%%/print
+%%DATADIR%%/prnt/__init__.py
+%%DATADIR%%/prnt/colorcal.py
+%%DATADIR%%/prnt/cups.py
+%%DATADIR%%/prnt/ldl.py
+%%DATADIR%%/prnt/pcl.py
+%%DATADIR%%/scan/__init__.py
+%%DATADIR%%/sendfax
+%%DATADIR%%/setup
+%%DATADIR%%/testpage
+%%DATADIR%%/toolbox
+%%DATADIR%%/ui/__init__.py
+%%DATADIR%%/ui/aboutdlg.py
+%%DATADIR%%/ui/aboutdlg_base.py
+%%DATADIR%%/ui/align10form.py
+%%DATADIR%%/ui/align10form_base.py
+%%DATADIR%%/ui/alignform.py
+%%DATADIR%%/ui/aligntype6form1.py
+%%DATADIR%%/ui/aligntype6form1_base.py
+%%DATADIR%%/ui/aligntype6form2.py
+%%DATADIR%%/ui/aligntype6form2_base.py
+%%DATADIR%%/ui/choosedevicedlg.py
+%%DATADIR%%/ui/chooseprinterdlg.py
+%%DATADIR%%/ui/cleaningform.py
+%%DATADIR%%/ui/cleaningform2.py
+%%DATADIR%%/ui/cleaningform2_base.py
+%%DATADIR%%/ui/cleaningform_base.py
+%%DATADIR%%/ui/coloradjform.py
+%%DATADIR%%/ui/coloradjform_base.py
+%%DATADIR%%/ui/colorcal4form.py
+%%DATADIR%%/ui/colorcal4form_base.py
+%%DATADIR%%/ui/colorcal4form_base.ui
+%%DATADIR%%/ui/colorcalform.py
+%%DATADIR%%/ui/colorcalform2.py
+%%DATADIR%%/ui/colorcalform2_base.py
+%%DATADIR%%/ui/colorcalform_base.py
+%%DATADIR%%/ui/coverpageform.py
+%%DATADIR%%/ui/coverpageform_base.py
+%%DATADIR%%/ui/devmgr4.py
+%%DATADIR%%/ui/devmgr4_base.py
+%%DATADIR%%/ui/faxaddrbookeditform_base.py
+%%DATADIR%%/ui/faxaddrbookform.py
+%%DATADIR%%/ui/faxaddrbookform_base.py
+%%DATADIR%%/ui/faxaddrbookgroupeditform_base.py
+%%DATADIR%%/ui/faxaddrbookgroupsform_base.py
+%%DATADIR%%/ui/faxsendjobform.py
+%%DATADIR%%/ui/faxsendjobform_base.py
+%%DATADIR%%/ui/faxsettingsform.py
+%%DATADIR%%/ui/faxsettingsform_base.py
+%%DATADIR%%/ui/imagepropertiesdlg.py
+%%DATADIR%%/ui/imagepropertiesdlg_base.py
+%%DATADIR%%/ui/informationform.py
+%%DATADIR%%/ui/informationform_base.py
+%%DATADIR%%/ui/loadpaperform.py
+%%DATADIR%%/ui/loadpaperform_base.py
+%%DATADIR%%/ui/nodevicesform.py
+%%DATADIR%%/ui/nodevicesform_base.py
+%%DATADIR%%/ui/paperedgealignform.py
+%%DATADIR%%/ui/paperedgealignform_base.py
+%%DATADIR%%/ui/printerform.py
+%%DATADIR%%/ui/printerform_base.py
+%%DATADIR%%/ui/printerform_base.ui
+%%DATADIR%%/ui/settingsdialog.py
+%%DATADIR%%/ui/settingsdialog_base.py
+%%DATADIR%%/ui/supportform.py
+%%DATADIR%%/ui/supportform_base.py
+%%DATADIR%%/ui/unloadform.py
+%%DATADIR%%/ui/unloadform_base.py
+%%DATADIR%%/ui/waitform.py
+%%DATADIR%%/ui/waitform_base.py
+%%DATADIR%%/unload
+share/ppd/HP/HP-2000C-hpijs.ppd.gz
+share/ppd/HP/HP-2500C-hpijs.ppd.gz
+share/ppd/HP/HP-2500CM-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_1000-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_1100-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_1200-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2200-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2230-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2250-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2250TN-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2280-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2300-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2600-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_2800-hpijs.ppd.gz
+share/ppd/HP/HP-Business_Inkjet_3000-hpijs.ppd.gz
+share/ppd/HP/HP-Color_Inkjet_Printer_CP1160-hpijs.ppd.gz
+share/ppd/HP/HP-Color_Inkjet_Printer_CP1700-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_2500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_2550-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3000-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3550-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3600-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3700-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_3800-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4550-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4600-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4610-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4650-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4700-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_4730_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_5-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_5000-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_5500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_5550-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_5M-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_8500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_8550GN-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_9500-hpijs.ppd.gz
+share/ppd/HP/HP-Color_LaserJet_9500_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-DesignJet_ColorPro_CAD-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1100C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1120C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1125C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1200C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1220C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1280-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_1600C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3320-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3325-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3420-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3425-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_350C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3520-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3528-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3535-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3550-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3558-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3650-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3658-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3668-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3740-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3810-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3816-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3820-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3822-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3840-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3845-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3920-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_3940-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_400-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_420C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_450-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_460-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_500-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_500C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_505J_Plus-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_510-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5150-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5158-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5160-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_520-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_540C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5440-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5550-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5551-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5650-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5652-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5670-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5740-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5850-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_5940-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_600-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_610C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_610CL-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6122-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6127-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_612C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_630C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_632C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_640C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_648C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6520-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6540-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_656C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6600-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_660C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_670C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_670TV-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_672C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6800-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_680C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_682C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6840-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_690C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_692C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_693C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6940-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_694C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_695C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_697C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_6980-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_810C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_812C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_815C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_816C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_825C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_830C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_832C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_840C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_841C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_842C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_843C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_845C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_850C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_855C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_870C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_880C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_882C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_890C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_895C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_916C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_920C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_9300-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_930C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_932C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_933C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_934C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_935C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_940C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_948C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_950C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_952C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_955C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_957C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_959C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_9600-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_960C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_970C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_975C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_9800-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_980C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_990C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_995C-hpijs.ppd.gz
+share/ppd/HP/HP-DeskJet_F300-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1010-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1012-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1015-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1022-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1100-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1100A-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1150-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1160-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1200-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1220-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1300-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_1320-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2100-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2100M-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2200-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2300-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2410-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2420-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_2430-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3015-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3020-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3030-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3050-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3052-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3055-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3200-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3200m-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3200se-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3300_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3310_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3320N_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3320_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3330_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3380-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3390-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_3392-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4000-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4050-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4100-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4200-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4240-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4250-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4300-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4345_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4350-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4L-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4M-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4ML-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4P-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4Si-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4V-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4V_4LJ_Pro-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_4_Plus-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5000-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5100-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5L-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5M-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5MP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5P-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_5Si-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_6-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_6L-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_6MP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_6P-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_8000-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_8100-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_8150-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9000-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9000_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9040-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9040_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9050-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9050_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9055_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-LaserJet_9065_MFP-hpijs.ppd.gz
+share/ppd/HP/HP-Mopier_240-hpijs.ppd.gz
+share/ppd/HP/HP-Mopier_320-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_300-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_330-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_350-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_4100-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_4105-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_4110-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_4115-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_4200-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_500-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_5105-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_5110-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_5110xi-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_520-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_5500-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_5600-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_570-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_580-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_590-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_600-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_610-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_6100-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_6105-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_6110-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_6150-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_6200-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_625-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_630-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_635-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_700-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_710-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7100-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7110-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7130-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7140-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_720-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7200-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_725-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7300-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_7400-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_9100-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_D125-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_D135-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_D145-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_D155-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_G55-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_G85-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_G95-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_K60-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_K60xi-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_K80-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_K80xi-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_LX-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_Pro_1150C-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_Pro_1170C-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_Pro_1175C-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_Pro_K550-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_Pro_K850-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_R40-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_R45-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_R60-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_R65-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_R80-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_T45-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_T65-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_V40-hpijs.ppd.gz
+share/ppd/HP/HP-OfficeJet_V40xi-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1100-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1110-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1200-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1205-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1210-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1300-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1310-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1400-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1500-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1510-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_1600-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2110-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2150-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2170-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2175-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2210-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2300-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2350-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2400-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_2500-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_370-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_380-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_500-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_750-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_750xi-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_950-hpijs.ppd.gz
+share/ppd/HP/HP-PSC_950xi-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_140-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_240-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_2570-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_2600-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_2700-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_3100-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_320-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_3200-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_330-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_3300-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_370-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_380-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_420-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_470-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7150-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7260-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7268-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7345-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7350-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7400-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7550-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7660-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7760-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7800-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_7960-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_8000-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_8100-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_8200-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_8400-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_8700-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P100-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1000-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1100-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1115-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1215-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1218-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P130-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P1315-hpijs.ppd.gz
+share/ppd/HP/HP-PhotoSmart_P230-hpijs.ppd.gz
+share/ppd/HP/HP-e-printer_e20-hpijs.ppd.gz
+share/ppd/HP/HP_Business_Inkjet_2250.ppd.gz
+share/ppd/HP/HP_Business_Inkjet_2280.ppd.gz
+share/ppd/HP/HP_Business_Inkjet_2600.ppd.gz
+share/ppd/HP/HP_Business_Inkjet_2800.ppd.gz
+share/ppd/HP/HP_Business_Inkjet_3000.ppd.gz
+share/ppd/HP/HP_Color_LaserJet.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_2550.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_2800.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_3000.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_3800.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_4500.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_4550.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_4700.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_4730_MFP.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_5550.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_5M.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_8500.ppd.gz
+share/ppd/HP/HP_Color_LaserJet_8550.ppd.gz
+share/ppd/HP/HP_LaserJet_1200.ppd.gz
+share/ppd/HP/HP_LaserJet_1220.ppd.gz
+share/ppd/HP/HP_LaserJet_1320_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_2100_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_2200.ppd.gz
+share/ppd/HP/HP_LaserJet_2410.ppd.gz
+share/ppd/HP/HP_LaserJet_2420.ppd.gz
+share/ppd/HP/HP_LaserJet_2430.ppd.gz
+share/ppd/HP/HP_LaserJet_3050.ppd.gz
+share/ppd/HP/HP_LaserJet_3052.ppd.gz
+share/ppd/HP/HP_LaserJet_3200.ppd.gz
+share/ppd/HP/HP_LaserJet_3300_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_3390.ppd.gz
+share/ppd/HP/HP_LaserJet_4.ppd.gz
+share/ppd/HP/HP_LaserJet_4000_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_4050_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_4100_MFP.ppd.gz
+share/ppd/HP/HP_LaserJet_4100_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_4240.ppd.gz
+share/ppd/HP/HP_LaserJet_4250.ppd.gz
+share/ppd/HP/HP_LaserJet_4345_MFP.ppd.gz
+share/ppd/HP/HP_LaserJet_4350.ppd.gz
+share/ppd/HP/HP_LaserJet_4ML.ppd.gz
+share/ppd/HP/HP_LaserJet_4MP.ppd.gz
+share/ppd/HP/HP_LaserJet_4Si_v2011.110.ppd.gz
+share/ppd/HP/HP_LaserJet_4V.ppd.gz
+share/ppd/HP/HP_LaserJet_4_Plus.ppd.gz
+share/ppd/HP/HP_LaserJet_5000_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_5100_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_5M.ppd.gz
+share/ppd/HP/HP_LaserJet_5MP.ppd.gz
+share/ppd/HP/HP_LaserJet_5Si.ppd.gz
+share/ppd/HP/HP_LaserJet_5Si_Mopier.ppd.gz
+share/ppd/HP/HP_LaserJet_6MP.ppd.gz
+share/ppd/HP/HP_LaserJet_8000_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_8100_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_8150_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_9000_MFP.ppd.gz
+share/ppd/HP/HP_LaserJet_9000_Series.ppd.gz
+share/ppd/HP/HP_LaserJet_9040.ppd.gz
+share/ppd/HP/HP_LaserJet_9040_9050_MFP.ppd.gz
+share/ppd/HP/HP_LaserJet_9050.ppd.gz
+share/ppd/HP/HP_LaserJet_9055_9065_MFP.ppd.gz
+share/ppd/HP/HP_Mopier_240.ppd.gz
+share/ppd/HP/HP_Mopier_320.ppd.gz
+share/ppd/HP/fax/HP-Fax-hplip.ppd.gz
+share/ppd/HP/hp_LaserJet_1300_series.ppd.gz
+share/ppd/HP/hp_LaserJet_2300.ppd.gz
+share/ppd/HP/hp_LaserJet_3015.ppd.gz
+share/ppd/HP/hp_LaserJet_3020_3030.ppd.gz
+share/ppd/HP/hp_LaserJet_3380.ppd.gz
+share/ppd/HP/hp_LaserJet_4200_Series.ppd.gz
+share/ppd/HP/hp_LaserJet_4300_Series.ppd.gz
+share/ppd/HP/hp_business_inkjet_2300.ppd.gz
+share/ppd/HP/hp_color_LaserJet_2500.ppd.gz
+share/ppd/HP/hp_color_LaserJet_3700.ppd.gz
+share/ppd/HP/hp_color_LaserJet_4600.ppd.gz
+share/ppd/HP/hp_color_LaserJet_4610.ppd.gz
+share/ppd/HP/hp_color_LaserJet_4650.ppd.gz
+share/ppd/HP/hp_color_LaserJet_5500.ppd.gz
+share/ppd/HP/hp_color_LaserJet_9500.ppd.gz
+share/ppd/HP/hp_color_LaserJet_9500_MFP.ppd.gz
+share/ppd/HP/hp_officejet_9100_series.ppd.gz
+@dirrmtry share/applications
+@dirrm share/ppd/HP/fax
+@dirrm share/ppd/HP
+@dirrm share/ppd
+@unexec rm -f %D/%%DATADIR%%/*/*.pyc 2>/dev/null || true
+@dirrm %%DATADIR%%/ui
+@dirrm %%DATADIR%%/scan
+@dirrm %%DATADIR%%/prnt
+@dirrm %%DATADIR%%/plugins
+@dirrm %%DATADIR%%/pcard
+@dirrm %%DATADIR%%/fax/ppd
+@dirrm %%DATADIR%%/fax/backend
+@dirrm %%DATADIR%%/fax
+@dirrm %%DATADIR%%/data/xml
+@dirrm %%DATADIR%%/data/ps
+@dirrm %%DATADIR%%/data/pcl
+@dirrm %%DATADIR%%/data/ldl
+@dirrm %%DATADIR%%/data/images
+@dirrm %%DATADIR%%/data
+@dirrm %%DATADIR%%/base
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm share/doc/hplip-0.9.10
+%%PORTDOCS%%@dirrm share/doc/hpijs-2.1.9
+@dirrm etc/hp