minor fixes and improvements
authorIan Kelling <iank@fsf.org>
Sun, 1 May 2022 22:18:03 +0000 (18:18 -0400)
committerIan Kelling <iank@fsf.org>
Sun, 1 May 2022 22:18:03 +0000 (18:18 -0400)
src/identify-distros
src/package-manager-abstractions

index 67d960820e6463cc1f6068b94de2c7da01933c11..b0f63acf3aaf30347299348ef8d39ed1876f373e 100644 (file)
@@ -93,7 +93,7 @@ EOF
   echo "$shortest"
 }
 
-# formatted for use in pfile in brc
+# formatted for use in pfile() in package-manager-abstractions
 positive-origins() {
   isdeb || return 0
   local archive expression pri name highpri shortest
index e56ec48f1cd12e8c04000c99d898e76fc5b1b4db..0667bd99e174d55950e8785a2aaec97c38f12e7b 100644 (file)
@@ -187,9 +187,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 +198,14 @@ EOF
   }
   pfile() {
     # -a = search all repos
-    local -a 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 +218,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"\$
+      else
+        apt-file "${arg[@]}" find -x /"$file"\$
+        update-alternatives --list "$file" 2>/dev/null
+      fi
     fi
   }
   pkgfiles() {