clarify licensing
[distro-functions] / src / package-manager-abstractions
index 0667bd99e174d55950e8785a2aaec97c38f12e7b..81940bbbb319fd256a80c3c8963d7c49d648a6ec 100644 (file)
@@ -1,5 +1,12 @@
 #!/bin/bash
-# Copyright (C) 2014 Ian Kelling
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -26,7 +33,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 "$@"
   }
@@ -134,7 +141,7 @@ elif command -v apt-get &>/dev/null; then
       echo pi-nostart "$@"
     fi
     if [[ $EUID == 0 ]]; then
-      dd of=$f 2>/dev/null <<EOF
+      dd of=$f status=none <<EOF
 #!/bin/sh
 exit 101
 EOF
@@ -142,7 +149,7 @@ EOF
       DEBIAN_FRONTEND=noninteractive apt-get -y install --purge --auto-remove "$@" || ret=$?
       rm $f
     else
-      sudo dd of=$f 2>/dev/null <<EOF
+      sudo dd of=$f status=none <<EOF
 #!/bin/sh
 exit 101
 EOF
@@ -152,10 +159,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
@@ -222,17 +231,17 @@ EOF
       if ! $all; then
         arg=(--filter-origins "$(positive-origins)")
       fi
-      if [[ $file == */* ]]; then
-        apt-file "${arg[@]}" find -x "$file"\$
-      else
+      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() {
     if dpkg -s "$1" &>/dev/null; then
-      dpkg-query -L $1
+      dpkg-query -L $1 | while read -r l; do [[ -f $l ]] && printf "%s\n" "$l"; done
     else
       apt-file -x list "^$1$"
     fi
@@ -245,7 +254,7 @@ elif command -v pacman &>/dev/null; then
   pi() {
     pacaur -S --noconfirm --needed --noedit "$@"
   }
-  pf() {
+  pfd() {
     pacaur -Ss "$@"
   }
   pu() {