[MIR] cpdb-backend-file
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cpdb-backend-file (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
[Availability]
The package cpdb-backend-file is already in Ubuntu universe.
The package cpdb-backend-file builds for the architectures it is designed to work on.
It currently builds and works for architectures: amd64, arm64, armhf, ppc64el, riscv64, s390x
Link to package https:/
[Rationale]
See the principle rationale for introducing the Common Print Dialog Backends (CPDB) concept in the MIR for cpdb-libs, bug #1747759.
This package is one of the backends, the backend for printing into a (PDF) file. So having installed it, CPDB-supporting print dialogs show a printer entry to print into a PDF file in the user's home directory.
This backend works independent of any printing system, there is no CUPS involved and no other system daemon. The backend tells the dialog that it needs a file name and the dialog opens a "Save as ..." dialog. Then the backend gets the user-selected file name and the job data stream and saves it in a file. All running as the calling user, so file can be saved only where the user is allowed to.
The backend provides the only printer entry in print dialogs if on the system is no print environment (like CUPS) installed or no print queue set up. Therefore it is required to be in Ubuntu Main.
The New Architecture is introduced as standard part of the distro in Ubuntu 23.10 at the latest. Therefore cpdb-libs NEEDS to be in main before Feature Freeze 23.10, ideally some weeks before.
There are very good chances that the changes on GTK and Qt already land in 23.04. In this case we need cpdb-libs in Main already by Feature Freeze of 23.04. This way the CPDB-based print dialog will be tested more before the switchover into the New Architecture will take place.
[Security]
No CVEs/security issues in this software in the past
- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install system services, timers or recurring jobs
- Packages does not open privileged ports (ports < 1024)
- Packages does not contain extensions to security-sensitive software
cpdb-backend-file provides a D-Bus service, but running as normal user.
The backends are triggered via session D-Bus and always run as the same user as the calling print dialog, so they do not introduce additional security problems.
The separation of the communication with individual print technologies makes this code only be needed once (in the appropriate backend) instead of in each print dialog. This simplifies the security maintenance.
[Quality assurance - function/usage]
- The package works well right after install
Once installed it gets auto-detected and automatically used by applications which have a print dialog using CPDB (cpdb-libs, MIR bug: 1747759). So no explicit user action with this package required. It is a kind of plug-in. For the user a "Pint to file" printer will appear in the print dialog, so that they can send any printable content into a PDF instead of printing it on physical paper. Usage is totally intuitive.
[Quality assurance - maintenance]
- The package is maintained well in Debian/Ubuntu and has not too many
and long term critical bugs open
- Ubuntu https:/
- Debian https:/
- Upstream https:/
- No open bugs at all, only this MIR ...
- The package does not deal with exotic hardware we cannot support (it drops the print content in a regular PDF file)
[Quality assurance - testing]
- The package does not run a test at build time because it does not contain upstream "make check" or "make test".
- The package runs an autopkgtest (debian/
- The package does have not failing autopkgtests right now
[Quality assurance - packaging]
- debian/watch is present and works
- debian/control defines a correct Maintainer field
- Please link to a recent build log of the package: https:/
- This package does not yield any lintian Warnings, Errors
- Lintian overrides are not present
- This package does not rely on obsolete or about to be demoted packages.
Depends only on libc6, libglib2.0, libcpdb-
- The package will be installed by default, but does not ask debconf
questions higher than medium
No debconf questions at all, AFAIK.
- Packaging and build is easy, link to d/rules
https:/
[UI standards]
- Application is not end-user facing (does not need translation)
- End-user applications without desktop file, not needed because this is a backend/plugin, no (G)UI.
[Dependencies]
Depends only on libc6, libglib2.0, libcpdb-
- There are further dependencies (libcpdb-
main, MIR for them is bug 1747759 (cpdb-libs).
[Standards compliance]
- This package correctly follows FHS and Debian Policy
[Maintenance/Owner]
- Owning Team will be Ubuntu Printing Team - ubuntu-printing
- Team is subscribed to the package
- This does not use static builds
- This does not use vendored code
- This package is not rust based
- The package has been built in the archive more recently than the last
test rebuild
[Background information]
The Package description explains the package well
Upstream Name is cpdb-backend-file (unchanged)
Link to upstream project https:/
Changed in cpdb-backend-file (Ubuntu): | |
importance: | Undecided → High |
Changed in cpdb-backend-file (Ubuntu): | |
assignee: | nobody → Didier Roche-Tolomelli (didrocks) |
I have uploaded upstream version 2.0b3 now as it is required to have 2.x backends by the also uploaded 2.0b3 version of cpdb-libs which is in turn needed by GTK 4.9.4.
Changes in the debian/ directory are minimal, only for the changes in the binary package naming of cpdb-libs and for changes in the source package documentation files.
There is no new dependency. Dependencies on cpdb-libs are versioned now as this package does not build and also does not work with cpdb-libs 1.x.
cpdb-backend-file needs to get seeded, as no binary package of cpdb-libs depends on it. It is needed in a standard installation as otherwise some print dialogs could not allow to print to a file.