Zypper dup upgrade downgrade upgrade downgrade

A long list of mirrors.

[
  {
    "mtime": 1748950140,
    "prio": 0,
    "time": "2025-06-03 11:29:00",
    "url": "https://codingflyboy.mm.fcix.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 1,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.umd.edu/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 2,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.us.leaseweb.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 3,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.clarkson.edu/opensuse/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 4,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.sfo12.us.leaseweb.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 5,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.fcix.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 6,
    "time": "2025-06-03 11:29:00",
    "url": "https://ridgewireless.mm.fcix.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 7,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirrors.ocf.berkeley.edu/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 8,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirrors.acm.wpi.edu/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 9,
    "time": "2025-06-03 11:29:00",
    "url": "https://nnenix.mm.fcix.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 10,
    "time": "2025-06-03 11:29:00",
    "url": "https://slc-mirror.opensuse.org/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 11,
    "time": "2025-06-03 11:29:00",
    "url": "http://opensuse-mirror-gce-us.susecloud.net/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 12,
    "time": "2025-06-03 11:29:00",
    "url": "http://mirror.siena.edu/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 13,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.xenyth.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 14,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.hashy0917.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 15,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.nl.leaseweb.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 16,
    "time": "2025-06-03 11:29:00",
    "url": "https://fr2.rpmfind.net/linux/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 17,
    "time": "2025-06-03 11:29:00",
    "url": "https://opensuse.mirror.liteserver.nl/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 18,
    "time": "2025-06-03 11:29:00",
    "url": "https://ftp.halifax.rwth-aachen.de/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 19,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirrors.dotsrc.org/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 20,
    "time": "2025-06-03 11:29:00",
    "url": "https://ftp.acc.umu.se/mirror/opensuse.org/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 21,
    "time": "2025-06-03 11:29:00",
    "url": "https://opensuse.c3sl.ufpr.br/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 22,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror-br.opensuse.org/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 23,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.tele-media.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 24,
    "time": "2025-06-03 11:29:00",
    "url": "https://opensuse.schlundtech.de/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 25,
    "time": "2025-06-03 11:29:00",
    "url": "https://ftp.tu-chemnitz.de/pub/linux/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 26,
    "time": "2025-06-03 11:29:00",
    "url": "https://ftp.tu-ilmenau.de/mirror/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 27,
    "time": "2025-06-03 11:29:00",
    "url": "https://opensuse.0x0.st/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 28,
    "time": "2025-06-03 11:29:00",
    "url": "https://ftp.gwdg.de/pub/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 29,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.de.leaseweb.net/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 30,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror.linux-schulserver.de/opensuse/tumbleweed/repo/non-oss/"
  },
  {
    "mtime": 1748950140,
    "prio": 31,
    "time": "2025-06-03 11:29:00",
    "url": "https://mirror1.hs-esslingen.de/pub/Mirrors/ftp.opensuse.org/tumbleweed/repo/non-oss/"
  }
]

The only Canadian mirror offering a repo for Tumbleweed, looks up to date in theory but as @hui noted, contents are from Nov. 2024…
Many North American geekos might be affected? Anybody has links to those that can disable that mirror (or nudge their admins to resync)?

Yes getting the same when looking at

https://cdn.opensuse.org/tumbleweed/repo/non-oss/?mirrorlist

The first one is

ā€œmtimeā€:1748950140,
ā€œprioā€:0,
ā€œtimeā€:ā€œ2025-06-03 11:29:00ā€
,ā€œurlā€:ā€œhttps://mirror.xenyth.net/opensuse/tumbleweed/repo/non-oss/ā€},

1 Like

I changed line 284 in /etc/zypp/zypp.conf

Changed from:

## download.use_geoip_mirror = true

To…

download.use_geoip_mirror = true

geoip makes it use mirrors closer to you.
The file says ā€œThe media backend can rewrite download requests to the geographically closest availble mirror.ā€

Myrlyn is now showing the newer version of steam, 1.0.0.82-5.1.

I guess if you live next door to a bad mirror this won’t work for you. :thinking:

I’m just looking at my options for filtering and selecting mirrors.

I can reverse this change for more testing. My location may have something to do with it. I’m right smack in the middle of the US, near Joplin, Missouri. We nearly got hit by that huge EF5 tornado in 2011.

It seems zypper is not filtering by version number of the packages. I mentioned the other day that I read the developers talking about if they find a fast mirror, keep it. Maybe the version check gets skipped???

