1INSTALL - OpenPrinting CUPS Filters v1.28.17 - 2023-01-24 2--------------------------------------------------------- 3 4This file describes how to compile and install OpenPrinting CUPS 5Filters from source code. For more information on OpenPrinting CUPS 6Filters see the file called "README.txt". A complete change log can 7be 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 GPL **** 11**** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL **** 12**** CUPS AND BEFORE YOU INSTALL THIS PACKAGE. **** 13 14 15BEFORE YOU BEGIN 16 17 You'll need ANSI-compliant C and C++ compilers, plus a make program and 18 POSIX-compliant shell (/bin/sh). The GNU compiler tools and Bash work well 19 and we have tested the current CUPS code against several versions of GCC 20 with excellent results. 21 22 The makefiles used by the project should work with most versions of make. 23 We've tested them with GNU make as well as the make programs shipped by 24 Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake) since BSD 25 make does not support "include". 26 27 Poppler, freetype, fontconfig, and liblcms (liblcms2 recommended) 28 must be installed to be able to compile this package. 29 30 Note that Poppler has to be compiled with the 31 "--enable-poppler-cpp" configure option (or the 32 "libpoppler-cpp-dev(el)" package has to be installed if the 33 Poppler packages from a Linux distribution are used). 34 35 Besides these tools you'll want the JPEG, PNG, TIFF, ZLIB libraries for 36 image support. CUPS Filters will compile and run without these, however 37 you'll miss out on many of the features provided by CUPS Filters. 38 39 To get cups-browsed, the daemon to browse Bonjour broadcasts of 40 remote CUPS queues and make the queues available locally, you also 41 need libavahi-common and libavahi-client. 42 43COMPILING THE BZR REPOSITORY CODE 44 45 The CUPS Filters BZR repository doesn't hold a copy of the pre-built 46 configure script. You'll need to run the GNU autoconf software (2.65 or 47 higher) to create it: 48 49 ./autogen.sh 50 51 52CONFIGURATION 53 54 CUPS Filters uses GNU autoconf, so you should find the usual "configure" 55 script in the main CUPS Filters source directory. To configure CUPS 56 Filters for your system, type: 57 58 ./configure 59 60 The default installation will put the CUPS Filters software in the 61 "/etc" and "/usr" directories on your system, which will overwrite 62 some of the original filters and their auxiliary files of CUPS 63 1.5.x or earlier and the auxiliary files of bannertops in all CUPS 64 versions including version 1.6.x (see also the section "PACKAGING 65 THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS" below). The 66 system will still have the same functionality as before, but CUPS 67 will not convert all incoming files into PostScript any more, it 68 will convert them into PDF instead and after applying page 69 management (N-up, selected pages, reverse order, ...) by the 70 pdftopdf filter and convert PDF into the printer's native format 71 then (PDF-based printing workflow). CUPS 1.6.x or later does not 72 contain any filters which this package provides. It requires the 73 installation of this package for printing with filters and drivers 74 under Linux (or other non-Mac-OS-X operation systems). 75 76 Use the "--prefix" option to install the CUPS Filters software in another 77 location: 78 79 ./configure --prefix=/some/directory 80 81 To see a complete list of configuration options, use the --help option: 82 83 ./configure --help 84 85 If any of the dependent libraries are not installed in a system default 86 location (typically "/usr/include" and "/usr/lib") you'll need to set the 87 CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables 88 prior to running configure: 89 90 setenv CFLAGS "-I/some/directory" 91 setenv CPPFLAGS "-I/some/directory" 92 setenv CXXFLAGS "-I/some/directory" 93 setenv DSOFLAGS "-L/some/directory" 94 setenv LDFLAGS "-L/some/directory" 95 ./configure ... 96 97 or: 98 99 CFLAGS="-I/some/directory" \ 100 CPPFLAGS="-I/some/directory" \ 101 CXXFLAGS="-I/some/directory" \ 102 DSOFLAGS="-L/some/directory" \ 103 LDFLAGS="-L/some/directory" \ 104 ./configure ... 105 106 Once you have configured things, just type: 107 108 make ENTER 109 110 or if you have FreeBSD, NetBSD, or OpenBSD type: 111 112 gmake ENTER 113 114 to build the software. 115 116 117INSTALLING THE SOFTWARE 118 119 Once you have built the software you need to install it. The "install" 120 target provides a quick way to install the software on your local system: 121 122 make install ENTER 123 124 or for FreeBSD, NetBSD, or OpenBSD: 125 126 gmake install ENTER 127 128PACKAGING THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS 129 130 The use of cups-filters is supported for CUPS from version 1.5.x 131 on (to switch to the PDF-based printing workflow already now) and 132 required for CUPS 1.6.x (as it does not ship a complete filter set 133 any more). In both cases cups-filters ships some files which exist 134 also in CUPS, but the versions of cups-filters have to be used to 135 assure that printing works correctly. So in the packaging of CUPS 136 the files should be removed. 137 138 Use the alternatives facility (see update-alternatives(8)) only if 139 your CUPS version is 1.5.x and you want to make the use of 140 cups-filters optional. Note that then the files of cups-filters 141 need to have priority. 142 143 When using cups-filters with CUPS 1.5.x, many of the original CUPS 144 filters get replaced or at least useless. Please remove the 145 following files from your CUPS package: 146 147 /usr/lib/cups/backend/serial 148 /usr/lib/cups/backend/parallel 149 /usr/lib/cups/filter/bannertops 150 /usr/lib/cups/filter/commandtoescpx 151 /usr/lib/cups/filter/commandtopclx 152 /usr/lib/cups/filter/imagetops 153 /usr/lib/cups/filter/imagetoraster 154 /usr/lib/cups/filter/pdftops 155 /usr/lib/cups/filter/rastertoescpx 156 /usr/lib/cups/filter/rastertopclx 157 /usr/lib/cups/filter/texttops 158 /usr/share/cups/banners/* 159 /usr/share/cups/data/testprint 160 /usr/share/cups/data/psglyphs 161 /usr/share/cups/fonts/* 162 163 Also comment out all conversion rules which use any of the removed 164 filters. You can do it with the following command line: 165 166 perl -p -i -e 's:^(.*\s+(pdftops|texttops|imagetops|bannertops|imagetoraster)\s*)$:#\1:' /usr/share/cups/mime/mime.convs 167 168 If you use CUPS 1.6.x there is less to remove from the CUPS 169 package. It is only bannertops and its auxiliary files which are 170 in the way for bannertopdf: 171 172 /usr/lib/cups/filter/bannertops 173 /usr/share/cups/banners/* 174 /usr/share/cups/data/testprint 175 176 The conversion rules get commented out via: 177 178 perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs 179 180 For CUPS 1.6.x a bug report/feature request is posted to ask for 181 (at least optional) removal of bannertops: 182 183 http://www.cups.org/str.php?L4120 184