Skip to content

Commit 079e625

Browse files
committed
libppd 2.0b1 Release
1 parent 66ff59b commit 079e625

3 files changed

Lines changed: 151 additions & 1739 deletions

File tree

CHANGES.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# CHANGES - libppd v2.0b1 - 2022-11-14
1+
# CHANGES - libppd v2.0b1 - 2022-11-17
22

3-
## CHANGES IN V2.0b1 (TBA)
3+
## CHANGES IN V2.0b1 (17th November 2022)
44

55
- Added the new libppd library overtaking all the PPD handling
66
functions from libcups, CUPS' ppdc utility (PPD compiler using *.drv
77
files), and the PPD file collection handling functionality from
8-
cups-driverd, as they are deprecated there and will probably get
9-
removed with the next CUPS version. This form of conservation is
10-
mainly intended for converting classic printer drivers which use
11-
PPDs into Printer Applications without completely rewriting them.
8+
cups-driverd, as they are deprecated there and will get removed in
9+
CUPS 3.x. This form of conservation is mainly intended for
10+
converting classic printer drivers which use PPDs into Printer
11+
Applications without completely rewriting them.
1212

1313
- Added functions ppdLoadAttributes(), ppdFilterLoadPPD(),
1414
ppdFilterLoadPPDFile(), ppdFilterFreePPD(), and

INSTALL

Lines changed: 38 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,51 @@
1-
INSTALL - OpenPrinting libppd v2.0b1 - 2022-11-14
1+
INSTALL - OpenPrinting libppd v2.0b1 - 2022-11-17
22
-------------------------------------------------
33

4-
This file describes how to compile and install OpenPrinting CUPS
5-
Filters from source code. For more information on OpenPrinting CUPS
6-
Filters see the file called "README.txt". A complete change log can
7-
be found in "CHANGES.txt".
8-
9-
**** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT ****
10-
**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL ****
11-
**** GHOSTSCRIPT WITH AT LEAST THE "cups", "pwgraster", ****
12-
**** "appleraster", "urf", "pclm", "pclm8", "pdfwrite", ****
13-
**** "pdfimage24", "pdfimage32", "pdfimage8" DRIVERS AFTER ****
14-
**** YOU INSTALL CUPS AND BEFORE YOU INSTALL THIS PACKAGE. ****
15-
4+
This file describes how to compile and install OpenPrinting libppd
5+
from source code. For more information on OpenPrinting libppd see the
6+
file called "README.md". A complete change log can be found in
7+
"CHANGES.md".
168

179
BEFORE YOU BEGIN
1810

19-
You'll need ANSI-compliant C and C++ compilers, plus a make program and
20-
POSIX-compliant shell (/bin/sh). The GNU compiler tools and Bash work well
21-
and we have tested the current CUPS code against several versions of GCC
22-
with excellent results.
23-
24-
The Makefiles used by the project should work with most versions of make.
25-
We've tested them with GNU make as well as the make programs shipped by
26-
Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake) since BSD
27-
make does not support "include".
28-
29-
Poppler, freetype, fontconfig, and liblcms (liblcms2 recommended)
30-
must be installed to be able to compile this package.
11+
You'll need ANSI-compliant C and C++ compilers, plus a make
12+
program and POSIX-compliant shell (/bin/sh). The GNU compiler
13+
tools and Bash work well and we have tested the current CUPS code
14+
against several versions of GCC with excellent results.
3115

32-
Note that Poppler has to be compiled with the
33-
"--enable-poppler-cpp" configure option (or the
34-
"libpoppler-cpp-dev(el)" package has to be installed if the
35-
Poppler packages from a Linux distribution are used).
16+
The Makefiles used by the project should work with most versions
17+
of make. We've tested them with GNU make as well as the make
18+
programs shipped by Compaq, HP, SGI, and Sun. BSD users should
19+
use GNU make (gmake) since BSD make does not support "include".
3620

37-
Besides these tools you'll want the JPEG, PNG, TIFF, ZLIB libraries for
38-
image support. CUPS Filters will compile and run without these, however
39-
you'll miss out on many of the features provided by CUPS Filters.
40-
41-
To get cups-browsed, the daemon to browse Bonjour broadcasts of
42-
remote CUPS queues and make the queues available locally, you also
43-
need libavahi-common and libavahi-client.
21+
libcups of CUPS 2.2.2 or newer and libcupsfilters 2.0.0 or newer
22+
must be installed to be able to compile this package. As none of
23+
the PPD-file-supporting functions in libcups are used, porting
24+
this library to use libcups3 (of CUPS 3.x) should be easy, or
25+
libppd will already just work with libcups3.
4426

4527
COMPILING THE GIT REPOSITORY CODE
4628

47-
The CUPS Filters GIT repository doesn't hold a copy of the pre-built
48-
configure script. You'll need to run the GNU autoconf software (2.65 or
49-
higher) to create it:
29+
The libppd GIT repository doesn't hold a copy of the pre-built
30+
configure script. You'll need to run the GNU autoconf software
31+
(2.65 or higher) to create it:
5032

