Bugzilla – Bug 1226956
15.6 - some update renders all repos into .rpmsave state - all disabled? (nvidia repos update from today?)
Last modified: 2024-06-25 14:36:45 UTC
15.6 normally working simple machine. today, using yast on command line, ncurses/textmode, I wanted to simply exchange openjdk (java runtime) 11 for 21 version. i unselected the two (11 and 11 headless) packages inside the yast2 softwaremanagement sub applet (searching for "java-" as package name it automatically selected the java-21.... (21 and 21 headless) packages nicely. advancing forward inside yast brings a summary wind that it wanted to add some mozill-nss something and it brought up an NVIDIA-repos something package, this machine has some nvidia based gfx card but I only run very simple totally open source basic stuff so never dealt with nvidia drivers or so so far. that was also not my task and goal here today. the yast finished and exited back to bash. another zypper ref and similar commands after that, brought me odd messages until I read them properly and I figured, that I have no more (enabled) repos any more all of a sudden. the /etc/zypp/repos.d/ directory shows me all the normal 15.6 very default repo files in there are all re/named with the .rpmsave suffix. whats happening? :( --------- zypper lr -d Warning: No repositories defined. ------- rpm -qi openSUSE-repos-Leap-NVIDIA --changelog | more Name : openSUSE-repos-Leap-NVIDIA Version : 20240516.5431918 Release : lp156.1.2 Architecture: x86_64 Install Date: Tue 25 Jun 2024 02:39:36 PM CEST Group : System/Management Size : 330 License : MIT Signature : RSA/SHA512, Tue 28 May 2024 09:04:57 AM CEST, Key ID 35a2f86e29b700a4 Source RPM : openSUSE-repos-Leap-20240516.5431918-lp156.1.2.src.rpm Build Date : Tue 28 May 2024 09:04:55 AM CEST Build Host : i01-ch2d --------- /etc/zypp/repos.d> ls -la total 48 drwxr-xr-x 2 root root 4096 Jun 25 14:39 . drwxr-xr-x 11 root root 4096 Jun 19 22:06 .. -rw-r--r-- 1 root root 254 Jun 20 07:51 repo-backports-debug-update.repo.rpmsave -rw-r--r-- 1 root root 199 Jun 4 2021 repo-backports-update.repo.rpmnew -rw-r--r-- 1 root root 188 Sep 11 2021 repo-backports-update.repo.rpmsave -rw-r--r-- 1 root root 178 Aug 24 2020 repo-non-oss.repo.rpmsave -rw-r--r-- 1 root root 167 Aug 24 2020 repo-oss.repo.rpmsave -rw-r--r-- 1 root root 234 Jun 20 07:51 repo-sle-debug-update.repo.rpmsave -rw-r--r-- 1 root root 208 Jun 4 2021 repo-sle-update.repo.rpmnew -rw-r--r-- 1 root root 197 Sep 11 2021 repo-sle-update.repo.rpmsave -rw-r--r-- 1 root root 183 Aug 24 2020 repo-update-non-oss.repo.rpmsave -rw-r--r-- 1 root root 165 Aug 24 2020 repo-update.repo.rpmsave ----------- very odd :(
apparently yet another package came in during this situation I didnt notice: ------- rpm -qi openSUSE-repos-Leap --changelog | more Name : openSUSE-repos-Leap Version : 20240516.5431918 Release : lp156.1.2 Architecture: x86_64 Install Date: Tue Jun 25 14:39:36 2024 Group : System/Management Size : 2576 License : MIT Signature : RSA/SHA512, Tue May 28 09:04:57 2024, Key ID 35a2f86e29b700a4 Source RPM : openSUSE-repos-Leap-20240516.5431918-lp156.1.2.src.rpm Build Date : Tue May 28 09:04:55 2024 --------- and /var/log/zypp/history shows that this package renamed all these repos during install time? --------- # 2024-06-25 14:39:36 openSUSE-repos-Leap-20240516.5431918-lp156.1.2.x86_64.rpm installed ok # Additional rpm output: # Content of repo-backports-debug-update.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-backports-debug-update.repo.rpmsave # Content of repo-oss.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-oss.repo.rpmsave # Content of repo-backports-update.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-backports-update.repo.rpmsave # Content of repo-sle-debug-update.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-sle-debug-update.repo.rpmsave # Content of repo-sle-update.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-sle-update.repo.rpmsave # Content of repo-update.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-update.repo.rpmsave # Content of repo-update-non-oss.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-update-non-oss.repo.rpmsave # Content of repo-non-oss.repo will be newly managed by zypp-services. # Storing old copy as {_sysconfdir}/zypp/repos.d/repo-non-oss.repo.rpmsave # Adding service 'openSUSE'... # Service 'openSUSE' has been successfully added. # # URI : dir:/usr/share/zypp/local/service/openSUSE # Enabled : Yes # Autorefresh : Yes # # 2024-06-25 14:39:36|install|openSUSE-repos-Leap|20240516.5431918-lp156.1.2|x86_64|4984:ruby.ruby2.5|repo-oss|b9d62c499786da43e1f7417c5547a25aa195b 7b53b9f67eb34555ed9e957136a6137d458f3f8ea9182e034b6837d1d907313ab69f7de22d7630e3315543f6013|
maybe I am missing some important new features here? after revisiting yast software repositories sub tool again, it kind of works a lage number of repos that look like the default opensuse leap repos and I quit after that without saving anything and the /etc/zypp/repos.d/ directory now shows a number of new files all from right now and all .repo suffinx and apparently a/the default set of repos are being re-activated after this step on this 15.6 machine? what am I missing here? :)
# Content of repo-oss.repo will be newly managed by zypp-services. AFAIK the openSUSE-repos-* packages introduce a local Service. A Service is a kind of remote repo control. The Service retrieves a repoindex.xml file (local and provided by the package in this case). This file describes the repos which should be present on the system and associated with the Service. It looks like the package installed the Service and removed the individual repos which are now maintained by the service. But it forgot to refresh the Service, which is the action that translates the repoindex.xml into a set of repos. > hobbes:~ (0)# zypper as /Local/Service opensSUSE > Adding service 'opensSUSE'... > hobbes:~ (0)# zypper ls -r > # | Alias | Name | Enabled | GPG Check | Refresh | Type > ---+-----------------------------+--------------------------------------------+---------+-----------+---------+--------- > 1 | opensSUSE | opensSUSE | Yes | ---- | Yes | N/A > 2 | KDE3 | KDE3 (15.4) | No | ---- | ---- | N/A This is how it probably looks like on your system. > hobbes:~ (0)# zypper refs > Refreshing service 'opensSUSE'. > All services have been refreshed. This command is missing. It will create the repos. > hobbes:~ (0)# zypper ls -r > # | Alias | Name | Enabled | GPG Check | Refresh | Type > ---+-----------------------------+--------------------------------------------+---------+-----------+---------+--------- > 1 | opensSUSE | opensSUSE | Yes | ---- | Yes | ris > - | opensSUSE:debug-non-oss | debug-non-oss (15.4) | No | ---- | ---- | N/A > - | opensSUSE:debug-oss | debug-oss (15.4) | No | ---- | ---- | N/A > | opensSUSE:repo-non-oss | repo-non-oss (15.4) | Yes | ( p) Yes | Yes | N/A > | opensSUSE:repo-oss | repo-oss (15.4) | Yes | ( p) Yes | Yes | N/A > - | opensSUSE:source-non-oss | source-non-oss (15.4) | No | ---- | ---- | N/A > - | opensSUSE:source-oss | source-oss (15.4) | No | ---- | ---- | N/A > | opensSUSE:upadte-non-oss | upadte-non-oss (15.4) | Yes | ( p) Yes | Yes | N/A > | opensSUSE:update-oss | update-oss (15.4) | Yes | ( p) Yes | Yes | N/A > 2 | KDE3 | KDE3 (15.4) | No | ---- | ---- | N/A Lubos should know more about the openSUSE-repos-* packages
NOTE that the example uses my personal service in /Local/Service, not the packages one.
Hello Andreas openSUSE-repos is an optional package on Leap 15.X and it does what you described. See https://news.opensuse.org/2023/07/31/try-out-cdn-with-opensuse-repos/ and https://github.com/openSUSE/openSUSE-repos/blob/main/README.md Lubos
Release package has a suggests openSUSE-repos-Leap did you perhaps install all suggested packages/updates?
thanks for all the infos, I have never come across this "SERVICE" stuff regarding repos and their handling and grouping into these service(s) before, thats what happened only today, and my only deed and goal was to go for a newer java21 coming from java11 that was all all the rest was some automatic stuff triggered by the yast software handling module. i was never aware of /usr/share/zypp/local/service/ and its contents and meaning so far. i kind of did this same thing yesterday on a similar 15.6 machine and there it didnt bring in this NVIDIA nor this suse repo package stuff as far as I can tell as it didnt mess up the repos on that machine and render them inactive, otherwise I would have reported this bug yesterday already. all the repos re-created now are named NVIDIA: (one) and openSUSE: (several) right now as created by this new package and mechanism. Whenever I had installed a leap before, even fresh, the repos (files) had never been named this way, wanting to say, thats why I was never aware of this grouping mechanism and "SERVICE" stuff to begin with and to know where to look at. this whole stuff was completely new to me. thanks.
(In reply to Lubos Kocman from comment #6) > Release package has a suggests openSUSE-repos-Leap did you perhaps install > all suggested packages/updates? @Lubos - A "suggests" will not add any package. Either it is "recommended" or the package itself "supplements" (AKA reverse-recommends) something installed.
(In reply to andreas bittner from comment #7) > all the repos re-created now are named NVIDIA: (one) and openSUSE: > (several) right now as created by this new package and mechanism. Yes, service repos are prefixed by the service name.
> %package NVIDIA > Summary: openSUSE NVIDIA repository definitions > Requires: openSUSE-repos-%{theme} > Supplements: modalias(pci:v000010DEd*sv*sd*bc03sc*i*) > Provides: openSUSE-repos-NVIDIA > Conflicts: otherproviders(openSUSE-repos-NVIDIA) This probably explains it. The openSUSE-repos-NVIDIA has a supplements on the hardware's modalias. If the hardware is present, the package wants to be installed.