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.