PacUI: Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur functionality in a simple UI

cli
pacui
pacman
yay
aur

#503

no.
if you are interested in that, you have to look at the package information (and use an AUR helper, which displays that kind of information).

if i want to know, which packages are already installed, i usually do a “pacui r”, which displays all installed packages.
but there is no way in “install packages” besides looking at the package information (“installation reason” can be helpful - “pacui rt” or “pacui t” can provide great additional information).

the only way to get that kind of information from the AUR is by RPC interface. it only offers package information for packages you search for and not for all packages from the AUR.
this means that it is not possible to display package description for all AUR packages (as it is with packages from the system repositories).

i have thought about dynamically loading such a list of package description whenever you search for something, but this is probably hard to program in bash. a modern programming language could achieve this much more easily.
when i am bored, i might try to implement something like it.

certainly such indicators would be cool. you could do even more indicators:

  • installation state
  • repository (system repository, aur, package group)
  • aur votes
  • out of date
  • no longer maintained
  • package version
  • license

however, this would increase the needed terminal width dramatically. there are a lot of (vocal) users, who use pacui within a tiny terminal window inside their tiling WM. these people would definitely be annoyed by those indicators.

therefore, we need to decide, which indicators are important. additionally, we should decide what start delay is worth having such indicators (the first 2 are rather easy to , but the last are almost impossible (see answer above)). traversing a list of 60k+ items and adding stuff to every line certainly takes some time.
in my opinion, indicators are only needed when pacui has package descriptions of aur packages.

because of the missing package description of AUR packages, all lines without a package description are either AUR packages or package groups. this makes them rather easy to identify (when you know this little trick).


#504

I see, thanks for your reply! I was kind-of under the impression that Pacui could be used to replace an aur helper, but I now realise this is not its intended purpose. I’ll look into other aur helpers then!


#505

i have just finished a restructuring of the “fix” option.

now, pacui asks the user what to do next. this way, the user can prevent pacui from doing dangerous stuff (like disabling temporary key checks or reinstalling the keyring). i hope this alleviates some concerns about this pacui part.


#506

i am currently working on the “reverse dependency tree” option in pacui.

the reverse dependency tree of XXXX shows packages, which have XXXX as dependency. for example, the reverse dependency tree of 0ad (the open source strategy game) does not show anything, because no package has 0ad as a dependency; while the reverse dependency tree of bash is huge because the majority of packages depend (indirectly) on bash.

here is the way pacui 1.11 works:

  1. a list of locally installed packages is shown, from which you can select one: <package name>.
  2. pactree -c -r <package name> shows you a list of locally installed packages, which depend on <package name>.

the latest commit (https://github.com/excalibur1234/pacui/commit/f58139ee953f690bbbf2c4691337cf498a506f75) adds support for non-locally installed packages to the “reverse dependency tree” option.


Approach #1

here is how the “reverse dependency tree” option currently works (with the latest commit linked above):

  1. a list of locally installed and repository packages is shown, from which you can select one: <package name>.
  2. if <package name> is a locally installed package, pactree -c -r <package name> shows you a list of locally installed packages, which depend on <package name>.
    if <package name> is a repository package, pactree -c -r -s <package name> shows you a list of locally installed and repository packages, which depend on <package name>.

pros of the current approach:

  • if you want to view the reverse dependency tree of bash, you are shown a tree with ~1.5k entries (which only shows locally installed packages).

cons of the current approach:

  • it is impossible to view the reverse dependency tree of a locally installed package and get repository package in the tree.

Approach #2

i could change the behavior to this:

  1. a list of locally installed and repository packages is shown, from which you can select one: <package name>.
  2. pactree -c -r -s <package name> shows you a list of locally installed and repository packages, which depend on <package name>.

cons of this approach:

  • if you want to view the reverse dependency tree of bash, you are shown a tree with ~29k entries (which shows locally installed and repository packages).

which behavior do your prefer?

  • Approach #1
  • Approach #2

0 voters


#507

@excalibur1234 ping me when -git version need a rebuild :wink:


#509

I am getting a parsing error on Openbox 18.0 minimal


#510

you seem to have multiple problems:

  • parse error
  • list of packages does not include AUR packages, which means you do not have an AUR helper installed or do not have an internet connection.
    pacui can be used this way, but i would never do such a thing.

maybe, those problems are related. i am downloading the openbox edition and will look for the problem in the next couple of days. i will ping you when i think i have solved the problem.


#511

Solved. I didn’t realize that I didn’t have an AUR helper installed. I installed trizen and it works now. It looks like pacui gets a parse error when it doesn’t have an AUR helper installed?


#512

even, if i remove all aur helpers, (the latest verion of) pacui works fine - no parse error.

can you check this on your system, too?
just use these commands to download the latest version of pacui and start it:

wget https://raw.githubusercontent.com/excalibur1234/pacui/master/pacui
bash pacui

p.s.: i also use zsh by default.


#513

I did sudo pacman -Rns trizen, attempted using pacui, and I was getting the parsing error again.


Using the latest version of pacui using weget had no parsing issues. Seems like only the 1.11-1 that is in the latest stable Manjaro repo is having issues.

wget https://raw.githubusercontent.com/excalibur1234/pacui/master/pacui
bash pacui

The current version of pacui I have installed on my system is 1.11-1.

I am also using zsh by default. It comes with the openbox 18.0 minimal ISO.


#514

@excalibur1234 pacui is working just fine for me… wget download etc. worked perfectly.


#515

pacui 1.12 has been tagged. here is a short changelog:

i have just updated the PKGBUILD of pacui on gitlab. @Ste74, can you upload it to the manjaro repository?

i have just updated the PKGBUILD of pacui-git on gitlab. @Ste74, can you upload it to the manjaro repository?

all PKGBUILDs on github have been updated. @keegan, can you update “pacui” in the React-OS repositories?


#516

British humor??..

This enables the user to not follow Arch Linux recommendations in order to fix common keyring problems automatically.


#517

Done :+1:


#518

If it was British humour it would be something to do with how it rains all the time because the clouds are ahead of the sun in the weather queue…


#519

This enables the user to not follow Arch Linux recommendations in order to fix common keyring problems automatically.

Oof, savage.


#520

if you - or anybody else - wants to discuss this subject, please do it in this thread:

please read posts no. 2 and 4 before discussing anything with me. these posts (and the announcement of pacui 1.12) sum up all my work i have done so far to “comply” with arch linux recommendations/rules/philosophy/or however you want to call it.


#521

in the past, multiple users wanted to quit PacUI’s interface by simply pressing ‘q’ instead of needing to press ‘q’ followed by ‘ENTER’.

i have just implemented this:

unfortunately, there is a drawback:
the first entered character cannot be deleted anymore (e.g. by using ‘BACKSPACE’). for example: you enter ‘12’ in order to display a list of (almost) all your packages sorted by size. but instead of displaying that list you change your mind and want to see a list of all installed packages. this could be done with option ‘4’. but when you start to press ‘BACKSPACE’, ‘12’ is reduced to ‘1’, but pressing ‘BACKSPACE’ again does not delete ‘1’.

you can test this drawback in pacui-git version r943+
i have already contacted Ste74, who will build and upload this version of manjaro repositories.

can you please test this version and tell me, whether pacui-git r943+ or pacui 1.12 is better in your opinion.

  • pacui-git r943 with single ‘q’ (or ‘0’) for quit is better
  • pacui 1.12 without drawback is better

0 voters