Pacaur Maintainer/Coder Needed

The combination of yaourt -G && makepkg are my favourite AUR helper

1 Like

Screenshot_2017-12-19_05-52-25

2 Likes

4 Likes

I was interested to try a few recently .. "trizen" has a nice full set of features, including comment grab.
Though I should mentioned its all perl-y.

To the others using yaourt+makepkg, why not cower+makepkg[+pacman]?

I was fairly surprised to know that pacaur is unmaintained for quite some time now and it may break with pacman 5.1 update.
Source: https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144
I will not use yaourt and thus started searching for the replacement. Most of the recommendation indicated trizen but i did not like it. I got something that may become the replacement. That's yay!

pacui already supports trizen, yay, yaourt, and pacaur.
when you find a better alternative, please tell me so i can add support for it.

3 Likes

PacUI is an awesome wrapper; glad to know it supports Trizen! :smiley:

The problem is they chose Bash for writing a long program.

Bash, due to the way it handles variables, is very prone to bugs. And when they happen it doesn't inform well where they took place.

That's not a surprise because it's optimised for terminal operation, not programming, and designed a long time ago.

Likely rewriting the software in another language would solve the problem. It would make easy to discover errors, get contributors, and warrant its survival.

The ideal language would be Go, or alternatively Python.

I don't know what this is based on, but I find Bash no more difficult to "get right" than any programming language.

Bash works fine if you're scripting shell commands.

Use set -euo pipefail at the start, declare variables (including using declare -r for static variables), and you're set. Pass your script through shellcheck every so often and it will pick up most basic mistakes.

Other languages are far more difficult when it comes to running system commands and piping input and output around.

3 Likes

So what would be the "official" Manjaro suggestion for AUR helpers? Yaourt?
I was quite happy with pacaur and didn't know that it isn't supported anymore...

I moved off yaourt to pacaur a while back. I tried both trizen and yay, and yay works better.

For example, trizen -Syu --devel --needed will rebuild all VCS packages but skip the install step any that are up-to-date, whereas yay -Syu --devel --needed will ignore any packages that are up-to-date.

yay even picked up a package update for a repo I had a shallow clone of which pacaur had been ignoring (the clone was up-to-date with something, but not with the git repo HEAD).

The only thing I noticed that pacaur does that yay doesn't do is batch the PKGBUILD reading/editing at the start of the process so you can let it run; yay will prompt for each package only after the last one has finished.


Edit as this keeps being :heart:ed: aurman also works very nicely, very similar to the pacaur approach. It also has better conflict/dependency resolution than yay (though yay does have its own advantages). Essentially, try them all and see which you like best.

3 Likes

Thanks for the yay info, @jonathon :smiley:

Just putting this here.
https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table

4 Likes

But then again, bash is fun to write, simple and readable. :smiley: I still write long programs in bash (manjaro-architect), because I don't know any other languages yet.

Submitted a issue at github. Let's see what happens.

P.s the feature is already implemented. Will see daylight in next release.

8 Likes

The other two are easier.

Probably. Probably also depends a bit on what you are doing. In what way are they easier? I think troubleshooting was already mentioned.

Python is next on my list of languages to learn.

Bash believes that coding fast depends on been able to write commands right away. Despite if orders, quotes, spacing and mistakes are obvious or not:

if [ "$x" -lt 7 ]; then
    y = 7 - "$x"
    echo "$y"
fi

Python believes that coding fast depends on writing in the tersest way. Making as obvious as possible what the code really does, and what to write next:

if x < 0:
    y = 7 - x
    call(["echo", y])

Go believes that coding fast depends on the above, plus forcing to decide what to do in case of error:

if x < 0 {
    y = 7 - x
    command := exec.Command("echo", y)
    error := command.Start()

    if error != nil {
		log.Fatal(err)
    }
}

Both Python and Go are minimal languages. So you can start using them right away, just Googling the details when needed.

2 Likes

Is there any AUR helper that doesn't wrap pacman? I like pacaur, but my usage of it was completely with the -a flag to disable the pacman wrapper.

At least aura and pamac use libalm directly

Forum kindly sponsored by