[Bug 207746] [exp-run] Overhaul of print/cups and related ports

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Mar 6 14:09:38 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207746

            Bug ID: 207746
           Summary: [exp-run] Overhaul of print/cups and related ports
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: tijl at FreeBSD.org

Created attachment 167765
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=167765&action=edit
patch

Short description:
The attached patch combines print/cups-base, print/cups-client and
print/cups-image into print/cups and updates it to 2.1.3 plus several
improvements.  It also removes print/cups-pstoraster, improves
print/cups-filters, print/foomatic-* and updates print/hplip to 3.16.2.

Long description:
First some background.  When you hand a file to cups it sets up a chain of
filter programs that converts the file to something a printer understands. 
Each filter has a cost associated with it and cups tries to find the cheapest
chain.  Costs used to be configured in such a way that files were first
converted to PostScript.  This could then be manipulated further (e.g. putting
multiple pages on one sheet) before finally being sent to a PostScript printer
or another filter like pstoraster which produces a raster format understood by
non-PostScript printer drivers.  Nowadays most filters have been moved from
cups to cups-filters and they have been configured to use PDF as an
intermediate format instead of PostScript.  See
http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format
for more details.

Merging of cups-base, cups-client and cups-image into print/cups.
cups-image provides a library to work with the cups raster format.  It is only
used to implement filters and printer drivers and these only exist in the
context of a cups server so there's no need to separate this from cups-base.
cups-client provides a library that allows applications to print via cups.  It
is possible to use the library to access a remote cups server without running a
local cups server, but such a setup is discouraged and the configuration file
to set this up has been marked deprecated
(https://cups.org/documentation.php/doc-2.1/man-client.conf.html).  It is
better to run a local cups server and let that talk to the remote cups server
because then you have the benefits of local job queuing in case the remote
server is down or busy.  Given this and the fact that without filters cups-base
is now smaller than it used to be it makes sense to merge the ports.  The patch
also adds options IPPTOOL, DOCS and NLS which when disabled make the new cups
package smaller than the current cups-client package.  Merging the ports also
prevents problems with options like ZEROCONF being configured differently in
both ports.
print/cups is currently a metaport that depends on cups-base and some filters. 
There isn't really a need for such a metaport I think so cups-base can be
renamed to cups.  The filters can be depended on by printer drivers such as
hplip if they need them.
Additional changes to the new print/cups:
- Update to 2.1.3.
- Clean up the patches.  They seem to have been regenerated with post-patch
changes included.
- Add a patch to prevent intermediate conversion to PDF when a PostScript file
is sent to a PostScript printer when cups-filters is installed.
- Fix the PAM configuration file.
- Add a patch to let the server search /usr/local/share/ppd like on Linux so
other ports don't have to add links to it from /usr/local/share/cups/model.
- Remove ulpt(4) helper scripts.  The port uses libusb with ugen(4).
- Remove support for mDNSResponder.  cups-filters only supports Avahi.
- Combine ICONS and XDG_OPEN options into an X11 option to support WITHOUT_X11.
- Optionally depend on colord for ICC profile support.
- Various smaller changes.

print/cups-filters:
- Let the cups_browsed rc.d script depend on avahi_daemon.
- Development of foomatic-filters has been moved to cups-filters so let this
port install foomatic related files and add foomatic-filters to CONFLICTS.
- Fix location of liblouis tables.
- Add patch to fix ICC support.

print/cups-pstoraster:
This port is essentially an old version of Ghostscript plus a cups filter. 
It's no longer developed.  The patch removes it and changes existing
dependencies to print/cups-filters which depends on print/ghostscript* and
includes a gstoraster filter that can handle both PostScript and PDF.

print/foomatic-db*:
Remove old MASTER_SITES and dependencies and eliminate PKGNAMEPREFIX.

print/foomatic-filters:
Install beh backend with its original name again and add cups-filters to
CONFLICTS.

print/hplip:
- Update to 3.16.2.
- Stop installing foomatic support.  This is no longer supported upstream and
is outdated (foomatic 3.x).
- Stop installing hpijs.  This is no longer supported.
- Stop installing hpcups PPDs.  These are now automatically generated.  The
bundled PPDs are generated for an older cups version.
- Install dbus, hal and policykit support files.
- Rename the QT option to X11 to support WITHOUT_X11.
- Simplify the patches now that ports are installed in a staging area.
- Add a patch to set SO_REUSEPORT (next to SO_REUSEADDR) on the mDNS socket
like avahi-daemon does.  This fixes Zeroconf support for HP network printers.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list