Non-pinned available package in -proposed not chosen
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Auto Package Testing |
New
|
Undecided
|
Unassigned | ||
apt (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
In autopkgtest we just had this situation:
root@humorous-
Package: *
Pin: release a=bionic
Pin-Priority: 990
Package: python3.6
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-venv
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.6-stdlib
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-minimal
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.6
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-examples
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-dev
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.6-dev
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: idle-python3.6
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-doc
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: python3.6-dbg
Pin: release a=bionic-proposed
Pin-Priority: 995
Package: libpython3.6-dbg
Pin: release a=bionic-proposed
Pin-Priority: 995
root@humorous-
Reading package lists... Done
Building dependency tree
Reading state information... Done
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) libpython3.
Broken libpython3.
Considering python3-
Added python3-
Fixing libpython3.
Investigating (0) dh-python:amd64 < 3.20180325ubuntu2 @ii mK Ib >
Broken dh-python:amd64 Depends on python3-
Considering python3-
Added python3-
Fixing dh-python:amd64 via keep of python3-
Investigating (1) libpython3.
Broken libpython3.
Considering python3-
Added python3-
Fixing libpython3.
Investigating (1) dh-python:amd64 < 3.20180325ubuntu2 @ii mK Ib >
Broken dh-python:amd64 Depends on python3-
Considering python3-
Added python3-
Fixing dh-python:amd64 via keep of python3-
Investigating (2) libpython3.
Broken libpython3.
Considering python3-
Added python3-
Fixing libpython3.
Investigating (2) dh-python:amd64 < 3.20180325ubuntu2 @ii mK Ib >
Broken dh-python:amd64 Depends on python3-
Considering python3-
Removing dh-python:amd64 rather than change python3-
Investigating (3) python3:amd64 < 3.6.4-1 @ii mK Ib >
Broken python3:amd64 Depends on dh-python:amd64 < 3.20180325ubuntu2 @ii mR >
Considering dh-python:amd64 22 as a solution to python3:amd64 40
Added dh-python:amd64 to the remove list
Fixing python3:amd64 via keep of dh-python:amd64
Investigating (3) dh-python:amd64 < 3.20180325ubuntu2 @ii mK Ib >
Broken dh-python:amd64 Depends on python3-
Considering python3-
Added python3-
Fixing dh-python:amd64 via keep of python3-
Investigating (4) libpython3.
Broken libpython3.
Considering python3-
Removing libpython3.
Investigating (4) python3.6:amd64 < 3.6.5~rc1-1 -> 3.6.5-3 @ii umU Ib >
Broken python3.6:amd64 Depends on libpython3.
Considering libpython3.
Removing python3.6:amd64 rather than change libpython3.
Investigating (4) libpython3-
Broken libpython3-
Considering libpython3.
Removing libpython3-
Investigating (4) libpython3.6:amd64 < 3.6.5~rc1-1 -> 3.6.5-3 @ii umU Ib >
Broken libpython3.6:amd64 Depends on libpython3.
Considering libpython3.
Removing libpython3.6:amd64 rather than change libpython3.
Investigating (5) python3:amd64 < 3.6.4-1 @ii mK Ib >
Broken python3:amd64 Depends on python3.6:amd64 < 3.6.5~rc1-1 | 3.6.5-3 @ii umR > (>= 3.6.4-1~)
Considering python3.6:amd64 40 as a solution to python3:amd64 40
Removing python3:amd64 rather than change python3.6:amd64
Investigating (5) dh-python:amd64 < 3.20180325ubuntu2 @ii mK Ib >
Broken dh-python:amd64 Depends on python3:any:any < none @un H > (>= 3.3.2-2~)
Considering python3:amd64 40 as a solution to dh-python:amd64 40
Removing dh-python:amd64 rather than change python3:any:any
Investigating (5) netplan.io:amd64 < 0.34.1 @ii mK Ib >
Broken netplan.io:amd64 Depends on python3:amd64 < 3.6.4-1 @ii mR >
Considering python3:amd64 40 as a solution to netplan.io:amd64 11
Removing netplan.io:amd64 rather than change python3:amd64
Investigating (5) vim:amd64 < 2:8.0.1401-1ubuntu3 @ii mK Ib >
Broken vim:amd64 Depends on libpython3.6:amd64 < 3.6.5~rc1-1 | 3.6.5-3 @ii umR > (>= 3.6.4~rc1)
Considering libpython3.6:amd64 40 as a solution to vim:amd64 8
Removing vim:amd64 rather than change libpython3.6:amd64
Investigating (5) python3-yaml:amd64 < 3.12-1build2 @ii mK Ib >
Broken python3-yaml:amd64 Depends on python3:amd64 < 3.6.4-1 @ii mR > (< 3.7)
Considering python3:amd64 40 as a solution to python3-yaml:amd64 8
Removing python3-yaml:amd64 rather than change python3:amd64
Investigating (5) nplan:amd64 < 0.34.1 @ii mK Ib >
Broken nplan:amd64 Depends on netplan.io:amd64 < 0.34.1 @ii mR >
Considering netplan.io:amd64 40 as a solution to nplan:amd64 7
Removing nplan:amd64 rather than change netplan.io:amd64
Investigating (5) lsb-release:amd64 < 9.20170808ubuntu1 @ii mK Ib >
Broken lsb-release:amd64 Depends on python3:any:any < none @un H > (>= 3.4~)
Considering python3:amd64 40 as a solution to lsb-release:amd64 7
Removing lsb-release:amd64 rather than change python3:any:any
Investigating (5) python3-
Broken python3-
Considering python3:amd64 40 as a solution to python3-
Removing python3-
Investigating (5) python3-
Broken python3-
Considering python3:amd64 40 as a solution to python3-
Removing python3-
Investigating (5) ubuntu-
Broken ubuntu-
Considering lsb-release:amd64 40 as a solution to ubuntu-
Removing ubuntu-
Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
vim-runtime
Use 'apt autoremove' to remove it.
The following packages will be REMOVED:
dh-python libpython3-stdlib libpython3.6 libpython3.6-stdlib lsb-release netplan.io nplan python3 python3-distutils python3-lib2to3 python3-yaml python3.6 ubuntu-minimal vim
The following packages will be upgraded:
libpython3.
2 upgraded, 0 newly installed, 14 to remove and 0 not upgraded.
Need to get 1954 kB of archives.
After this operation, 19.3 MB disk space will be freed.
Do you want to continue? [Y/n]
autopkgtest merrily went ahead and removed all of those packages, which it turns out breaks package extraction, causing a tmpfail and then destroying all workers in turn.
---
libpython3.6-stdlib has Breaks: python3-distutils (<< 3.6.5-2)
root@humorous-
python3-distutils:
Installed: 3.6.5~rc1-1
Candidate: 3.6.5~rc1-1
Version table:
3.6.5-2 500
500 http://
*** 3.6.5~rc1-1 990
990 http://
100 /var/lib/
There is a version available which would satisfy this requirement:
root@humorous-
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '3.6.5-2' (Ubuntu:
The following additional packages will be installed:
libpython3.6 libpython3.
Suggested packages:
python3.6-venv python3.6-doc binfmt-support
The following packages will be upgraded:
libpython3.6 libpython3.
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 5377 kB of archives.
After this operation, 13.3 kB disk space will be freed.
Do you want to continue? [Y/n]
Should apt have selected this version to upgrade, or is there something we should have done differently in autopkgtest to get around this problem?
APT, by design, only picks candidate versions when installing dependencies, and the non-pinned proposed version is not the candidate. apt install foo/target has some logic to switch dependencies to target too, which works sometimes, but it's nothing that happens when using pinning.