[BACK]Return to patch-config-scripts_cups-directories.m4 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / print / cups-base / patches

File: [cvs.NetBSD.org] / pkgsrc / print / cups-base / patches / patch-config-scripts_cups-directories.m4 (download)

Revision 1.4, Tue May 10 20:47:37 2022 UTC (8 months, 3 weeks ago) by markd
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, HEAD
Changes since 1.3: +75 -97 lines

{cups,cups-base,libcups}: update to 2.4.1

Changes in CUPS v2.4.1 (27th January 2022)

- The default color mode now is now configurable and defaults to the printer's
  reported default mode
- Configuration script now checks linking for -Wl,-pie flags
- Fixed memory leaks - in testi18n, in `cups_enum_dests()`,
  in `_cupsEncodeOption()` and `http_tls_upgrade()`
- Fixed missing bracket in de/index.html
- Fixed typos in configuration scripts
- Removed remaining legacy code for `RIP_MAX_CACHE` environment variable
- Removed deprecated directives from cupsctl and cups-files.conf
- Removed `purge-jobs` legacy code from CGI scripts and templates

Changes in CUPS v2.4.0 (29th November 2021)

- Added configure option --with-idle-exit-timeout
- Added --with-systemd-timeoutstartsec configure option
- DigestOptions now are applied for MD5 Digest authentication defined
  by RFC 2069 as well
- Fixed compilation on Solaris
- Fixed and improved German translations

Changes in CUPS v2.4rc1 (12th November 2021)

- Added warning and debug messages when loading printers
 if the queue is raw or with driver
- Compilation now uses -fstack-protector-strong if available

Changes in CUPS v2.4b1 (27th October 2021)

- Added support for CUPS running in a Snapcraft snap.
- Added basic OAuth 2.0 client support
- Added support for AirPrint and Mopria clients
- Added configure support for specifying systemd dependencies in the CUPS
  service file
- Added a JSON output mode for `ipptool`.
- The `ipptool` command now correctly reports an error when a test file cannot
  be found.
- CUPS library now uses thread safe `getpwnam_r` and `getpwuid_r` functions
- Fixed Kerberos authentication for the web interface
- The ZPL sample driver now supports more "standard" label sizes
- Fixed reporting of printer instances when enumerating and when no options are
  set for the main instance
- Reverted USB read limit enforcement change from CUPS 2.2.12
- The IPP backend did not return the correct status code when a job was canceled
  at the printer/server
- The `testlang` unit test program now loops over all of the available locales
  by default
- The `cupsfilter` command now shows error messages when options are used
- The PPD functions now treat boolean values as case-insensitive
- Temporary queue names no longer end with an underscore
- The USB backend now runs as root
- Added pkg-config file for libcups
- Fixed a PPD memory leak caused by emulator definitions
- Fixed a `DISPLAY` bug in `ipptool`
- The scheduler now includes the `[Job N]` prefix for job log messages, even
  when using syslog logging
- Added support for locales using the GB18030 character set
- `httpReconnect2` did not reset the socket file descriptor when the TLS
  negotiation failed
- `httpUpdate` did not reset the socket file descriptor when the TLS
  negotiation failed
- The IPP backend now retries Validate-Job requests
- Now show better error messages when a driver interface program fails to
  provide a PPD file
- Added dark mode support to the CUPS web interface
- Added a workaround for Solaris in `httpAddrConnect2`
- Fixed an interaction between `--remote-admin` and `--remote-any` for the
  `cupsctl` command
- Now use a 60 second timeout for reading USB backchannel data
- The USB backend now tries harder to find a serial number
- Fixed `@IF(name)` handling in `cupsd.conf`
- Fixed documentation and added examples for CUPS' limited CGI support
- Fixed the `lpc` command prompt
- Now always pass "localhost" in the `Host:` header when talking over a domain
  socket or the loopback interface
- Fixed a job history update issue in the scheduler
- Fixed `job-pages-per-set` value for duplex print jobs.
- Fixed an edge case in `ippReadIO` to make sure that only complete attributes
  and values are retained on an error
- Hardened `ippReadIO` to prevent invalid IPP messages from being propagated
- The scheduler now supports the "everywhere" model directly
- Fixed some IPP Everywhere option mapping problems
- Fixed support for "job-hold-until" with the Restart-Job operation
- Fixed the default color/grayscale presets for IPP Everywhere PPDs
- Fixed support for the 'offline-report' state for all USB backends
- Documentation fixes
- Localization updates
- USB quirk updates
- Web interface updates
- The `ippeveprinter` tool now automatically uses an available port.
- Fixed several Windows TLS and hashing issues.
- Deprecated cups-config
- Deprecated Kerberos (`AuthType Negotiate`) authentication
- Removed support for the (long deprecated and unused) `FontPath`,
  `ListenBackLog`, `LPDConfigFile`, `KeepAliveTimeout`, `RIPCache`, and
  `SMBConfigFile` directives in `cupsd.conf` and `cups-files.conf`.
