diff options
author | Michael R Sweet <michaelrsweet@gmail.com> | 2017-05-01 17:19:04 -0400 |
---|---|---|
committer | Michael R Sweet <michaelrsweet@gmail.com> | 2017-05-01 17:19:04 -0400 |
commit | 2a20b5124546cafc5fe686b1af0223642d43a94a (patch) | |
tree | fb78d925bfad9e8238cdc35c77df15057eb8441a | |
parent | 0d7cb94a77d71670daa0afd14eb2cfb2519fe040 (diff) |
Rename README, INSTALL, CHANGES, and CREDITS files to .md (markdown).
-rw-r--r-- | CHANGES.md | 157 | ||||
-rw-r--r-- | CHANGES.txt | 158 | ||||
-rw-r--r-- | CREDITS.md (renamed from CREDITS.txt) | 8 | ||||
-rw-r--r-- | INSTALL.md | 208 | ||||
-rw-r--r-- | INSTALL.txt | 212 | ||||
-rw-r--r-- | README.md | 160 | ||||
-rw-r--r-- | README.txt | 157 | ||||
-rwxr-xr-x | tools/makesrcdist | 6 | ||||
-rw-r--r-- | xcode/CUPS.xcodeproj/project.pbxproj | 16 |
9 files changed, 540 insertions, 542 deletions
diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 000000000..e8d4df6d8 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,157 @@ +CHANGES - 2.2.4 - 2017-05-01 +============================ + +CHANGES IN CUPS V2.2.4 +---------------------- + +- The scheduler did not remote old job files (Issue #4987) +- cupsEnumDests did not return early when all printers had been discovered + (Issue #4989) +- The CUPS build system now supports cross-compilation (Issue #4897) +- Added a new CUPS Programming Manual to replace the aging API documentation. +- Added the cupsAddIntegerOption and cupsGetIntegerOption functions + (Issue #4992) + + +CHANGES IN CUPS V2.2.3 +---------------------- + +- The IPP backend could get into an infinite loop for certain errors, causing a + hung queue (<rdar://problem/28008717>) +- The scheduler could pause responding to client requests in order to save state + changes to disk (<rdar://problem/28690656>) +- Added support for PPD finishing keywords (Issue #4960, Issue #4961, + Issue #4962) +- The IPP backend did not send a media-col attribute for just the source or type + (Issue #4963) +- IPP Everywhere print queues did not always support all print qualities + supported by the printer (Issue #4953) +- IPP Everywhere print queues did not always support all media types supported + by the printer (Issue #4953) +- The IPP Everywhere PPD generator did not return useful error messages + (Issue #4954) +- The IPP Everywhere finishings support did not work correctly with common UI or + command-line options (Issue #4976) +- Fixed an error handling issue for the network backends (Issue #4979) +- The default cupsd.conf file did not work on systems compiled without Kerberos + support (Issue #4947) +- The "reprint job" option was not available for some canceled jobs + (Issue #4915) +- Updated the job listing in the web interface (Issue #4978) +- Fixed some localization issues on macOS (<rdar://problem/27245567>) + + +CHANGES IN CUPS V2.2.2 +---------------------- + +- Fixed some issues with the Zebra ZPL printer driver (Issue #4898) +- Fixed some issues with IPP Everywhere printer support (Issue #4893, + Issue #4909, Issue #4916, Issue #4921, Issue #4923, Issue #4932, Issue #4933, + Issue #4938) +- The rastertopwg filter could crash with certain input (Issue #4942) +- Optimized connection usage in the IPP backend (<rdar://problem/29547323>) +- The scheduler did not detect when an encrypted connection was closed by the + client on Linux (Issue #4901) +- The cups-lpd program did not catch all legacy usage of ISO-8859-1 + (Issue #4899) +- Fixed builds on systems without a working poll() implementation (Issue #4905) +- Added a USB quirk rule for the Kyocera Ecosys P6026cdn (Issue #4900) +- The scheduler no longer creates log files on startup + (<rdar://problem/28332470>) +- The ippContainsString function now uses case-insensitive comparisons for + mimeMediaType, name, and text values in conformance with RFC 2911. +- The network backends now log the addresses that were found for a printer + (<rdar://problem/29268474>) +- Let's Encrypt certificates did not work when the hostname contained uppercase + letters (Issue #4919) +- Fixed reporting of printed pages in the web interface (Issue #4924) +- Updated systemd config files (Issue #4935) +- Updated documentation (PR #4896) +- Updated localizations (PR #4894, PR #4895, PR #4904, PR #4908, Issue #4946) +- Updated packaging files (Issue #4940) + + +CHANGES IN CUPS V2.2.1 +---------------------- + +- Added "CreateSelfSignedCerts" directive for cups-files.conf to control whether + the scheduler automatically creates its own self-signed X.509 certificates for + TLS connections (Issue #4876) +- http*Connect did not handle partial failures (Issue #4870) +- Addressed some build warnings on Linux (Issue #4881) +- cupsHashData did not use the correct hashing algorithm + (<rdar://problem/28209220>) +- Updated man pages (PR #4885) +- Updated localizations (PR #4877, PR #4886) + + +CHANGES IN CUPS V2.2.0 +---------------------- + +- Normalized the TLS certificate validation code and added additional error + messages to aid troubleshooting. +- The httpConnect functions did not work on Linux when cupsd was not running + (Issue #4870) +- The --no-remote-any option of cupsctl had no effect (Issue #4866) +- http*Connect did not return early when all addresses failed (Issue #4870) + + +CHANGES IN CUPS V2.2rc1 +----------------------- + +- Updated the list of supported IPP Everywhere media types. +- The IPP backend did not validate TLS credentials properly. +- The printer-state-message attribute was not cleared after a print job with no + errors (Issue #4851) +- The CUPS-Add-Modify-Class and CUPS-Add-Modify-Printer operations did not + always return an error for failed adds (Issue #4854) +- PPD files with names longer than 127 bytes did not work (Issue #4860) +- Updated localizations (Issue #4846, PR #4858) + + +CHANGES IN CUPS V2.2b2 +---------------------- + +- Added Upstart support (PR #4825) +- CUPS now supports Let's Encrypt certificates on Linux. + + +CHANGES IN CUPS V2.2b1 +---------------------- + +- All CUPS commands now support POSIX options (Issue #4813) +- The scheduler now restarts faster (Issue #4760) +- Improved performance of web interface with large numbers of jobs (Issue #3819) +- Encrypted printing can now be limited to only trusted printers and servers + (<rdar://problem/25711658>) +- The scheduler now advertises PWG Raster attributes for IPP Everywhere clients + (Issue #4428) +- The scheduler now logs informational messages for jobs at LogLevel "info" + (Issue #4815) +- The scheduler now uses the getgrouplist function when available (Issue #4611) +- The IPP backend no longer enables compression by default except for certain + raster formats that generally benefit from it (<rdar://problem/25166952>) +- The scheduler did not handle out-of-disk situations gracefully (Issue #4742) +- The LPD mini-daemon now detects invalid UTF-8 sequences in job, document, and + user names (Issue #4748) +- The IPP backend now continues on to the next job when the remote server/ + printer puts the job on hold (<rdar://problem/24858548>) +- The scheduler did not cancel multi-document jobs immediately + (<rdar://problem/24854834>) +- The scheduler did not return non-shared printers to local clients unless they + connected to the domain socket (<rdar://problem/24566996>) +- The scheduler now reads the spool directory if one or more job cache entries + point to deleted jobs (<rdar://problem/24048846>) +- Added support for disc media sizes (<rdar://problem/20219536>) +- The httpAddrConnect and httpConnect* APIs now try connecting to multiple + addresses in parallel (<rdar://problem/20643153>) +- The cupsd domain socket is no longer world-accessible on macOS + (<rdar://problem/7542560>) +- Interface scripts are no longer supported for security reasons + (<rdar://problem/23135640>) +- Added a new cupsHashData API and support for hashed job passwords + (<rdar://problem/20221502>) +- Localization fixes (<rdar://problem/25292403>, <rdar://problem/25461517>, + Issue #4041, Issue #4796) +- Documentation changes (Issue #4624, Issue #4781) +- Packaging fixes (PR #4832) diff --git a/CHANGES.txt b/CHANGES.txt deleted file mode 100644 index 898434bf8..000000000 --- a/CHANGES.txt +++ /dev/null @@ -1,158 +0,0 @@ -CHANGES.txt - 2.2.4 - 2017-05-01 --------------------------------- - -CHANGES IN CUPS V2.2.4 - - - The scheduler did not remote old job files (Issue #4987) - - cupsEnumDests did not return early when all printers had been - discovered (Issue #4989) - - The CUPS build system now supports cross-compilation (Issue #4897) - - Added a new CUPS Programming Manual to replace the aging API - documentation. - - Added the cupsAddIntegerOption and cupsGetIntegerOption functions - (Issue #4992) - - -CHANGES IN CUPS V2.2.3 - - - The IPP backend could get into an infinite loop for certain errors, - causing a hung queue (<rdar://problem/28008717>) - - The scheduler could pause responding to client requests in order to - save state changes to disk (<rdar://problem/28690656>) - - Added support for PPD finishing keywords (Issue #4960, Issue #4961, - Issue #4962) - - The IPP backend did not send a media-col attribute for just the source - or type (Issue #4963) - - IPP Everywhere print queues did not always support all print qualities - supported by the printer (Issue #4953) - - IPP Everywhere print queues did not always support all media types - supported by the printer (Issue #4953) - - The IPP Everywhere PPD generator did not return useful error messages - (Issue #4954) - - The IPP Everywhere finishings support did not work correctly with - common UI or command-line options (Issue #4976) - - Fixed an error handling issue for the network backends (Issue #4979) - - The default cupsd.conf file did not work on systems compiled without - Kerberos support (Issue #4947) - - The "reprint job" option was not available for some canceled jobs - (Issue #4915) - - Updated the job listing in the web interface (Issue #4978) - - Fixed some localization issues on macOS (<rdar://problem/27245567>) - - -CHANGES IN CUPS V2.2.2 - - - Fixed some issues with the Zebra ZPL printer driver (Issue #4898) - - Fixed some issues with IPP Everywhere printer support (Issue #4893, - Issue #4909, Issue #4916, Issue #4921, Issue #4923, Issue #4932, - Issue #4933, Issue #4938) - - The rastertopwg filter could crash with certain input (Issue #4942) - - Optimized connection usage in the IPP backend - (<rdar://problem/29547323>) - - The scheduler did not detect when an encrypted connection was closed - by the client on Linux (Issue #4901) - - The cups-lpd program did not catch all legacy usage of ISO-8859-1 - (Issue #4899) - - Fixed builds on systems without a working poll() implementation - (Issue #4905) - - Added a USB quirk rule for the Kyocera Ecosys P6026cdn (Issue #4900) - - The scheduler no longer creates log files on startup - (<rdar://problem/28332470>) - - The ippContainsString function now uses case-insensitive comparisons - for mimeMediaType, name, and text values in conformance with RFC 2911. - - The network backends now log the addresses that were found for a - printer (<rdar://problem/29268474>) - - Let's Encrypt certificates did not work when the hostname contained - uppercase letters (Issue #4919) - - Fixed reporting of printed pages in the web interface (Issue #4924) - - Updated systemd config files (Issue #4935) - - Updated documentation (PR #4896) - - Updated localizations (PR #4894, PR #4895, PR #4904, PR #4908, - Issue #4946) - - Updated packaging files (Issue #4940) - - -CHANGES IN CUPS V2.2.1 - - - Added "CreateSelfSignedCerts" directive for cups-files.conf to - control whether the scheduler automatically creates its own - self-signed X.509 certificates for TLS connections (Issue #4876) - - http*Connect did not handle partial failures (Issue #4870) - - Addressed some build warnings on Linux (Issue #4881) - - cupsHashData did not use the correct hashing algorithm - (<rdar://problem/28209220>) - - Updated man pages (PR #4885) - - Updated localizations (PR #4877, PR #4886) - - -CHANGES IN CUPS V2.2.0 - - - Normalized the TLS certificate validation code and added additional - error messages to aid troubleshooting. - - http*Connect did not work on Linux when cupsd was not running - (Issue #4870) - - The --no-remote-any option of cupsctl had no effect (Issue #4866) - - http*Connect did not return early when all addresses failed - (Issue #4870) - - -CHANGES IN CUPS V2.2rc1 - - - Updated the list of supported IPP Everywhere media types. - - The IPP backend did not validate TLS credentials properly. - - The printer-state-message attribute was not cleared after a - print job with no errors (Issue #4851) - - The CUPS-Add-Modify-Class and CUPS-Add-Modify-Printer operations did - not always return an error for failed adds (Issue #4854) - - PPD files with names longer than 127 bytes did not work (Issue #4860) - - Updated localizations (Issue #4846, PR #4858) - - -CHANGES IN CUPS V2.2b2 - - - Added Upstart support (PR #4825) - - CUPS now supports Let's Encrypt certificates on Linux. - - -CHANGES IN CUPS V2.2b1 - - - All CUPS commands now support POSIX options (Issue #4813) - - The scheduler now restarts faster (Issue #4760) - - Improved performance of web interface with large numbers of jobs - (Issue #3819) - - Encrypted printing can now be limited to only trusted printers and - servers (<rdar://problem/25711658>) - - The scheduler now advertises PWG Raster attributes for IPP Everywhere - clients (Issue #4428) - - The scheduler now logs informational messages for jobs at LogLevel - "info" (Issue #4815) - - The scheduler now uses the getgrouplist function when available - (Issue #4611) - - The IPP backend no longer enables compression by default except for - certain raster formats that generally benefit from it - (<rdar://problem/25166952>) - - The scheduler did not handle out-of-disk situations gracefully - (Issue #4742) - - The LPD mini-daemon now detects invalid UTF-8 sequences in job, - document, and user names (Issue #4748) - - The IPP backend now continues on to the next job when the remote - server/printer puts the job on hold (<rdar://problem/24858548>) - - The scheduler did not cancel multi-document jobs immediately - (<rdar://problem/24854834>) - - The scheduler did not return non-shared printers to local clients - unless they connected to the domain socket (<rdar://problem/24566996>) - - The scheduler now reads the spool directory if one or more job cache - entries point to deleted jobs (<rdar://problem/24048846>) - - Added support for disc media sizes (<rdar://problem/20219536>) - - The httpAddrConnect and httpConnect* APIs now try connecting to - multiple addresses in parallel (<rdar://problem/20643153>) - - The cupsd domain socket is no longer world-accessible on macOS - (<rdar://problem/7542560>) - - Interface scripts are no longer supported for security reasons - (<rdar://problem/23135640>) - - Added a new cupsHashData API and support for hashed job passwords - (<rdar://problem/20221502>) - - Localization fixes (<rdar://problem/25292403>, - <rdar://problem/25461517>, Issue #4041, Issue #4796) - - Documentation changes (Issue #4624, Issue #4781) - - Packaging fixes (PR #4832) diff --git a/CREDITS.txt b/CREDITS.md index 04cb8146d..7d5a8b9c5 100644 --- a/CREDITS.txt +++ b/CREDITS.md @@ -1,8 +1,8 @@ -CREDITS.txt - 2016-06-21 ------------------------- +CREDITS - 2017-05-01 +==================== -Few projects are completed by one person, and CUPS is no exception. We'd -like to thank the following individuals for their contributions: +Few projects are completed by one person, and CUPS is no exception. We'd like +to thank the following individuals for their contributions: Niklas 'Nille' Åkerström - Swedish localization. Nathaniel Barbour - Lots of testing and feedback. diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 000000000..6acd9710c --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,208 @@ +INSTALL - CUPS v2.2.4 - 2017-05-01 +================================== + +This file describes how to compile and install CUPS from source code. For more +information on CUPS see the file called "README.txt". A complete change log can +be found in "CHANGES.txt". + +> USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND PRINTER +> DRIVERS. THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING SYSTEM +> DISTRIBUTION. APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY SUPPORT SOFTWARE +> FOR CUPS. + + +BEFORE YOU BEGIN +---------------- + +You'll need ANSI-compliant C and C++ compilers, plus a make program and POSIX- +compliant shell (/bin/sh). The GNU compiler tools and Bash work well and we +have tested the current CUPS code against several versions of GCC with excellent +results. + +The makefiles used by the project should work with most versions of make. We've +tested them with GNU make as well as the make programs shipped by Compaq, HP, +SGI, and Sun. BSD users should use GNU make (gmake) since BSD make does not +support "include". + +Besides these tools you'll want ZLIB library for compression support, the GNU +TLS library for encryption support on platforms other than iOS, macOS, or +Windows, and either MIT (1.6.3 or higher) or Heimdal Kerberos for Kerberos +support. CUPS will compile and run without these, however you'll miss out on +many of the features provided by CUPS. + +Also, please note that CUPS does not include print filters to support PDF or +raster printing. You *must* download GPL Ghostscript and/or the Open Printing +CUPS filters package separately to print on operating systems other than macOS. + + +CONFIGURATION +------------- + +CUPS uses GNU autoconf, so you should find the usual "configure" script in the +main CUPS source directory. To configure CUPS for your system, type: + + ./configure + +The default installation will put the CUPS software in the "/etc", "/usr", and +"/var" directories on your system, which will overwrite any existing printing +commands on your system. Use the "--prefix" option to install the CUPS software +in another location: + + ./configure --prefix=/some/directory + +To see a complete list of configuration options, use the --help option: + + ./configure --help + +If any of the dependent libraries are not installed in a system default location +(typically "/usr/include" and "/usr/lib") you'll need to set the CFLAGS, +CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior to running +configure: + + setenv CFLAGS "-I/some/directory" + setenv CPPFLAGS "-I/some/directory" + setenv CXXFLAGS "-I/some/directory" + setenv DSOFLAGS "-L/some/directory" + setenv LDFLAGS "-L/some/directory" + ./configure ... + +or: + + CFLAGS="-I/some/directory" \ + CPPFLAGS="-I/some/directory" \ + CXXFLAGS="-I/some/directory" \ + DSOFLAGS="-L/some/directory" \ + LDFLAGS="-L/some/directory" \ + ./configure ... + +The "--enable-debug" option compiles CUPS with debugging information enabled. +Additional debug logging support can be enabled using the +"--enable-debug-printfs" option - these debug messages are enabled using the +CUPS_DEBUG_LOG environment variable at run-time. + +CUPS also includes an extensive set of unit tests that can be used to find and +diagnose a variety of common problems - use the "--enable-unit-tests" configure +option to run them at build time. + +On macOS, use the "--with-archflags" option to build with the correct set of +architectures: + + ./configure --with-archflags="-arch i386 -arch x86_64" ... + +> Note: Current versions of macOS DO NOT allow installation to /usr with the +> default system integrity settings. In addition, we do not recommend replacing +> the CUPS supplied with macOS because not all versions of CUPS are compatible +> with every macOS release, and because software updates will replace parts +> of your local installation potentially rendering your system unusable. + +Once you have configured things, just type: + + make ENTER + +or if you have FreeBSD, NetBSD, or OpenBSD type: + + gmake ENTER + +to build the software. + + +TESTING THE SOFTWARE +-------------------- + +Aside from the built-in unit tests, CUPS includes an automated test framework +for testing the entire printing system. To run the tests, just type: + + make check ENTER + +or if you have FreeBSD, NetBSD, or OpenBSD type: + + gmake check ENTER + +The test framework runs a copy of the CUPS scheduler (cupsd) on port 8631 in +/tmp/cups-$USER and produces a nice HTML report of the results. + + +INSTALLING THE SOFTWARE +----------------------- + +Once you have built the software you need to install it. The "install" target +provides a quick way to install the software on your local system: + + make install ENTER + +or for FreeBSD, NetBSD, or OpenBSD: + + gmake install ENTER + +Use the BUILDROOT variable to install to an alternate root directory: + + make BUILDROOT=/some/other/root/directory install ENTER + +You can also build binary packages that can be installed on other machines using +the RPM spec file ("packaging/cups.spec") or EPM list file +("packaging/cups.list"). The latter also supports building of binary RPMs, so +it may be more convenient to use. + +You can find the RPM software at: + + http://www.rpm.org/ + +The EPM software is available at: + + https://michaelrsweet.github.io/epm + + +CREATING BINARY DISTRIBUTIONS WITH EPM +-------------------------------------- + +The top level makefile supports generation of many types of binary distributions +using EPM. To build a binary distribution type: + + make <format> ENTER + +or + + gmake <format> ENTER + +for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of the following: + +- "epm": Builds a script + tarfile package +- "bsd": Builds a *BSD package +- "deb": Builds a Debian package +- "pkg": Builds a Solaris package +- "rpm": Builds a RPM package +- "slackware": Build a Slackware package + + +GETTING DEBUG LOGGING FROM CUPS +------------------------------- + +When configured with the "--enable-debug-printfs" option, CUPS compiles in +additional debug logging support in the scheduler, CUPS API, and CUPS Imaging +API. The following environment variables are used to enable and control debug +logging: + +- `CUPS_DEBUG_FILTER`: Specifies a POSIX regular expression to control which + messages are logged. +- `CUPS_DEBUG_LEVEL`: Specifies a number from 0 to 9 to control the verbosity of + the logging. The default level is 1. +- `CUPS_DEBUG_LOG`: Specifies a log file to use. Specify the name "-" to send + the messages to stderr. Prefix a filename with "+" to append to an existing + file. + + +REPORTING PROBLEMS +------------------ + +If you have problems, READ THE DOCUMENTATION FIRST! If the documentation does +not solve your problems, please post a message on the users forum at: + + https://www.cups.org/ + +Include your operating system and version, compiler and version, and any errors +or problems you've run into. The "config.log" file and the output from the +configure script and make should also be sent, as it often helps to determine +the cause of your problem. + +If you are running a version of Linux, be sure to provide the Linux distribution +you have, too. diff --git a/INSTALL.txt b/INSTALL.txt deleted file mode 100644 index 198937d64..000000000 --- a/INSTALL.txt +++ /dev/null @@ -1,212 +0,0 @@ -INSTALL - CUPS v2.2.4 - 2017-04-18 ----------------------------------- - -This file describes how to compile and install CUPS from source code. For more -information on CUPS see the file called "README.txt". A complete change log can -be found in "CHANGES.txt". - -******************************************************************************* -******************************************************************************* -**** **** -**** USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND **** -**** PRINTER DRIVERS. THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING **** -**** SYSTEM DISTRIBUTION. APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY **** -**** SUPPORT SOFTWARE FOR CUPS. **** -**** **** -******************************************************************************* -******************************************************************************* - - -BEFORE YOU BEGIN - - You'll need ANSI-compliant C and C++ compilers, plus a make program and - POSIX-compliant shell (/bin/sh). The GNU compiler tools and Bash work well - and we have tested the current CUPS code against several versions of GCC - with excellent results. - - The makefiles used by the project should work with most versions of make. - We've tested them with GNU make as well as the make programs shipped by - Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake) since BSD - make does not support "include". - - Besides these tools you'll want ZLIB library for compression support, the - GNU TLS library for encryption support on platforms other than iOS, macOS, - or Windows, and either MIT (1.6.3 or higher) or Heimdal Kerberos for - Kerberos support. CUPS will compile and run without these, however you'll - miss out on many of the features provided by CUPS. - - Also, please note that CUPS does not include print filters to support PDF - or raster printing. You *must* download GPL Ghostscript and/or the Open - Printing CUPS filters package separately to print on operating systems - other than macOS. - - -CONFIGURATION - - CUPS uses GNU autoconf, so you should find the usual "configure" script in - the main CUPS source directory. To configure CUPS for your system, type: - - ./configure - - The default installation will put the CUPS software in the "/etc", "/usr", - and "/var" directories on your system, which will overwrite any existing - printing commands on your system. Use the "--prefix" option to install the - CUPS software in another location: - - ./configure --prefix=/some/directory - - To see a complete list of configuration options, use the --help option: - - ./configure --help - - If any of the dependent libraries are not installed in a system default - location (typically "/usr/include" and "/usr/lib") you'll need to set the - CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables - prior to running configure: - - setenv CFLAGS "-I/some/directory" - setenv CPPFLAGS "-I/some/directory" - setenv CXXFLAGS "-I/some/directory" - setenv DSOFLAGS "-L/some/directory" - setenv LDFLAGS "-L/some/directory" - ./configure ... - - or: - - CFLAGS="-I/some/directory" \ - CPPFLAGS="-I/some/directory" \ - CXXFLAGS="-I/some/directory" \ - DSOFLAGS="-L/some/directory" \ - LDFLAGS="-L/some/directory" \ - ./configure ... - - The "--enable-debug" option compiles CUPS with debugging information - enabled. Additional debug logging support can be enabled using the - "--enable-debug-printfs" option - these debug messages are enabled using the - CUPS_DEBUG_LOG environment variable at run-time. - - CUPS also includes an extensive set of unit tests that can be used to find - and diagnose a variety of common problems - use the "--enable-unit-tests" - configure option to run them at build time. - - On macOS, use the "--with-archflags" option to build with the correct set of - architectures: - - ./configure --with-archflags="-arch i386 -arch x86_64" ... - - Note: Current versions of macOS DO NOT allow installation to - /usr with the default system integrity settings. In addition, - we do not recommend replacing the CUPS supplied with macOS - because not all versions of CUPS are compatible with every - macOS release, and because software updates will replace parts - of your local installation potentially rendering your system - unusable. - - Once you have configured things, just type: - - make ENTER - - or if you have FreeBSD, NetBSD, or OpenBSD type: - - gmake ENTER - - to build the software. - - -TESTING THE SOFTWARE - - Aside from the built-in unit tests, CUPS includes an automated test - framework for testing the entire printing system. To run the tests, just - type: - - make check ENTER - - or if you have FreeBSD, NetBSD, or OpenBSD type: - - gmake check ENTER - - The test framework runs a copy of the CUPS scheduler (cupsd) on port 8631 - in /tmp/cups-$USER and produces a nice HTML report of the results. - - -INSTALLING THE SOFTWARE - - Once you have built the software you need to install it. The "install" - target provides a quick way to install the software on your local system: - - make install ENTER - - or for FreeBSD, NetBSD, or OpenBSD: - - gmake install ENTER - - Use the BUILDROOT variable to install to an alternate root directory: - - make BUILDROOT=/some/other/root/directory install ENTER - - You can also build binary packages that can be installed on other machines - using the RPM spec file ("packaging/cups.spec") or EPM list file - ("packaging/cups.list"). The latter also supports building of binary RPMs, - so it may be more convenient to use. - - You can find the RPM software at: - - http://www.rpm.org/ - - The EPM software is available at: - - http://www.msweet.org/ - - -CREATING BINARY DISTRIBUTIONS WITH EPM - - The top level makefile supports generation of many types of binary - distributions using EPM. To build a binary distribution type: - - make <format> ENTER - - or - - gmake <format> ENTER - - for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of the - following: - - epm - Builds a script + tarfile package - bsd - Builds a *BSD package - deb - Builds a Debian package - pkg - Builds a Solaris package - rpm - Builds a RPM package - slackware - Build a Slackware package - - -GETTING DEBUG LOGGING FROM CUPS - - When configured with the "--enable-debug-printfs" option, CUPS compiles in - additional debug logging support in the scheduler, CUPS API, and CUPS - Imaging API. The following environment variables are used to enable and - control debug logging: - - CUPS_DEBUG_FILTER Specifies a POSIX regular expression to control - which messages are logged. - CUPS_DEBUG_LEVEL Specifies a number from 0 to 9 to control the - verbosity of the logging. The default level is 1. - CUPS_DEBUG_LOG Specifies a log file to use. Specify the name "-" - to send the messages to stderr. Prefix a filename - with "+" to append to an existing file. - - -REPORTING PROBLEMS - - If you have problems, READ THE DOCUMENTATION FIRST! If the documentation - does not solve your problems, please post a message on the users forum at: - - http://www.cups.org/ - - Include your operating system and version, compiler and version, and any - errors or problems you've run into. The "config.log" file and the output - from the configure script and make should also be sent, as it often helps to - determine the cause of your problem. - - If you are running a version of Linux, be sure to provide the Linux - distribution you have, too. diff --git a/README.md b/README.md new file mode 100644 index 000000000..e1a3f829d --- /dev/null +++ b/README.md @@ -0,0 +1,160 @@ +README - CUPS v2.2.4 - 2017-04-18 +================================= + +Looking for compile instructions? Read the file "INSTALL.md" instead... + + +INTRODUCTION +------------ + + +CUPS is a standards-based, open source printing system developed by Apple Inc. +for macOS® and other UNIX®-like operating systems. CUPS uses the Internet +Printing Protocol ("IPP") and provides System V and Berkeley command-line +interfaces, a web interface, and a C API to manage printers and print jobs. It +supports printing to both local (parallel, serial, USB) and networked printers, +and printers can be shared from one computer to another, even over the Internet! + +Internally, CUPS uses PostScript Printer Description ("PPD") files to describe +printer capabilities and features and a wide variety of generic and device- +specific programs to convert and print many types of files. Sample drivers are +included with CUPS to support many Dymo, EPSON, HP, Intellitech, OKIDATA, and +Zebra printers. Many more drivers are available online and (in some cases) on +the driver CD-ROM that came with your printer. + +CUPS is licensed under the GNU General Public License and GNU Library General +Public License versions 2. See the file "LICENSE.txt" for more information. + + +READING THE DOCUMENTATION +------------------------- + +Once you have installed the software you can access the documentation (and a +bunch of other stuff) online at: + + http://localhost:631/ + +If you're having trouble getting that far, the documentation is located under +the "doc/help" directory. + +Please read the documentation before asking questions. + + +GETTING SUPPORT AND OTHER RESOURCES +----------------------------------- + +If you have problems, READ THE DOCUMENTATION FIRST! We also provide two mailing +lists which are available at: + + https://lists.cups.org/mailman/listinfo + +See the CUPS web site at <https://www.cups.org/> for other resources. + + +SETTING UP PRINTER QUEUES USING YOUR WEB BROWSER +------------------------------------------------ + +CUPS includes a web-based administration tool that allows you to manage +printers, classes, and jobs on your server. Open the following URL in your +browser to access the printer administration tools: + + http://localhost:631/admin/ + +*Do not* use the hostname for your machine - it will not work with the default +CUPS configuration. To enable administration access on other addresses, check +the "Allow Remote Administration" box and click on the "Change Settings" button. + +You will be asked for the administration password (root or any other user in the +sys/system/root/admin/lpadmin group on your system) when performing any +administrative function. + + +SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE +----------------------------------------------- + +CUPS works best with PPD (PostScript Printer Description) files. In a pinch you +can also use System V style printer interface scripts. + +CUPS includes several sample PPD files you can use: + + Driver PPD Name + ----------------------------- ------------------------------ + Dymo Label Printers drv:///sample.drv/dymo.ppd + Intellitech Intellibar drv:///sample.drv/intelbar.ppd + EPSON 9-pin Series drv:///sample.drv/epson9.ppd + EPSON 24-pin Series drv:///sample.drv/epson24.ppd + Generic PCL Laser Printer drv:///sample.drv/generpcl.ppd + Generic PostScript Printer drv:///sample.drv/generic.ppd + HP DeskJet Series drv:///sample.drv/deskjet.ppd + HP LaserJet Series drv:///sample.drv/laserjet.ppd + OKIDATA 9-Pin Series drv:///sample.drv/okidata9.ppd + OKIDATA 24-Pin Series drv:///sample.drv/okidat24.ppd + Zebra CPCL Label Printer drv:///sample.drv/zebracpl.ppd + Zebra EPL1 Label Printer drv:///sample.drv/zebraep1.ppd + Zebra EPL2 Label Printer drv:///sample.drv/zebraep2.ppd + Zebra ZPL Label Printer drv:///sample.drv/zebra.ppd + +Run the "lpinfo -m" command to list the available drivers: + + lpinfo -m + +Run the "lpinfo -v" command to list the available printers: + + lpinfo -v + +Then use the correct URI to add the printer using the "lpadmin" command: + + lpadmin -p printername -E -v device-uri -m ppd-name + +Network printers typically use "socket" or "lpd" URIs: + + lpadmin -p printername -E -v socket://11.22.33.44 -m ppd-name + lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name + +The sample drivers provide basic printing capabilities, but generally do not +exercise the full potential of the printers or CUPS. + +CUPS also supports IPP Everywhere printers using the "everywhere" model, for +example: + + lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere + + +PRINTING FILES +-------------- + +CUPS provides both the System V "lp" and Berkeley "lpr" commands for printing: + + lp filename + lpr filename + +Both the "lp" and "lpr" commands support printing options for the driver: + + lp -o media=A4 -o resolution=600dpi filename + lpr -o media=A4 -o resolution=600dpi filename + +CUPS recognizes many types of images files as well as PDF, PostScript, and text +files, so you can print those files directly rather than through an application. + +If you have an application that generates output specifically for your printer +then you need to use the "-oraw" or "-l" options: + + lp -o raw filename + lpr -l filename + +This will prevent the filters from misinterpreting your print file. + + +LEGAL STUFF +----------- + +CUPS is copyright © 2007-2017 by Apple Inc. CUPS and the CUPS logo are +trademarks of Apple Inc. + +The MD5 Digest code is Copyright 1999 Aladdin Enterprises. + +CUPS is provided under the terms of version 2 of the GNU General Public License +and GNU Library General Public License. This program is distributed in the hope +that it will be useful, but WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +"doc/help/license.html" or "LICENSE.txt" files for more information. diff --git a/README.txt b/README.txt deleted file mode 100644 index f4ecdfa87..000000000 --- a/README.txt +++ /dev/null @@ -1,157 +0,0 @@ -README - CUPS v2.2.4 - 2017-04-18 ---------------------------------- - -Looking for compile instructions? Read the file "INSTALL.txt" instead... - - -INTRODUCTION - - CUPS is a standards-based, open source printing system developed by Apple - Inc. for macOS® and other UNIX®-like operating systems. CUPS uses the - Internet Printing Protocol ("IPP") and provides System V and Berkeley - command-line interfaces, a web interface, and a C API to manage printers and - print jobs. It supports printing to both local (parallel, serial, USB) and - networked printers, and printers can be shared from one computer to another, - even over the Internet! - - Internally, CUPS uses PostScript Printer Description ("PPD") files to - describe printer capabilities and features and a wide variety of generic - and device-specific programs to convert and print many types of files. - Sample drivers are included with CUPS to support many Dymo, EPSON, HP, - Intellitech, OKIDATA, and Zebra printers. Many more drivers are available - online and (in some cases) on the driver CD-ROM that came with your printer. - - CUPS is licensed under the GNU General Public License and GNU Library - General Public License versions 2. See the file "LICENSE.txt" for more - information. - - -READING THE DOCUMENTATION - - Once you have installed the software you can access the documentation (and - a bunch of other stuff) online at: - - http://localhost:631/ - - If you're having trouble getting that far, the documentation is located - under the "doc/help" directory. - - Please read the documentation before asking questions. - - -GETTING SUPPORT AND OTHER RESOURCES - - If you have problems, READ THE DOCUMENTATION FIRST! We also provide two - mailing lists which are available at: - - http://lists.cups.org/mailman/listinfo - - See the CUPS web site at "http://www.cups.org/" for other resources. - - -SETTING UP PRINTER QUEUES USING YOUR WEB BROWSER - - CUPS includes a web-based administration tool that allows you to manage - printers, classes, and jobs on your server. Open the following URL in your - browser to access the printer administration tools: - - http://localhost:631/admin/ - - DO NOT use the hostname for your machine - it will not work with the default - CUPS configuration. To enable administration access on other addresses, - check the "Allow Remote Administration" box and click on the "Change - Settings" button. - - You will be asked for the administration password (root or any other user in - the sys/system/root/admin/lpadmin group on your system) when performing any - administrative function. - - -SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE - - CUPS works best with PPD (PostScript Printer Description) files. In a pinch - you can also use System V style printer interface scripts. - - CUPS includes several sample PPD files you can use: - - Driver PPD Name - ----------------------------- ------------------------------ - Dymo Label Printers drv:///sample.drv/dymo.ppd - Intellitech Intellibar drv:///sample.drv/intelbar.ppd - EPSON 9-pin Series drv:///sample.drv/epson9.ppd - EPSON 24-pin Series drv:///sample.drv/epson24.ppd - Generic PCL Laser Printer drv:///sample.drv/generpcl.ppd - Generic PostScript Printer drv:///sample.drv/generic.ppd - HP DeskJet Series drv:///sample.drv/deskjet.ppd - HP LaserJet Series drv:///sample.drv/laserjet.ppd - OKIDATA 9-Pin Series drv:///sample.drv/okidata9.ppd - OKIDATA 24-Pin Series drv:///sample.drv/okidat24.ppd - Zebra CPCL Label Printer drv:///sample.drv/zebracpl.ppd - Zebra EPL1 Label Printer drv:///sample.drv/zebraep1.ppd - Zebra EPL2 Label Printer drv:///sample.drv/zebraep2.ppd - Zebra ZPL Label Printer drv:///sample.drv/zebra.ppd - - Run the "lpinfo -m" command to list the available drivers: - - lpinfo -m - - Run the "lpinfo -v" command to list the available printers: - - lpinfo -v - - Then use the correct URI to add the printer using the "lpadmin" command: - - lpadmin -p printername -E -v device-uri -m ppd-name - - Network printers typically use "socket" or "lpd" URIs: - - lpadmin -p printername -E -v socket://11.22.33.44 -m ppd-name - lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name - - The sample drivers provide basic printing capabilities, but generally do not - exercise the full potential of the printers or CUPS. - - CUPS also supports IPP Everywhere printers using the "everywhere" model, - for example: - - lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere - - -PRINTING FILES - - CUPS provides both the System V "lp" and Berkeley "lpr" commands for - printing: - - lp filename - lpr filename - - Both the "lp" and "lpr" commands support printing options for the driver: - - lp -o media=A4 -o resolution=600dpi filename - lpr -o media=A4 -o resolution=600dpi filename - - CUPS recognizes many types of images files as well as PDF, PostScript, - and text files, so you can print those files directly rather than through - an application. - - If you have an application that generates output specifically for your - printer then you need to use the "-oraw" or "-l" options: - - lp -o raw filename - lpr -l filename - - This will prevent the filters from misinterpreting your print file. - - -LEGAL STUFF - - CUPS is Copyright 2007-2017 by Apple Inc. CUPS and the CUPS logo are - trademarks of Apple Inc. - - The MD5 Digest code is Copyright 1999 Aladdin Enterprises. - - CUPS is provided under the terms of version 2 of the GNU General Public - License and GNU Library General Public License. This program is distributed - in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the "doc/help/license.html" or "LICENSE.txt" files for more information. diff --git a/tools/makesrcdist b/tools/makesrcdist index e684fe89e..ac7ce7a67 100755 --- a/tools/makesrcdist +++ b/tools/makesrcdist @@ -59,19 +59,19 @@ else exit 1 fi - temp=`head -1 README.txt | awk '{print $4}'` + temp=`head -1 README.md | awk '{print $4}'` if test "$temp" != "v$version"; then echo "Still need to update version to v$version in README.txt (saw $temp)" exit 1 fi - temp=`head -1 INSTALL.txt | awk '{print $4}'` + temp=`head -1 INSTALL.md | awk '{print $4}'` if test "$temp" != "v$version"; then echo "Still need to update version to v$version in INSTALL.txt (saw $temp)" exit 1 fi - temp=`head -4 CHANGES.txt | grep "CHANGES IN" | awk '{print $4}'` + temp=`head -4 CHANGES.md | grep "CHANGES IN" | awk '{print $4}'` if test "$temp" != "V$version"; then echo "Still need to add CHANGES IN V$version in CHANGES.txt (saw $temp)" exit 1 diff --git a/xcode/CUPS.xcodeproj/project.pbxproj b/xcode/CUPS.xcodeproj/project.pbxproj index 3a673f20d..9fecac02c 100644 --- a/xcode/CUPS.xcodeproj/project.pbxproj +++ b/xcode/CUPS.xcodeproj/project.pbxproj @@ -3576,11 +3576,11 @@ 72E65BD918DC850A00097E89 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; }; 72E65BDC18DC852700097E89 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../scheduler/Makefile; sourceTree = SOURCE_ROOT; }; 72E65BDD18DCA35700097E89 /* CHANGES-1.7.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = "CHANGES-1.7.txt"; path = "../CHANGES-1.7.txt"; sourceTree = "<group>"; }; - 72E65BDE18DCA35700097E89 /* CHANGES.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = CHANGES.txt; path = ../CHANGES.txt; sourceTree = "<group>"; }; - 72E65BDF18DCA35700097E89 /* CREDITS.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = CREDITS.txt; path = ../CREDITS.txt; sourceTree = "<group>"; }; - 72E65BE018DCA35700097E89 /* INSTALL.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = INSTALL.txt; path = ../INSTALL.txt; sourceTree = "<group>"; }; + 72E65BDE18DCA35700097E89 /* CHANGES.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = CHANGES.md; path = ../CHANGES.md; sourceTree = "<group>"; }; + 72E65BDF18DCA35700097E89 /* CREDITS.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = CREDITS.md; path = ../CREDITS.md; sourceTree = "<group>"; }; + 72E65BE018DCA35700097E89 /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = INSTALL.md; path = ../INSTALL.md; sourceTree = "<group>"; }; 72E65BE218DCA35700097E89 /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = LICENSE.txt; path = ../LICENSE.txt; sourceTree = "<group>"; }; - 72E65BE318DCA35700097E89 /* README.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = README.txt; path = ../README.txt; sourceTree = "<group>"; }; + 72E65BE318DCA35700097E89 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; }; 72F75A521336F950004BB496 /* cupstestppd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupstestppd; sourceTree = BUILT_PRODUCTS_DIR; }; 72F75A5B1336F988004BB496 /* cupstestppd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupstestppd.c; path = ../systemv/cupstestppd.c; sourceTree = "<group>"; }; 72F75A611336F9A3004BB496 /* libcupsimage.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcupsimage.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -5234,10 +5234,10 @@ 72E65BCC18DC7A9800097E89 /* api-raster.shtml */, 72E65BDD18DCA35700097E89 /* CHANGES-1.7.txt */, 729D4B561A2CB48700692B21 /* CHANGES-2.0.txt */, - 72E65BDE18DCA35700097E89 /* CHANGES.txt */, - 72E65BDF18DCA35700097E89 /* CREDITS.txt */, + 72E65BDE18DCA35700097E89 /* CHANGES.md */, + 72E65BDF18DCA35700097E89 /* CREDITS.md */, 72E65BB918DC7A3600097E89 /* doc */, - 72E65BE018DCA35700097E89 /* INSTALL.txt */, + 72E65BE018DCA35700097E89 /* INSTALL.md */, 72E65BE218DCA35700097E89 /* LICENSE.txt */, 72E65BBA18DC7A3600097E89 /* man */, 72E65BCD18DC7A9800097E89 /* postscript-driver.header */, @@ -5246,7 +5246,7 @@ 72E65BD018DC7A9800097E89 /* ppd-compiler.shtml */, 72E65BD118DC7A9800097E89 /* raster-driver.header */, 72E65BD218DC7A9800097E89 /* raster-driver.shtml */, - 72E65BE318DCA35700097E89 /* README.txt */, + 72E65BE318DCA35700097E89 /* README.md */, 72E65BD318DC7A9800097E89 /* spec-ppd.header */, 72E65BD418DC7A9800097E89 /* spec-ppd.shtml */, ); |