GithubHelp home page GithubHelp logo

Use pikaur instead of yay about installer HOT 9 CLOSED

erazemk avatar erazemk commented on September 26, 2024
Use pikaur instead of yay

from installer.

Comments (9)

PandaFoss avatar PandaFoss commented on September 26, 2024 1

I think we can avoid installing an AUR Helper using the devtools package provided by Arch Linux. More info here.

from installer.

PandaFoss avatar PandaFoss commented on September 26, 2024

How would the removal of packages from official repositories be resolved?

from installer.

erazemk avatar erazemk commented on September 26, 2024

We'd save the package list to a file if needed, then pipe it through a pacman command I recently found, which removes AUR packages from the list. This way pacstrap only installs official packages and AUR packages are installed by pikaur later.

No need to remove AUR packages from then on.

from installer.

erazemk avatar erazemk commented on September 26, 2024

Hmm, that could work. We'd manually download and make the required packages.
The thing I was going for with pikaur was, after only the official packages are installed, it would be able to detect which packages still need to be installed (which should be only the AUR ones) and it would automatically install them, which would be much harder if we were to do it manually.

from installer.

PandaFoss avatar PandaFoss commented on September 26, 2024

Perhaps we can first detect the packages that are in the official repositories and, those that do not, try to look for them in AUR, download the corresponding PKGBUILD and install manually. It would be necessary to define what is done with the packages that disappear from both the official repositories and the AUR.
I think the less we depend on software maintained by third parties outside the Arch Linux development team, the more stable and robust the installer will be. I can take care of that if you wish.

from installer.

erazemk avatar erazemk commented on September 26, 2024

I think the less we depend on software maintained by third parties outside the Arch Linux development team, the more stable and robust the installer will be.

That's a good point.

Perhaps we can first detect the packages that are in the official repositories and, those that do not, try to look for them in AUR, download the corresponding PKGBUILD and install manually.

Currently my plan was to use the following command to only install packages not in the AUR from a file: pacman -S --needed $(comm -12 <(pacman -Slq | sort) <(sort pkglist.txt))

If you can find a command that only lists AUR (foreign) packages from a file, then we can use that.

It would be necessary to define what is done with the packages that disappear from both the official repositories and the AUR.

Usually the packages removed from the official repos are moved to the AUR, so I don't think that would be a problem. In any case, like you said, we should use the least amount of AUR packages possible to avoid issues like this one.

I can take care of that if you wish.

Sure, you can implement this thing if you want, but keep in mind that pacstrap can only install official packages and that we can't avoid using it.

from installer.

PandaFoss avatar PandaFoss commented on September 26, 2024

AUR packages that are also in the aurpkglist.txt file can be obtained as follows:

comm -12 <(curl --silent https://aur.archlinux.org/packages.gz | gzip -cd | sort) <(sort aurpkglist.txt)

Then you can store the AUR packages that exist and must be installed in an array, and use curl and jq to parse the JSON output of the AUR:

curl --silent https://aur.archlinux.org/rpc/?v=5&type=search&by=name&arg=<PKG_NAME> | jq '.results[0].URLPath' | cut -d'"' -f2

This returns an output with the following format:

/cgit/aur.git/snapshot/<PKG_NAME>.tar.gz

Only the AUR URL must be concatenated and with wget we can download the file that contains the PKGBUILD and .SRCINFO files.

from installer.

erazemk avatar erazemk commented on September 26, 2024

Sorry for the late reply.
Isn't using jq adding a new dependency, like like installing pikaur would be?

Even though I agree with adding the least dependencies possible, I still think using pikaur would be the easiest and most maintainable solution at the moment.

What's your opinion?

from installer.

erazemk avatar erazemk commented on September 26, 2024

I'll close this since there is no need to replace yay with the way the installation will work after the refactoring of the installation process. Yay also won't be used during the installation, only being installed after the base install, when a user will be able to select from a list of available AUR helpers).

from installer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.