linuxmint / mintupdate

The Linux Mint Update Manager
315 stars 154 forks source link

Wrong origin column info for grouped packages #601

Open kneekoo opened 4 years ago

kneekoo commented 4 years ago

Describe the bug In order to install Wine Staging, I added the official Wine repository and another repository for the FAudio library (wine dependency). While listing the available Wine update, the Origin column displays the source of the dependency, instead of the package listed under the Name column.

Screenshots mint-update-wrong-origin

To Reproduce

1. Use Linux Mint 19.3 Cinnamon 32-bit and fully update the installation

2. Add the official Wine repository and install an older version of Wine Staging:

wget -q https://dl.winehq.org/wine-builds/winehq.key -O- | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

3. Add the FAudio repository:

wget -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key -O- | sudo apt-key add -
sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./'

4. Install an older wine-staging release

apt update
apt install --install-recommends wine-staging=5.0~rc5~bionic wine-staging-i386=5.0~rc5~bionic

5. Check for updates with the Update Manager and you should see the same thing presented in my screenshot.

More info Due to the way mintupdate handles the origin data, the order in which you add the repositories matters for the correct origin to be displayed in the list. Here's what works properly and what not. [good] adding the FAudio repository first and the Wine repository second [bad] adding the Wine repository first and the FAudio one second [bad] adding each repository in its own .list file under /etc/apt/sources.list.d/ (wine.list, faudio.list)

Expected behavior The origin of the listed package should match its repository, not one of its dependencies, no matter if we add all our repositories in additional-repositories.list or separate .list files.

Distribution:

Software version: mintUpdate 5.5.9

gm10 commented 4 years ago

What you call "FAudio repository" is actually the Wine repository, so I see no problem here. You don't need the other repository you added.

kneekoo commented 4 years ago

That's incorrect. The FAudio repository on OBS was made by a community member. The WineHQ team doesn't provide the FAudio package in their repository because "FAudio is not part of the Wine Project". But because it's an important dependency, they mentioned it on their page Installing WineHQ packages.

This will no longer be an issue with Ubuntu 20.04 and Linux Mint 20, but for now we have to deal with it if we want Wine 4.5+ devel or staging.

P.S. Please note, though, that the main issue doesn't revolve around Wine, but how mintupdate wrongfully displays the origin of the listed packages.

gm10 commented 4 years ago

Read again what I said. Update Manager will install Wine from the "FAudio repository" and thus correctly display that as the source.

kneekoo commented 4 years ago

This comment clarifies what you meant, the other one was badly phrased.

So I made a more thorough investigation and the simulated install (apt install -s) went like this:

Inst libfaudio0 (19.07-0~bionic Emulators:Wine:Debian:download.opensuse.org [amd64])
Inst wine-staging-amd64 (5.0~rc5~bionic winehq:bionic [amd64])
Inst wine-staging (5.0~rc5~bionic winehq:bionic [amd64])

Then the simulated update went like this:

Inst wine-staging [5.0~rc5~bionic] (5.0.0~bionic winehq:bionic, Emulators:Wine:Debian:download.opensuse.org [i386]) []
Inst wine-staging-i386 [5.0~rc5~bionic] (5.0.0~bionic winehq:bionic, Emulators:Wine:Debian:download.opensuse.org [i386])

As you can see, both repositories are listed, with the winehq one displayed first. Doing the actual update, this is what apt grabs:

Get:1 https://dl.winehq.org/wine-builds/ubuntu bionic/main i386 wine-staging i386 5.0.0~bionic [2827 kB]
Get:2 https://dl.winehq.org/wine-builds/ubuntu bionic/main i386 wine-staging-i386 i386 5.0.0~bionic [60.1 MB]

So while both repositories have the packages, the WineHQ ones get installed while OBS gets displayed as origin in mintupdate.

gm10 commented 4 years ago

I'm not sure if you still think something is wrong, but I assure you, it is not. Out of several eligible origins with equal priority, one has to be displayed, and there is no wrong choice.

Anyway, if you're not convinced I'll let the Mint devs take it from here.

kneekoo commented 4 years ago

Take a closer look at the details, it's all there. The Wine updates come from WineHQ and the displayed origin (in mintupdate) is OBS. That's not an interpretation, it's what mintupdate + APT do.