X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=src%2Fpackage-manager-abstractions;h=20dbc054d523b8afaa9c74da76dcc57d456e4476;hb=4e635415733178a2ce936690a8f4d91e0ea72f4d;hp=53ae02942561c631e4d17fcf30e1339acd69caeb;hpb=c242c573b6ebeeacd95734446881be4bad8a0bbd;p=distro-functions diff --git a/src/package-manager-abstractions b/src/package-manager-abstractions index 53ae029..20dbc05 100644 --- a/src/package-manager-abstractions +++ b/src/package-manager-abstractions @@ -64,7 +64,7 @@ elif command -v apt-get &>/dev/null; then pi() { pupdate local s; [[ $EUID != 0 ]] && s=sudo - $s apt-get -y install "$@" + $s apt-get -y install --purge --auto-remove "$@" } pi-nostart() { local s; [[ $EUID != 0 ]] && s=sudo @@ -78,24 +78,29 @@ EOF $s rm $f } pf() { - # scratch a very annoying itch. package description width as + # package name and descriptions + apt-cache search "$@" + } + pff() { + local s; [[ $EUID != 0 ]] && s=sudo + # nice aptitude search from emacs shell. package description width as # wide as the screen, and package name field small aptitude # manual can't figure out how wide emacs terminal is, of course # it doesn't consult the $COLUMNS variable... and in a normal # terminal, it makes the package name field ridiculously big # also, remove that useless dash before the description - local s; [[ $EUID != 0 ]] && s=sudo - $s aptitude -F "%c%a%M %p %$((COLUMNS - 30))d" -w $COLUMNS search "$@" + aptitude -F "%c%a%M %p %$((COLUMNS - 30))d" -w $COLUMNS search "$@" } pu() { local s; [[ $EUID != 0 ]] && s=sudo - $s apt-get -y purge "$@" + $s apt-get -y remove --purge --auto-remove "$@" + # seems slightly redundant, but it removes more stuff sometimes. $s apt-get -y autoremove } pup() { # upgrade pupdate local s; [[ $EUID != 0 ]] && s=sudo - $s apt-get -y dist-upgrade "$@" + $s apt-get -y dist-upgrade --purge --auto-remove "$@" $s apt-get -y autoremove } # package info @@ -103,12 +108,20 @@ EOF aptitude show "$@" } pfile() { - if [[ $file == /* ]] && ucfq -w $file | grep -v ::: &>/dev/null; then - ucfq $file - elif [[ $file == */* ]]; then - apt-file find -x "$1"\$ + 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 + # which are tracked with apt-file, ucfq doesn't show their + # package name. So, commenting this, waiting to find + # a config file only tracked by ucfq to see if it gives the + # package name and if I can identify this kind of file. +# if [[ $file == /* ]] && ! ucfq -w $file | grep ::: &>/dev/null; then +# ucfq $file + + if [[ $file == */* ]]; then + apt-file find -x "$file"\$ else - apt-file find -x /"$1"\$ + apt-file find -x /"$file"\$ fi } pkgfiles() {