Jguer / yay

Yet another Yogurt - An AUR Helper written in Go
GNU General Public License v3.0
11.21k stars 363 forks source link

Add instructions for installing on SteamOS / Steam Deck #2098

Open aaronfranke opened 1 year ago

aaronfranke commented 1 year ago

Is your feature request related to a problem? Please describe.

SteamOS has an immutable root file system, and even if you unlock it, any system updates will wipe and reset that file system. This makes it challenging to keep software installed. I am interested to know if there are any instructions for "properly" installing yay onto SteamOS so that yay and any packages won't get wiped with system updates.

Describe the solution you'd like

Add documentation that explains the proper way to install yay on SteamOS / Steam Decks.

Additional context

Steam Deck users are typically less experienced, often having no Linux experience at all. So the instructions need to be clear and easy to follow. Ideally just a series of copy-paste-able terminal commands.

ProtocolNebula commented 1 year ago

I'm not sure what's the issue, I've just installed using the following commands (https://github.com/Jguer/yay/pull/2115):

# Allow to write over file system (steam os block)
sudo steamos-readonly disable

# Ensure we have the keys updated
sudo pacman-key --init
sudo pacman-key --populate archlinux

# Install git and base-devel dependencies
sudo pacman -S --needed git base-devel
# Ensure that dependencies get installed correctly (this may be not necessary in some cases)
sudo pacman -S git base-devel
# When prompted, select all options

# INSTALL FROM SOURCE
# git clone https://aur.archlinux.org/yay.git
# cd yay
# makepkg -si

# OR INSTALL FROM BINARY
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si

# Disable again the write over file system
sudo steamos-readonly disable

As per your post, when the updates will get wipped? After steam upgrade?

danysgit commented 1 year ago

This is what I get when I run makepkg -si

/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/cc1: error while loading shared libraries: libisl.so.23: cannot open shared object file: No such file or directory
make: *** [Makefile:113: yay] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
AlgebraManiacABC commented 1 year ago

Could this be due to the missing packages on Steam Deck by default?

Try pacman -S glibc linux-api-headers

Jay-Poch commented 1 year ago

@AlgebraManiacABC i have the same problem like @geekcubano and it diddent fix it and i dont now what to do any idea

Jay-Poch commented 1 year ago

after restart works now and i dont know wy so thank you i gues

Vinniehat commented 1 year ago

I was able to fix the issue by doing the following

Bisonfan95 commented 1 year ago

The best practice is always to always download the source files and then compile yourself. But why is it? It is because you are supposed to check if something malicious is being done in the code before you compile and install. Since I REALLY doubt you are checking the code at all and you only want to install the thing, why even bother to compile the code yourself? Just install yay from the binaries, execute this after disabling the steamos write protection:

In Terminal enter: passwd

Set your password.

sudo steamos-readonly disable

sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si

You are then done.

danysgit commented 1 year ago

@Bisonfan95 the whole reason why this thread exists is because that doesn't work.

Bisonfan95 commented 1 year ago

@Bisonfan95 the whole reason why this thread exists is because that doesn't work.

@geekcubano what do you mean by "that"? the compilation or the binary installation? because if it is the binary installation yes it does work I just installed it on my Deck, if I didn't I wouldn't post this. You might be downloading yay and not yay-bin. Check your commands. @VioletSnow08 is another success case.

Vinniehat commented 1 year ago

Yeah, the commands that @Bisonfan95 mentioned should work. I haven't touched this in a bit because once it's installed it worked, but, I do distinctly remember having to use yay-bin.

Alenux55 commented 8 months ago

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

PickledFishMan commented 5 months ago

Hey folks,

It appears that yay-bin fails to install because it depends on a version of pacman that the steam deck apparently can't install.

Log:

(deck@steamdeck repos)$ git clone https://aur.archlinux.org/yay-bin.git
Cloning into 'yay-bin'...
remote: Enumerating objects: 447, done.
remote: Counting objects: 100% (447/447), done.
remote: Compressing objects: 100% (295/295), done.
remote: Total 447 (delta 149), reused 441 (delta 149), pack-reused up0 (from 0)
Receiving objects: 100% (447/447), 99.40 KiB | 259.00 KiB/s, done.
Resolving deltas: 100% (149/149), done.
(12)(deck@steamdeck repos)$ cd yay-bin
(deck@steamdeck yay-bin)$ makepkg -si
==> Making package: yay-bin 12.3.5-1 (Fri 24 May 2024 12:34:54 AM PDT)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for deck: 
error: target not found: pacman>6.1
==> ERROR: 'pacman' failed to install missing dependencies.
==> Missing dependencies:
  -> pacman>6.1
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
(8)(deck@steamdeck yay-bin)$

Version available on SteamOS:

pacman 6.0.2-7

I attempted to remedy this by updating my mirrors then updating via pacman -Syu, but that broke pacman for me and I ended up having to reinstall the OS. Any ideas?

t4bby commented 5 months ago

If you have problems installing yay-bin that depends on pacman>6.1.

The version 12.3.1 with commit 96f90180a3cf72673b1769c23e2c74edb0293a9f on yay-bin AUR. It works on pacman 6.0 that current SteamOS 3.5 uses

Install it using these commands:

git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
git checkout 96f90180a3cf72673b1769c23e2c74edb0293a9f
makepkg -si
yosory commented 5 months ago

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

THANK YOU! --populate holo was missing for me on the steam deck.

orlandofua-msd commented 4 months ago

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

Can confirm this works. I ran sudo pacman-key --populate holo before sudo pacman-key --populate archlinux and I was able to install some missing libraries using pacman

Cheekster2016 commented 4 months ago

following t4bby's instructions were successful and you can then update everything using yay -Syu

wumbowarrior commented 3 months ago

When I try to install using pacman, I get a lot of errors like the below...

:: File /var/cache/pacman/pkg/pkgconf-2.1.0-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). Do you want to delete it? [Y/n] y error: texinfo: signature from "GitLab CI Package Builder <ci-package-builder-1@steamos.cloud>" is unknown trust

h1rakoner commented 2 months ago

Run sudo pacman-key --populate holo and try again