Skip to contentSkip to conversation

classes/buildhistory: fix error when no packages are installed

PATCH New Paul Eggleton 1 participant 1 message Jun 19, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 classes/buildhistory: fix error when no packages are installed

"xargs -n1 basename" will execute basename even if there are no lines piped into it, causing a "basename: missing operand" error if no packages are installed, which will happen for the target portion of buildtools-tarball.

(xargs' -r option could have been used here, but it is a GNU extension and I thought it best to avoid that for the sake of future interoperability).

---
 meta/classes/buildhistory.bbclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
meta/classes/buildhistory.bbclass +5 -1
index c8fd68c..36e7fe1 100644
@@ -319,7 +319,11 @@ buildhistory_get_installed() {
 	list_installed_packages file | sort > $pkgcache
 
 	cat $pkgcache | awk '{ print $1 }' > $1/installed-package-names.txt
-	cat $pkgcache | awk '{ print $2 }' | xargs -n1 basename > $1/installed-packages.txt
+	if [ -s $pkgcache ] ; then
+		cat $pkgcache | awk '{ print $2 }' | xargs -n1 basename > $1/installed-packages.txt
+	else
+		printf "" > $1/installed-packages.txt
+	fi
 
 	# Produce dependency graph
 	# First, filter out characters that cause issues for dot
Signature · 1 line
1.8.1.2