- Stubbed out deprecated `httpMD5` functions.
- Add test for undefined page ranges during printing.

$NetBSD: patch-config-scripts_cups-directories.m4,v 1.4 2022/05/10 20:47:37 markd Exp $

The '$' while loops expand the variables as long as possible so that no
references to other variables occur. This is necessary because fontpath
may be "${exec_prefix}", which itself may be "${prefix}", and so on. I
don't know how many levels of indirection are possible, therefore the

I'm also sure that this is not the Right Way to fix it, but at least it

--- config-scripts/cups-directories.m4.orig	2022-01-27 11:11:42.000000000 +0000
+++ config-scripts/cups-directories.m4
@@ -95,7 +95,7 @@ AS_IF([test "$sysconfdir" = "\${prefix}/
 dnl Fix "libdir" variable...
 AS_IF([test "$libdir" = "\${exec_prefix}/lib"], [
     AS_CASE(["$host_os_name"], [linux*], [
-	AS_IF([test -d /usr/lib64 -a ! -d /usr/lib64/fakeroot], [
+	AS_IF([test -d /usr/lib64 -a ! -d /usr/lib64/fakeroot && false], [
 	], [
@@ -132,7 +132,15 @@ AC_SUBST([CUPS_CACHEDIR])
 # Data files
-AC_DEFINE_UNQUOTED([CUPS_DATADIR], ["$datadir/cups"], [Location of data files.])
+while test $done = no; do
+	case "$CUPS_DATADIR" in
+	*'$'*) eval "CUPS_DATADIR=$CUPS_DATADIR";;
+	*) done=yes;;
+	esac
+AC_DEFINE_UNQUOTED([CUPS_DATADIR], ["$CUPS_DATADIR"], [Location of data files.])
 # Icon directory
@@ -145,7 +153,11 @@ AC_ARG_WITH([icondir], AS_HELP_STRING([-
 AS_IF([test "x$icondir" = x], [
 ], [
-    ICONDIR="$icondir"
+    if test "x$icondir" = xno; then
+            ICONDIR=""
+    else
+            ICONDIR="$icondir"
+    fi
@@ -160,6 +172,11 @@ AC_ARG_WITH([menudir], AS_HELP_STRING([-
 AS_IF([test "x$menudir" = x], [
 ], [
+    if test "x$menudir" = xno; then
+           MENUDIR=""
+    else
+           MENUDIR="$menudir"
+    fi
@@ -179,7 +196,15 @@ AS_IF([test x$docdir = x], [
-AC_DEFINE_UNQUOTED([CUPS_DOCROOT], ["$docdir"], [Location of documentation files.])
+while test $done = no; do
+	case "$CUPS_DOCROOT" in
+	*'$'*) eval "CUPS_DOCROOT=$CUPS_DOCROOT";;
+	*) done=yes;;
+	esac
+AC_DEFINE_UNQUOTED([CUPS_DOCROOT], ["$CUPS_DOCROOT"], [Location of documentation files.])
 # Locale data
@@ -194,6 +219,14 @@ AS_IF([test "$localedir" = "\${datarootd
+while test $done = no; do
+	case "$CUPS_LOCALEDIR" in
+	*) done=yes;;
+	esac
 AC_DEFINE_UNQUOTED([CUPS_LOCALEDIR], ["$CUPS_LOCALEDIR"], [Location of localization files.])
@@ -232,10 +265,18 @@ AC_SUBST([CUPS_LOGDIR])
 # Longer-term spool data
-AC_DEFINE_UNQUOTED([CUPS_REQUESTS], ["$localstatedir/spool/cups"], [Location of spool directory.])
+AC_DEFINE_UNQUOTED([CUPS_REQUESTS], ["$CUPS_REQUESTS"], [Location of spool directory.])
 # Server executables...
+AC_ARG_WITH([serverbindir], AS_HELP_STRING([--with-serverbindir], [set path for server helper programs]), [
+    serverbindir="$withval"
+], [
+    serverbindir=""
+if test x$serverbindir = x; then
 AS_CASE(["$host_os_name"], [*-gnu], [
     # GNUs
@@ -250,13 +291,18 @@ AS_CASE(["$host_os_name"], [*-gnu], [
+	CUPS_SERVERBIN="$serverbindir"
 AC_DEFINE_UNQUOTED([CUPS_SERVERBIN], ["$CUPS_SERVERBIN"], [Location of server programs.])
 # Configuration files
-AC_DEFINE_UNQUOTED([CUPS_SERVERROOT], ["$sysconfdir/cups"], [Location of server configuration files.])
+AC_DEFINE_UNQUOTED([CUPS_SERVERROOT], ["$CUPS_SERVERROOT"], [Location of server configuration files.])
 # Transient run-time state