Does anyone know more details about what’s going on that we can’t see without digging into the configuration files or even the source code?

This

I changed line 284 in /etc/zypp/zypp.conf

Changed from:

## download.use_geoip_mirror = true

To…

download.use_geoip_mirror = true

does nothing as the default is true

from /etc/zypp/zypp.conf

##
## Whether to use the geoip feature of download.opensuse.org
##
## Valid values: boolean
## Default value: true
##
## The media backend can rewrite download requests to the geographically closest available mirror.
## Which exact mirror is used will be determined by requesting a "geoip" file from download.opensuse.org
## via a HTTP GET request to https://download.opensuse.org/geoip , the server will use the clients IP to
## determine the closest mirror if available.
## Some specific files are however excluded from this redirection due to security reasons, especially the
## repo metadata index and it's key and checksum files: repomd.xml, repomd.xml.key and repomd.xml.asc
##
## download.use_geoip_mirror = true

So you would need to change to

download.use_geoip_mirror = false

No, you remove the ## to uncomment it so it will take effect.

The defaults are in effect even if the line is commented out. This is how it works since ages.
If you want something else, you need to uncomment and override the default.

I read it as the default is ā€œtrueā€.
So doing nothing is true. I think this was the change to the new version, i.e default to using geoip which is why the big mirrors all over the world being hit now and finding out a lot are out of sync.

To change remove the comment and change to ā€œfalseā€

This is how I interpret it.

That’s wrong. The ## makes it a comment. Removing it makes it take affect, become true. If all of the lines with ## were active, it’d be garbage. Look at the lines without the ## and you see the active options.

ALL options wich are commented out have the standard value in effect. As said this is true for zypp.conf and zyyper.conf since ages. On a fresh Tumbleweed install zypper.conf has no single uncommented line but all defaults are in effect. On a fresh Tumbleweed install zypp.conf has one single uncommented line as it differs from the default. All other commented values are in effect as they are the default. Defaults are not read from these files. Thease files only exist to override the defaults by uncommenting and changing the values.

Don’t believe it? Perform some basic checks…

##
## Path where the caches are kept.
##
## Valid values: A directory
## Default value: /var/cache/zypp
##
# cachedir = /var/cache/zypp

##
## Path where the repo packages are downloaded and kept.
##
## Valid values: A directory
## Default value: {cachedir}/packages
##
# packagesdir = /var/cache/zypp/packages

You don’t believe that packages get cached in this directory when the line is commented? Check it yourself:

ich@laptopneu:~> LANG=C ls -l /var/cache/zypp/packages
total 0
ich@laptopneu:~> 
ich@laptopneu:~> LANG=C sudo zypper in --download-only cockpit 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 3 recommended packages were automatically selected:
  cockpit-networkmanager cockpit-packagekit cockpit-storaged

The following 2 packages are suggested, but will not be installed:
  cockpit-selinux python3-pcp

The following 21 NEW packages are going to be installed:
  cockpit cockpit-bridge cockpit-networkmanager cockpit-packagekit cockpit-storaged cockpit-system cockpit-ws cockpit-ws-selinux flatpak-selinux jeos-firstboot liboath0 libpwquality-tools libudisks2-0_lvm2
  live-langset-data oath-toolkit oath-toolkit-xml pam_oath qrencode selinux-policy-targeted selinux-policy-targeted-gaming ssh-pairing

21 new packages to install.

Package download size:    15.6 MiB

Download only.

