diff --git a/.cvsignore b/.cvsignore
index a8c7a08..f40a1f9 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,6 +1,6 @@
Omni-printers-0.9.0.tar.bz2
-foomatic-db-20030603.tar.gz
-foomatic-db-engine-3.0.0.tar.gz
-foomatic-db-hpijs-1.3.1-4.tar.gz
-foomatic-filters-3.0.0.tar.gz
-gimp-print-foomatic-db-4.2.4.tar.bz2
+foomatic-db-20040112.tar.gz
+foomatic-db-engine-3.0.1rc2.tar.gz
+foomatic-db-hpijs-1.5-20031217.tar.gz
+foomatic-filters-3.0.1rc3.tar.gz
+gimp-print-foomatic-db-4.2.6.tar.bz2
diff --git a/foomatic-2.0.2-fontpath.patch b/foomatic-2.0.2-fontpath.patch
index 6688298..ce6560c 100644
--- a/foomatic-2.0.2-fontpath.patch
+++ b/foomatic-2.0.2-fontpath.patch
@@ -1,10 +1,10 @@
---- foomatic-2.0.2/foomatic-gswrapper.in.fontpath 2003-01-09 10:57:59.000000000 +0000
-+++ foomatic-2.0.2/foomatic-gswrapper.in 2003-01-09 11:00:16.000000000 +0000
-@@ -41,6 +41,7 @@
+--- foomatic-filters-3.0-20031105/foomatic-gswrapper.in.fontpath 2003-10-21 01:34:05.000000000 +0100
++++ foomatic-filters-3.0-20031105/foomatic-gswrapper.in 2003-11-05 10:08:10.000000000 +0000
+@@ -60,6 +60,7 @@
# Execute Ghostscript, with both job and gs errors on stderr, and job
# output on stdout...
+$ENV{'GS_FONTPATH'} = '/usr/share/fonts';
- print STDERR "foomatic-gswrapper: gs $args 3>&1 1>&2\n";
- exec "gs $args 3>&1 1>&2";
+ print STDERR "foomatic-gswrapper: $gspath $args 3>&1 1>&2\n";
+ exec "$gspath $args 3>&1 1>&2";
diff --git a/foomatic-db-engine-libdir.patch b/foomatic-db-engine-libdir.patch
index a1bc149..0645df4 100644
--- a/foomatic-db-engine-libdir.patch
+++ b/foomatic-db-engine-libdir.patch
@@ -1,17 +1,17 @@
---- foomatic-db-engine-3.0.0beta2/configure.in.libdir 2003-04-02 13:01:42.000000000 +0100
-+++ foomatic-db-engine-3.0.0beta2/configure.in 2003-04-02 13:10:00.000000000 +0100
-@@ -42,8 +42,8 @@
+--- foomatic-db-engine-3.0-20031217/configure.in.libdir 2003-11-19 18:31:07.000000000 +0000
++++ foomatic-db-engine-3.0-20031217/configure.in 2003-12-17 13:23:23.975555441 +0000
+@@ -43,8 +43,8 @@
SYSCONFSEARCHPATH=/etc:/usr/etc:/usr/local/etc:/var/etc
SBINSEARCHPATH=/usr/sbin:/sbin:/usr/local/sbin:/etc/sbin
BINSEARCHPATH=/usr/bin:/bin:/usr/local/bin
-DATASEARCHPATH=/usr/share:/usr/local/share:/usr/lib:/usr/local/lib:/opt
--LIBSEARCHPATH=/usr/lib:/lib:/usr/local/lib:/opt
+-LIBSEARCHPATH=/usr/lib:/lib:/usr/local/lib:/usr/local/libexec:/opt
+DATASEARCHPATH=/usr/share:/usr/local/share:$libdir:/usr/local/lib:/opt
-+LIBSEARCHPATH=$libdir:/lib:/usr/local/lib:/opt
++LIBSEARCHPATH=$libdir:/lib:/usr/local/lib:/usr/local/libexec:/opt
PTALPIPESSEARCHPATH=/var/run:/var:/var/ptal:/usr/var/run:/usr/var:/usr/var/ptal:/usr/local/var/run:/usr/local/var:/usr/local/var/ptal:/dev:/dev/ptal
MTINKPIPESSEARCHPATH=/var:/var/run:/usr/var/:/usr/var/run:/usr/local/var:/usr/local/var/run:/dev
-@@ -106,8 +106,8 @@
+@@ -218,8 +218,8 @@
AC_PATH_PROGS(CUPS_ADMIN,lpadmin,/usr/sbin/lpadmin,$SBINSEARCHPATH)
AC_PATH_PROGS(CUPS_LPSTAT,lpstat,/usr/bin/lpstat,$BINSEARCHPATH)
AC_PATH_DIRS(CUPS_PPDS,cups/model,/usr/share/cups/model,$DATASEARCHPATH)
@@ -22,13 +22,13 @@
AC_PATH_PROGS(CUPS_PCONF,cups/printers.conf,$CUPS_ETC/printers.conf,$SYSCONFSEARCHPATH)
AC_PATH_PROGS(CUPS_LPR,lpr-cups lpr,/usr/bin/lpr,$BINSEARCHPATH)
AC_PATH_PROGS(CUPS_LPQ,lpq-cups lpq,/usr/bin/lpq,$BINSEARCHPATH)
-@@ -124,15 +124,15 @@
+@@ -236,15 +236,15 @@
AC_PATH_PROGS(CUPS_LPINFO,lpinfo,/usr/sbin/lpinfo,$SBINSEARCHPATH)
dnl Paths for PDQ
--AC_PATH_DIRS(PDQ_CONF,pdq,/usr/lib/pdq,$SYSCONFSEARCHPATH:$LIBSEARCHPATH)
-+AC_PATH_DIRS(PDQ_CONF,pdq,$libdir/pdq,$SYSCONFSEARCHPATH:$LIBSEARCHPATH)
- AC_PATH_PROGS(PDQ_PRINTRC,pdq/printrc,$PDQ_CONF/printrc,$SYSCONFSEARCHPATH:$LIBSEARCHPATH)
+-AC_PATH_DIRS(PDQ_CONF,pdq,/usr/lib/pdq,$SYS_LIB_PATH)
++AC_PATH_DIRS(PDQ_CONF,pdq,$libdir/pdq,$SYS_LIB_PATH)
+ AC_PATH_PROGS(PDQ_PRINTRC,pdq/printrc,$PDQ_CONF/printrc,$SYS_LIB_PATH)
dnl PDQ_FOOMATIC=$PDQ_CONF/drivers/foomatic
AC_PATH_PROGS(PDQ_PRINT,pdq lpr-pdq,/usr/bin/pdq,$BINSEARCHPATH)
dnl PDQ_JOBDIR=~/.printjobs
diff --git a/foomatic-filters-libdir.patch b/foomatic-filters-libdir.patch
index b963600..256858b 100644
--- a/foomatic-filters-libdir.patch
+++ b/foomatic-filters-libdir.patch
@@ -1,38 +1,36 @@
---- foomatic-filters-3.0.0beta2/configure.in.libdir 2003-04-02 12:56:22.000000000 +0100
-+++ foomatic-filters-3.0.0beta2/configure.in 2003-04-02 13:00:49.000000000 +0100
-@@ -14,8 +14,8 @@
+--- foomatic-filters-3.0-20031217/configure.in.libdir 2003-12-01 20:41:56.000000000 +0000
++++ foomatic-filters-3.0-20031217/configure.in 2003-12-17 13:17:59.827918013 +0000
+@@ -13,7 +13,7 @@
+ AC_PROG_MAKE_SET
- SYSCONFSEARCHPATH=/etc:/usr/etc:/usr/local/etc:/var/etc
- BINSEARCHPATH=/usr/bin:/bin:/usr/local/bin
--DATASEARCHPATH=/usr/share:/usr/local/share:/usr/lib:/usr/local/lib:/opt
--LIBSEARCHPATH=/usr/lib:/lib:/usr/local/lib:/opt
-+DATASEARCHPATH=/usr/share:/usr/local/share:$libdir:/usr/local/lib:/opt
-+LIBSEARCHPATH=$libdir:/lib:/usr/local/lib:/opt
+ ETCSEARCHPATH=${prefix}/etc:/usr/etc:/usr/local/etc
+-LIBSEARCHPATH=${prefix}/lib:/usr/lib:/usr/local/lib:${prefix}/libexec:/usr/libexec:/usr/local/libexec
++LIBSEARCHPATH=$libdir:/usr/local/lib:${prefix}/libexec:/usr/libexec:/usr/local/libexec
- dnl Check for Perl
- AC_PATH_PROGS(PERL,perl,/usr/bin/perl,$BINSEARCHPATH)
-@@ -24,19 +24,19 @@
- AC_PATH_PROGS(PRINTCAP,printcap,/etc/printcap,$SYSCONFSEARCHPATH)
+ dnl Get the operating system and version number...
+ uname=`uname`
+@@ -38,19 +38,19 @@
+ AC_PATH_DIR(PRINTCAP,printcap,/etc/printcap,$ETCSEARCHPATH)
dnl Check for /usr/lib/cups
--AC_PATH_DIRS(CUPS,cups,/usr/lib/cups,$LIBSEARCHPATH)
-+AC_PATH_DIRS(CUPS,cups,$libdir/cups,$LIBSEARCHPATH)
+-AC_PATH_DIR(CUPS,cups,/usr/lib/cups,$LIBSEARCHPATH)
++AC_PATH_DIR(CUPS,cups,$libdir/cups,$LIBSEARCHPATH)
dnl Check for /usr/lib/cups/filter
--AC_PATH_DIRS(CUPS_FILTERS,cups/filter,/usr/lib/cups/filter,$LIBSEARCHPATH)
-+AC_PATH_DIRS(CUPS_FILTERS,cups/filter,$libdir/cups/filter,$LIBSEARCHPATH)
+-AC_PATH_DIR(CUPS_FILTERS,cups/filter,/usr/lib/cups/filter,$LIBSEARCHPATH)
++AC_PATH_DIR(CUPS_FILTERS,cups/filter,$libdir/cups/filter,$LIBSEARCHPATH)
dnl Check for /usr/lib/ppr
--AC_PATH_DIRS(PPR,ppr,/usr/lib/ppr,$LIBSEARCHPATH)
-+AC_PATH_DIRS(PPR,ppr,$libdir/ppr,$LIBSEARCHPATH)
+-AC_PATH_DIR(PPR,ppr,/usr/lib/ppr,$LIBSEARCHPATH)
++AC_PATH_DIR(PPR,ppr,$libdir/ppr,$LIBSEARCHPATH)
dnl Check for /usr/lib/ppr/interfaces
--AC_PATH_DIRS(PPR_INTERFACES,ppr/interfaces,/usr/lib/ppr/interfaces,$LIBSEARCHPATH)
-+AC_PATH_DIRS(PPR_INTERFACES,ppr/interfaces,$libdir/ppr/interfaces,$LIBSEARCHPATH)
+-AC_PATH_DIR(PPR_INTERFACES,ppr/interfaces,/usr/lib/ppr/interfaces,$LIBSEARCHPATH)
++AC_PATH_DIR(PPR_INTERFACES,ppr/interfaces,$libdir/ppr/interfaces,$LIBSEARCHPATH)
dnl Check for /usr/lib/ppr/lib
--AC_PATH_DIRS(PPR_LIB,ppr/lib,/usr/lib/ppr/lib,$LIBSEARCHPATH)
-+AC_PATH_DIRS(PPR_LIB,ppr/lib,$libdir/ppr/lib,$LIBSEARCHPATH)
+-AC_PATH_DIR(PPR_LIB,ppr/lib,/usr/lib/ppr/lib,$LIBSEARCHPATH)
++AC_PATH_DIR(PPR_LIB,ppr/lib,$libdir/ppr/lib,$LIBSEARCHPATH)
- dnl AC_OUTPUT(Makefile src/Makefile)
- AC_OUTPUT(Makefile makeMan foomatic-gswrapper foomatic-rip)
+ AC_ARG_ENABLE(file-converter-check, [ --enable-file-converter-check check whether a file converter is installed [default=yes]],
+ [if eval "test x${enableval} = xno"; then
diff --git a/foomatic-ppdload-ppd.patch b/foomatic-ppdload-ppd.patch
new file mode 100644
index 0000000..d8d20fc
--- /dev/null
+++ b/foomatic-ppdload-ppd.patch
@@ -0,0 +1,19 @@
+--- foomatic-db-20031218/db/source/driver/ppd.xml.ppdload-ppd 2003-12-19 16:28:30.329536790 +0000
++++ foomatic-db-20031218/db/source/driver/ppd.xml 2003-12-19 16:19:55.317656589 +0000
+@@ -0,0 +1,16 @@
++
++ Postscript PPD
++ http://www.adobe.com/products/printerdrivers/winppd.html
++
++
++ cat %A%Z
++
++
++ PPD Postscript driver. You can use foomatic-ppdload to add ppd information
++for a particular printer into the foomatic database. Then, when you use that printer
++together with this driver with any Foomatic backend, the options defined in the PPD
++file will be available.
++
++
++
++
diff --git a/foomatic-ppdload.patch b/foomatic-ppdload.patch
new file mode 100644
index 0000000..2acebd0
--- /dev/null
+++ b/foomatic-ppdload.patch
@@ -0,0 +1,201 @@
+--- foomatic-db-engine-3.0-20031217/foomatic-ppdload.in.ppdload 2003-12-19 15:26:40.360620848 +0000
++++ foomatic-db-engine-3.0-20031217/foomatic-ppdload.in 2003-12-19 15:26:56.289725866 +0000
+@@ -0,0 +1,118 @@
++#!@PERL@
++
++use Getopt::Std;
++getopts("hdR:");
++help() if $opt_h;
++
++use Foomatic::PPD;
++use Foomatic::Defaults;
++
++my $file;
++my $printer;
++
++if ($opt_R) { # Remove entry
++ $printer = $opt_R;
++} else { # Add entry
++ $file = $ARGV[0];
++ $printer = $ARGV[1];
++}
++
++if (!$opt_R) { # Add entry
++
++ if (! -f "$libdir/db/source/printer/$printer.xml") {
++ die "Printer $printer does not seem to exist in the database!\n";
++ }
++
++ if (! -f $file) {
++ die "The PPD file you specified, $file, does not seem to exist!\n";
++ }
++
++ # Load the PPD
++ my $p = new Foomatic::PPD $file, $printer;
++
++ if ($opt_d) {
++ # Parser PPD structure dump
++ use Data::Dumper;
++ local $Data::Dumper::Purity=1;
++ local $Data::Dumper::Indent=1;
++ print Dumper($p);
++ } else {
++ # Normal behavior, save as various option files by ID
++ my @opts = $p->foo_options();
++ for (@opts) {
++ my ($id, $xml) = ($_->{'id'}, $_->{'xml'});
++
++ my $ofile = "$libdir/db/source/opt/$id.xml";
++ open TMP, ">$ofile" or die "Cannot write $ofile!\n";
++ print STDERR "Writing $ofile\n";
++ print TMP join('',@{$xml});
++ close TMP;
++ }
++
++ # Add this printer to the ppd driver
++
++ # Read the driver entry file
++ open PPDENTRY, "< $libdir/db/source/driver/ppd.xml" or
++ die "Cannot read $libdir/db/source/driver/ppd.xml!\n";
++ print STDERR "Reading $libdir/db/source/driver/ppd.xml\n";
++ $ppdentry = join('', );
++ close PPDENTRY;
++
++ # Either we've got it already
++ my $found =
++ ($ppdentry =~ m![\s\n]*printer/$printer[\s\n]*!s);
++
++ # Or we need to append a new item and write the file
++ if (! $found) {
++ $ppdentry =~ s!^(\s*)!$1 \n$1 printer/$printer\n$1 \n$1!m;
++ open PPDENTRY, "> $libdir/db/source/driver/ppd.xml" or
++ die "Cannot write $libdir/db/source/driver/ppd.xml!\n";
++ print STDERR "Writing $libdir/db/source/driver/ppd.xml\n";
++ print PPDENTRY $ppdentry;
++ close PPDENTRY;
++ } else {
++ print STDERR "Printer $printer already registered as supported by the \"ppd\" driver!\n";
++ }
++ }
++} else { # Remove entry
++ # Read the driver entry file
++ open PPDENTRY, "< $libdir/db/source/driver/ppd.xml" or
++ die "Cannot read $libdir/db/source/driver/ppd.xml!\n";
++ print STDERR "Reading $libdir/db/source/driver/ppd.xml\n";
++ $ppdentry = join('', );
++ close PPDENTRY;
++
++ # Do we have the requested entry?
++ my $found =
++ ($ppdentry =~ m![\s\n]*printer/$printer[\s\n]*!s);
++
++ # Then we have to remove it and to write the file
++ if ($found) {
++ $ppdentry =~ s!\n+\s*[\s\n]*printer/$printer[\s\n]*\s*\n+!\n!sg;
++ open PPDENTRY, "> $libdir/db/source/driver/ppd.xml" or
++ die "Cannot write $libdir/db/source/driver/ppd.xml!\n";
++ print STDERR "Writing $libdir/db/source/driver/ppd.xml\n";
++ print PPDENTRY $ppdentry;
++ close PPDENTRY;
++ } else {
++ print STDERR "Printer $printer not registered as supported by the \"ppd\" driver!\n";
++ }
++ # Remove the option entries
++ system("rm -f $libdir/db/source/opt/ppd-${printer}-*.xml");
++}
++
++exit(0);
++
++sub help {
++ select STDERR;
++ print "\n";
++ print "Usage: foomatic-ppdload filename.ppd printer-id\n";
++ print " foomatic-ppdload -R printer-id\n";
++ print "\n";
++ print " The first form adds the printer with the ID printer-id\n";
++ print " and the PPD file filename.ppd to the \"ppd\" driver,\n";
++ print " the second form removes the printer with the ID\n";
++ print " printer-id from the \"ppd\" driver.\n";
++ print "\n";
++ exit(1);
++}
+--- foomatic-db-engine-3.0-20031217/foomatic-ppdload.8.in.ppdload 2003-12-19 15:26:45.290034426 +0000
++++ foomatic-db-engine-3.0-20031217/foomatic-ppdload.8.in 2003-12-19 15:26:56.034756198 +0000
+@@ -0,0 +1,47 @@
++.\" This -*- nroff -*- source file is part of foomatic.
++.\"
++.TH FOOMATIC-PPDLOAD 8 "2001-05-07" "Foomatic Project"
++.SH NAME
++foomatic-ppdload \-
++.SH SYNOPSIS
++.B foomatic-ppdload \-h
++
++.B foomatic-ppdload
++\fIfilename.ppd printer-id\fR
++
++.B foomatic-ppdload \-R
++\fIprinter-id\fR
++
++.SH DESCRIPTION
++.B foomatic-ppdload
++takes a ppd filename and a printer ID as arguments. It
++parses a PPD file and writes option data into the foomatic database
++for use with the foomatic "ppd" driver and that printer.
++
++With the \fB-R\fR option you can remove a printer from the "ppd"
++driver, and with \fB-h\fR a short help text is shown.
++
++Right now, it will handle Boolean and PickOne options that go in the
++Prolog, DocumentSetup, or PageSetup spots. Also, PPD interoption
++constraints (not to be confused with foomatic option to printer and
++driver mapping constraints) are not supported by foomatic. And of
++course, the interesting color and font information from the PPD has
++no place in the current foomatic schema. All this will change over
++time.
++
++
++.\".SH SEE ALSO
++.\".IR foomatic-XXX (1),
++
++.SH EXIT STATUS
++.B foomatic-ppdload
++returns ...
++
++.SH AUTHOR
++Manfred Wassmann <\fImanolo@NCC-1701.B.Shuttle.de\fR> for the foomatic
++project using output from the associated binary.
++
++.SH BUGS
++There are several limitations, but it's an interesting experiment.
++
++Please send bug reports to foomatic-devel@linuxprinting.org.
+--- foomatic-db-engine-3.0-20031217/configure.in.ppdload 2003-12-19 15:27:03.188905120 +0000
++++ foomatic-db-engine-3.0-20031217/configure.in 2003-12-19 15:27:21.165766554 +0000
+@@ -280,7 +280,7 @@
+ foomatic-configure foomatic-printjob foomatic-kitload
+ foomatic-ppdfile foomatic-preferred-driver foomatic-cleanupdrivers
+ foomatic-getpjloptions foomatic-addpjloptions
+-foomatic-compiledb foomatic-fix-xml
++foomatic-compiledb foomatic-fix-xml foomatic-ppdload
+ foomatic-nonumericalids foomatic-replaceoldprinterids
+ foomatic-ppd-options
+ )
+--- foomatic-db-engine-3.0-20031217/Makefile.in.ppdload 2003-12-19 15:27:25.217284580 +0000
++++ foomatic-db-engine-3.0-20031217/Makefile.in 2003-12-19 15:28:09.349034667 +0000
+@@ -145,6 +145,7 @@
+ foomatic-kitload foomatic-ppdfile foomatic-preferred-driver \
+ foomatic-cleanupdrivers foomatic-getpjloptions \
+ foomatic-addpjloptions foomatic-compiledb foomatic-fix-xml \
++ foomatic-ppdload \
+ foomatic-nonumericalids foomatic-replaceoldprinterids \
+ foomatic-ppd-options
+
+@@ -155,7 +156,7 @@
+ foomatic-ppd-options
+
+ # Administrative commands, only useful for admins
+-SBINFILES:=foomatic-kitload \
++SBINFILES:=foomatic-kitload foomatic-ppdload \
+ foomatic-getpjloptions foomatic-addpjloptions \
+ foomatic-preferred-driver foomatic-fix-xml \
+ foomatic-nonumericalids foomatic-replaceoldprinterids
diff --git a/foomatic.spec b/foomatic.spec
index 9f0228c..f6b7ab2 100644
--- a/foomatic.spec
+++ b/foomatic.spec
@@ -1,11 +1,12 @@
-%define dbver 20030603
-%define enginever 3.0.0
-%define hpijsver 1.3.1-4
+%define dbver 20040112
+%define enginever 3.0.1rc2
+%define filtersver 3.0.1rc3
+%define hpijsver 1.5-20031217
Summary: Foomatic printer database.
Name: foomatic
Version: 3.0.0
-Release: 9
+Release: 21.3
License: GPL
Group: System Environment/Libraries
@@ -15,7 +16,7 @@ Group: System Environment/Libraries
# tar cjf foomatic-1.9-$NOW.tar.bz2 foomatic
Source0: http://www.linuxprinting.org/download/foomatic/foomatic-db-engine-%{enginever}.tar.gz
-Source1: http://www.linuxprinting.org/download/foomatic/foomatic-filters-%{enginever}.tar.gz
+Source1: http://www.linuxprinting.org/download/foomatic/foomatic-filters-%{filtersver}.tar.gz
Source2: http://www.linuxprinting.org/download/foomatic/foomatic-db-%{dbver}.tar.gz
Source3: http://www.linuxprinting.org/download/foomatic/foomatic-db-hpijs-%{hpijsver}.tar.gz
@@ -23,10 +24,7 @@ Source3: http://www.linuxprinting.org/download/foomatic/foomatic-db-hpijs-%{hpij
Source4: Omni-printers-0.9.0.tar.bz2
# The foomatic-db info from gimp-print (--with-ijs --with-foomatic)
-Source5: gimp-print-foomatic-db-4.2.4.tar.bz2
-
-# Look in /usr/local/bin last, not first, in lpdomatic (bug #57915).
-Patch0: foomatic-filters-path.patch
+Source5: gimp-print-foomatic-db-4.2.6.tar.bz2
# Use libdir.
Patch1: foomatic-filters-libdir.patch
@@ -35,15 +33,25 @@ Patch2: foomatic-db-engine-libdir.patch
# Set GS_FONTPATH in gs wrapper (bug #81410).
Patch5: foomatic-2.0.2-fontpath.patch
-# This device doesn't advertise an IEEE 1284 ID, but it's a USB
-# device so we can figure it out at that level.
-Patch6: foomatic-2.0.2-hpdj656c.patch
+# Reinstate ppdload long enough for me to work around its disappearance.
+Patch6: foomatic-ppdload.patch
+Patch7: foomatic-ppdload-ppd.patch
-# Add some Dell printers.
-Patch7: foomatic-db-dell.patch
+# Allow pxlmono for HP LaserJet 5
+Patch8: foomatic-hplj5.patch
+
+# Don't break gimp-print driver
+Patch9: foomatic-printoutmode.patch
+
+# Make foomatic-ppdfile accept '-t type' like foomatic-datafile used to.
+Patch10: foomatic-db-engine-compat.patch
+
+# Fix up HP Color Inkjet CP1700 support.
+Patch11: foomatic-db-hpijs-hpijs15.patch
Url: http://www.linuxprinting.org
BuildRequires: perl >= 3:5.8.1
+BuildRequires: libxml2-devel
Requires: perl >= 3:5.8.1
BuildRoot: %_tmppath/%name-%version-%release-root
Provides: perl(Foomatic::GrovePath)
@@ -60,6 +68,7 @@ BuildRequires: perl-URI
# We need ghostscript to have the gimp-print-4.2.0 driver, and hpijs 1.1.
Conflicts: ghostscript < 7.05
+Conflicts: hpijs < 1.5
%description
Foomatic is a comprehensive, spooler-independent database of printers,
@@ -78,21 +87,27 @@ The site http://www.linuxprinting.org/ is based on this database.
%prep
%setup -q -c -a 1 -a 2 -a 3
-pushd foomatic-filters-%{enginever}
-%patch0 -p1 -b .path
+pushd foomatic-filters-%{filtersver}
%patch1 -p1 -b .libdir
%patch5 -p1 -b .fontpath
./make_configure
popd
pushd foomatic-db-engine-%{enginever}
+chmod a+x mkinstalldirs
%patch2 -p1 -b .libdir
+%patch6 -p1 -b .ppdload
+%patch10 -p1 -b .compat
./make_configure
popd
+pushd foomatic-db-hpijs-%{hpijsver}
+%patch11 -p1 -b .hpijs15
+popd
+
pushd foomatic-db-%{dbver}
-%patch6 -p1 -b .hpdj656c
-%patch7 -p1 -b .dell
+%patch7 -p1 -b .ppdload-ppd
+%patch8 -p1 -b .hplj5
# Omni printers
tar xjf %{SOURCE4}
@@ -101,12 +116,16 @@ tar xjf %{SOURCE4}
rm db/source/driver/stp.xml
pushd db/source
tar xjf %{SOURCE5}
+# Fix up 'gimp-print' references to point to 'gimp-print-ijs'.
+perl -pi -e 's,>gimp-print<,>gimp-print-ijs<,' printer/*.xml
popd
+rm -f db/source/opt/gimp-print-printoutmode.xml
+%patch9 -p1 -b .printoutmode
popd
%build
-pushd foomatic-filters-%{enginever}
+pushd foomatic-filters-%{filtersver}
%configure
make PREFIX=%{_prefix} CFLAGS="$RPM_OPT_FLAGS"
popd
@@ -129,7 +148,7 @@ popd
%install
rm -rf $RPM_BUILD_ROOT
-pushd foomatic-filters-%{enginever}
+pushd foomatic-filters-%{filtersver}
eval `perl '-V:installvendorlib' '-V:installvendorarch'`
mkdir -p $RPM_BUILD_ROOT/$installvendorlib
export INSTALLSITELIB=$RPM_BUILD_ROOT/$installvendorlib
@@ -188,10 +207,14 @@ sed -e 's|^\(.*\) \(.*\)$|s,printer/\1,printer/\2,g;|' \
chmod a+x convert-printerids.pl
./convert-printerids.pl %{buildroot}%{_datadir}/foomatic/db/source/{opt,driver}/*.xml
+# Use relative, not absolute, symlink for CUPS filter.
+ln -sf ../../../bin/foomatic-rip %{buildroot}%{_libdir}/cups/filter/foomatic-rip
+
# Remove things we don't ship.
rm -rf $RPM_BUILD_ROOT%{_libdir}/perl5/site_perl \
- $RPM_BUILD_ROOT%{_libdir}/ppr
-find $RPM_BUILD_ROOT -name .packlist | xargs rm -f
+ $RPM_BUILD_ROOT%{_libdir}/ppr \
+ $RPM_BUILD_ROOT%{_sysconfdir}/foomatic/filter.conf.sample
+find $RPM_BUILD_ROOT -name .packlist -o -name '*.xml.*' | xargs rm -f
%post
# Try to rebuild the printconf data
@@ -225,6 +248,80 @@ rm -fr %buildroot $RPM_BUILD_DIR/%{name}
%{_mandir}/*/*
%changelog
+* Mon Feb 9 2004 Tim Waugh 3.0.0-21.3
+- Fix up HP Color Inkjet CP1700 support.
+
+* Mon Jan 26 2004 Tim Waugh 3.0.0-21.2
+- Remove PrintoutMode option from gimp-print driver to avoid breaking it.
+- Upgrade filters to 3.0.1rc3.
+- Upgrade engine to 3.0.1rc2.
+- No longer need symlink patch.
+
+* Mon Jan 19 2004 Tim Waugh 3.0.0-21.1
+- Build for Fedora Core 1 printer drivers update.
+- Downgrade filters back down to 3.0.0.
+
+* Mon Jan 12 2004 Tim Waugh 3.0.0-21
+- Build for Fedora Core 1 printer drivers update.
+- Revert Omni update temporarily.
+- Downgrade engine to 20031217 to stick to the stable branch.
+
+* Mon Jan 12 2004 Tim Waugh 3.0.0-20
+- Updated Omni printers to 0.9.1.
+
+* Mon Jan 12 2004 Tim Waugh 3.0.0-19
+- Build for Fedora Core 1 printer drivers update.
+- No longer need symlink patch.
+- Updated fontpath patch.
+- Updated engine to 20040112.
+- Updated db to 20040112.
+- Updated gimp-print data to 4.2.6.
+
+* Tue Jan 6 2004 Tim Waugh 3.0.0-18
+- Build for Fedora Core 1 printer drivers update.
+- Explicitly state conflict with hpijs < 1.5.
+- Make foomatic-ppdfile accept '-t type' like foomatic-datafile used to.
+
+* Tue Dec 23 2003 Tim Waugh 3.0.0-17
+- Fix up gimp-print XML (bug #112574).
+
+* Fri Dec 19 2003 Tim Waugh 3.0.0-16
+- Need the ppd driver too.
+
+* Fri Dec 19 2003 Tim Waugh 3.0.0-15
+- Reinstate ppdload long enough for me to work around its disappearance.
+
+* Thu Dec 18 2003 Tim Waugh
+- Updated db to 20031218.
+- No longer need hpdj656, dell, mc3100 patches.
+
+* Wed Dec 17 2003 Tim Waugh 3.0.0-14
+- Updated db to 20031217.
+- Updated engine to 20031217.
+- Updated hpijs to 1.5-20031217.
+- Use relative symlinks.
+
+* Fri Dec 12 2003 Tim Waugh 3.0.0-13
+- Add Minolta magicolor 3100.
+
+* Tue Dec 2 2003 Tim Waugh
+- Don't ship backup files.
+
+* Fri Nov 29 2003 Tim Waugh 3.0.0-12
+- Undo over-zealous percent escaping in PostScript.xml
+- Build requires libxml2-devel (bug #110589).
+- Use relative, not absolute, symlink for CUPS filter.
+
+* Fri Nov 7 2003 Tim Waugh 3.0.0-11
+- Add pxlmono driver for HP LaserJet 5 (bug #109378).
+
+* Wed Nov 5 2003 Tim Waugh 3.0.0-10
+- Updated db to 20031105.
+- Drop filters path patch.
+- Updated fontpath patch, both libdir patches.
+- Updated engine and filters to 3.0-20031105.
+- Updated hpijs db to 1.4-1.
+
* Mon Oct 27 2003 Tim Waugh 3.0.0-9
- Recommend omni-compiled for Omni drivers (bug #107965).
@@ -296,7 +393,7 @@ rm -fr %buildroot $RPM_BUILD_DIR/%{name}
* Thu Jan 21 2003 Tim Waugh 2.0.2-11
- Add autodetect info for HP DeskJet 656C. It doesn't really do
- IEEE 1284 IDs, but since it's a USB device we can figure out it's
+ IEEE 1284 IDs, but since it's a USB device we can figure out its
manufacturer and model anyway.
* Thu Jan 9 2003 Tim Waugh 2.0.2-10
diff --git a/sources b/sources
index cb90448..d8ea8f5 100644
--- a/sources
+++ b/sources
@@ -1,6 +1,6 @@
0185122c75ff716a0834f5a16c3692fd Omni-printers-0.9.0.tar.bz2
-819cea2a2c899cf2789bc2bfc0e567e0 foomatic-db-20030603.tar.gz
-a3c0b0fc6662a7b9afab09cbe74bb292 foomatic-db-engine-3.0.0.tar.gz
-23a5a96ac71eb703a59d6e8ab0c22de2 foomatic-db-hpijs-1.3.1-4.tar.gz
-970e7fed64ee9f56e28ccd798af88918 foomatic-filters-3.0.0.tar.gz
-850219028293910381b5b229883da78d gimp-print-foomatic-db-4.2.4.tar.bz2
+0bdddcd2a8d188a49312d6a83e9d2cb7 foomatic-db-20040112.tar.gz
+866fb29353df43dff019ef1033a05b41 foomatic-db-engine-3.0.1rc2.tar.gz
+118783f0dd57de92f93b3715a7fa38f7 foomatic-db-hpijs-1.5-20031217.tar.gz
+6df5bbf9066aba767da53827ffd82e1d foomatic-filters-3.0.1rc3.tar.gz
+7be2492cf281c300f0ac843ad65e5419 gimp-print-foomatic-db-4.2.6.tar.bz2