excalibur1234 / pacui

Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur/Pamac-cli functionality in a simple UI
GNU General Public License v3.0
168 stars 13 forks source link

pacui not able to show package information #53

Closed zany130 closed 4 years ago

zany130 commented 4 years ago

pacui is unable to show packag information and gives a syntax error Screenshot_20200221_131004

excalibur1234 commented 4 years ago

i am in the process of getting the next version of pacui ready. it takes a little longer than i thought.

can you please test the latest development version of pacui as described here: https://github.com/excalibur1234/pacui#execute-without-prior-installation i did fix a bug like this in that version.

if the error still occurs, can you please tell me, which AUR helper you are using?

zany130 commented 4 years ago

Ok ill try it when I get home. I'm using yay.

zany130 commented 4 years ago

the issue is still present even in that version

excalibur1234 commented 4 years ago

i have installed yay and removed pikaur from my system.

this is what i get with the latest pacui version: https://i.imgur.com/61jdHaY.png

in you screenshot above, i noticed the non-dotted outline of the package preview. the latest version of pacui does not have that anymore (see in my screenshot). therefore i am not sure, whether you actually used the latest version for your latest tests.

these command should make that you (temporarily) use the latest version of pacui:

wget https://raw.githubusercontent.com/excalibur1234/pacui/master/pacui
chmod +x pacui
./pacui

also, please do a "pacui m" before testing again. can you see the dotted outline of package preview in your tests?

zany130 commented 4 years ago

that's what I did last time minus the pacui m here I did pacui m the downloaded and ran the script again Screenshot_20200223_110936

seafox commented 4 years ago

I can confirm it shows pkg info properly: image

One minor UX wish would be... actually two:

  1. read -n1 -rsp "...exit..." argument will take a single key press and also eat echo, so the pressed key wouldn't be passed into console interface to puzzle...
  2. Although other views have intuitive exits by pressing Esc button there is no such option on default view. Both wishes are somehow reflected below :) image

Maybe it's time to try to re-submit this handy program to AUR again...

seafox commented 4 years ago

Visually spotted yet another lovely couple :) Plasma konsole, self-explanatory: image

excalibur1234 commented 4 years ago

@zany130 : sorry, but i cannot reproduce you problem. i have tested manjaro and arch linux both with bash and zsh shell. i tested pikaur and yay. in every case, pacui works fine.

i have even tested in on manjaro 32bit, because there were problems in the past with it. however, there is a completely different bug, which prevents me from seeing the list of available packages (that problem is related to an outdated version of fzf).

the error message indicates, that the following bash code does not work on your system (this code gets executed by fzf): if [[ $(comm -12 <(echo {yay}) <(sort /tmp/pacui-list-install-groups)) ]]; then echo "impossible"; else echo "works"; fi you could try to run this code in your bash or zsh shell and give me the output. we could do this bach and forth a dozen of times, which gets tiresome really fast.

is there anything out of the ordinary about your system, pacui, or fzf? if this is the case, i can do further tests.

zany130 commented 4 years ago

running that command gives this

if [[ $(comm -12 <(echo {yay}) <(sort /tmp/pacui-list-install-groups)) ]]; then echo "impossible"; else echo "works"; fi
sort: cannot read: /tmp/pacui-list-install-groups: No such file or directory
works
excalibur1234 commented 4 years ago

during operation, pacui should create multiple files in your /tmp directory.

so, if you have opened pacui "install packages" since your computer has started, the file (and other files with names starting with "pacui-") /tmp/pacui-list-install-groups should have been created on your system.

but on the bright side, the bash command itself runs fine.

excalibur1234 commented 4 years ago

next, you could test pacman -Qq | fzf --preview ' if [[ $(comm -12 <(echo {1}) <(sort /tmp/pacui-list-install-groups)) ]]; then echo "impossible"; else echo "works"; fi ' (quit fzf with CTRL+C)

but even if that works, it does not tell me much.

zany130 commented 4 years ago

it gives this Screenshot_20200223_135318

excalibur1234 commented 4 years ago

@seafox thx for confirming that this problem is hard to reproduce.

there are multiple thing you talk about (as i understand you):

  1. i have tested (and actually use in a couple of places) "read -n1". i have actually made a modification in the past that enabled pacui to be quit by a single press of the ESC button (see https://forum.manjaro.org/t/pacui-bash-script-providing-advanced-pacman-and-yay-pikaur-aurman-pakku-trizen-pacaur-functionality-in-a-simple-ui/677/521). but it had drawbacks.

  2. in order to start pacui's options with a single button press, i would throw out (or heavily modify) the way to start these options. multi-digit/multi-letter arguments would need to go. all users would need to relearn their muscle memory, because options will start mostly with a completely different shortuct/key letter/key number. i try to avoid that.

    i am bothered by this behavior, too. therefore, instead of typing "pacui" and then "i" and "ENTER", i use "pacui i", which is much faster. if you use an option often, i recommend to do the same.

  3. pressing ESC and ENTER quits pacui as well (but the output of ESC looks ugly).

if you want to talk about this in earnest, please open a new issue.

excalibur1234 commented 4 years ago

@zany130 which version of fzf are you using? which shell are you using?

this looks like a totally different behavior of fzf than on my (and seafox') system.

the error says that fzf tries to execute a command in the "sh" shell, which means that "sh" is set as your startup shell.

if your startup shell is bash or zsh, the problem should be gone.

pacui runs explicitly in bash, even if your shell is different. unfortunately, i do not know how to make fzf to run its preview code in bash. therefore, pacui requires bash and does not work with "sh" shell.

p.s.: you can change your startup shell in linux with the "chsh" command.

zany130 commented 4 years ago

no, I use the bash shell for my system but I think an update manjaro did mess something up as I restored before this update and pacui works perfectly (the one from the repos)

zany130 commented 4 years ago

well I think it was something that went wrong with the update it idk as it works perfectly fine now will close

zany130 commented 4 years ago

this issue sort of came back have a look Screenshot_20200228_202813

excalibur1234 commented 4 years ago

as i understand my code, not even the first problem you had should have not occurred. the first and second line of the code clearly defines BASH as shell for pacui itself and every process it starts (i.e. fzf): https://github.com/excalibur1234/pacui/blob/master/pacui#L2

my tests on manjaro and arch linux (using different startup shells in both cases) cannot reproduce your problem and in fact even show that BASH is always used for pacui and fzf as i have intended (even if the startup shell and shell that starts pacui is different).

could your problem be related to your manjaro version/install? if you tell me, what manjaro ISO you have used for your last install, i could install it in a VM as well and test pacui there...

zany130 commented 4 years ago

i think it was a bug in some package or something as i recently switched to the testing branch of manjaro as i was having issues with stable holding packes back to long and ever since then pacui has worked without issue. I wanted to make sure the issue was solve this time but its been about a week since I switched and everything works fine. thanks for taking the time to try and reproduce the issue and all the work you have put in thanks to your tool im not afraid of terminal based package managment in arch lol