Backend:  classic_rpmtrans --download-only
Continue? [y/n/v/...? shows all options] (y): 
Preloading: selinux-policy-targeted-gaming-1-2.1.noarch.rpm [done]
Preloading: jeos-firstboot-1.5.5-1.1.noarch.rpm [done]
Preloading: cockpit-338-1.1.x86_64.rpm [done]
Preloading: pam_oath-2.6.11.12-2.3.x86_64.rpm [done]
Preloading: ssh-pairing-0.2-1.3.x86_64.rpm [done]
Preloading: oath-toolkit-xml-2.6.11.12-2.3.noarch.rpm [done]
Preloading: liboath0-2.6.11.12-2.3.x86_64.rpm [done]
Preloading: cockpit-ws-selinux-338-1.1.x86_64.rpm [done]
Preloading: qrencode-4.1.1-2.6.x86_64.rpm [done]
Preloading: libpwquality-tools-1.4.5-5.3.x86_64.rpm [done]
Preloading: oath-toolkit-2.6.11.12-2.3.x86_64.rpm [done]
Preloading: flatpak-selinux-1.16.1-1.1.noarch.rpm [done]
Preloading: live-langset-data-3.0-1.3.noarch.rpm [done]
Preloading: libudisks2-0_lvm2-2.10.1-2.3.x86_64.rpm [done]
Preloading: cockpit-bridge-338-1.1.noarch.rpm [done]
Preloading: cockpit-storaged-338-1.1.noarch.rpm [done]
Preloading: cockpit-networkmanager-338-1.1.noarch.rpm [done]
Preloading: cockpit-packagekit-338-1.1.noarch.rpm [done]
Preloading: cockpit-ws-338-1.1.x86_64.rpm [done]
Preloading: cockpit-system-338-1.1.noarch.rpm [done]
Preloading: selinux-policy-targeted-20250528-1.1.noarch.rpm [done]
Preload finished. [success (12.5 MiB/s) ] ..........................................................................................................................................................................[done]
Retrieving: cockpit-bridge-338-1.1.noarch (OSS_)                                                                                                                                                     (1/21), 627.2 KiB    
Retrieving: libpwquality-tools-1.4.5-5.3.x86_64 (OSS_)                                                                                                                                               (2/21),  17.4 KiB    
Retrieving: libudisks2-0_lvm2-2.10.1-2.3.x86_64 (OSS_)                                                                                                                                               (3/21), 215.7 KiB    
Retrieving: live-langset-data-3.0-1.3.noarch (OSS_)                                                                                                                                                  (4/21),  30.9 KiB    
Retrieving: oath-toolkit-xml-2.6.11.12-2.3.noarch (OSS_)                                                                                                                                             (5/21),  16.0 KiB    
Retrieving: qrencode-4.1.1-2.6.x86_64 (OSS_)                                                                                                                                                         (6/21),  54.5 KiB    
Retrieving: selinux-policy-targeted-20250528-1.1.noarch (OSS_)                                                                                                                                       (7/21),   6.8 MiB    
Retrieving: ssh-pairing-0.2-1.3.x86_64 (OSS_)                                                                                                                                                        (8/21),  23.0 KiB    
Retrieving: cockpit-packagekit-338-1.1.noarch (OSS_)                                                                                                                                                 (9/21), 876.6 KiB    
Retrieving: liboath0-2.6.11.12-2.3.x86_64 (OSS_)                                                                                                                                                    (10/21),  32.8 KiB    
Retrieving: selinux-policy-targeted-gaming-1-2.1.noarch (OSS_)                                                                                                                                      (11/21),  11.1 KiB    
Retrieving: flatpak-selinux-1.16.1-1.1.noarch (OSS_)                                                                                                                                                (12/21),  53.9 KiB    
Retrieving: cockpit-ws-selinux-338-1.1.x86_64 (OSS_)                                                                                                                                                (13/21),  53.2 KiB    
Retrieving: pam_oath-2.6.11.12-2.3.x86_64 (OSS_)                                                                                                                                                    (14/21),  31.9 KiB    
Retrieving: oath-toolkit-2.6.11.12-2.3.x86_64 (OSS_)                                                                                                                                                (15/21),  76.6 KiB    
Retrieving: cockpit-ws-338-1.1.x86_64 (OSS_)                                                                                                                                                        (16/21),   1.8 MiB    
Retrieving: jeos-firstboot-1.5.5-1.1.noarch (OSS_)                                                                                                                                                  (17/21),  31.1 KiB    
Retrieving: cockpit-system-338-1.1.noarch (OSS_)                                                                                                                                                    (18/21),   3.2 MiB    
Retrieving: cockpit-storaged-338-1.1.noarch (OSS_)                                                                                                                                                  (19/21), 818.5 KiB    
Retrieving: cockpit-networkmanager-338-1.1.noarch (OSS_)                                                                                                                                            (20/21), 825.8 KiB    
Retrieving: cockpit-338-1.1.x86_64 (OSS_)                                                                                                                                                           (21/21),  49.9 KiB    
ich@laptopneu:~> 
ich@laptopneu:~> LANG=C ls -l /var/cache/zypp/packages/OSS_/x86_64
total 2464
-rw------- 1 root root   51112 Jun  4 20:46 cockpit-338-1.1.x86_64.rpm
-rw------- 1 root root 1936821 Jun  4 20:46 cockpit-ws-338-1.1.x86_64.rpm
-rw------- 1 root root   54490 Jun  4 20:46 cockpit-ws-selinux-338-1.1.x86_64.rpm
-rw------- 1 root root   33566 Jun  4 20:46 liboath0-2.6.11.12-2.3.x86_64.rpm
-rw------- 1 root root   17777 Jun  4 20:46 libpwquality-tools-1.4.5-5.3.x86_64.rpm
-rw------- 1 root root  220902 Jun  4 20:46 libudisks2-0_lvm2-2.10.1-2.3.x86_64.rpm
-rw------- 1 root root   78414 Jun  4 20:46 oath-toolkit-2.6.11.12-2.3.x86_64.rpm
-rw------- 1 root root   32711 Jun  4 20:46 pam_oath-2.6.11.12-2.3.x86_64.rpm
-rw------- 1 root root   55815 Jun  4 20:46 qrencode-4.1.1-2.6.x86_64.rpm
-rw------- 1 root root   23597 Jun  4 20:46 ssh-pairing-0.2-1.3.x86_64.rpm
ich@laptopneu:~> 
ich@laptopneu:~> LANG=C ls -l /var/cache/zypp/packages/OSS_/noarch
total 13540
-rw------- 1 root root  642228 Jun  4 20:46 cockpit-bridge-338-1.1.noarch.rpm
-rw------- 1 root root  845653 Jun  4 20:46 cockpit-networkmanager-338-1.1.noarch.rpm
-rw------- 1 root root  897650 Jun  4 20:46 cockpit-packagekit-338-1.1.noarch.rpm
-rw------- 1 root root  838176 Jun  4 20:46 cockpit-storaged-338-1.1.noarch.rpm
-rw------- 1 root root 3312186 Jun  4 20:46 cockpit-system-338-1.1.noarch.rpm
-rw------- 1 root root   55160 Jun  4 20:46 flatpak-selinux-1.16.1-1.1.noarch.rpm
-rw------- 1 root root   31818 Jun  4 20:46 jeos-firstboot-1.5.5-1.1.noarch.rpm
-rw------- 1 root root   31633 Jun  4 20:46 live-langset-data-3.0-1.3.noarch.rpm
-rw------- 1 root root   16378 Jun  4 20:46 oath-toolkit-xml-2.6.11.12-2.3.noarch.rpm
-rw------- 1 root root 7164146 Jun  4 20:46 selinux-policy-targeted-20250528-1.1.noarch.rpm
-rw------- 1 root root   11383 Jun  4 20:46 selinux-policy-targeted-gaming-1-2.1.noarch.rpm
ich@laptopneu:~> 

Your claim that commented lines in zypp.conf and zypper.conf can easily be disproved by some easy and basic checks.

1 Like

I thought it was commented out because of privacy.
I’ve read about it being commented out somewhere.
I am aware that you normally uncomment to change the default behavior. But I thought this one had been made into a comment to disable it.

Changing it either way doesn’t make a difference with the available steam version. I guess the first time I was just lucky and that luck ran out. As I’ve been saying, it seems ok but it’s pretty random when it wants to be.

This might be just one of those ā€œrandomā€ strokes of luck but I think it’s worth mentioning … just went to discover and did an update (2 Gnome … I run KDE) and freedesktop-sdk-24.08.19 … went back to zypper did a ā€œclean --all and -vvv refā€ … all my mirrors showed up as https://mirror.umd.edu/ and now I got the proper version of steam showing

S  | Name                        | Type    | Version                  | Arch   | Repository
---+-----------------------------+---------+--------------------------+--------+-------------
   | AdwSteamGtk                 | package | 0.8.0-1.2                | noarch | repo-oss
   | AdwSteamGtk-lang            | package | 0.8.0-1.2                | noarch | repo-oss
   | bitlbee-steam               | package | 1.4.2-1.29               | x86_64 | repo-oss
i  | ca-certificates-steamtricks | package | 1-1.20                   | noarch | repo-oss
   | steam                       | package | 1.0.0.82-5.1             | x86_64 | repo-non-oss
   | steam-devices               | package | 20240522+git.e2971e4-1.1 | x86_64 | repo-oss
   | steamcmd                    | package | 0.20180105-2.8           | x86_64 | repo-non-oss
   | steampipe                   | package | 1.1.3-2.1                | x86_64 | repo-oss

