Open dustymabe opened 6 years ago
forgot to add: rpm-ostree-2018.7-1.fc29.x86_64
Ahh OK, this is tricky.
So today, rpm-ostree uses the /etc/yum.repos.d/
of the booted deployment when it fetches packages. But it uses the releasever
of the pending deployment. I think the underlying problem here is that rawhide repo URLs are completely different than a simple $releasever
substitution (in fact, it doesn't even use $releasever
).
Why do we use the /etc/yum.repos.d/
of the booted deployment? Because that's what you currently have control over. Otherwise, e.g. installing packages from a new repo (e.g. rpmfusion) would require two reboots.
Not sure offhand of an easy way to fix this other than recommending a reboot of the repo files.
For rawhide, see https://pagure.io/releng/issue/7445
Because that's what you currently have control over
could we possibly specify repos on the command line?
For rawhide, see https://pagure.io/releng/issue/7445
so would ^^ solve this problem?
so would ^^ solve this problem?
If I understand what's being proposed there, yes it should.
You don't need a reboot. If rpm-ostree is able to read .repo files from an ostree commit, package layering just needs to happen in two steps:
I suppose the distinction could not happen automatically, and it might be necessary to specify when layering a new package, if it's defining new repositories (and thus must be stage 1) or if it is a regular package that comes after.
With this, we could also gain effortless rebase to new release. I just rebased my silverblue workstation from fedora 29 to 30, and I had this error from the rpmfusion repositories:
error: cannot update repo 'rpmfusion-free-updates': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink
This is because it was using the fedora 29 repository files to layer packages on top of the fedora 30 update. I suppose I wouldn't have had this problem if rpm-ostree had used the repo files from fedora 30 instead (combined with the --install and --uninstall flags introduced in #711).
A user is hitting an issue which I think could be related to a bug I'm seeing. Basically the bug (I think) is that package layering is using yum repo files from the currently booted deployment rather than the deployment that is the target of the layered operation. That could be confusing so here is an example.
rpm-ostree rebase fedora/28/x86_64/atomic-host
rpm-ostree install htop
In this case layering htop worked fine because the package from rawhide had no conflicting dependencies but in cases like the user I mentioned above it can cause issues. What is the right thing to do here?