Bug 1228231

Summary: Tumbleweed Network image defaults to openSUSE-repos-MicroOS(-NVIDIA)
Product: [openSUSE] openSUSE Tumbleweed Reporter: ijskegel <ijskegel>
Component: BasesystemAssignee: E-mail List <screening-team-bugs>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: arvidjaar, jlopez, lubos.kocman
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description ijskegel 2024-07-23 07:28:54 UTC
After installing Tumbleweed on my ASUS Vivobook notebook using the Network Image the microOS packages were installed instead of the tumbleweed ones.


patrick@vivobook:~ > zypper se openSUSE-repos-
Loading repository data...
Reading installed packages...

S  | Name                             | Summary                                | Type
---+----------------------------------+----------------------------------------+--------
   | openSUSE-repos-Leap              | openSUSE package repositories          | package
i  | openSUSE-repos-MicroOS           | openSUSE package repositories          | package
i  | openSUSE-repos-MicroOS-NVIDIA    | openSUSE NVIDIA repository definitions | package
   | openSUSE-repos-Slowroll          | openSUSE package repositories          | package
   | openSUSE-repos-Slowroll-NVIDIA   | openSUSE NVIDIA repository definitions | package
   | openSUSE-repos-Tumbleweed        | openSUSE package repositories          | package
   | openSUSE-repos-Tumbleweed-NVIDIA | openSUSE NVIDIA repository definitions | package

patrick@vivobook:~ > zypper lr -au
Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                      | Name              | Enabled | GPG Check | Refresh | URI
--+----------------------------+-------------------+---------+-----------+---------+--------------------------------------------------------
1 | NVIDIA:repo-non-free       | repo-non-free     | Yes     | (r ) Yes  | Yes     | https://download.nvidia.com/opensuse/tumbleweed
2 | openSUSE:repo-non-oss      | repo-non-oss      | Yes     | (r ) Yes  | Yes     | http://cdn.opensuse.org/tumbleweed/repo/non-oss
3 | openSUSE:repo-openh264     | repo-openh264     | Yes     | (r ) Yes  | Yes     | http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed
4 | openSUSE:repo-oss          | repo-oss          | Yes     | (r ) Yes  | Yes     | http://cdn.opensuse.org/tumbleweed/repo/oss
5 | openSUSE:repo-oss-debug    | repo-oss-debug    | No      | ----      | ----    | http://cdn.opensuse.org/debug/tumbleweed/repo/oss
6 | openSUSE:repo-oss-source   | repo-oss-source   | No      | ----      | ----    | http://cdn.opensuse.org/source/tumbleweed/repo/oss
7 | openSUSE:update-tumbleweed | update-tumbleweed | Yes     | (r ) Yes  | Yes     | http://cdn.opensuse.org/update/tumbleweed


See also this forumpost https://forums.opensuse.org/t/nvidia-graphics-working-but-want-to-understand-why/177106/1

It is fixed with:
sudo zypper in openSUSE-repos-Tumbleweed openSUSE-repos-Tumbleweed-NVIDIA
Comment 1 ijskegel 2024-07-23 07:31:55 UTC
Downloading of the network image and install was done at 14 July 2024
Comment 2 Andrei Borzenkov 2024-07-23 08:00:17 UTC
The problem is as following:

All three packages openSUSE-repos-MicroOS-NVIDIA, openSUSE-repos-Slowroll-NVIDIA, openSUSE-repos-Tumbleweed-NVIDIA have the same

Supplements: modalias(pci:v000010DEd*sv*sd*bc03sc*i*)

so zypper has to break the tie and it selects the first package in alphabetical order. For now it is harmless as both MicroOS and Tumbleweed services provide the same repositories, but in the past it caused surprised switch to Slowroll (same issue).

While it is possible to distinguish MicroOS with MicroOS-release package (or product(MicroOS) provide), I do not see how it can be done for Slowroll which is Tumbleweed for all purposes except different repositories. But at least for MicroOS it really should be using

Supplements: ( modalias(pci:v000010DEd*sv*sd*bc03sc*i*) and product(MicroOS) )
Comment 3 José Iván López González 2024-07-23 08:18:54 UTC
This issue is more related to libzypp/patterns. Let's reassign it for a better tracking and analysis. Thanks!
Comment 4 Michael Andres 2024-07-23 10:37:34 UTC
That's IMO something the (release)package maintainers have to negotiate. There probably needs to be a well defined set of indicator provides the packages can refer to in boolean dependencies. If the 'product(PRODUCTNAME)' provides alone are not sufficient, they need to define additional ones. 

(see also https://rpm-software-management.github.io/rpm/manual/boolean_dependencies.html)