./print/cups-filters, Backends, filters, and other software for cups

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.26.1, Package name: cups-filters-1.26.1, Maintainer: pkgsrc-users

CUPS is a standards-based, open source printing system developed
by Apple Inc. for Mac OS X 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.

This distribution contains backends, filters, and other software
that was once part of the core CUPS distribution but is no longer
maintained by Apple Inc. In addition it contains additional filters
and software developed independently of Apple, especially filters
for the PDF-centric printing workflow introduced by OpenPrinting
and a daemon to browse Bonjour broadcasts of remote CUPS printers
and makes these printers available locally.

From CUPS 1.6.0 on, this package is required for using printer
drivers with CUPS under Linux. With CUPS 1.5.x and earlier this
package can be used optionally to switch over to PDF-based printing.
In that case some filters are provided by both CUPS and this package.
Then the filters of this package should be used.

Required to run:
[sysutils/dbus] [print/ijs] [print/poppler-glib] [print/ghostscript] [print/poppler-utils] [graphics/tiff] [graphics/freetype2] [graphics/png] [fonts/fontconfig] [shells/bash] [devel/glib2] [net/avahi] [graphics/lcms2] [print/poppler-cpp] [print/qpdf] [print/cups-base]

Required to build:
[pkgtools/x11-links] [print/poppler-includes] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [lang/gcc5] [x11/xorgproto]

Package options: avahi, dbus

Master sites:

SHA1: a1e761dfe7b5e18c4c0ba112eb0985a6ef9790cc
RMD160: fbd91623c3aa5035385bbd22433470c8b33fdcbb
Filesize: 1454.887 KB

Version history: (Expand)

CVS history: (Expand)

   2020-01-19 00:36:14 by Roland Illig | Files touched by this commit (3046)
Log message:
all: migrate several HOMEPAGEs to https

pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
   2020-01-03 14:26:08 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
