Fedora 34 upgrade: Cisco OpenH264 mirrors down?

I wanted to upgrade from Fedora 33 Silverblue to Fedora 34 Silverblue just now, but apparently all mirrors for this Cisco H264 package are down?

$ rpm-ostree rebase fedora:fedora/34/x86_64/silverblue
2 metadata, 0 content objects fetched; 788 B transferred in 3 seconds; 0 Bytes content written
Checking out tree 2894808... done
Inactive base removals:
  pulseaudio-module-bluetooth
Enabled rpm-md repositories: updates fedora-cisco-openh264 fedora
rpm-md repo 'updates' (cached); generated: 2021-04-28T00:52:57Z
Updating metadata for 'fedora-cisco-openh264'... done
error: Updating rpm-md repo 'fedora-cisco-openh264': cannot update repo 'fedora-cisco-openh264': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Status code: 404 for https://codecs.fedoraproject.org/openh264/34/x86_64/repodata/repomd.xml (IP: 67.219.144.68)

And indeed, if I try to access https://codecs.fedoraproject.org/openh264/34/x86_64/repodata/repomd.xml that returns a 404 error. :thinking:

I am using Silverblue 34 and the fedora-cisco-openh264 repository seems okay to me.

By visiting https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-34&arch=x86_64 directly, I got a metalink file that contains the URL https://codecs.fedoraproject.org/openh264/34/x86_64/os/repodata/repomd.xml , which is different from the one you provided.

Are you using the default configuration for Silverblue 34? That is:

/etc/yum.repos.d/fedora-cisco-openh264.repo

[fedora-cisco-openh264]
name=Fedora $releasever openh264 (From Cisco) - $basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-$releasever&arch=$basearch
type=rpm
enabled=1
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=True

[fedora-cisco-openh264-debuginfo]
name=Fedora $releasever openh264 (From Cisco) - $basearch - Debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-debug-$releasever&arch=$basearch
type=rpm
enabled=0
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=True

EDIT:

I did not pay enough attention to the details here. I’m not running Silverblue, but I’ll leave my 2 cents here in case it can help someone:


I get the same problem while trying to upgrade. I found the repomd.xml by removing parts of the url and clicking through the file hierarchy. The difference is that yours, @rjl931189261 has /os added inside, but I found no place I could add that.

According to this response, one should not have to care about this yum.repos.d config at all:
https://askbot.fedoraproject.org/en/question/123217/baseurl-and-metalink-what-are-they/

I guess it’s hard to use the version 34 config while still on version 33? :thinking:

I never changed this fedora-cisco-openh264.repo file, so I have no idea why I have baseurl and not metalink. Here is my config:

[fedora-cisco-openh264]
name=Fedora $releasever openh264 (From Cisco) - $basearch
baseurl=https://codecs.fedoraproject.org/openh264/$releasever/$basearch/
type=rpm
enabled=1
enabled_metadata=1
metadata_expire=14d
repo_gpgcheck=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-cisco-openh264-debuginfo]
name=Fedora $releasever openh264 (From Cisco) - $basearch - Debug
failovermethod=priority
baseurl=https://codecs.fedoraproject.org/openh264/$releasever/$basearch/debug/
type=rpm
enabled=0
metadata_expire=28d
repo_gpgcheck=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

Anyway, I tried to comment out my baseurl and add your metalink, and the upgrade is now in progress :slight_smile:

2 Likes

It seems that the change was first landed in Fedora 32 due to #1768206, so if you are using the default setting of Fedora 33 I guess it should work too. :thinking:

https://koji.fedoraproject.org/koji/buildinfo?buildID=1491974

I have no idea why the file was not updated automatically if you did’t modify it. I guess in this case, for Silverblue users, a possible solution is overwrite the contents in /etc/yum.repos.d/ with those in /usr/etc/yum.repos.d/. For other users, maybe keep track of the upstream? :face_with_monocle:

https://src.fedoraproject.org/rpms/fedora-repos

1 Like

Also never modified it and also use Fedora 33.

And actually can also reproduce it with an Fedora 33 Workstation installation with GNOME Software:
image

So Silverblue or not does not seem to matter.

Okay, here is the TL;DR as a solution for Fedora Workstation users as said before:

Add the correct metalink and remove baseurl.

I.e.:

[fedora-cisco-openh264]
# ...
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-$releasever&arch=$basearch
#baseurl=https://codecs.fedoraproject.org/openh264/$releasever/$basearch/
# …

[fedora-cisco-openh264-debuginfo]
# …
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-debug-$releasever&arch=$basearch
#baseurl=https://codecs.fedoraproject.org/openh264/$releasever/$basearch/debug/
# …

As said before by @rjl931189261, Silverblue users can just copy/correct the correct file:

2 Likes