This value may be customized in various ways:
PKG_SYSCONFBASE is the main config directory under which all package
configuration files are to be found.
PKG_SYSCONFSUBDIR is the subdirectory of PKG_SYSCONFBASE under which the
configuration files for a particular package may be found.
PKG_SYSCONFDIR.${PKGBASE} overrides the value of ${PKG_SYSCONFDIR} for a
particular package.
Users will typically want to set PKG_SYSCONFBASE to /etc, or accept the
default location of ${PREFIX}/etc.
This obsoletes the use of CONFDIR, which was active for only 6 days, so no
need to have a workaround to still accept old CONFDIR settings.
bsd.pkg.install.mk:
* Remove old DEINSTALL/INSTALL scripts.
* Move some text printed at POST-INSTALL time into the MESSAGE file.
* Adjust rc.d scripts to respect rc.conf settings, so that the
script may be directly copied into /etc/rc.d.
+ Use our own cupsd rc.d-style script instead of using the one supplied
with the CUPS sources.
- Bug fixes.
- Added a driver for DYMO label printers.
- Added new ClassifyOverride directive to allow users to override the
classification of individual jobs.
- Added new BrowseProtocols directive to control which browse protocols
are used (currently CUPS and SLP).
- Added SLPv2 support.
- The pdftops filter did not have the Japanese and Chinese text support
compiled into it.
- use 'id' instead of 'finger'. this is not a real problem, but it
is enough and fixing the next problem makes it possible to use it.
- grep -q doesn't work on solaris, so use a different way to suppress
the output from the user check.
- the return code check for the user was reversed.
* Bug fixes to the pstoraster filter, the DeskJet printer driver,
digest authentication.
* Optimized PPD file scanner so servers with lots of PPD files start
much faster (up to 40%).
* Fixed the "N * N copy bug" where N * N copies were sent when N were
specified.
* Added new DeskJet and Stylus Photo printer drivers.
* Workaround buggy IPP implementations in some HP JetDirect servers.
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0. This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
CXXFLAGS, and LDFLAGS by the buildlink.mk files so remove the extra
definitions to add them from the package Makefiles. As advised by the
bsd.buildlink.mk file, also ensure that the buildlink.mk files are
included prior to defining any package-specific CFLAGS/LDFLAGS to ensure
that the buildlink directories are at the head of the compiler search
paths.
linked from a particular package, and add a pre-configure target to
the buildlink.mk file to more painlessly use buildlink.mk files. A
${BUILDLINK_TARGETS} variable still exists in case a package _must_
define NO_CONFIGURE.
- The scheduler might restart a stopped printer after stopping a print job.
- The IPP backend did not handle the client-error-not-found error when
checking the status of the job that was sent. This caused remote queues
to stop on client machines when the server had job history disabled.
- Added httpConnectEncrypt() function to avoid performance penalty for
setting up encrypted connections initially.
- Jobs weren't queued to remote classes (fix from Richard Begg.)
- Fixed the pstops fix for GNOME output - no longer use the page numbers in
the %%Page: comment since GNOME puts a filename instead (!?@!#?!).
- The imagetops filter produced PAGE: messages when generating PostScript for
a non-PostScript printer (only affects page-label and Classification
options.)
- The updated pdftops filter was looking for an options file called xpdf.conf
instead of pdftops.conf.
- The scheduler would not force the default job sheets for printers to the
current classification setting.
- Added a new ippFindNextAttribute() function to the CUPS API.
- ppdEmitJCL() now strips any leading path info from the title string. This
is only an issue for non-CUPS clients that don't do this already...
- Other pstops fixed from Helge Blischke for printing non-conforming
documents.
- The MaxJobs parameter was not reset when loading the cupsd.conf file.
documentation updates, better support of Apache options in configuration
files, and:
- Added support for "double" HostNameLookups.
- Added new "RunAsUser" directive to support non-root configurations on the
standard (privileged) ports.
- Added support for non-root invocation of the lpd backend (does no reserve a
priviledged port, which might not work with some LPD servers...)
- Added new PrintcapFormat directive to control the output format of the
printcap file (BSD or Solaris formats are supported at present.)
- httpConnect() now looks up "localhost" by name and by address (127.0.0.1)
for users that go to the trouble of removing the required localhost entry
in /etc/hosts or on their DNS server...
- The EPSON drivers now send the "end packet mode" command when printing to
USB devices.
- The LPD backend now supports a new "order" option:
"lpd://server/queue?order=control,data" (default) and
"lpd://server/queue?order=data,control".
- New "Classification" directive to force labeling of the current
classification on each page.
- New "page-label" attribute to add per-page labels ("For Official Use Only",
"Draft", etc.)
- Dropped the "file" backend from the device list that is reported, since it
is only available for *testing* and should never be used in a production
environment. The file: device can still be used, but it won't show up in
the list of devices from lpinfo or the web interface.
- Added META variables to the CGI header template to prevent caching of the
results.
- Added two new directives - MaxJobsPerPrinter and MaxJobsPerUser - to allow
an administrator to set the maximum number of pending jobs in a queue or
submitted by a user.
- Added support for the Enable-Printer and Disable-Printer extension
operations (same as CUPS-Accept-Jobs and CUPS-Reject-Jobs.)
- Added support for the DeskJet 900 series duplexer and CRET color modes in
the HP driver.
- Added support for PPD-defined margins in the HP driver.
- Added new cupsGetJobs() and cupsFreeJobs() functions to manage print jobs.
- cupsEncodeOptions() would encode names of 0 length and cupsAddOption() and
cupsParseOptions() would add names of 0 length.
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
from the mailing list:
1) Use /dev/urandom instead of /dev/random for random device.
2) Read configuration file before creating certificates as the conf
file may redefine the location of the certs directory.
using the newest PNG library won't work on system with an older one. To
prevent such problems with precompiled binary packages require at least
"png-1.0.9nb1" in all dependences.
version 1.1.6.2nb1 include incorporation of USB fixes from NetBSD pkgsrc,
security fixes from SuSE, lpr-compatibility fixes from Caldera, and:
- Fix problem exposed by the MaxJobs directive where the scheduler was
losing count of the number of jobs. This fix, stored in patch-ah, was
gleaned from the CUPS mailing list, and bumps the cups packages version
number to 1.1.6.3nb1.
- The updated cupsTempFile() function did not return the filename when
called with a filename buffer of NULL (previously it used a static
buffer.)
- DeletePrinter() didn't remove the printer from any classes it was a member of.
- DeletePrinterFromClass() didn't preserve the implicit status of a class.
- DeletePrinterFromClasses() didn't remove printers from implicit classes.
- StartJob() didn't send the job-sheets, job-priority, and job-hold-until
attributes to remote printers.
- LoadAllJobs() was looking for job-sheets-completed instead of
job-media-sheets-completed. This would prevent accumulation of page data
after a restart of the scheduler.
- The pstops and imagetops filters now generate copies using the appropriate
method for a Level 1, 2, or 3 printer since some Level 2/3 printers don't
support the /#copies variable anymore.
- The IPP backend didn't handle version-not-supported errors and revert to
IPP/1.0 (previously it only checked for a bad-request error)
- Added changes to support NetBSD startup scripts.
- The mime.types file contained syntax errors.
- Updated the FreeBSD USB device filenames to use the /dev/unlptN files
so that the USB device is not reset prior to printing (causes print
corruption on many printers)
- Added new cupsTempFd() function to avoid serious security bug in
glibc fopen() function. The glibc fopen() function unlinks a file
before creating it, which opens up possible symlink attacks.
- Now reject 0-length names in add-printer and add-class
requests.
- cupsGetPPD() didn't reconnect when a HTTP connection
was lost.
- Many security-related fixes from SuSE.
additions to the documentation, plus the following changes:
- Fixed another possible DoS attack in httpGets().
- Added check for "LANGUAGE = PCL" and "LANGUAGE = POSTSCRIPT" in
mime.types.
- The printers.conf and classes.conf files are now written with
restricted permissions.
- If LoadAllJobs() is unable to determine the file type of a print
job, assume "application/vnd.cups-raw".
- The web interface now provides a job_printer_name value for any
corresponding job_printer_uri value.
- The cups-lpd mini-daemon now logs the client address and hostname
as well as all commands and errors in the syslog file.
- The IPP backend now detects the supported file formats and only
specifies the document format if it is supported. This makes IPP
printing to network print servers and cards more reliable without
affecting the capabilities of CUPS servers.
- The time_at_xyz attributes are now converted to human-readable
dates and times for the web interfaces.
- The file type logging code in the scheduler referenced the optional
document-format attribute; the new code uses the resolved MIME type
instead.
- The client.conf parsing code now removes trailing whitespace.
- The lpadmin command now supports setting of options and user-level
access control.
- Added "-E" option to all printing commands to force encryption.
- The socket backend now starts retries at 5 seconds and increases
the interval to 30 seconds. This should provide faster printing
when multiple jobs/files are queued for a printer.
- The filters and backends no longer buffer output to stderr. This
should provide much more accurate status reporting.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.
bug and security fixes, improvements to the efficiency of the server and
utilities, improvements to the documentation, plus the following:
* Security updates - new default configuration does not broadcast
printer information and only allows access from the local system.
* EXPERIMENTAL encryption support - CUPS now optionally supports TLS/SSL
encryption via the OpenSSL library.
* Updated PDF filter to Xpdf 0.91.
* Added PPD files for 9-pin and 24-pin OKIDATA printers.
* Changed all sprintf's that use string formats to snprintf's, even if
the destination buffer is larger than the source string(s); this
protects against buffer overflows caused outside of CUPS...
* Changed all strcpy's to strncpy's between local and global variables,
even if the destination buffer is larger than the source string; this
protects against buffer overflows caused outside of CUPS...
* Added new mime.types rules to allow automatic raw printing of PCL and
ESC/P files; PJL headers are parsed to differentiate between
PostScript and PCL job files. This should eliminate a lot of the
reports of SAMBA printing problems due to the missing "-oraw" or "-l"
options.
* Jobs are now assigned to printers in a class round-robin style. This
should prevent the first server in the class from bearing the brunt of
the jobs.
* The serial backend didn't support the higher baud rates with the old
termios interface. It now supports 57600 and 115200 baud.
* The serial backend now supports different types of flow control;
previously it ignored the flow=XYZ option in the device URI.
* The serial backend now supports DTR/DSR flow control, which is popular
on dot-matrix printers (access with "flow=dtrdsr" in the device URI)
* Added new job-originating-host-name attribute for jobs. The new
attribute provides the hostname or IP address of the machine that
submitted the job.
* Added quota and allow/deny user support for printers and classes.
bugfixes, security fixes, improvements to the web admin interface, addition
of new printer drivers, improved documentation, and improvements to the CUPS
API for client development.
the author to make this package compile more seamlessly on BSD systems,
and in particular with the NetBSD pkgsrc software collection.
CUPS 1.1 is the newest production (stable) release of CUPS. It
provides many new features from the 1.0.x releases, including a
new Level 3 PostScript RIP, a new PDF filter, EPSON printer
drivers, IPP/1.1 support, banner page support, and LPD client
support. Binaries for several platforms are also available.
Major changes in v1.1 include:
- The text filter now embeds missing fonts.
- Integrated Xpdf's pdftops filter into CUPS, which is a
lightweight and reliable replacement for Ghostscript's
PDF support.
- The web administration interface now allows you to set
the default banner pages.
- Images can now be positioned on the page using the new
"position" option.
- Updated the serial, parallel, and usb backends to do
multiple writes and ignore ioctl() errors as needed;
this should fix problems with serial printing on old
serial drivers and with the UltraSPARC parallel port
driver under Solaris 2.7.
- Now propagate LD_LIBRARY_PATH to child processes from
cupsd.
- Queued remote jobs recreate remote printers as needed
when the scheduler is started.
- Deleting a printer also purges all jobs on that
printer.
- Old job and control files that don't belong to a
printer are automatically deleted.
- cups-lpd now supports options set with lpoptions.
- The IPP backend now switches to IPP/1.0 if a 1.1
request fails.
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.