Don’t know if I just got lucky or if the freedesktop had something to do with it but it might be worth a shot to upgrade that flatpak … :man_shrugging: We’ve tried about everything else …

1 Like

I forgot about this. When it does seem to work correctly, it spits out this error.

# zypper -vvv dup -d
Verbosity: 3
Initializing Target
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for Brave Browser
Checking whether to refresh metadata for google-chrome
Checking whether to refresh metadata for libdvdcss repository
Checking whether to refresh metadata for CoolerControl (openSUSE_Tumbleweed)
Checking whether to refresh metadata for repo-non-oss
Checking whether to refresh metadata for repo-openh264
Checking whether to refresh metadata for repo-oss
Checking whether to refresh metadata for update-tumbleweed
Checking whether to refresh metadata for vivaldi
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
Force resolution: No
Computing upgrade...

The following 2 package updates will NOT be installed:
  python311-hidapi  0.14.0.post4-1.13  x86_64  CoolerControl (openSUSE_Tumbleweed)  obs://build.opensuse.org/home:codifryed
  python312-hidapi  0.14.0.post4-1.13  x86_64  CoolerControl (openSUSE_Tumbleweed)  obs://build.opensuse.org/home:codifryed

The following 2 packages are going to be upgraded:
  brave-browser   1.79.118-1 -> 1.79.119-1        x86_64  Brave Browser  Brave Software, Inc.
  vivaldi-stable  7.4.3684.43-1 -> 7.4.3684.46-1  x86_64  vivaldi        Vivaldi Technologies AS

2 packages to upgrade.

Package download size:   244.9 MiB

Download only.

Backend:  classic_rpmtrans --download-only
Continue? [y/n/v/...? shows all options] (y): y
committing
Preload finished. [success] .....................................................................................................[done]
terminate called after throwing an instance of 'boost::wrapexcept<boost::bad_any_cast>'
  what():  boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)
# 

@jsmith64 and if you use env ZYPP_PCK_PRELOAD=0 zypper -vvv dup

Hi @malcolmlewis … don’t know if this is related or not but I saw on the factory mailing list ā€œmaceā€ mentioned

In Discover I was getting ā€œdownload.opensuse.org-non-oss: Repository has no or invalid url defined.ā€

I’m getting the exact same thing but as I mentioned above

Don’t know if that means anything but with that and the boost error @jsmith64 mentioned (I also had one time and was fine 5 seconds later) it almost sounds like a communication thing … my zypper has been fine ever since updating that flatpak so far :crossed_fingers:

1 Like

That is absolutely unrelated to the mirrors issue. zypper has nothing to do with flatpacks.

Of course you’re probably right … I thought maybe dbus might be getting some wires crossed somewhere with the repo error in discover … it’s just a lot of coincidences all happening at once

There were:

  • Infra issues, storage related
  • After that there were mirror issues
  • A faulty gpg key was distributed by accident

Yeah, a nasty example of accidents sometimes happen

I was having @jsmith64’s issue, but this fixed it. However, it seems this disabled the parallel downloading?

I think that’s a coincidence because it didn’t work for me earlier. I’m not seeing anymore outdated repos. They appear to have been removed from the mirrorlist.

There’s no https://mirror.xenyth.net/opensuse/tumbleweed/repo/non-oss

And no https://codingflyboy.mm.fcix.net/opensuse/tumbleweed/repo/oss/

They are both still outdated but not being used now.
I have no clue how they got removed, maybe by the mirror list system, or someone manually removed them.

I found a way to fix it too. I removed the Tumbleweed package that makes repos run as an openSUSE.service. It’s called openSUSE-repos-Tumbleweed.

I rebuilt all of my repos manually. The service couldn’t change them then. But I moved my manyally built repos to a backup folder and reinstalled the openSUSE-repos-Tumbleweed package.

Everything seems fine now, just like before, so I don’t know if it’s really OK or lying to me again. But those outdated repos being gone is a good sign!

I sure learned a lot about zypper and repos but I’ll forget it by the time it happens again in a few years.

Ok, I was wrong. I just manually checked all 32 mirrors and found one that still has Kernel 6.14.6-2 and it should be 6.15.

The mirror list is here:

https://download.opensuse.org/tumbleweed/repo/oss/?mirrorlist

It’s this one that’s outdated.

https://mirrors.dotsrc.org/opensuse/tumbleweed/repo/oss/x86_64/