Description of problem: Okular is not working with CUPS temporary queues and enforces usage of permanent queues or cups-browsed, even in scenarios where is not necessary. Version-Release number of selected component (if applicable): okular-22.04.1-1.fc36.x86_64 How reproducible: Always Steps to Reproduce: Prereq: stop and disable cups-browsed.service and remove any permanent queues related to the testing printer via 'lpadmin -x <name>' With real printer: 1. have a printer capable of driverless printing (network printer capable of Airprint/IPP Everywhere/Mopria/Wifi direct, USB printer with IPP-over-USB or old printer shared by printer applications like ippeveprinter/lprint/ps-printer-app/hplip-printer-app etc. - *-printer-app projects are currently only on SNAP) 2. enable IPP port on the printer if possible 3. start cups and avahi-daemon If there is no printer available, two Fedora virtual machines in the same network will do: A. Server 1. install and start cups and avahi-daemon 2. $ lpadmin -p test -v socket://192.168.1.25:9100 -m drv:///sample.drv/generic.ppd -E 3. $ cupsctl --remote-any 4. $ sudo firewall-cmd --permanent --add-service=ipp 5. $ sudo firewall-cmd --reload B. Client 1. install and start cups and avahi-daemon Actual results: $ lpstat -e <temp_queue> $ lpstat -a <empty> In okular: only 'Print to File' printer is available Expected results: $ lpstat -e <temp_queue> $ lpstat -a <empty> In okular: the temporary queue is seen as well Additional info: With CUPS 3.0 which release is planned for next or year after, using the current cupsGetDests2() (it will be renamed to cupsGetDests() as well during CUPS 3.0 transition to cleanup the API) will be the way how to get all available destinations for printing - it would be great if okular or its library which implements okular's print dialog migrated their implementation to cupsGetDests2().
I've tested okular on rawhide - temporary queue is seen there, but print options related to the printer are missing (no duplex etc.), and if the job is sent, okular freezes (GNOME generates 'Application stopped responding' window) and if I click on 'Wait', the job is sent after some time, but only with default options - f.e. duplex or color are not available According cupsd logs, okular sends only Get-Printers, Get-Default and Get-Printer-Attributes requests (I'm curious why it sees the temp queue then...), Get-Printer-Attributes requests fail because it wants to access the printer via printer-uri (uri how the printer is saved in CUPS - ipp://localhost:631/printers/<print-queue-name>), which is not set for temporary queues by design - and after some time sends Create-Local-Printer, which makes it available for Get-Printer-Attributes. I would propose to use CUPS destinations API instead of IPP requests - if you ask for destinations via cupsGetDests2(), you will get both types - permanent and temporary. Further requests can be done via cupsGetNamedDest() or cupsCopyDestInfo(). In case you would like combine dest API and IPP requests, you can get the destionation and then use printer-uri-supported if available, otherwise use device-uri for Get-Printer-Attributes and the follow-up operations.
Updated the summary based on the current situation in rawhide.
This message is a reminder that Fedora Linux 36 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '36'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 36 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.
Fedora Linux 36 entered end-of-life (EOL) status on 2023-05-16. Fedora Linux 36 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed.