Author Topic: pacli - command line pacman/yaourt helper with advanced functions.  (Read 2806 times)

0 Members and 1 Guest are viewing this topic.

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
tropper/Pekman, Chrysostomus, and i have created a pacman/yaourt helper with a lot of advanced functions. it is meant for experienced or intermediate manjaro/arch users. it is called pacli:



here are more links:
https://github.com/Manjaro-Pek/pacli
https://forum.manjaro.org/index.php?topic=21399.0
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline eugen-b

  • Support Team
  • ****
  • Posts: 3191
  • Branch: testing
  • Desktop: LXDE, Fluxbox, JWM, LXQt, bspwm
  • GPU Card: Intel 82945G/GZ
  • GPU driver: free
  • Kernel: 4.5, 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #1 on: 17. December 2015, 18:48:09 »
A very cool program. Works pretty well on JWM edition. The name is also , cool. Swiss German style. But one needs to be familiar with what the options will be doing. Reading the Wiki articles about pacman is a must. A function to search packages is missing, but would be useful.
« Last Edit: 17. December 2015, 18:51:48 by eugen-b »
MSI Wind Nettop, Intel Atom 230 1.6GHz (64bit), 2GB RAM
DEs: NET-minimal + (LXDE / Fluxbox / JWM); LXQt OpenRC
how to install on btrfs subvolumes
http://manjaro.github.io/donate/

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #2 on: 17. December 2015, 20:30:14 »
the name came from tropper/pekman. i think he is brazilian and neither german nor swiss.


i did my best to create the "help" page (option 16) and explain everything there. have you read it? are you missing some information in the "help" page?

but you are right: pacli is aimed at intermediate/experienced manjaro/arch users. a newbie would be completely blown away by the many different options pacli offers. somebody, who has read one of the two wiki articles can already be considered an intermediate user.


there are 3 options, if you want to find packages:
- option 22 searches manjaro's repositories, the AUR, and the short package descriptions.
- option 23 searches manjaro's repositories and the AUR. just start typing and it will search.
- option 7 lets you search through all manjaro repositories. just start typing and it will search.
« Last Edit: 17. December 2015, 20:32:52 by excalibur1234 »
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline eugen-b

  • Support Team
  • ****
  • Posts: 3191
  • Branch: testing
  • Desktop: LXDE, Fluxbox, JWM, LXQt, bspwm
  • GPU Card: Intel 82945G/GZ
  • GPU driver: free
  • Kernel: 4.5, 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #3 on: 17. December 2015, 22:00:04 »
- option 7 lets you search through all manjaro repositories. just start typing and it will search.
Didn't notice that this option starts searching as I typed, but now I remember it did. :-[ It only wasn't obvious to me. I was looking for the usual search function for Manjaro repositories. This maybe needs to be explained to some users.
( -li is Swiss ending for diminutive form of a word. Päckli would mean a small package.)
« Last Edit: 17. December 2015, 22:10:38 by eugen-b »
MSI Wind Nettop, Intel Atom 230 1.6GHz (64bit), 2GB RAM
DEs: NET-minimal + (LXDE / Fluxbox / JWM); LXQt OpenRC
how to install on btrfs subvolumes
http://manjaro.github.io/donate/

Offline handy

  • Global Moderator
  • *****
  • Posts: 5738
  • Desktop: Openbox 3.6.1-3 & Worker :)
  • GPU Card: intel...
  • GPU driver: open-source
  • Kernel: OpenBSD
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #4 on: 17. December 2015, 22:34:34 »
I think that you should incorporate a way (there are more than one) to manage the cache better than just clearing it. If you use something like pkgcacheclean & have it set to keep the previous working version of an installation package in the cache (as I do in allservers) it certainly has benefits. Especially if someone is without internet access & can't use Downgrade.
The ultimate tyranny in a society is not control
by martial law. It is control by the psychological
manipulation of consciousness, through which reality
is defined so that those who exist within do not even
realize that they are in prison.
  —  Barbara Marciniak

Offline Chrysostomus

  • Maintainer
  • ***
  • Posts: 1634
  • Neckbeards are cool
    • Git
  • Branch: unstable
  • Desktop: Gnome, bspwm
  • GPU Card: Intel HD4000
  • GPU driver: free
  • Kernel: linux44-x64
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #5 on: 18. December 2015, 02:26:01 »
I think that you should incorporate a way (there are more than one) to manage the cache better than just clearing it. If you use something like pkgcacheclean & have it set to keep the previous working version of an installation package in the cache (as I do in allservers) it certainly has benefits. Especially if someone is without internet access & can't use Downgrade.

That is already included, the cleanup option keeps newest package versions in cache. Your idea is good, I got it from allservers.sh.

@eugen-b: we could include short descriptions in option 7. It makes it a bit slower to find what you are looking for if you know what it is that you want, but would allow searching for words in descriptions similar to regular search function. But in general I think all the necessary search is already implemented. I think yaourt search is better than searching just repos, and fzf search in option 7 is more intuitive and flexible than plain pacman search. Only weakness is that it does not search the descriptions, but just names.

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #6 on: 18. December 2015, 13:33:01 »
I think that you should incorporate a way (there are more than one) to manage the cache better than just clearing it. If you use something like pkgcacheclean & have it set to keep the previous working version of an installation package in the cache (as I do in allservers) it certainly has benefits. Especially if someone is without internet access & can't use Downgrade.
there are two options for the package cache:
- option 5 will clean your package cache: it deletes all packages of non-installed programs and keeps the latest 2 versions of installed packages (the latest version might be broken, then the second latest version = the last working version).
- option 20 will delete all files in your package cache. this option can be useful for people switching from unstable to stable repositories or for developers, who have built their own manjaro ISO with a different branch or architecture and want to delete unneeded packages from their package cache.
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #7 on: 18. December 2015, 13:37:11 »
( -li is Swiss ending for diminutive form of a word. Päckli would mean a small package.)
thanks for your explanation. now, i understand what you mean.
pacli = päckle (in my local dialect) actually makes sense! (it also means "small package")

i have always looked at pacli's name like this:
pacli = PAckage manager for your Command Line Interface
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #8 on: 18. December 2015, 13:42:15 »
we could include short descriptions in option 7. It makes it a bit slower to find what you are looking for if you know what it is that you want, but would allow searching for words in descriptions similar to regular search function.
this is a great idea. let's add package descriptions to option 7 and 23.
then, we could remove option 22 completely. option 22 bugged me for a long time, because it does not use fzf and feels old fashioned.
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline Chrysostomus

  • Maintainer
  • ***
  • Posts: 1634
  • Neckbeards are cool
    • Git
  • Branch: unstable
  • Desktop: Gnome, bspwm
  • GPU Card: Intel HD4000
  • GPU driver: free
  • Kernel: linux44-x64
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #9 on: 18. December 2015, 15:06:48 »
I think at the moment 22 is important to have because
1) it searches package descriptions too
2) it seems that the site I ise to generate list of aur packages might not allways be up to date, so 22 is more reliable.
3) fzf with aur packages and descriptions might (or might not) be too slow.

That being said, it seems that what I siggested is more difficult than I imagined. Do you know a pacman command to list packages with their short descriptions separated by newline?

Offline g33zr

  • Vollwertiges Mitglied
  • ***
  • Posts: 169
  • Plus ça change, plus c'est la même chose.
  • Branch: stable
  • Desktop: Cinnamon
  • GPU Card: Intel
  • GPU driver: free
  • Kernel: the latest
  • Skill: Novice
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #10 on: 18. December 2015, 15:26:06 »
@excalibur1234: The pacli/yaourt helper reminds me of smxi, which I often used for kernel updates and other tasks when I ran primarily Debian and Debian-based distros.
OK, so I took the red pill. Now what?

Offline withjaro

  • Held Mitglied
  • *****
  • Posts: 772
  • 360
  • Branch: unstable
  • Desktop: openrc
  • GPU Card: geforce7150/ATIx2300
  • GPU driver: free
  • Kernel: linux4xxx-x64
  • Skill: Novice
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #11 on: 18. December 2015, 15:50:44 »
i have always looked at pacli's name like this:
pacli = PAckage manager for your Command Line Interface
Pacli conjures the image of a small furry creature with nimble fingers ...
But,hey!!! thats my world  :o :o ^-^

*besides ... if you using Fish in Pacli id rename it Codpiece https://vimeo.com/75329543  ;D
« Last Edit: 19. December 2015, 11:52:07 by withjaro »
< insert your own inspiring quotation - and smile :) >

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #12 on: 18. December 2015, 19:51:19 »
That being said, it seems that what I siggested is more difficult than I imagined. Do you know a pacman command to list packages with their short descriptions separated by newline?
i am realizing the same.
i have just looked through "man pacman" but did not find and command to list package names with their description. i only found
Code: [Select]
pacman -Sl
pacman -Slq
the only command, which displays a package description of ONE package is
Code: [Select]
pacman -Si
but it is impossible to list multiple package descriptions, e.g. with
Code: [Select]
pacman -Sli
this command is not allowed.


so, lets keep option 22 in pacli.
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline Chrysostomus

  • Maintainer
  • ***
  • Posts: 1634
  • Neckbeards are cool
    • Git
  • Branch: unstable
  • Desktop: Gnome, bspwm
  • GPU Card: Intel HD4000
  • GPU driver: free
  • Kernel: linux44-x64
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #13 on: 19. December 2015, 00:45:22 »
One way to it would probably be for loop. Something like
Code: [Select]
For pkg $(pacman -Sq); do
    echo "$pkg $(pacman -Siq $pkg | awk '/description/ {print $2}')"
done

But that seems massively in efficient and that would mean rapidly running tens of thousands pacman and awk commands. I wonder how yaourt does it? I'll look into the code, but even yaourt seems to be slow when doing thito aur packages

Offline eugen-b

  • Support Team
  • ****
  • Posts: 3191
  • Branch: testing
  • Desktop: LXDE, Fluxbox, JWM, LXQt, bspwm
  • GPU Card: Intel 82945G/GZ
  • GPU driver: free
  • Kernel: 4.5, 4.6
  • Skill: Intermediate
Re: pacli - command line pacman/yaourt helper with advanced functions.
« Reply #14 on: 19. December 2015, 00:51:23 »
Well, a stupid question/suggestion maybe, but how do Pamac and Yaourt their searches? Is it worth to look into their code?
MSI Wind Nettop, Intel Atom 230 1.6GHz (64bit), 2GB RAM
DEs: NET-minimal + (LXDE / Fluxbox / JWM); LXQt OpenRC
how to install on btrfs subvolumes
http://manjaro.github.io/donate/