* [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version
@ 2025-08-20 16:39 Angelo Compagnucci
2025-08-20 16:39 ` [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 Angelo Compagnucci
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Angelo Compagnucci @ 2025-08-20 16:39 UTC (permalink / raw)
To: buildroot; +Cc: Angelo Compagnucci
cups-filters went though a lot of changes lately, therefore bumping to the latest
version wasn't as straightforward as I hoped.
Angelo Compagnucci (4):
package/qpdf: bump to version 12.2.0
package/libcupsfilters: new package
package/libppd: new package
package/cups-filters: bump to version 2.0.1
DEVELOPERS | 3 +
package/Config.in | 2 +
...ecv-instead-of-system-CVE-2023-24805.patch | 208 ------------------
package/cups-filters/Config.in | 16 +-
package/cups-filters/cups-filters.hash | 2 +-
package/cups-filters/cups-filters.mk | 70 +-----
package/libcupsfilters/Config.in | 34 +++
package/libcupsfilters/libcupsfilters.hash | 3 +
package/libcupsfilters/libcupsfilters.mk | 93 ++++++++
package/libppd/Config.in | 8 +
package/libppd/libppd.hash | 4 +
package/libppd/libppd.mk | 24 ++
package/qpdf/qpdf.hash | 4 +-
package/qpdf/qpdf.mk | 26 +--
14 files changed, 193 insertions(+), 304 deletions(-)
delete mode 100644 package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch
create mode 100644 package/libcupsfilters/Config.in
create mode 100644 package/libcupsfilters/libcupsfilters.hash
create mode 100644 package/libcupsfilters/libcupsfilters.mk
create mode 100644 package/libppd/Config.in
create mode 100644 package/libppd/libppd.hash
create mode 100644 package/libppd/libppd.mk
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread* [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 2025-08-20 16:39 [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version Angelo Compagnucci @ 2025-08-20 16:39 ` Angelo Compagnucci 2025-08-22 21:08 ` Thomas Petazzoni via buildroot 2025-08-20 16:39 ` [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package Angelo Compagnucci ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Angelo Compagnucci @ 2025-08-20 16:39 UTC (permalink / raw) To: buildroot; +Cc: Angelo Compagnucci Changelog: https://qpdf.readthedocs.io/en/stable/release-notes.html Updating source URL (Github) and updating build system to cmake. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> --- DEVELOPERS | 1 + package/qpdf/qpdf.hash | 4 ++-- package/qpdf/qpdf.mk | 26 ++++++++++---------------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/DEVELOPERS b/DEVELOPERS index 3efad36d70..875406610e 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -233,6 +233,7 @@ F: package/python-pillow/ F: package/python-pydal/ F: package/python-spidev/ F: package/python-web2py/ +F: package/qpdf/ F: package/qt5/qt5coap/ F: package/qt5/qt5knx/ F: package/qt5/qt5mqtt/ diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash index 08a048f2ed..89391dd1d8 100644 --- a/package/qpdf/qpdf.hash +++ b/package/qpdf/qpdf.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/qpdf/files/qpdf/10.5.0/qpdf-10.5.0.sha256/download -sha256 88257d36a44fd5c50b2879488324dd9cafc11686ae49d8c4922a4872203ce006 qpdf-10.5.0.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/12.2.0/qpdf-12.2.0.sha256/download +sha256 b3d1575b2218badc3549d6977524bb0f8c468c6528eebc8967bbe3078cf2cace qpdf-12.2.0.tar.gz # Locally computed: sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt sha256 fb929ac30decb4dc3a2eea2bec6c43296a797c5d2d602deb3784ee39430583d5 Artistic-2.0 diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index d479515789..2a4e7f3386 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -4,36 +4,30 @@ # ################################################################################ -QPDF_VERSION = 10.5.0 -QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) +QPDF_VERSION = 12.2.0 +QPDF_SITE = https://github.com/qpdf/qpdf/releases/download/v$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Apache-2.0 or Artistic-2.0 QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0 QPDF_CPE_ID_VALID = YES QPDF_DEPENDENCIES = host-pkgconf zlib jpeg +QPDF_SUPPORTS_IN_SOURCE_BUILD = NO -QPDF_CONF_OPTS = --with-random=/dev/urandom - -ifeq ($(BR2_USE_WCHAR),) -QPDF_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DQPDF_NO_WCHAR_T" -endif +QPDF_CONF_OPTS = -DSKIP_OS_SECURE_RANDOM=ON \ + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON ifeq ($(BR2_PACKAGE_GNUTLS),y) -QPDF_CONF_OPTS += --enable-crypto-gnutls +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=ON QPDF_DEPENDENCIES += gnutls else -QPDF_CONF_OPTS += --disable-crypto-gnutls +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=OFF endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -QPDF_CONF_OPTS += --enable-crypto-openssl +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=ON QPDF_DEPENDENCIES += openssl else -QPDF_CONF_OPTS += --disable-crypto-openssl -endif - -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -QPDF_CONF_ENV += LIBS=-latomic +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=OFF endif -$(eval $(autotools-package)) +$(eval $(cmake-package)) -- 2.34.1 To: buildroot@buildroot.org _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 2025-08-20 16:39 ` [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 Angelo Compagnucci @ 2025-08-22 21:08 ` Thomas Petazzoni via buildroot 2025-08-23 15:48 ` Angelo Compagnucci 0 siblings, 1 reply; 10+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-08-22 21:08 UTC (permalink / raw) To: Angelo Compagnucci; +Cc: buildroot Hello Angelo, Thanks for this patch, which looks great. I have a few questions below. On Wed, 20 Aug 2025 18:39:18 +0200 Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk > index d479515789..2a4e7f3386 100644 > --- a/package/qpdf/qpdf.mk > +++ b/package/qpdf/qpdf.mk > @@ -4,36 +4,30 @@ > # > ################################################################################ > > -QPDF_VERSION = 10.5.0 > -QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) > +QPDF_VERSION = 12.2.0 > +QPDF_SITE = https://github.com/qpdf/qpdf/releases/download/v$(QPDF_VERSION) > QPDF_INSTALL_STAGING = YES > QPDF_LICENSE = Apache-2.0 or Artistic-2.0 > QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0 > QPDF_CPE_ID_VALID = YES > QPDF_DEPENDENCIES = host-pkgconf zlib jpeg > +QPDF_SUPPORTS_IN_SOURCE_BUILD = NO > > -QPDF_CONF_OPTS = --with-random=/dev/urandom > - > -ifeq ($(BR2_USE_WCHAR),) > -QPDF_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DQPDF_NO_WCHAR_T" Are you confident that qpdf no builds properly in configurations with BR2_USE_WCHAR disabled, without anything special? > -endif > +QPDF_CONF_OPTS = -DSKIP_OS_SECURE_RANDOM=ON \ > + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON What are these 3 options doing? -DSKIP_OS_SECURE_RANDOM=ON seems scary, and the other ones would benefit from a bit of explanation so we understand how it interacts with the options below to select crypto support. > ifeq ($(BR2_PACKAGE_GNUTLS),y) > -QPDF_CONF_OPTS += --enable-crypto-gnutls > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=ON > QPDF_DEPENDENCIES += gnutls > else > -QPDF_CONF_OPTS += --disable-crypto-gnutls > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=OFF > endif > > ifeq ($(BR2_PACKAGE_OPENSSL),y) > -QPDF_CONF_OPTS += --enable-crypto-openssl > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=ON > QPDF_DEPENDENCIES += openssl > else > -QPDF_CONF_OPTS += --disable-crypto-openssl > -endif > - > -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) > -QPDF_CONF_ENV += LIBS=-latomic This is no longer needed? Did you test building with a SPARC toolchain for example, which is known to be picky as all __atomic built-ins are implemented in libatomic? Thanks a lot! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 2025-08-22 21:08 ` Thomas Petazzoni via buildroot @ 2025-08-23 15:48 ` Angelo Compagnucci 0 siblings, 0 replies; 10+ messages in thread From: Angelo Compagnucci @ 2025-08-23 15:48 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: buildroot [-- Attachment #1.1: Type: text/plain, Size: 3337 bytes --] Il giorno ven 22 ago 2025 alle ore 23:08 Thomas Petazzoni < thomas.petazzoni@bootlin.com> ha scritto: > Hello Angelo, > > Thanks for this patch, which looks great. I have a few questions below. > > On Wed, 20 Aug 2025 18:39:18 +0200 > Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > > > diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk > > index d479515789..2a4e7f3386 100644 > > --- a/package/qpdf/qpdf.mk > > +++ b/package/qpdf/qpdf.mk > > @@ -4,36 +4,30 @@ > > # > > > ################################################################################ > > > > -QPDF_VERSION = 10.5.0 > > -QPDF_SITE = > http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) > > +QPDF_VERSION = 12.2.0 > > +QPDF_SITE = > https://github.com/qpdf/qpdf/releases/download/v$(QPDF_VERSION) > > QPDF_INSTALL_STAGING = YES > > QPDF_LICENSE = Apache-2.0 or Artistic-2.0 > > QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0 > > QPDF_CPE_ID_VALID = YES > > QPDF_DEPENDENCIES = host-pkgconf zlib jpeg > > +QPDF_SUPPORTS_IN_SOURCE_BUILD = NO > > > > -QPDF_CONF_OPTS = --with-random=/dev/urandom > > - > > -ifeq ($(BR2_USE_WCHAR),) > > -QPDF_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DQPDF_NO_WCHAR_T" > > Are you confident that qpdf no builds properly in configurations with > BR2_USE_WCHAR disabled, without anything special? > Ok, by the documentation it seems this is still valid "You can disable use of ``wchar_t`` in qpdf's code by defining the ``QPDF_NO_WCHAR_T`` preprocessor symbol in your build (e.g. by including ``-DQPDF_NO_WCHAR_T`` in ``CFLAGS`` and ``CXXFLAGS``)." > -endif > > +QPDF_CONF_OPTS = -DSKIP_OS_SECURE_RANDOM=ON \ > > + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON > > What are these 3 options doing? -DSKIP_OS_SECURE_RANDOM=ON seems scary, > This one maps the old --with-random=/dev/urandom option. I'm not sure if this is still needed honestly, we could try to remove it and see if it fails in testing. > and the other ones would benefit from a bit of explanation so we > understand how it interacts with the options below to select crypto > support. > Those two options are used to suppress the use of the internally downloaded and built providers and instead use system ones. > ifeq ($(BR2_PACKAGE_GNUTLS),y) > > -QPDF_CONF_OPTS += --enable-crypto-gnutls > > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=ON > > QPDF_DEPENDENCIES += gnutls > > else > > -QPDF_CONF_OPTS += --disable-crypto-gnutls > > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=OFF > > endif > > > > ifeq ($(BR2_PACKAGE_OPENSSL),y) > > -QPDF_CONF_OPTS += --enable-crypto-openssl > > +QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=ON > > QPDF_DEPENDENCIES += openssl > > else > > -QPDF_CONF_OPTS += --disable-crypto-openssl > > -endif > > - > > -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) > > -QPDF_CONF_ENV += LIBS=-latomic > > This is no longer needed? Did you test building with a SPARC toolchain > for example, which is known to be picky as all __atomic built-ins are > implemented in libatomic? > CMakeLists.txt has: set(CMAKE_REQUIRED_LIBRARIES atomic) therefore cmake should take care of this. > > Thanks a lot! > > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com > -- Profile: http://it.linkedin.com/in/compagnucciangelo [-- Attachment #1.2: Type: text/html, Size: 5634 bytes --] [-- Attachment #2: Type: text/plain, Size: 150 bytes --] _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package 2025-08-20 16:39 [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 Angelo Compagnucci @ 2025-08-20 16:39 ` Angelo Compagnucci 2025-08-22 21:06 ` Thomas Petazzoni via buildroot 2025-08-20 16:39 ` [Buildroot] [PATCH 3/4 v2] package/libppd: " Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 Angelo Compagnucci 3 siblings, 1 reply; 10+ messages in thread From: Angelo Compagnucci @ 2025-08-20 16:39 UTC (permalink / raw) To: buildroot; +Cc: Angelo Compagnucci Newer versions of cups-filters split several parts of the main software into external libraries. This is the main filters library. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/libcupsfilters/Config.in | 34 ++++++++ package/libcupsfilters/libcupsfilters.hash | 3 + package/libcupsfilters/libcupsfilters.mk | 93 ++++++++++++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 package/libcupsfilters/Config.in create mode 100644 package/libcupsfilters/libcupsfilters.hash create mode 100644 package/libcupsfilters/libcupsfilters.mk diff --git a/DEVELOPERS b/DEVELOPERS index 875406610e..bc8816c8aa 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -220,6 +220,7 @@ F: package/i2c-tools/ F: package/jq/ F: package/libapparmor/ F: package/libb64/ +F: package/libcupsfilters F: package/libdill/ F: package/mender/ F: package/mender-artifact/ diff --git a/package/Config.in b/package/Config.in index 137f74ed82..68a8f96e23 100644 --- a/package/Config.in +++ b/package/Config.in @@ -352,6 +352,7 @@ comment "Graphic libraries" source "package/freerdp/Config.in" source "package/graphicsmagick/Config.in" source "package/imagemagick/Config.in" + source "package/libcupsfilters/Config.in" source "package/libglvnd/Config.in" source "package/mesa3d/Config.in" source "package/mesa3d-headers/Config.in" diff --git a/package/libcupsfilters/Config.in b/package/libcupsfilters/Config.in new file mode 100644 index 0000000000..e664869a41 --- /dev/null +++ b/package/libcupsfilters/Config.in @@ -0,0 +1,34 @@ +config BR2_PACKAGE_LIBCUPSFILTERS + bool "libcupsfilters" + # needs fork() + depends on BR2_USE_MMU + depends on BR2_INSTALL_LIBSTDCPP # qpdf + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_PACKAGE_CUPS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf + depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_QPDF + help + This project provides backends, filters, and other software + that was once part of the core CUPS distribution but is no + longer maintained by Apple Inc. + This package provides the libcupsfilters library, which in + its 2.x version contains all the code of the filters of the + former cups-filters package as library functions, + the so-called filter functions. + + http://www.linuxfoundation.org/collaborate/workgroups/openprinting/libcupsfilters + +comment "libcupsfilters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 5" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/libcupsfilters/libcupsfilters.hash b/package/libcupsfilters/libcupsfilters.hash new file mode 100644 index 0000000000..c1d2253229 --- /dev/null +++ b/package/libcupsfilters/libcupsfilters.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 ff31778a438bf335ceed254ccc706d5cd0eee55f608fcf567d88699b15f4fa9e libcupsfilters-2.1.1.tar.gz +sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING diff --git a/package/libcupsfilters/libcupsfilters.mk b/package/libcupsfilters/libcupsfilters.mk new file mode 100644 index 0000000000..9cf449ac8d --- /dev/null +++ b/package/libcupsfilters/libcupsfilters.mk @@ -0,0 +1,93 @@ +################################################################################ +# +# libcupsfilters +# +################################################################################ + +LIBCUPSFILTERS_VERSION = 2.1.1 +LIBCUPSFILTERS_SITE = https://github.com/OpenPrinting/libcupsfilters/releases/download/$(LIBCUPSFILTERS_VERSION) +LIBCUPSFILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause +LIBCUPSFILTERS_LICENSE_FILES = COPYING +LIBCUPSFILTERS_CPE_ID_VENDOR = linuxfoundation +LIBCUPSFILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg +LIBCUPSFILTERS_INSTALL_STAGING = YES + +LIBCUPSFILTERS_CONF_OPTS = \ + --disable-mutool \ + --disable-foomatic \ + --disable-braille \ + --enable-imagefilters \ + --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ + --with-sysroot=$(STAGING_DIR) \ + --with-pdftops=pdftops \ + --with-jpeg \ + --with-test-font-path=/dev/null \ + --without-rcdir + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +LIBCUPSFILTERS_CONF_OPTS += --with-png +LIBCUPSFILTERS_DEPENDENCIES += libpng +else +LIBCUPSFILTERS_CONF_OPTS += --without-png +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +LIBCUPSFILTERS_CONF_OPTS += --with-tiff +LIBCUPSFILTERS_DEPENDENCIES += tiff +else +LIBCUPSFILTERS_CONF_OPTS += --without-tiff +endif + +ifeq ($(BR2_PACKAGE_DBUS),y) +LIBCUPSFILTERS_CONF_OPTS += --enable-dbus +LIBCUPSFILTERS_DEPENDENCIES += dbus +else +LIBCUPSFILTERS_CONF_OPTS += --disable-dbus +endif + +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) +LIBCUPSFILTERS_DEPENDENCIES += avahi +LIBCUPSFILTERS_CONF_OPTS += --enable-avahi +else +LIBCUPSFILTERS_CONF_OPTS += --disable-avahi +endif + +ifeq ($(BR2_PACKAGE_GHOSTSCRIPT),y) +LIBCUPSFILTERS_DEPENDENCIES += ghostscript +LIBCUPSFILTERS_CONF_OPTS += --enable-ghostscript +else +LIBCUPSFILTERS_CONF_OPTS += --disable-ghostscript +endif + +ifeq ($(BR2_PACKAGE_IJS),y) +LIBCUPSFILTERS_DEPENDENCIES += ijs +LIBCUPSFILTERS_CONF_OPTS += --enable-ijs +else +LIBCUPSFILTERS_CONF_OPTS += --disable-ijs +endif + +ifeq ($(BR2_PACKAGE_POPPLER),y) +LIBCUPSFILTERS_DEPENDENCIES += poppler +LIBCUPSFILTERS_CONF_OPTS += --enable-poppler +else +LIBCUPSFILTERS_CONF_OPTS += --disable-poppler +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBCUPSFILTERS_CONF_OPTS += --enable-exif +LIBCUPSFILTERS_DEPENDENCIES += libexif +else +LIBCUPSFILTERS_CONF_OPTS += --disable-exif +endif + +define LIBCUPSFILTERS_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/cups-filters/S82cups-browsed \ + $(TARGET_DIR)/etc/init.d/S82cups-browsed +endef + +define LIBCUPSFILTERS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0755 $(@D)/utils/cups-browsed.service \ + $(TARGET_DIR)/usr/lib/systemd/system/cups-browsed.service +endef + +$(eval $(autotools-package)) -- 2.34.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package 2025-08-20 16:39 ` [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package Angelo Compagnucci @ 2025-08-22 21:06 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 10+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-08-22 21:06 UTC (permalink / raw) To: Angelo Compagnucci; +Cc: buildroot Hello Angelo, Thanks a lot for this great work! I have a number of comments/questions below. On Wed, 20 Aug 2025 18:39:19 +0200 Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > diff --git a/package/libcupsfilters/Config.in b/package/libcupsfilters/Config.in > new file mode 100644 > index 0000000000..e664869a41 > --- /dev/null > +++ b/package/libcupsfilters/Config.in > @@ -0,0 +1,34 @@ > +config BR2_PACKAGE_LIBCUPSFILTERS > + bool "libcupsfilters" > + # needs fork() > + depends on BR2_USE_MMU > + depends on BR2_INSTALL_LIBSTDCPP # qpdf > + depends on !BR2_STATIC_LIBS > + depends on BR2_USE_WCHAR # libglib2 > + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 > + depends on BR2_PACKAGE_CUPS > + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf > + depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf For the ones that don't have a comment, are they directly dependencies due to libcupsfilter itself? > + select BR2_PACKAGE_JPEG This dependency doesn't seem to be mandatory according to https://github.com/OpenPrinting/libcupsfilters/blob/master/INSTALL.md#prerequisites-for-compilation > + select BR2_PACKAGE_FONTCONFIG Same. > + select BR2_PACKAGE_FREETYPE There's no mention of freetype in INSTALL.md nor in configure.ac. > + select BR2_PACKAGE_LCMS2 > + select BR2_PACKAGE_LIBGLIB2 There's no mention of glib2 in INSTALL.md nor in configure.ac. > diff --git a/package/libcupsfilters/libcupsfilters.mk b/package/libcupsfilters/libcupsfilters.mk > new file mode 100644 > index 0000000000..9cf449ac8d > --- /dev/null > +++ b/package/libcupsfilters/libcupsfilters.mk > @@ -0,0 +1,93 @@ > +################################################################################ > +# > +# libcupsfilters > +# > +################################################################################ > + > +LIBCUPSFILTERS_VERSION = 2.1.1 > +LIBCUPSFILTERS_SITE = https://github.com/OpenPrinting/libcupsfilters/releases/download/$(LIBCUPSFILTERS_VERSION) > +LIBCUPSFILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause > +LIBCUPSFILTERS_LICENSE_FILES = COPYING > +LIBCUPSFILTERS_CPE_ID_VENDOR = linuxfoundation Where did you find this? I don't see any CPE entry about libcupsfilter, so we can't know which CPE it will get for the moment. > +LIBCUPSFILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg As requested above: this needs to be revisited. > +LIBCUPSFILTERS_INSTALL_STAGING = YES > + > +LIBCUPSFILTERS_CONF_OPTS = \ > + --disable-mutool \ > + --disable-foomatic \ > + --disable-braille \ > + --enable-imagefilters \ What is the impact of this? Do we need it unconditionally? > + --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ > + --with-sysroot=$(STAGING_DIR) \ > + --with-pdftops=pdftops \ > + --with-jpeg \ jpeg seems optional. > + --with-test-font-path=/dev/null \ > + --without-rcdir You can probably check in ./configure --help for other things to disable, like: --without-jpegxl (I honestly didn't find any other). > +define LIBCUPSFILTERS_INSTALL_INIT_SYSV > + $(INSTALL) -D -m 0755 package/cups-filters/S82cups-browsed \ > + $(TARGET_DIR)/etc/init.d/S82cups-browsed We really don't want libcupsfilter to install an init script that comes from package/cups-filters/. If libcupsfilter is now responsible for this, the init script should be moved there (or possibly copied initially, and then removed in the commit that bumps cups-filters, or something like that). Thanks a lot! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 3/4 v2] package/libppd: new package 2025-08-20 16:39 [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package Angelo Compagnucci @ 2025-08-20 16:39 ` Angelo Compagnucci 2025-08-22 21:22 ` Thomas Petazzoni via buildroot 2025-08-20 16:39 ` [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 Angelo Compagnucci 3 siblings, 1 reply; 10+ messages in thread From: Angelo Compagnucci @ 2025-08-20 16:39 UTC (permalink / raw) To: buildroot; +Cc: Angelo Compagnucci This package contains PPD library for newer versions of cups supporting more than ~10000 printer models. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> --- v1->v2: * Fix incorrect order of patches (Baruch Siach) * Add a note about autoreconf (Baruch Siach) DEVELOPERS | 1 + package/Config.in | 1 + package/libppd/Config.in | 8 ++++++++ package/libppd/libppd.hash | 4 ++++ package/libppd/libppd.mk | 24 ++++++++++++++++++++++++ 5 files changed, 38 insertions(+) create mode 100644 package/libppd/Config.in create mode 100644 package/libppd/libppd.hash create mode 100644 package/libppd/libppd.mk diff --git a/DEVELOPERS b/DEVELOPERS index bc8816c8aa..25d68f43a8 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -222,6 +222,7 @@ F: package/libapparmor/ F: package/libb64/ F: package/libcupsfilters F: package/libdill/ +F: package/libppd/ F: package/mender/ F: package/mender-artifact/ F: package/mono/ diff --git a/package/Config.in b/package/Config.in index 68a8f96e23..d029780241 100644 --- a/package/Config.in +++ b/package/Config.in @@ -354,6 +354,7 @@ comment "Graphic libraries" source "package/imagemagick/Config.in" source "package/libcupsfilters/Config.in" source "package/libglvnd/Config.in" + source "package/libppd/Config.in" source "package/mesa3d/Config.in" source "package/mesa3d-headers/Config.in" source "package/ocrad/Config.in" diff --git a/package/libppd/Config.in b/package/libppd/Config.in new file mode 100644 index 0000000000..124de4f7f2 --- /dev/null +++ b/package/libppd/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBPPD + bool "libppd" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_LIBCUPSFILTERS + help + The Common Unix Printing System + + ~10000 printer models are supported with PPD-file-based classic CUPS drivers. diff --git a/package/libppd/libppd.hash b/package/libppd/libppd.hash new file mode 100644 index 0000000000..3f698c3108 --- /dev/null +++ b/package/libppd/libppd.hash @@ -0,0 +1,4 @@ +# Locally calculated: +sha256 b356aeed1335ef0ca7f799741782a2544e7acee63fb4b047b94e4e0395a9cb62 libppd-2.1.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 977206f041b9a6f47ac00531e1242c0fab7063da71178f8d868b167b70866b6d NOTICE diff --git a/package/libppd/libppd.mk b/package/libppd/libppd.mk new file mode 100644 index 0000000000..9680bb7115 --- /dev/null +++ b/package/libppd/libppd.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# libppd +# +################################################################################ + +LIBPPD_VERSION = 2.1.1 +LIBPPD_SOURCE = libppd-$(LIBPPD_VERSION).tar.gz +LIBPPD_SITE = https://github.com/OpenPrinting/libppd/releases/download/$(LIBPPD_VERSION) +LIBPPD_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception +LIBPPD_LICENSE_FILES = LICENSE NOTICE +LIBPPD_CPE_ID_VENDOR = openprinting +LIBPPD_SELINUX_MODULES = cups +LIBPPD_INSTALL_STAGING = YES + +# no configure in tarball +LIBPPD_AUTORECONF = YES + +LIBPPD_DEPENDENCIES = cups libcupsfilters + +LIBPPD_CONF_OPTS = \ + --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config + +$(eval $(autotools-package)) -- 2.34.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH 3/4 v2] package/libppd: new package 2025-08-20 16:39 ` [Buildroot] [PATCH 3/4 v2] package/libppd: " Angelo Compagnucci @ 2025-08-22 21:22 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 10+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-08-22 21:22 UTC (permalink / raw) To: Angelo Compagnucci; +Cc: buildroot Hello Angelo, On Wed, 20 Aug 2025 18:39:20 +0200 Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > diff --git a/package/libppd/Config.in b/package/libppd/Config.in > new file mode 100644 > index 0000000000..124de4f7f2 > --- /dev/null > +++ b/package/libppd/Config.in > @@ -0,0 +1,8 @@ > +config BR2_PACKAGE_LIBPPD > + bool "libppd" > + depends on BR2_INSTALL_LIBSTDCPP This means a Config.in comment is needed. > + depends on BR2_PACKAGE_LIBCUPSFILTERS We want a "select" here, which means duplicating all the crazy dependencies of libcupsfilters yes :/ > diff --git a/package/libppd/libppd.mk b/package/libppd/libppd.mk > new file mode 100644 > index 0000000000..9680bb7115 > --- /dev/null > +++ b/package/libppd/libppd.mk > @@ -0,0 +1,24 @@ > +################################################################################ > +# > +# libppd > +# > +################################################################################ > + > +LIBPPD_VERSION = 2.1.1 > +LIBPPD_SOURCE = libppd-$(LIBPPD_VERSION).tar.gz > +LIBPPD_SITE = https://github.com/OpenPrinting/libppd/releases/download/$(LIBPPD_VERSION) > +LIBPPD_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception > +LIBPPD_LICENSE_FILES = LICENSE NOTICE > +LIBPPD_CPE_ID_VENDOR = openprinting Do you have a reference that shows this CPE vendor is used to identify libppd in particular? > +LIBPPD_SELINUX_MODULES = cups Are you sure this belongs here? This is a real question: I have no idea. > +LIBPPD_INSTALL_STAGING = YES > + > +# no configure in tarball > +LIBPPD_AUTORECONF = YES > + > +LIBPPD_DEPENDENCIES = cups libcupsfilters Why do you have a dependency on cups here, but not in Config.in? > +LIBPPD_CONF_OPTS = \ > + --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config Seems like it indeed uses cups directly, so package/libppd/Config.in should select it. I see the configure.ac script checks for zlib. Is this a mandatory dependency? (Not according to the documentation). There's a fair amount of --disable options in configure.ac, which would be useful to explicitly disable (or handle). --disable-ghostscript --disable-pdftops --disable-mutool ... and more That's weird because none of those dependencies are described in INSTALL.md. As if the configure.ac had been copy/pasted from libcupsfilters and not adjusted properly? Best regards, Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 2025-08-20 16:39 [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version Angelo Compagnucci ` (2 preceding siblings ...) 2025-08-20 16:39 ` [Buildroot] [PATCH 3/4 v2] package/libppd: " Angelo Compagnucci @ 2025-08-20 16:39 ` Angelo Compagnucci 2025-08-22 21:25 ` Thomas Petazzoni via buildroot 3 siblings, 1 reply; 10+ messages in thread From: Angelo Compagnucci @ 2025-08-20 16:39 UTC (permalink / raw) To: buildroot; +Cc: Angelo Compagnucci Changelog: https://github.com/OpenPrinting/cups-filters/releases/tag/2.0.1 This version makes use of two ancillary libraries split from the main code. Those libraries are: * libcupsfilters * libppd This required a major rework of the package because most of the dependencies were moved those new libraries. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> --- ...ecv-instead-of-system-CVE-2023-24805.patch | 208 ------------------ package/cups-filters/Config.in | 16 +- package/cups-filters/cups-filters.hash | 2 +- package/cups-filters/cups-filters.mk | 70 +----- 4 files changed, 10 insertions(+), 286 deletions(-) delete mode 100644 package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch diff --git a/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch b/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch deleted file mode 100644 index e527b20f91..0000000000 --- a/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 93e60d3df358c0ae6f3dba79e1c9684657683d89 Mon Sep 17 00:00:00 2001 -From: Till Kamppeter <till.kamppeter@gmail.com> -Date: Wed, 17 May 2023 11:11:29 +0200 -Subject: [PATCH] beh backend: Use execv() instead of system() - CVE-2023-24805 - -With execv() command line arguments are passed as separate strings and -not the full command line in a single string. This prevents arbitrary -command execution by escaping the quoting of the arguments in a job -with a forged job title. - -In addition, done the following fixes and improvements: - -- Do not allow '/' in the scheme of the URI (= backend executable - name), to assure that only backends inside /usr/lib/cups/backend/ - are used. - -- URI must have ':', to split off scheme, otherwise error out. - -- Check return value of snprintf() to create call path for backend, to - error out on truncation of a too long scheme or on complete failure - due to a completely odd scheme. - -- Use strncat() instead of strncpy() for getting scheme from URI, the latter - does not require setting terminating zero byte in case of truncation. - -- Also exclude "." or ".." as scheme, as directories are not valid CUPS - backends. - -- Do not use fprintf() in sigterm_handler(), to not interfere with a - fprintf() which could be running in the main process when - sigterm_handler() is triggered. - -- Use "static volatile int" for global variable job_canceled. - -Upstream: https://github.com/OpenPrinting/cups-filters/commit/93e60d3df358c0ae6f3dba79e1c9684657683d89 -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> ---- - backend/beh.c | 107 +++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 84 insertions(+), 23 deletions(-) - -diff --git a/backend/beh.c b/backend/beh.c -index 225fd27d5..8d51235b1 100644 ---- a/backend/beh.c -+++ b/backend/beh.c -@@ -22,12 +22,13 @@ - #include "backend-private.h" - #include <cups/array.h> - #include <ctype.h> -+#include <sys/wait.h> - - /* - * Local globals... - */ - --static int job_canceled = 0; /* Set to 1 on SIGTERM */ -+static volatile int job_canceled = 0; /* Set to 1 on SIGTERM */ - - /* - * Local functions... -@@ -213,21 +214,40 @@ call_backend(char *uri, /* I - URI of final destination */ - char **argv, /* I - Command-line arguments */ - char *filename) { /* I - File name of input data */ - const char *cups_serverbin; /* Location of programs */ -+ char *backend_argv[8]; /* Arguments for backend */ - char scheme[1024], /* Scheme from URI */ - *ptr, /* Pointer into scheme */ -- cmdline[65536]; /* Backend command line */ -- int retval; -+ backend_path[2048]; /* Backend path */ -+ int pid = 0, /* Process ID of backend */ -+ wait_pid, /* Process ID from wait() */ -+ wait_status, /* Status from child */ -+ retval = 0; -+ int bytes; - - /* - * Build the backend command line... - */ - -- strncpy(scheme, uri, sizeof(scheme) - 1); -- if (strlen(uri) > 1023) -- scheme[1023] = '\0'; -+ scheme[0] = '\0'; -+ strncat(scheme, uri, sizeof(scheme) - 1); - if ((ptr = strchr(scheme, ':')) != NULL) - *ptr = '\0'; -- -+ else { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, no colon (':') to mark end of scheme part.\n"); -+ exit (CUPS_BACKEND_FAILED); -+ } -+ if (strchr(scheme, '/')) { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, scheme contains a slash ('/').\n"); -+ exit (CUPS_BACKEND_FAILED); -+ } -+ if (!strcmp(scheme, ".") || !strcmp(scheme, "..")) { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, scheme (\"%s\") is a directory.\n", -+ scheme); -+ exit (CUPS_BACKEND_FAILED); -+ } - if ((cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL) - cups_serverbin = CUPS_SERVERBIN; - -@@ -235,16 +255,29 @@ call_backend(char *uri, /* I - URI of final destination */ - fprintf(stderr, - "ERROR: beh: Direct output into a file not supported.\n"); - exit (CUPS_BACKEND_FAILED); -- } else -- snprintf(cmdline, sizeof(cmdline), -- "%s/backend/%s '%s' '%s' '%s' '%s' '%s' %s", -- cups_serverbin, scheme, argv[1], argv[2], argv[3], -- /* Apply number of copies only if beh was called with a -- file name and not with the print data in stdin, as -- backends should handle copies only if they are called -- with a file name */ -- (argc == 6 ? "1" : argv[4]), -- argv[5], filename); -+ } -+ -+ backend_argv[0] = uri; -+ backend_argv[1] = argv[1]; -+ backend_argv[2] = argv[2]; -+ backend_argv[3] = argv[3]; -+ /* Apply number of copies only if beh was called with a file name -+ and not with the print data in stdin, as backends should handle -+ copies only if they are called with a file name */ -+ backend_argv[4] = (argc == 6 ? "1" : argv[4]); -+ backend_argv[5] = argv[5]; -+ backend_argv[6] = filename; -+ backend_argv[7] = NULL; -+ -+ bytes = snprintf(backend_path, sizeof(backend_path), -+ "%s/backend/%s", cups_serverbin, scheme); -+ if (bytes < 0 || bytes >= sizeof(backend_path)) -+ { -+ fprintf(stderr, -+ "ERROR: beh: Invalid scheme (\"%s\"), could not determing backend path.\n", -+ scheme); -+ return (CUPS_BACKEND_FAILED); -+ } - - /* - * Overwrite the device URI and run the actual backend... -@@ -253,18 +286,44 @@ call_backend(char *uri, /* I - URI of final destination */ - setenv("DEVICE_URI", uri, 1); - - fprintf(stderr, -- "DEBUG: beh: Executing backend command line \"%s\"...\n", -- cmdline); -+ "DEBUG: beh: Executing backend command line \"%s '%s' '%s' '%s' '%s' '%s' %s\"...\n", -+ backend_path, backend_argv[1], backend_argv[2], backend_argv[3], -+ backend_argv[4], backend_argv[5], backend_argv[6]); - fprintf(stderr, - "DEBUG: beh: Using device URI: %s\n", - uri); - -- retval = system(cmdline) >> 8; -+ if ((pid = fork()) == 0) { -+ /* -+ * Child comes here... -+ */ -+ -+ /* Run the backend */ -+ execv(backend_path, backend_argv); - -- if (retval == -1) - fprintf(stderr, "ERROR: Unable to execute backend command line: %s\n", - strerror(errno)); - -+ exit(1); -+ } else if (pid < 0) { -+ /* -+ * Unable to fork! -+ */ -+ -+ return (CUPS_BACKEND_FAILED); -+ } -+ -+ while ((wait_pid = wait(&wait_status)) < 0 && errno == EINTR); -+ -+ if (wait_pid >= 0 && wait_status) { -+ if (WIFEXITED(wait_status)) -+ retval = WEXITSTATUS(wait_status); -+ else if (WTERMSIG(wait_status) != SIGTERM) -+ retval = WTERMSIG(wait_status); -+ else -+ retval = 0; -+ } -+ - return (retval); - } - -@@ -277,8 +336,10 @@ static void - sigterm_handler(int sig) { /* I - Signal number (unused) */ - (void)sig; - -- fprintf(stderr, -- "DEBUG: beh: Job canceled.\n"); -+ const char * const msg = "DEBUG: beh: Job canceled.\n"; -+ /* The if() is to eliminate the return value and silence the warning -+ about an unused return value. */ -+ if (write(2, msg, strlen(msg))); - - if (job_canceled) - _exit(CUPS_BACKEND_OK); diff --git a/package/cups-filters/Config.in b/package/cups-filters/Config.in index ded99a4774..89f4b4d08d 100644 --- a/package/cups-filters/Config.in +++ b/package/cups-filters/Config.in @@ -2,19 +2,15 @@ config BR2_PACKAGE_CUPS_FILTERS bool "cups-filters" # needs fork() depends on BR2_USE_MMU - depends on BR2_INSTALL_LIBSTDCPP # qpdf + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_PACKAGE_CUPS + depends on BR2_PACKAGE_LIBCUPSFILTERS + depends on BR2_PACKAGE_LIBPPD depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf - depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf - select BR2_PACKAGE_JPEG - select BR2_PACKAGE_FONTCONFIG - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_LCMS2 - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_QPDF help This project provides backends, filters, and other software that was once part of the core CUPS distribution but is no diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index 7fb3badf46..24c7b463f7 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 01a2acbd6bb78f09638047e4e9ce305d7e5ef4cb9ed6949672b5d901b7321dd4 cups-filters-1.28.17.tar.gz +sha256 3de1cbb889d06e5a6a945dcb921292544477ab89da95ca89f1eec2de29937afb cups-filters-2.0.1.tar.gz sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk index dcfb2e9500..328b6693e9 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.28.17 +CUPS_FILTERS_VERSION = 2.0.1 CUPS_FILTERS_SITE = https://github.com/OpenPrinting/cups-filters/releases/download/$(CUPS_FILTERS_VERSION) CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING @@ -13,75 +13,11 @@ CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation # 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch CUPS_FILTERS_IGNORE_CVES += CVE-2023-24805 -CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg +CUPS_FILTERS_DEPENDENCIES = cups libcupsfilters libppd CUPS_FILTERS_CONF_OPTS = \ - --disable-mutool \ - --disable-foomatic \ - --disable-braille \ - --enable-imagefilters \ --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ - --with-sysroot=$(STAGING_DIR) \ - --with-pdftops=pdftops \ - --with-jpeg \ - --with-test-font-path=/dev/null \ - --without-rcdir - -ifeq ($(BR2_PACKAGE_LIBPNG),y) -CUPS_FILTERS_CONF_OPTS += --with-png -CUPS_FILTERS_DEPENDENCIES += libpng -else -CUPS_FILTERS_CONF_OPTS += --without-png -endif - -ifeq ($(BR2_PACKAGE_TIFF),y) -CUPS_FILTERS_CONF_OPTS += --with-tiff -CUPS_FILTERS_DEPENDENCIES += tiff -else -CUPS_FILTERS_CONF_OPTS += --without-tiff -endif - -ifeq ($(BR2_PACKAGE_DBUS),y) -CUPS_FILTERS_CONF_OPTS += --enable-dbus -CUPS_FILTERS_DEPENDENCIES += dbus -else -CUPS_FILTERS_CONF_OPTS += --disable-dbus -endif - -ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) -CUPS_FILTERS_DEPENDENCIES += avahi -CUPS_FILTERS_CONF_OPTS += --enable-avahi -else -CUPS_FILTERS_CONF_OPTS += --disable-avahi -endif - -ifeq ($(BR2_PACKAGE_GHOSTSCRIPT),y) -CUPS_FILTERS_DEPENDENCIES += ghostscript -CUPS_FILTERS_CONF_OPTS += --enable-ghostscript -else -CUPS_FILTERS_CONF_OPTS += --disable-ghostscript -endif - -ifeq ($(BR2_PACKAGE_IJS),y) -CUPS_FILTERS_DEPENDENCIES += ijs -CUPS_FILTERS_CONF_OPTS += --enable-ijs -else -CUPS_FILTERS_CONF_OPTS += --disable-ijs -endif - -ifeq ($(BR2_PACKAGE_POPPLER),y) -CUPS_FILTERS_DEPENDENCIES += poppler -CUPS_FILTERS_CONF_OPTS += --enable-poppler -else -CUPS_FILTERS_CONF_OPTS += --disable-poppler -endif - -ifeq ($(BR2_PACKAGE_LIBEXIF),y) -CUPS_FILTERS_CONF_OPTS += --enable-exif -CUPS_FILTERS_DEPENDENCIES += libexif -else -CUPS_FILTERS_CONF_OPTS += --disable-exif -endif + CFLAGS="$(TARGET_CFLAGS) -std=gnu17" define CUPS_FILTERS_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/cups-filters/S82cups-browsed \ -- 2.34.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 2025-08-20 16:39 ` [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 Angelo Compagnucci @ 2025-08-22 21:25 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 10+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-08-22 21:25 UTC (permalink / raw) To: Angelo Compagnucci; +Cc: buildroot Hello Angelo, On Wed, 20 Aug 2025 18:39:21 +0200 Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > diff --git a/package/cups-filters/Config.in b/package/cups-filters/Config.in > index ded99a4774..89f4b4d08d 100644 > --- a/package/cups-filters/Config.in > +++ b/package/cups-filters/Config.in > @@ -2,19 +2,15 @@ config BR2_PACKAGE_CUPS_FILTERS > bool "cups-filters" > # needs fork() > depends on BR2_USE_MMU > - depends on BR2_INSTALL_LIBSTDCPP # qpdf > + depends on BR2_TOOLCHAIN_HAS_ATOMIC > + depends on BR2_INSTALL_LIBSTDCPP > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on BR2_USE_WCHAR Make sure to indicate from which package those dependencies are inherited. > depends on !BR2_STATIC_LIBS > - depends on BR2_USE_WCHAR # libglib2 > - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 > depends on BR2_PACKAGE_CUPS > + depends on BR2_PACKAGE_LIBCUPSFILTERS > + depends on BR2_PACKAGE_LIBPPD > depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf You're no longer selecting qpdf, so the comment here is no longer accurate. > CUPS_FILTERS_CONF_OPTS = \ [...] > + CFLAGS="$(TARGET_CFLAGS) -std=gnu17" By convention, this should go in CUPS_FILTERS_CONF_ENV > > define CUPS_FILTERS_INSTALL_INIT_SYSV > $(INSTALL) -D -m 0755 package/cups-filters/S82cups-browsed \ Shouldn't this be dropped, now that libcupsfilters does it? Thanks! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-08-23 15:49 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-20 16:39 [Buildroot] [PATCH 0/4 v2] Bump cups-filter to the latest version Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 1/4 v2] package/qpdf: bump to version 12.2.0 Angelo Compagnucci 2025-08-22 21:08 ` Thomas Petazzoni via buildroot 2025-08-23 15:48 ` Angelo Compagnucci 2025-08-20 16:39 ` [Buildroot] [PATCH 2/4 v2] package/libcupsfilters: new package Angelo Compagnucci 2025-08-22 21:06 ` Thomas Petazzoni via buildroot 2025-08-20 16:39 ` [Buildroot] [PATCH 3/4 v2] package/libppd: " Angelo Compagnucci 2025-08-22 21:22 ` Thomas Petazzoni via buildroot 2025-08-20 16:39 ` [Buildroot] [PATCH 4/4 v2] package/cups-filters: bump to version 2.0.1 Angelo Compagnucci 2025-08-22 21:25 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox