SteamDeckHomebrew / holo-docker

Docker images of the SteamOS Holo system
GNU General Public License v3.0
30 stars 10 forks source link

Latest image can't sync package database #4

Closed ian-h-chamberlain closed 1 year ago

ian-h-chamberlain commented 1 year ago

The root cause appears to be related to this (a new SteamOS update?): https://old.reddit.com/r/SteamDeck/comments/zrc2ep/fail_to_run_any_pacman_commands/

Edit: I guess this makes sense, my host has VERSION_ID=3.4.4 in /etc/os-release while the container looks like VERSION_ID=3.3.2

$ podman pull ghcr.io/steamdeckhomebrew/holo-base:latest
Trying to pull ghcr.io/steamdeckhomebrew/holo-base:latest...
Getting image source signatures
Copying blob 82aca8ac73f8 skipped: already exists  
Copying config 610fb47bdc done  
Writing manifest to image destination
Storing signatures
610fb47bdc77a8bfc64ec9ebbb8a52003e66e8976a299d0bbda2acc7e030fb48
$ podman run -it ghcr.io/steamdeckhomebrew/holo-base:latest bash
bash: steamos-readonly: command not found
(1)(root@5eaa2266e660 /)# pacman -Sy
:: Synchronizing package databases...
 jupiter.db failed to download
 holo.db failed to download
 core.db failed to download
 extra.db failed to download
 community.db failed to download
 multilib.db failed to download
error: failed retrieving file 'jupiter.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
error: failed retrieving file 'community.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
error: failed retrieving file 'extra.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
warning: too many errors from steamdeck-packages.steamos.cloud, skipping for the remainder of this transaction
error: failed retrieving file 'multilib.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
error: failed retrieving file 'holo.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
error: failed retrieving file 'core.db' from steamdeck-packages.steamos.cloud : The requested URL returned error: 404
error: failed to synchronize all databases (failed to retrieve some files)
(1)(root@5eaa2266e660 /)# 

Meanwhile, I am able to workaround it by mounting in my Steam Deck host's pacman.conf:

$ podman run  --mount type=bind,src=/etc/pacman.conf,dst=/etc/pacman.conf,ro -ti ghcr.io/steamdeckhomebrew/holo-base:latest bash
bash: steamos-readonly: command not found
(1)(root@a0464c59062e /)# pacman -Sy
:: Synchronizing package databases...
 jupiter-rel                               87.4 KiB  67.0 KiB/s 00:01 [#######################################] 100%
 holo-rel                                  41.9 KiB  32.2 KiB/s 00:01 [#######################################] 100%
 core-rel                                 157.3 KiB   120 KiB/s 00:01 [#######################################] 100%
 extra-rel                               1721.5 KiB  1294 KiB/s 00:01 [#######################################] 100%
 community-rel                              7.1 MiB  3.09 MiB/s 00:02 [#######################################] 100%
 multilib-rel                             168.7 KiB  23.4 KiB/s 00:07 [#######################################] 100%
(root@a0464c59062e /)# 

I also have some keyring issues after the fact, but I don't think those are strictly related (though it would be nice to just pacman -Syu from a fresh container immediately).

TrainDoctor commented 1 year ago

Speak of the devil: https://github.com/SteamDeckHomebrew/holo-docker/actions/runs/3859753395/jobs/6579574162

This is something we've known about and I haven't had time to fix for a while. (We are still targeting only SteamOS stable for now for simplicity's sake.)

ian-h-chamberlain commented 1 year ago

Wow, talk about a quick fix! The new container seems to work for me nicely, thanks.

Not sure if it would have helped me figure it out faster, but it might be nice to tag the containers with the /etc/os-release version just to make it clear what's what, especially if there might be compatibility issues like this in the future.

TrainDoctor commented 1 year ago

Wow, talk about a quick fix! The new container seems to work for me nicely, thanks.

In fact, good timing. We had been working at the issue for some time with quite a few issues cropping up due to new and old packages valve introduced that our CI could not account for.

Not sure if it would have helped me figure it out faster, but it might be nice to tag the containers with the /etc/os-release version just to make it clear what's what, especially if there might be compatibility issues like this in the future.

I'd like to set something like that up but in all reality most developers just need to target stable (targeting older glibc is usually backwards compatible) and we don't have time or resources to get highly specific. If you'd like to contribute to the CI to accomplish this we'd love to have you.

Closing this issue as resolved.