cups-filters: Update to 1.26.1

 - build system: Install the "implicitclass" backend with
   "-rwx------" permissions, so that CUPS executes it as root,
   as the "ipp" CUPS backend also has to be executed as root
   (Issue #183).
 - build system: Fixed setting permissions when installing the
   "cups-brf" backend.
 - libcupsfilters: When using the
   "media-{bottom,left,right,top}-margin-supported" IPP
   attributes (needed if we have no "media-col-database"), use
   the minimum and not the maximum margins, this allows
   accessing more of the printer's capabilities, especially for
   legacy printers which do not provide sufficient information
   (Issue #22).

 - cups-browsed: When generating local queues for printers for
   which the local CUPS daemon would provide temporary queues
   use the PPDs generated by libcupsfilters and not the ones
   generated by CUPS. The PPD generation of libcupsfilters also
   works with IPP-1.x-only printers, printers which do not
   support to query "media-col-database" and printers which
   support driverless printing only via PCLm. This can be
   changed via the "UseCUPSGeneratedPPDs" directive in
   cups-browsed.conf (Issue #22).
 - libcupsfilters: Re-structured the get_printer_attributes()
   function to remove the recursive calls for the fallbacks, to
   check required attributes in the response only if requested,
   and to fully integrate the method of getting a suitable
   response for a full printer capability list also if the
   printer is only IPP 1.1 or does not support the
   "media-col-database" attribute (Issue #22, Issue #163).
 - libcupsfilters, cups-browsed, driverless: Moved the funtions
   get_printer_attributes() and resolve_uri() from cups-browsed
   into libcupsfilters, to share them with the driverless
   utility (Issue #22).
 - implicitclass: Fixed wrong stdout redirection from the
   filters to the IPP backend and hard-coded path for "ipp"
   backend call (Possible fix for Issue #163, Issue #181).
 - cups-browsed, driverless: Use DNS-SD-service-name-based URIs
   instead of host-name-based ones, as CUPS also does. In
   cups-browsed one can switch back to the conventional
   host-name-based URIs via the new "DNSSDBasedDeviceURIs"
   configuration option.  Note that cups-browsed always uses
   conventional URIs for printers discovered via legacy CUPS
   browsing or LDAP.
 - cups-browsed: When removing a CUPS queue, do not consider an
   error (and retry) if the queue does not actually exist. Also
   ignore errors when checking whether there are still
   jobs. This way when a new queue gets created and the
   generation of the PPD file fails the attempt to remove this
   non-existing queueu when removing the printer entry does not
   cause any problem.
 - cups-browsed: Improved the fallback mechanism of the
   get_printer_attributes() function. Instead of considering
   the request failed by the content of the response only when
   not more than the two language atrributes come out, we check
   through a list of required attributes whether they are all
   there.  In addition, we actually fail when all callbacks
   have failed (Issue #22).
 - cups-browsed: Introduced new configuration options
   "UpdateCUPSQueuesMaxPerCall" and
   "PauseBetweenCUPSQueueUpdates" to limit the amount of local
   CUPS queues created, modified, or removed in a single event
   callback. Before, when there were thousands of printers in
   the network, cups-browsed got blocked for other tasks, like
   assigning a destination printer for a cluster print job
   (Issue #163).

 - implicitclass: When passing on the job via the "ipp" CUPS
   backend, set argv[0] to the destination printer URI (Pull
   request #173).
 - cups-browsed: Added another fallback to the
   get-printer-attributes IPP request: Now after failing the
   standard request ("all", "media-col-database") with both IPP
   2.0 and IPP 1.1, try simply "all", without
   "media-col-database" (Pull request #173).
 - cups-browsed: Do not set printer-is-shared for remote CUPS
   queue when making a temporary queue permanent (Pull request
 - cups-browsed: Fix leaks of ipp_t struct and load balancing
   on the servers (Pull request #179).
 - cups-browsed, implicitclass: Prioritize Apple Raster against
   PWG Raster when selecting the PDL for the destination
   printer for a job sent to a cluster, also cleaned up the PDL
   selector code and added PostScript support.
 - libcupsfilters: Updated the PPD generator adding all changes
   of the PPD generator of CUPS: Support for "job-account-id",
   "job-accounting-user-id", "job-password", finishing options
   "trim-..." added, finishing options and
   "finishing-col-database" support synced with CUPS.
 - libcupsfilters: In the PPD generator get the mode for
   handling the back sides of the sheets when printing duplex
   preferrably from the "urf-supported" attribute.
 - libcupsfilters: Fixed bug that the PPD generator did not
   output the "*CloseUI: *ColorModel" line when it did not
   determine a default setting for "ColorModel".
 - cups-browsed: Added some missing memory allocations leading
   to a segfault (Issue #175).

 - libcupsfilters: Use the text names "Draft", "Normal", and
   "High" instead of 3, 4, and 5 as choice names for the
   "cupsPrintQuality" option as CUPS does (Issue #171).
 - libcupsfilters: If a printer supports both Apple Raster and
   PWG Raster let the generated PPD use Apple Raster as there
   are several printers which report PWG Raster support but do
   not actually print PWG Raster (Pull reguest #168, Issue
   #171, CUPS issue #5238).
 - cups-browsed: Fix unset location check to use DNS-SD field
   (Pull request #172).
 - libcupsfilters, beh, implicitclass, foomatic-rip,
   imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
   cups-browsed, driverless: Silenced all compiler warnings to
   make the build process of cups-filters completely free of
 - pdftops: Fixed crash when using filter without PPD file.
 - pdftops: If printing grayscale jobs with Ghostscript as PDF
   renderer, add "-sProcessColorModel=DeviceGray" to
   Ghostscript command line.
 - pdftops: Do not use the ugly "pdftops -level1 ..."
   workaround to get grayscale PostScript output from
   Poppler. It leads to huge output files with Poppler's
   "pdftops" utility and does not work at all with
   "pdftocairo".  Poppler itself does not support PostScript
   output converted to grayscale. Issue a warning with the hint
   to use Ghostscript or MuPDF as PDF renderer (Issue #169).
 - libcupsfilters: In the cupsRasterParseIPPOptions()
   accept also "Mono", "Monochrome", and "Gray" as \ 
   space names.
   2019-11-07 13:38:09 by Thomas Klausner | Files touched by this commit (41) | Package updated
Log message:
*: recursive bump for poppler update to 0.82.0
   2019-10-20 14:17:19 by Leonardo Taccari | Files touched by this commit (5) | Package updated
Log message:
cups-filters: Update to 1.25.11

pkgsrc changes:
 - Remove patch-filter_pdf.cxx (was a backport from upstream) and patch-Makefile.in
   (now `-r' option of `ln' is checked in configure phase)

 - cups-browsed: Really accept entries without printer name
   reported on a job status request (Issue #163).
 - cups-browsed: Strip IPP atrribute values reported by the
   printer on a get-printer-attributes request from white
   space (Pull request #166).

 - libcupsfilters: Added NULL checks when handling page size
   names as some of the page sizes in CUPS' PWG media list have
   a NULL PPD name (Ubuntu bug #1847488).

 - cups-browsed: Fix leaks in get_printer_attributes() function.
 - cups-browsed: Avoid infinite recursion on IPP 1.1 fallback.

 - cups-browsed: On a job status request accept also entries
   without the printer name being reported (Issue #163).
 - cups-browsed: Fall back to IPP 1.1 if a
   get-printer-attributes IPP request with IPP 2.x fails (Issue
   #124, Issue #163).
 - gstoraster: Use ".setfilladjust2" instead of the
   undocumented ".setfilladjust" PostScript command for
   Center-of-Pixel method to fill paths (Issue #164).

 - implicitclass, libcupsfilters: Fixes to solve an assertion
   error and printing to an Apple Raster printer (Issue #162,
   Ubuntu bug #1845286, Ubuntu bug #1845548).
 - cups-browsed: Do not try to resolve the network interface
   name on Avahi messages which are not interface-related (like
   "All for now"or "Cache exhausted", Issue #163).
 - Build system: The helper script ln-srf to build on systems
   with old ln was not included in the release tarballs (Issue
 - pdftoraster: Fixed some bugs in output bitmap generation (
   writePageImage() function): Segfault on output of
   up-side-down pages (back side when printing duplex on some
   printers), margin offsets not taken into account on
   monochrome jobs, CUPS_CSPACE_W color space not recognized as
   monochrome (Ubuntu bug #1845286).

 - implicitclass: Make sure the destination printer gets always
   set and do not pass on the cups-browsed-dest-printer when
   sending the job to the final destination (Issue #152, Pull
   request #159).
 - Build system: Support old ln versions without the -r option
   (Pull request #154, #157).
 - texttotext: Link with libiconv if needed (Pull request
   #155, #158).
 - foomatic-rip: Fix argument representation for raw queue
   debug mesaage (Pull request #153).

 - bannertopdf: Added missing "#include <cstring>" to pdf.cxx
   so that bannertopdf correctly builds with QPDF 9.0.0 (Issue
   #134, Issue #151, Gentoo bug #693498).
 - rastertopdf: Let the getIPPColorProfileName() function not
   return a pointer to a local variable (clang warning, Issue
 - cups-browsed: If a locally generated queue (usually with
          "implicitclass://..." URI) left over from a previous
          (crashed) session is picked up on startup, do not set the
          URI as the remote printer's URI and do not cause a fatal
          error on a failed get-printer-attributes IPP request (Issue
          #148, Debian bug #939316).
 - pdftopdf: Do not preserve encryption, since the output
          already goes into the printer (Issue #146, Pull request

 - imagetoraster: Do not call imagetops and pstoraster for
   classifications and page labels as these filters are not
   included any more with cups-filters.  Classifications and
   page labels are currently not supported for direct image
   printing, only for PDF or PostScript input (which goes
   through pdftopdf).
 - imagetoraster, imagetopdf: Fixed auto-rotation of images to
   fit output page best (Issue #145).
 - pdftoraster: If the PPD contains several equally-sized page
   size entries which match the size of the input page and one
   is the size selected by the user via the "PageSize" or
   "media" option (or the default selection in the PPD) then
   prefer this one instead of simply the first matching one.
 - pdftoraster: If the input page size cannot be matched with
   one of the PPD's page sizes it is considered a custom size,
   fill the page size name field of the CUPS Raster header with
   "Custom.XXXxYYY" then.
 - pdftoraster: Match the input page size with a page size in
   the PPD only if the differences of the dimensions are less
   than 1%, also match the input page size against the
   imageable area of the PPD's page sizes if no match with the
   full page size is found (Issue #138).

 - Sample PPDs: In HP-Color_LaserJet_CM3530_MFP-PDF.ppd renamed
   "custom" choice of the option "stapleoption" to \ 
   as from CUPS 2.2.12 on "custom" is not accepted any more as a
   choice name in a PPD file.
 - cups-browsed: Fixed check whether the remote printer understands
   PWG Raster (Issue #141).

 - foomatic-rip: Fixed segmentation fault when running
   foomatic-rip by hand and the PRINTER environment variable is
   not set (Pull request #139).
 - cups-browsed: Added note to cups-browsed.conf and man page
   about IP-based URIs depending on the network interface used.
 - cups-browsed: For each DNS-SD-discovered printer register
   each DNS-SD discovery instance with network interface,
   family, and IPP type. When DNS-SD messages of instances
   disappearing show up, only unregister this instance and
   remove the printer only if no instance is left. This
   prevents a local queue of a still available printer being
   removed when Wi-Fi (= one interface) is turned off (Issue
 - cups-browsed: If a remote printer is served from the local
   machine, prefer the "localhost"/loopback interface URI.
 - cups-browsed: If a remote printer is discovered more than
   once, use the new instance only if it has no downgrades and
   at least one upgrade compared to the old one. Features
   currently compared are IPP/IPPS, loopback interface or not,
   and discovery via CUPS legacy/LDAP/DNS-SD.
 - cups-browsed: If an Avahi-discovered entry comes through the
   "lo" interface, always use the host name "localhost". Use
   IP addresses instead of host names only if explicitly
 - cups-browsed: Consider remote printer entries also as from
   the same printer if one has the local machine's network name
   and the other "localhost" as host name (Issue #136).

 - imagetopdf: Fixed crash when no PPD file was supplied (Pull
   request #133).
 - pdftoraster: Fixed offset issues leading to segmentation
   faults (Issue #131, Pull request #132).
 - pdftoraster: Added anti-aliasing for better raster image
   quality (Pull request #129).
 - pdftoraster: Added graceful handling of zero-page input
   (Issue #117, Pull request #127).

 - pdftoijs, pdftoopvp: Removed these deprecated filters
   completely as there is no demand for them any more. They
   also used unstable, undocumented APIs of Poppler.
 - pdftoraster: Changed from using unstable, undocumented APIs
   of Poppler to stable, documented ones, to improve
   maintainability of this filter, and with it of the
   cups-filters package. Thanks to Tanmay Anand for
   contributing this as his Google Summer of Code 2019 project.
 - libcupsfilters: Added support for color spaces CMY and RGBW
   when using filters without PPD file (mainly for development
   and debugging, option "print-color-mode" with values
   "cmy-XX" and "rgbw-XX" with XX being the number of bits per

 - cups-browsed: Integration of Deepak Patankar's Google Summer
   of Code 2018 project with the main goal of clustering
   different printers and automatically selecting the
   destination printers by job content and option/attribute
   settings. All changes of this release are done by Deepak as
   parts of his project.
 - cups-browsed, implicitclass: Support for mixed clusters of
   remote CUPS queues and IPP network printers. For this PPD
   files of remote CUPS queues are generated by cups-browsed
   based on IPP queries, as for native IPP printers, the number
   of jobs for load balancing is polled in a way that it works
   also with native IPP printers, the implicitclass backend
   sends jobs directky to the printer instead of re-queueing
   them via CUPS.
 - cups-browsed: Merge IPP attributes of several printers to
   combined attributes for the cluster to generate the
   cluster's PPD file, including PPD constraints for option
   combinations not fulfillable by any of the member printers,
   and finding reasonable, non-conflicting default settings,
 - cups-browsed: Selection algorithm for the destination
   printer for a job sent to the cluster. Based on the job
   settings requested such as page size, media type, print
   quality, ... the best most suitable printer in the cluster
   for the job will be selected.
 - cups-browsed, implicitclass: Filter jobs to clusters already
   locally. Due to the fact that a cluster's member printers
   are not exclusively non-raw CUPS queues with the complete
   filtering framework on the remote server, but also native
   IPP printers, we need to support generic driverless printers
   as destination. So we cannot pass on the input data
   unfiltered but need to filter locally. We let the cluster's
   PPD file emulate a PDF printer, letting the local CUPS queue
   of the cluster run pdftopdf and any pre-filters to turn the
   input into PDF and we let the implicitclass backend turn PDF
   into a format understood by the destination printer,
   supporting the 4 formats of driverless IPP printing: PDF,
   PWG Raster, Apple Raster, PCLm.
   2019-10-19 14:46:08 by Nia Alarie | Files touched by this commit (36)
Log message:
Recursive revbump for poppler 0.81.0
   2019-09-20 13:11:52 by Patrick Welche | Files touched by this commit (2)
Log message:
Fix build of cups-filters with qpdf 9.0
   2019-09-15 02:12:30 by Ryo ONODERA | Files touched by this commit (1)
Log message:
Recursive revbump from print/qpdf-9.0.0
   2019-07-23 19:20:01 by Thomas Klausner | Files touched by this commit (43)
Log message:
*: recursive bump for poppler 0.79