https://blue-build.org/ logo
Negativo17 404 error
# questions
c
Hello, I was trying to make an image that includes steam, but I cannot rebase to it, this is the error I have been getting when running `rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ceruleanderpo/kinoite-nvidia-gaming:latest`:
Copy code
error: Updating rpm-md repo 'fedora-rar-debug': cannot update repo 'fedora-rar-debug': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Status code: 404 for https://negativo17.org/repos/rar/fedora-44/x86_64.debug/repodata/repomd.xml (IP: 51.15.18.69)
These are the recipe files: 1.
recipe-gaming.yml
Copy code
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
# image will be published to ghcr.io/<user>/<name>
name: kinoite-nvidia-gaming
# description will be included in the image's metadata
description: A version of kinoite-nvidia that includes Steam

# the base image to build on top of (FROM) and the version tag to use
base-image: ghcr.io/ublue-os/kinoite-main
image-version: latest # latest is also supported if you want new updates ASAP

# module configuration, executed in order
# you can include multiple instances of the same module
modules:
  - from-file: common-modules.yml

  - type: dnf
    repos:
      nonfree: negativo17
    install:
      skip-unavailable: true
      packages:
        - steam
a
message has been deleted
c
2.
common-modules.yml
(it could not fit into the post's body)
Copy code
# yaml-language-server: $schema=https://schema.blue-build.org/module-list-v1.json

modules:
  - type: files
    files:
      - source: system
        destination: / # copies files/system/* (* means everything inside it) into your image's root folder /

  - type: dnf
    #   repos:
    #     copr:
    #       - atim/starship
    #   install:
    #     packages:
    #       - micro
    #       - starship
    remove:
      packages:
        # example: removing firefox (in favor of the flatpak)
        # "firefox" is the main package, "firefox-langpacks" is a dependency
        - firefox
        - firefox-langpacks # also remove firefox dependency (not required for all packages, this is a special case)
  - type: akmods
    base: main
    nvidia-driver: nvidia-open
    install: []
  - type: default-flatpaks
    configurations:
      - notify: true # Send notification after install/uninstall is finished (true/false)
        scope: system
        # If no repo information is specified, Flathub will be used by default
        install: # system flatpaks we want all users to have and not remove
          - org.mozilla.firefox
      - scope: user # Also add Flathub user repo, but no user packages

  - type: signing # this sets up the proper policy & signing files for signed images to work fully
I have tried switching to
rpmfusion
, but I get compatibility issues, since most of the packages that were obtained in the akmods module phase were from Negativo17:
Copy code
[10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42 Failed to resolve the transaction:
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42 Problem: installed package pipewire-libs-extra-1.6.8-1.fc44.x86_64 requires pipewire >= 1.6.8, but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package steam-1.0.0.85-6.fc44.i686 from rpmfusion-nonfree requires (pipewire-alsa(x86-32) if pipewire), but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - conflicting requests
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package steam-arch-transition-1.0.0.87-1.fc44.noarch from rpmfusion-nonfree-updates requires steam = 1.0.0.87-1.fc44, but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package pipewire-alsa-1.6.2-1.fc44.i686 from fedora requires pipewire-libs(x86-32) = 1.6.2-1.fc44, but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package steam-1.0.0.87-1.fc44.x86_64 from rpmfusion-nonfree-updates requires pipewire-libs(x86-32), but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package pipewire-1.6.8-1.fc44.i686 from updates requires pipewire-libs(x86-32) = 1.6.8-1.fc44, but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package pipewire-alsa-1.6.8-1.fc44.i686 from updates requires pipewire-libs(x86-32) = 1.6.8-1.fc44, but none of the providers can be installed
  [10:05:43 g.i/c/kinoite-nvidia-gaming:latest] => #47 15.42   - package pipewire-libs-1.6.2-1.fc44.i686 from fedora requires libfdk-aac.so.2, but none of the providers can be installed
What's weird is that I could rebase to the unsigned image, but not to the signed image, that's when this error started occurring
b
I'm not sure why the unsigned and signed issue is happening, that is weird, but try installing steam the same way they do in the example config and see if that works: https://blue-build.org/blog/dnf-module
By the way, I think akmods are installed from a ublue copr repository on ublue images, so be aware of that too.
g
I would suggest trying to use bootc for switching and upgrading images. Do
rpm-ostree reset
to clear any runtime layers, then do
bootc switch --enforce-container-sigpolicy ghcr.io/ceruleanderpo/kinoite-nvidia-gaming
c
can I re-add my layers afterwards?
it seems that the formatting is an older version, I replicated what I saw there, whilst following https://blue-build.org/reference/modules/dnf/ This is what I have now:
Copy code
yaml
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
# image will be published to ghcr.io/<user>/<name>
name: kinoite-nvidia-gaming
# description will be included in the image's metadata
description: A version of kinoite-nvidia that includes Negativo17 and Steam

# the base image to build on top of (FROM) and the version tag to use
base-image: ghcr.io/ublue-os/kinoite-main
image-version: latest # latest is also supported if you want new updates ASAP

# module configuration, executed in order
# you can include multiple instances of the same module
modules:
  - from-file: common-modules.yml

  - type: dnf
    repos:
      files:
        - https://negativo17.org/repos/fedora-steam.repo
    install:
      install-weak-deps: false
      packages:
        - steam

  - type: signing # this sets up the proper policy & signing files for signed images to work fully
g
Generally you want to try to install packages into your image at build time instead of layered at runtime
Only
rpm-ostree
allows installing extra packages at runtime, so switching to
bootc
means losing that ability
c
Yeah, I'm meaning to make another image with more personal packages on it, right now I just wanted to figure out the more general stuff
okay
it booted
thank you very much
g
Glad to help!
a
message has been deleted
b
One thing I've learned while milling about with this the last week is that the dnf module doesn't automatically resolve dependency issues exactly the same way base Fedora does. If there is a conflict, you have to explicitly tell dnf to remove or replace a package from one repo to a different one, and then install other packages after that. Dnf on a normal fedora install can automatically do that, and starting in Fedora 45, it will only do it if you appended --allow-vendor-change into the install or upgrade command. You can also set priority levels with dnf5, which will pull in packages from repos based on their priority level, that doesn't really work with Blue Build either because it refuses to remove packages unless you explicitly tell it to.