X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=src%2Fpackage-manager-abstractions;h=0f4815a480587f58d3c3d18b731370c679d48b1d;hb=33796378c9b8fe2d6e30226fe0a977254b3246e8;hp=0bd53894536a2ab869900c93742fe1a4c337af22;hpb=da54fb345cff92b674bad5df4febf4484bb740d7;p=distro-functions diff --git a/src/package-manager-abstractions b/src/package-manager-abstractions index 0bd5389..0f4815a 100644 --- a/src/package-manager-abstractions +++ b/src/package-manager-abstractions @@ -26,7 +26,7 @@ if command -v yum &> /dev/null; then $s yum -y install "$@" } # package find - pf() { + pfd() { local s; [[ $EUID != 0 ]] && s=sudo $s yum search "$@" } @@ -152,10 +152,12 @@ EOF fi return $ret } - pf() { + # package find description + pfd() { # package name and descriptions apt-cache search "$@" } + # package find file pff() { local s; [[ $EUID != 0 ]] && s=sudo # nice aptitude search from emacs shell. package description width as @@ -187,9 +189,6 @@ EOF local s; [[ $EUID != 0 ]] && s=sudo $s apt-get -y dist-upgrade --purge --auto-remove "$@" $s apt-get -y autoremove - if [[ -e /usr/sbin/checkrestart ]]; then - $s /usr/sbin/checkrestart -p - fi } # package info pl() { @@ -201,10 +200,14 @@ EOF } pfile() { # -a = search all repos - local arg - if [[ $1 != -a ]]; then - arg="--filter-origins $(positive-origins)" - fi + local -a arg all + all=false + case $1 in + -a) + all=true + shift + ;; + esac local file=$1 # ucfq can tell us about config files which are not tracked # with apt-file. but, for at least a few files I tested @@ -217,11 +220,16 @@ EOF if [[ $file == /* ]]; then dpkg -S "$file" - elif [[ $file == */* ]]; then - apt-file $arg find -x "$file"\$ else - apt-file $arg find -x /"$file"\$ - update-alternatives --list "$file" 2>/dev/null + if ! $all; then + arg=(--filter-origins "$(positive-origins)") + fi + if [[ $file == /* ]]; then + apt-file "${arg[@]}" find -x /"$file"\$ + update-alternatives --list "$file" 2>/dev/null + else + apt-file "${arg[@]}" find -x "$file"\$ + fi fi } pkgfiles() { @@ -239,7 +247,7 @@ elif command -v pacman &>/dev/null; then pi() { pacaur -S --noconfirm --needed --noedit "$@" } - pf() { + pfd() { pacaur -Ss "$@" } pu() {