aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpfetch16
1 files changed, 15 insertions, 1 deletions
diff --git a/pfetch b/pfetch
index 9cf1796..d1c2ea6 100755
--- a/pfetch
+++ b/pfetch
@@ -455,10 +455,24 @@ get_pkgs() {
Darwin*)
# Commands which print packages one per line.
has pkgin && pkgin list
- has port && port installed
# Directories containing packages.
has brew && printf '%s\n' /usr/local/Cellar/*
+
+ # 'port' prints a single line of output to 'stdout'
+ # when no packages are installed and exits with
+ # success causing a false-positive of 1 package
+ # installed.
+ #
+ # 'port' should really exit with a non-zero code
+ # in this case to allow scripts to cleanly handle
+ # this behavior.
+ has port && {
+ pkg_list=$(port installed)
+
+ [ "$pkg_list" = "No ports are installed." ] ||
+ printf '%s\n' "$pkg_list"
+ }
;;
FreeBSD*|DragonFly*)