5133
./autogen.sh
5234

5335

5436
CONFIGURATION
5537

56-
CUPS Filters uses GNU autoconf, so you should find the usual "configure"
57-
script in the main CUPS Filters source directory. To configure CUPS
58-
Filters for your system, type:
38+
libppd uses GNU autoconf, so you should find the usual "configure"
39+
script in the main libppd source directory. To configure libppd
40+
for your system, type:
5941

6042
./configure
6143

62-
The default installation will put the CUPS Filters software in the
63-
"/etc" and "/usr" directories on your system, which will overwrite
64-
some of the original filters and their auxiliary files of CUPS
65-
1.5.x or earlier and the auxiliary files of bannertops in all CUPS
66-
versions including version 1.6.x (see also the section "PACKAGING
67-
THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS" below). The
68-
system will still have the same functionality as before, but CUPS
69-
will not convert all incoming files into PostScript any more, it
70-
will convert them into PDF instead and after applying page
71-
management (N-up, selected pages, reverse order, ...) by the
72-
pdftopdf filter and convert PDF into the printer's native format
73-
then (PDF-based printing workflow). CUPS 1.6.x or later does not
74-
contain any filters which this package provides. It requires the
75-
installation of this package for printing with filters and drivers
76-
under Linux (or other non-Mac-OS-X operation systems).
77-
78-
Use the "--prefix" option to install the CUPS Filters software in another
79-
location:
44+
The default installation will put the libppd software into the
45+
"/usr" directory on your system.
46+
47+
Use the "--prefix" option to install the libppd software into
48+
another location:
8049

8150
./configure --prefix=/some/directory
8251

@@ -129,57 +98,12 @@ INSTALLING THE SOFTWARE
12998

13099
PACKAGING THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS
131100

132-
The use of cups-filters is supported for CUPS from version 1.5.x
133-
on (to switch to the PDF-based printing workflow already now) and
134-
required for CUPS 1.6.x (as it does not ship a complete filter set
135-
any more). In both cases cups-filters ships some files which exist
136-
also in CUPS, but the versions of cups-filters have to be used to
137-
assure that printing works correctly. So in the packaging of CUPS
138-
the files should be removed.
139-
140-
Use the alternatives facility (see update-alternatives(8)) only if
141-
your CUPS version is 1.5.x and you want to make the use of
142-
cups-filters optional. Note that then the files of cups-filters
143-
need to have priority.
144-
145-
When using cups-filters with CUPS 1.5.x, many of the original CUPS
146-
filters get replaced or at least useless. Please remove the
147-
following files from your CUPS package:
148-
149-
/usr/lib/cups/backend/serial
150-
/usr/lib/cups/backend/parallel
151-
/usr/lib/cups/filter/bannertops
152-
/usr/lib/cups/filter/commandtoescpx
153-
/usr/lib/cups/filter/commandtopclx
154-
/usr/lib/cups/filter/imagetops
155-
/usr/lib/cups/filter/imagetoraster
156-
/usr/lib/cups/filter/pdftops
157-
/usr/lib/cups/filter/rastertoescpx
158-
/usr/lib/cups/filter/rastertopclx
159-
/usr/lib/cups/filter/texttops
160-
/usr/share/cups/banners/*
161-
/usr/share/cups/data/testprint
162-
/usr/share/cups/data/psglyphs
163-
/usr/share/cups/fonts/*
164-
165-
Also comment out all conversion rules which use any of the removed
166-
filters. You can do it with the following command line:
167-
168-
perl -p -i -e 's:^(.*\s+(pdftops|texttops|imagetops|bannertops|imagetoraster)\s*)$:#\1:' /usr/share/cups/mime/mime.convs
169-
170-
If you use CUPS 1.6.x there is less to remove from the CUPS
171-
package. It is only bannertops and its auxiliary files which are
172-
in the way for bannertopdf:
173-
174-
/usr/lib/cups/filter/bannertops
175-
/usr/share/cups/banners/*
176-
/usr/share/cups/data/testprint
177-
178-
The conversion rules get commented out via:
179-
180-
perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs
181-
182-
For CUPS 1.6.x a bug report/feature request is posted to ask for
183-
(at least optional) removal of bannertops:
184-
185-
http://www.cups.org/str.php?L4120
101+
libppd is only for retro-fitting legacy CUPS drivers using PPD
102+
files. So it only needs to get packaged for and included in an OS
103+
distribution if retro-fitting Printer Applications are installed
104+
as classic packages (like RPM or DEB).
105+
106+
If legacy printer support is only done via the Printer Application
107+
Snaps (or other containers of the Printer Applications) or no
108+
legacy printer support is required (only support for modern,
109+
driverless IPP printers), libppd is not needed.

0 commit comments

Comments
 (0)