installation stopped by an exception from mark_install() in Cache class of python3-apt
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OEM Priority Project | Status tracked in Focal | |||||
Focal |
Fix Released
|
Critical
|
Shih-Yuan Lee | |||
ubiquity (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | |||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* The original mark_install() function in ubiquity/
* It will break the packages dependencies unexpectedly even when we do provide the complete packages installation set.
[Test Case]
* It needs to manually provide some fixed broken order in the source code level, such as https:/
* So I used https:/
[Where problems could occur]
* We found some order such as https:/
When libgbm1 is the first package from set(), it will cause the following exception or silently remove some other packages like xserver-
[Other Info]
* The patch of https:/
LP: #1891599 dealt with the random and this is dealing with the exception.
Exception in the installation
Aug 12 19:26:59 ubuntu /plugininstall.py: Exception during installation:
Aug 12 19:26:59 ubuntu /plugininstall.py: Traceback (most recent call last):
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/share/
Aug 12 19:26:59 ubuntu /plugininstall.py: self.install_
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/share/
Aug 12 19:26:59 ubuntu /plugininstall.py: self.do_
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/lib/
Aug 12 19:26:59 ubuntu /plugininstall.py: mark_install(cache, pkg)
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/lib/
Aug 12 19:26:59 ubuntu /plugininstall.py: raise InstallStepError(
Aug 12 19:26:59 ubuntu /plugininstall.py: ubiquity.
This happen in oem project because we have lots pkg to upgrade during installation because the design of factory process need it.
As package list have certain dependency, and the the order that we get the pkg from the python set object is not good for underlying apt engine, then exception will raise.
Related branches
- Jean-Baptiste Lallement: Approve
- Iain Lane: Approve
- Julian Andres Klode (community): Approve
-
Diff: 95 lines (+41/-28)1 file modifiedubiquity/install_misc.py (+41/-28)
tags: | added: oem-priority originate-from-1899905 somerville |
no longer affects: | hwe-next |
no longer affects: | mesa (Ubuntu) |
summary: |
- Installing libgbm1 will make other packages removed + installation stopped by an exception from mark_install() in Cache class + of python3-apt |
description: | updated |
Changed in oem-priority: | |
status: | Confirmed → In Progress |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | added: focal |
Changed in oem-priority: | |
status: | Fix Committed → Fix Released |
$ sudo apt-get --dry-run install libgbm1 # There is no such problem on Ubuntu 18.04. server0 server0 1ubuntu1. 1~18.04. 3 Ubuntu: 18.04/bionic- security, Ubuntu: 18.04/bionic- updates [amd64]) rc5-1ubuntu1] (20.0.8- 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) [] rc5-1ubuntu1] (20.0.8- 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) [] rc5-1ubuntu1] (20.0.8- 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) [] rc5-1ubuntu1] (20.0.8- 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) [] 1ubuntu1. 1~18.04. 3 Ubuntu: 18.04/bionic- security, Ubuntu: 18.04/bionic- updates [amd64]) 1ubuntu1. 1~18.04. 3 Ubuntu: 18.04/bionic- security, Ubuntu: 18.04/bionic- updates [amd64]) 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) 0ubuntu1~ 18.04.1 Ubuntu: 18.04/bionic- updates [amd64]) 1ubuntu1. 1~18.04. 3 Ubuntu: 18.04/bionic- security, Ubuntu: 18.04/bionic- updates [amd64])
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libegl-mesa0 libglapi-mesa libglx-mesa0 libwayland-client0
libwayland-
The following packages will be upgraded:
libegl-mesa0 libgbm1 libglapi-mesa libglx-mesa0 libwayland-client0
libwayland-
6 upgraded, 0 newly installed, 0 to remove and 826 not upgraded.
Inst libwayland-server0 [1.14.0-2] (1.16.0-
Inst libegl-mesa0 [18.0.0~
Inst libgbm1 [18.0.0~
Inst libglx-mesa0 [18.0.0~
Inst libglapi-mesa [18.0.0~
Inst libwayland-client0 [1.14.0-2] (1.16.0-
Conf libwayland-server0 (1.16.0-
Conf libegl-mesa0 (20.0.8-
Conf libgbm1 (20.0.8-
Conf libglx-mesa0 (20.0.8-
Conf libglapi-mesa (20.0.8-
Conf libwayland-client0 (1.16.0-