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

Question about rightside descriptor when it comes to yaourt/yay #32

Closed freed00m closed 6 years ago

freed00m commented 6 years ago

Hi,

When I browse what to install, ther rightside description somehow uses always yaourt -Si {1} It's painfully slow, you had commented that yay -Si needs root privledges in the code and that is no longer the case, you can run it without the privledges and yay -Si is way faster than yaourt.

Also sometimes the the pipe gets broken due some bad characters, see picture ?

2018-02-20-100326_1366x719_scrot

excalibur1234 commented 6 years ago

you are right. this seems to be a yaourt bug, because it also happens when you do "yaourt -Si trizen". there are already bug reports for a very similar problem: https://github.com/archlinuxfr/yaourt/issues/96 https://github.com/archlinuxfr/yaourt/issues/101

i cannot do a lot, except for filtering the displayed error. you should report this problem in yaourt, too.

please reopen this issue, when you think it is necessary.

freed00m commented 6 years ago

And why it uses yaourt if yay is installed on the system? :)

excalibur1234 commented 6 years ago

this is not the case on my system. i had to remove yay and install yaourt to recreate the bug you have reported.

i have specifically coded pacui to use trizen, yay, yaourt, pacaur (in this order). if trizen is installed, it will always be used. if yay is installed, it will be used as long as trizen is not installed. if yaourt is installed, it will be used as long as trizen and yay are not installed. if pacaur is installed, it will be used as long as trizen, yay, and yaourt are not installed.

freed00m commented 6 years ago

Thx for the response, I have only yay and yaourt, the yay is used for isntallation but I though yay -Si {1} would be used for the rightside view when scrolling the list "fzf".

yaourt -Si is used instead, the screen you see was taken while yay existed on my system.

That's what I have problem with, the yaourt is slower when generating package informaiton.

2018-02-20-210801_1920x1080_scrot

excalibur1234 commented 6 years ago

this is strange. the code for displaying package information is:

            if ( pacman -Qq {1} &>/dev/null )                                       # check, if 1. field of selected line is a locally installed package.
            then
                pacman -Qi {1} --color always                                       # display local package information in preview window of fzf
            elif ( pacman -Sgq {1} &>/dev/null )                                    # check, if 1. field of selected line in fzf is a package group
            then
                echo -e "\e[1m{1} group has the following members: \e[0m"
                pacman -Sgq {1}                                                     # display package name of group members in preview window of fzf
            elif [[ -e /usr/bin/trizen ]]                                           # if {1} is neither locally installed nor a group, it is from the AUR. display info with AUR helper
            then
                trizen -Si {1}
            elif [[ -e /usr/bin/yay ]]
            then
                yay -Si {1}                                                         # this does not work yet, because "yay -Si <repository package>" needs root privileges --> destroys layout of fzf!
            elif [[ -e /usr/bin/yaourt ]]
            then
                yaourt -Si {1} 2>/dev/null                                          # bugfix #5: yaourt displays an error, e.g. when doing "yaourt -Si trizen-git" --> do not display an errors with "2>/dev/null".
            elif [[ -e /usr/bin/pacaur ]]
            then
                pacaur -Si {1} --color always | grep -v "::"                        # bugfix #6: display repo package information in preview window of fzf. grep command removes all errors displayed by pacaur
            else
                pacman -Si {1} --color always                                       # do this, if no AUR helper is installed
            fi

as you can see, yay is used until /usr/bin/yay is present on your system. only when /usr/bin/yay is not found, it tries to find /usr/bin/yaourt.

freed00m commented 6 years ago

That's what I found and bugs me because I don't understand it, yay is used when installing software, that raises even more questions.

Could be something in my bashrc?

#
# ~/.bashrc
#

if [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
fi

xhost +local:root > /dev/null 2>&1

complete -cf sudo

shopt -s cdspell
shopt -s checkwinsize
shopt -s cmdhist
shopt -s dotglob
shopt -s expand_aliases
shopt -s extglob
shopt -s histappend
shopt -s hostcomplete

HISTSIZE=10000
HISTFILESIZE=${HISTSIZE}
HISTCONTROL=ignoreboth:erasedups

# Variables
export JAVA_FONTS=/usr/share/fonts/TTF
export EDITOR=/usr/bin/vim
export BROWSER="firefox"
export VISUAL="vim"

alias ls='ls --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias ll='ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias la='ls -la --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias grep='grep --color=tty -d skip'
alias cp="cp -i"                          # confirm before overwriting something
alias df='df -h'                          # human-readable sizes
alias free='free -m'                      # show sizes in MB
alias fixit='sudo rm -f /var/lib/pacman/db.lck'
alias upgrade='yaourt -Syua'
alias con='nano ~/.i3/config'
alias comp='nano .config/compton.conf'
alias printer='system-config-printer'
alias dirs='dirs -v'
alias navalheslo="openssl rand -base64 20 | cut -c 1-27"
alias climatlab="sh /home/frdm/.local/MATLAB/bin/matlab -nodesktop -nosplash"
# alias history='history | cut -c 8-'

# Prompt prefix
PS1="\u \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

# ex - archive extractor
# usage: ex <file>
ex ()
{
  if [ -f $1 ] ; then
    case $1 in
      *.tar.bz2)   tar xjf $1   ;;
      *.tar.gz)    tar xzf $1   ;;
      *.bz2)       bunzip2 $1   ;;
      *.rar)       unrar x $1   ;;
      *.gz)        gunzip $1    ;;
      *.tar)       tar xf $1    ;;
      *.tbz2)      tar xjf $1   ;;
      *.tgz)       tar xzf $1   ;;
      *.zip)       unzip $1     ;;
      *.Z)         uncompress $1;;
      *.7z)        7z x $1      ;;
      *)           echo "'$1' cannot be extracted via ex()" ;;
    esac
  else
    echo "'$1' is not a valid file"
  fi
}

## rbenv stuff
#export PATH="$HOME/.rbenv/bin:$PATH"
#eval "$(rbenv init -)"

# handling keys to ssh
eval `keychain --eval --quiet id_rsa rex-id_rsa`

#Java path
export JAVA_HOME=/usr/lib/jvm/java-8-jdk
export PATH=$PATH:$JAVA_HOME/bin

#git branch display
parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

# cd to directory after exiting the filemanager
alias ranger='ranger --choosedir=$HOME/.cache/rangerdir; LASTDIR=`cat $HOME/.cache/rangerdir`; cd "$LASTDIR"'
alias r="ranger"

## Prevent sleeping of TTY driver when hitting ctrl+s
stty -ixon

Strange

frdm ~ (master) $ [[ -e /usr/bin/yay ]]
frdm ~ (master) $ echo $?
0
frdm ~ (master) $
freed00m commented 6 years ago

Sorry, I rebooted the machine and it works now. :+1: no idea why but Iẗ́s ok.

excalibur1234 commented 6 years ago

sometimes, pacui users have strange problems. these typically stem from the usage of /tmp. i use it to store the list of aur packages and some other stuff. this speeds up pacui on slow systems (with a slow internet connection). but it is also a disadvantage when your package list is messed up and you do not know to delete /tmp directory (or reboot your system).