Re-enable the older CUPS print backend and disable CPDB, except on Ubuntu
CPDB is not yet available in Debian in a useful form: the CPDB backend requires cups-filters 2.x, which conflicts with the 1.x version of cups-filters that is currently used by the CUPS daemon. There is conflicting information in #1079457 about the extent to which cups-filters 2.x is or is not suitable for use with CUPS v2 in trixie.
Continue to build-depend on CPDB, so that we can continue to build that backend on Ubuntu, on the assumption that the Canonical developers who made that change know what's considered to be right for Ubuntu.
Closes: #1084916 Mitigates: #1079457, #1084195
I tried applying this to resolve #1084916, but I'm now seeing an intermittent crash when I try to print from gnome-text-editor:
#0 gtk_list_item_manager_model_selection_changed_cb
(model=<optimized out>, position=1, n_items=1, self=0x55973538a770) at ../../../gtk/gtklistitemmanager.c:1692
#1 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007f33e243cbbf in gtk_single_selection_set_selected (self=0x559735542660, position=1)
at ../../../gtk/gtksingleselection.c:689
#7 gtk_single_selection_set_selected (self=0x559735542660, position=<optimized out>)
at ../../../gtk/gtksingleselection.c:658
#8 0x00007f33e258204a in printer_added_cb
(model=0x559735542660, position=<optimized out>, removed=<optimized out>, added=<optimized out>, dialog=0x55973534b5c0) at ../../../gtk/print/gtkprintunixdialog.c:1070
#9 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007f33e243c361 in gtk_single_selection_items_changed_cb
(model=<optimized out>, position=1, removed=0, added=1, self=0x559735542660)
at ../../../gtk/gtksingleselection.c:305
#15 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007f33e23785c9 in gtk_filter_list_model_items_changed_cb
(model=<optimized out>, position=<optimized out>, removed=0, added=<optimized out>, self=0x559735605650)
at ../../../gtk/gtkfilterlistmodel.c:416
#21 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007f33e244716f in gtk_sort_list_model_items_changed_cb
(model=<optimized out>, position=<optimized out>, removed=0, added=<optimized out>, self=0x559735604920)
at ../../../gtk/gtksortlistmodel.c:795
#27 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#32 0x00007f33e237b0d0 in gtk_flatten_list_model_items_changed_cb
(model=<optimized out>, position=<optimized out>, removed=0, added=1, _node=<optimized out>)
at ../../../gtk/gtkflattenlistmodel.c:274
#33 0x00007f33e2fd59c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007f33e2fe9d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007f33e2feb7a9 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007f33e2ff1666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007f33e2ff1723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007f33e30f1d37 in g_list_store_append () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#39 0x00007f33c8ce8aa0 in cups_create_printer
(cups_backend=cups_backend@entry=0x5597353eba70, info=info@entry=0x559735702920)
at ../../../modules/printbackends/gtkprintbackendcups.c:2538
#40 0x00007f33c8cee8ff in cups_request_printer_list_cb
(cups_backend=0x5597353eba70, result=<optimized out>, user_data=<optimized out>)
at ../../../modules/printbackends/gtkprintbackendcups.c:3781
#41 0x00007f33c8ce6775 in cups_dispatch_watch_dispatch
(source=0x5597355fa6b0, callback=0x7f33c8cee140 <cups_request_printer_list_cb>, user_data=0x5597355fa170)
at ../../../modules/printbackends/gtkprintbackendcups.c:1588
#42 0x00007f33e2ecb7df in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f33e2ecda17 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f33e2ece180 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f33e310b305 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#46 0x000055971c315d13 in ??? ()
#47 0x00007f33e1d4cd68 in __libc_start_call_main
(main=main@entry=0x55971c315ba0, argc=argc@entry=1, argv=argv@entry=0x7ffcc0aeaee8)
at ../sysdeps/nptl/libc_start_call_main.h:58
#48 0x00007f33e1d4ce25 in __libc_start_main_impl
(main=0x55971c315ba0, argc=1, argv=0x7ffcc0aeaee8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcc0aeaed8) at ../csu/libc-start.c:360
so someone will need to either debug that, or do more testing and dismiss this as system-specific, before we can land this change.
/cc @jbicha