|
1 | | -INSTALL - OpenPrinting libppd v2.0b1 - 2022-11-14 |
| 1 | +INSTALL - OpenPrinting libppd v2.0b1 - 2022-11-17 |
2 | 2 | ------------------------------------------------- |
3 | 3 |
|
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". |
16 | 8 |
|
17 | 9 | BEFORE YOU BEGIN |
18 | 10 |
|
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. |
31 | 15 |
|
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". |
36 | 20 |
|
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. |
44 | 26 |
|
45 | 27 | COMPILING THE GIT REPOSITORY CODE |
46 | 28 |
|
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: |
50 | 32 |
|
51 | 33 | ./autogen.sh |
52 | 34 |
|
53 | 35 |
|
54 | 36 | CONFIGURATION |
55 | 37 |
|
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: |
59 | 41 |
|
60 | 42 | ./configure |
61 | 43 |
|
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: |
80 | 49 |
|
81 | 50 | ./configure --prefix=/some/directory |
82 | 51 |
|
@@ -129,57 +98,12 @@ INSTALLING THE SOFTWARE |
129 | 98 |
|
130 | 99 | PACKAGING THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS |
131 | 100 |
|
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