Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 914586 - net-print/cups-filters-2.0.0: major version bump
Summary: net-print/cups-filters-2.0.0: major version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-24 05:24 UTC by Sam James
Modified: 2023-12-18 03:54 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
0001-net-print-cups-filters-add-2.0.0.patch (0001-net-print-cups-filters-add-2.0.0.patch,3.55 KB, patch)
2023-09-24 05:25 UTC, Sam James
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-24 05:24:43 UTC
I started looking at this, but it appears to be a mess.

https://github.com/OpenPrinting/cups-filters/commit/808f439f73b947eb1b376e2c3d5c576e445de543 explains the details, but >=cups-filters-2.0.0 seems to have split into libppd to accommodate legacy printer drivers.

We don't currently have net-print/libppd packaged, but concerningly, libppd seems to need cups-filters to build, while cups-filters needs libppd to build?

From libppd (showing it needs *new* cups-filters, not just any cups-filters):
```
[...]
libtool: compile:  x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -ggdb3 -Wall -D_GNU_SOURCE -c ppd/ppdc-import.cxx  -fPIC -DPIC -o ppd/.libs/ppdc-import.o
In file included from ppd/ppdc-import.cxx:16:
./ppd/ppd.h:26:12: fatal error: cupsfilters/log.h: No such file or directory
   26 | #  include <cupsfilters/log.h>
      |            ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:1578: ppd/ppdc-import.lo] Error 1
[...]
```

And from cups-filters-2.0.0:
```
[...]
checking for libcupsfilters... yes
checking for libppd... no
configure: error: Package requirements (libppd) were not met:

Package 'libppd', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBPPD_CFLAGS
and LIBPPD_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/net-print/cups-filters-2.0.0/work/cups-filters-2.0.0/config.log
 * ERROR: net-print/cups-filters-2.0.0::gentoo failed (configure phase):
[...]
```

And from cups-filters-2.0.0 when no earlier cups-filters is installed:
```

checking for libcupsfilters... no
configure: error: Package requirements (libcupsfilters) were not met:

Package 'libcupsfilters', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBCUPSFILTERS_CFLAGS
and LIBCUPSFILTERS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/net-print/cups-filters-2.0.0/work/cups-filters-2.0.0/config.log
 * ERROR: net-print/cups-filters-2.0.0::gentoo failed (configure phase):
```

I'm really hoping I'm missing something, because otherwise we have:
    cups-filters <-> cups-filters (libcupsfilters) <-> libppd
which seems ridiculous.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-24 05:25:20 UTC
Created attachment 871215 [details, diff]
0001-net-print-cups-filters-add-2.0.0.patch

Attached the draft I had before I started looking at libppd and concluded I must be missing something...
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-24 05:29:04 UTC
tl;dr:
* cups-filters-2.0.0 reworks a lot (the ebuild basically gets rewritten, attached a draft)
* cups-filters-2.0.0 seems to need any cups-filters installed already for libcupsfilters
* cups-filters-2.0.0 needs libppd
* libppd needs cups-filters-2.0.0
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-24 06:45:59 UTC
while rubberducking it w/ kangie, I found https://github.com/OpenPrinting/libcupsfilters, which I think makes everything a lot more sane as the library has moved out, but it's still a big job to package & test all of this
Comment 4 Larry the Git Cow gentoo-dev 2023-12-18 03:35:39 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=5f4b2f96819a82f3713e78bb72438eeda80ce8f2

commit 5f4b2f96819a82f3713e78bb72438eeda80ce8f2
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-12-04 06:09:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:35:32 +0000

    2023-12-17-cups-filters.en.txt: add news item
    
    Bug: https://bugs.gentoo.org/914586
    Bug: https://bugs.gentoo.org/813507
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 .../2023-12-17-cups-filters.en.txt                 | 41 ++++++++++++++++++++++
 1 file changed, 41 insertions(+)
Comment 5 Larry the Git Cow gentoo-dev 2023-12-18 03:54:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54a85de9dab134cf17c1fd4def0aa8d003e7a1e8

commit 54a85de9dab134cf17c1fd4def0aa8d003e7a1e8
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-11-09 21:06:17 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:53:21 +0000

    net-print/cups-filters: add 2.0.0
    
    Part of the CUPS v3 evolution. Now, cups-filters has been split out into
    multiple sub-packages. The new version of cups-filters depends on a
    couple of extracted libraries, and builds on these to distribute the
    actual filters. It no longer handles browsed at all -- this is a
    completely separate, optional component.
    
    Most options are no longer relevant, as they are encapsulated in the
    subpackages.
    
    Closes: https://bugs.gentoo.org/914586
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-print/cups-filters/Manifest                  |  1 +
 net-print/cups-filters/cups-filters-2.0.0.ebuild | 45 ++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c409cdc5e5e455341cb30783fb6101349d98c6a6

commit c409cdc5e5e455341cb30783fb6101349d98c6a6
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-11-12 16:34:13 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:53:23 +0000

    net-print/cups: drop cyclic dependency on cups-filters
    
    It is a PDEPEND which forces installing both, and makes building a
    modular cups-filters more challenging.
    
    Additionally, many "users" of cups may not actually want cups-filters at
    all.
    
    - A primary reason is because cups provides libcups, which other
      packages need as an RDEPEND in order to support USE=cups while not
      having any expectation of using a printing stack (at least, yet).
    
    - Even more fun, sometimes users have -bin packages where upstream has
      built the binaries against libcups on the assumption that users who
      want cups support will automatically get it and users who don't want
      cups support "just" need the debian libcups2 split binary package.
      This isn't really solvable without providing a minimal libcups-only
      experience.
    
    Rely instead on a metapackage for the full cups experience.
    
    Bug: https://bugs.gentoo.org/222601
    Bug: https://bugs.gentoo.org/914586
    Closes: https://bugs.gentoo.org/813507
    Closes: https://github.com/gentoo/gentoo/pull/31784
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-print/cups/cups-2.4.7-r2.ebuild | 313 ++++++++++++++++++++++++++++++++++++
 1 file changed, 313 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=023cf4bb702d50efb263b6287e9cf4df8c0367dc

commit 023cf4bb702d50efb263b6287e9cf4df8c0367dc
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-11-10 00:33:17 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:53:21 +0000

    net-print/cups-browsed: new package, add 2.0.0
    
    Part of the CUPS v3 evolution. Now, cups-filters has been split out into
    multiple sub-packages. This contains the standalone browsed component.
    
    Bug: https://bugs.gentoo.org/914586
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-print/cups-browsed/Manifest                    |  1 +
 net-print/cups-browsed/cups-browsed-2.0.0.ebuild   | 63 ++++++++++++++++++++++
 ...rowsed.c-Fix-build-with-avahi-disabled-20.patch | 34 ++++++++++++
 net-print/cups-browsed/metadata.xml                | 11 ++++
 4 files changed, 109 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b9e392f8518a09cdf02dd819583f7312e6e5432

commit 1b9e392f8518a09cdf02dd819583f7312e6e5432
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-11-09 20:59:36 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:53:20 +0000

    net-print/libppd: new package, add 2.0.0
    
    Part of the CUPS v3 evolution. Now, cups-filters has been split out into
    multiple sub-packages. This is the legacy PPD filters core library.
    
    Bug: https://bugs.gentoo.org/914586
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-print/libppd/Manifest            |  1 +
 net-print/libppd/libppd-2.0.0.ebuild | 52 ++++++++++++++++++++++++++++++++++++
 net-print/libppd/metadata.xml        | 14 ++++++++++
 3 files changed, 67 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faf70b3f666a811c029e7cd9d612ed9e01cf2a77

commit faf70b3f666a811c029e7cd9d612ed9e01cf2a77
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2023-11-09 20:51:53 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-18 03:53:20 +0000

    net-print/libcupsfilters: new package, add 2.0.0
    
    Part of the CUPS v3 evolution. Now, cups-filters has been split out into
    multiple sub-packages. This is the core library.
    
    Bug: https://bugs.gentoo.org/914586
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-print/libcupsfilters/Manifest                  |  1 +
 .../libcupsfilters/libcupsfilters-2.0.0.ebuild     | 60 ++++++++++++++++++++++
 net-print/libcupsfilters/metadata.xml              | 14 +++++
 3 files changed, 75 insertions(+)