pdfcraft/packaging/linux
Eduardo Soares ade5dc4dcb
Print: list driverless CUPS destinations, not only permanent queues (#658)
* Print: list driverless CUPS destinations, not only permanent queues

The Print dialog's printer list came from `lpstat -p -d`, which lists only
permanent queues. A driverless IPP printer discovered on the network — the
standard setup on modern Linux desktops — has no permanent queue: only
`lpstat -e` (CUPS >= 1.7) names it, and CUPS builds a temporary queue when
`lp` sends it a job. Until now such printers were invisible and the dialog
showed only Save as PDF.

Enumerate `lpstat -e` alongside `lpstat -p -d` and merge the answers: queues
first, deduplicated, default still from `-d`; a spooler without `-e` keeps
today's behaviour and loses only the driverless names. The .deb/.rpm now
recommend cups-client so a machine without a print stack is not silently
printerless.

Fixes #652

Co-authored-by: ZCode (GLM-5.3) <noreply@z.ai>

* Print: fix the off-unix build and a driverless default's marker

`lpstat_e_command` is called only from `printers`' unix block, so off unix
it was dead code and CI's Windows clippy gate (`-D warnings`) failed to
build the crate. Gate it like its caller.

The default destination can itself be driverless — `lpoptions -d` names a
destination no queue exists for — and the merge appended it from
`lpstat -e` with `default: false`, so the dialog preselected the first
queue instead of the user's default. The `-d` default now marks the
appended entry too; the test covers it, and CRLF in `-e` output.

Co-authored-by: ZCode (GLM-5.3) <noreply@z.ai>

---------

Co-authored-by: ZCode (GLM-5.3) <noreply@z.ai>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-09 22:39:36 -04:00
..
flatpak Refs #103: ship the OCR models in the desktop release packages (#630) 2026-10-09 18:42:23 -04:00
ai.storyteller.pdfcraft.desktop Linux: accept file:// URI args so desktop launchers recognise pdfcraft as PDF default (#382) 2026-10-08 20:04:27 -04:00
ai.storyteller.pdfcraft.metainfo.xml.in Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
ai.storyteller.pdfcraft.mime.xml Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
flatpak-bundle.sh Refs #103: ship the OCR models in the desktop release packages (#630) 2026-10-09 18:42:23 -04:00
nfpm.yaml Print: list driverless CUPS destinations, not only permanent queues (#658) 2026-10-09 22:39:36 -04:00
package.sh Refs #103: ship the OCR models in the desktop release packages (#630) 2026-10-09 18:42:23 -04:00
postinst.sh Signed release pipeline (macOS/Windows/Linux/Web); README community note 2026-10-02 12:06:19 -04:00