ghostscript: ensure update of cups-filter
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cups-filters (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned | ||
ghostscript (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Bionic |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* After an update of ghostscript but not cups-filters
users may hit errors printing PDF files (LP#1828401).
* This is possible as Landscape does not consider the
-security pocket (has both ghostscript/
but rather USN notices and ghostscript had a notice [0].
The regression on cups-filters was identified later,
and doesn't warrant a USN notice.
* So, to ensure that ghostscript and cups-filters are
both updated, add a versioned 'Breaks:' relationship
to ghostscript for older cups-filters versions which
are not yet fixed.
Per Debian Policy [1]:
"""
Normally a Breaks entry will have an “earlier than” version clause;
such a Breaks is introduced in the version ... [that] reveals a bug
in earlier versions of the broken package ...
This use of Breaks will inform higher-level package management tools
that the broken package must be upgraded before the new one.
"""
* A versioned 'Depends:' relationship is not possible
as ghostscript doesn't depend on cups-filters, thus
it's possible to have ghostscript installed without
cups-filters at all.
* This doesn't fix the current situation with Landscape
and USNs so this same problem might still occur again,
but at least it is already in place on future updates.
[Test Case]
* Install cups-filters version without fix for LP#1828401:
1.20.2-0ubuntu3 in Bionic, and 1.8.3-2ubuntu3.4 in Xenial.
* Update ghostscript to/later than fix for CVE-2019-3839-1/-2
9.26~
* Notice it does _not_ update cups-filters to version with fix:
1.20.
* $ wget -O ppd-with-
'http://
* $ wget -O dummy.pdf \
https:/
* $ foomatic-rip -v --ppd ppd-with-
...
Filetype: PDF
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
Process is dying with "Unable to determine number of pages, page count: -1
", exit stat 3
...
* Note it's broken.
* Install ghostscript (test) packages with the relationships
'Breaks: cups-filters (<< 1.20.2-0ubuntu3.1)' in Bionic or
'Breaks: ..., cups-filters (<< 1.8.3-2ubuntu3.5)' in Xenial.
* Note it _does_ update cups-filters to version with fix.
* $ foomatic-rip -v --ppd ppd-with-
...
Filetype: PDF
File contains 1 pages
Starting renderer with command: <...>
...
* Note it's now working.
[Regression Potential]
* Low. This only causes an update to cups-filters to a version
that fixes an already identified/resolved problem (LP#1828401),
which is available in bionic- & xenial-updates since May 2019.
[Other Info]
* This is only required in Xenial and Bionic.
* Trusty doesn't have the ghostscript update that causes the problem.
* Disco/Eoan have the cups-filters fix that it requires (1.22.5+).
[Links]
[0] https:/
[1] https:/
Changed in ghostscript (Ubuntu): | |
status: | New → Invalid |
Changed in ghostscript (Ubuntu Xenial): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in ghostscript (Ubuntu Bionic): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
status: | New → In Progress |
Changed in ghostscript (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in ghostscript (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in ghostscript (Ubuntu Bionic): | |
importance: | Undecided → Medium |
tags: | added: sts |
summary: |
- ghostscript: add breaks relationship to cups-filter + ghostscript: add Breaks: relationship to cups-filter |
summary: |
- ghostscript: add Breaks: relationship to cups-filter + ghostscript: ensure update of cups-filter |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | added: sts-sponsor-slashd |
Changed in cups-filters (Ubuntu Bionic): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in cups-filters (Ubuntu Xenial): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
importance: | Undecided → Medium |
Changed in cups-filters (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in ghostscript (Ubuntu): | |
status: | Invalid → Fix Released |
description: | updated |
description: | updated |
tags: | removed: sts-sponsor-slashd |
Testing on Bionic
---
Files)
$ wget -O ppd-with- pdf-support. ppd 'http:// www.openprintin g.org/ppd- o-matic. php?driver= hl7x0&printer= Brother- HL-1020& show=1'
$ wget -O dummy.pdf https:/ /www.w3. org/WAI/ ER/tests/ xhtml/testfiles /resources/ pdf/dummy. pdf
Test 0) Before updating ghostscript or cups-filters
$ dpkg -s cups-filters ghostscript | grep ^Version: 0-0ubuntu0. 18.04.8
Version: 1.20.2-0ubuntu3
Version: 9.26~dfsg+
$ foomatic-rip -v --ppd ppd-with- pdf-support. ppd dummy.pdf
...
Filetype: PDF
File contains 1 pages
Starting renderer with command: <...>
...
Test 1) After updating ghostscript (not cups-filters)
$ dpkg -s cups-filters ghostscript | grep ^Version: 0-0ubuntu0. 18.04.11
Version: 1.20.2-0ubuntu3
Version: 9.26~dfsg+
$ foomatic-rip -v --ppd ppd-with- pdf-support. ppd dummy.pdf
...
Filetype: PDF
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
Process is dying with "Unable to determine number of pages, page count: -1
", exit stat 3
...
Test 2) Checking before updating ghostscript with test package (thus cups-filters too)
Checking update of cups-filters with apt:
$ sudo apt install --dry-run ghostscript 18.04/bionic- updates, Ubuntu: 18.04/bionic- security [amd64]) 0-0ubuntu0. 18.04.11] (9.26~dfsg+ 0-0ubuntu0. 18.04.11+ test20191510b1 mfo-sf246942: 18.04/bionic [amd64]) []
...
The following packages will be upgraded:
cups-filters ghostscript libgs9 libgs9-common
...
Inst cups-filters [1.20.2-0ubuntu3] (1.20.2-0ubuntu3.1 Ubuntu:
Inst ghostscript [9.26~dfsg+
...
Checking update of cups-filters with apt-get:
$ sudo apt-get install --dry-run ghostscript 18.04/bionic- updates, Ubuntu: 18.04/bionic- security [amd64]) 0-0ubuntu0. 18.04.11] (9.26~dfsg+ 0-0ubuntu0. 18.04.11+ test20191510b1 mfo-sf246942: 18.04/bionic [amd64]) []
...
The following packages will be upgraded:
cups-filters ghostscript libgs9 libgs9-common
...
Inst cups-filters [1.20.2-0ubuntu3] (1.20.2-0ubuntu3.1 Ubuntu:
Inst ghostscript [9.26~dfsg+
...
Test 3) After updating ghostscript with test package (thus cups-filters too)
$ dpkg -s cups-filters ghostscript | grep ^Version: 0-0ubuntu0. 18.04.11+ test20191510b1
Version: 1.20.2-0ubuntu3.1
Version: 9.26~dfsg+
$ foomatic-rip -v --ppd ppd-with- pdf-support. ppd dummy.pdf
...
Filetype: PDF
File contains 1 pages
Starting renderer with command: <...>
...