apt upgrade wants to install openjdk-11-jre-headless without upgprading anything
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Notable, upon logging in, I get this message:
```
3 packages can be updated.
1 update is a security update.
```
This is fairly misleading, since afaict, the three packages it's listing as "updated" are in fact "new installs" as opposed to "upgrades". However, that isn't the primary point of my bug report.
I'm actually relying on that information via:
/usr/lib/
/usr/lib/
So, I connect to the box and perform:
`apt upgrade`:
```
Hit:1 http://
Hit:2 http://
Hit:3 http://
Hit:4 http://
Ign:5 http://
Get:6 http://
Get:7 http://
Hit:8 https:/
Fetched 2298 B in 1s (4382 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
libasound2 libasound2-data openjdk-
The following packages have been kept back:
cypher-shell
0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.
Need to get 37.8 MB of archives.
After this operation, 173 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
```
Apt apparently discovered a newer version of `cypher-shell`. That newer version requires `openjdk-
For comparison, `apt-get upgrade` just recognizes that it shouldn't upgrade `cypher-shell`:
`apt-get upgrade`:
```
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
cypher-shell
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
```
```
lsb_release -rd
Description: Ubuntu 18.04.3 LTS
Release: 18.04
```
`apt-cache policy apt cypher-shell neo4j openjdk-
```
apt:
Installed: 1.6.12
Candidate: 1.6.12
Version table:
*** 1.6.12 500
500 http://
100 /var/lib/
1.6.6ubuntu0.1 500
500 http://
1.6.1 500
500 http://
cypher-shell:
Installed: 1.1.12
Candidate: 4.0.0
Version table:
4.0.0 500
500 http://
*** 1.1.12 500
500 http://
100 /var/lib/
...
neo4j:
Installed: 1:3.5.13
Candidate: 1:3.5.13
Version table:
*** 1:3.5.13 500
500 http://
100 /var/lib/
...
openjdk-
Installed: (none)
Candidate: 11.0.4+
Version table:
11.
500 http://
500 http://
100 /var/lib/
10.
500 http://
openjdk-
Installed: 8u222-b10-
Candidate: 8u222-b10-
Version table:
*** 8u222-b10-
500 http://
500 http://
100 /var/lib/
8u162-b12-1 500
500 http://
```
Expected results: as with `apt-get upgrade`, don't try to install jre11.
Actual results: tries to install jre11 (it does succeed if I say yes, but that then breaks some customer software which we manually installed which doesn't like java11 -- that's a separate set of bugs, and they aren't packaged, so there's no guidance to apt telling it not to do that).
Yeah, that happens sometimes, it's a side-effect of how apt's solver works - it can't properly undo everything it did all the time.