From d8d8899ad2cffabdbc6e405e37bf6478879e1fa4 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Tue, 1 Oct 2019 23:24:26 +0300 Subject: [PATCH] macOS: Fix port false positive --- pfetch | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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*)