summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael R Sweet <michaelrsweet@gmail.com>2017-05-01 17:19:04 -0400
committerMichael R Sweet <michaelrsweet@gmail.com>2017-05-01 17:19:04 -0400
commit2a20b5124546cafc5fe686b1af0223642d43a94a (patch)
treefb78d925bfad9e8238cdc35c77df15057eb8441a
parent0d7cb94a77d71670daa0afd14eb2cfb2519fe040 (diff)
Rename README, INSTALL, CHANGES, and CREDITS files to .md (markdown).
-rw-r--r--CHANGES.md157
-rw-r--r--CHANGES.txt158
-rw-r--r--CREDITS.md (renamed from CREDITS.txt)8
-rw-r--r--INSTALL.md208
-rw-r--r--INSTALL.txt212
-rw-r--r--README.md160
-rw-r--r--README.txt157
-rwxr-xr-xtools/makesrcdist6
-rw-r--r--xcode/CUPS.xcodeproj/project.pbxproj16
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 */,
);