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).

(From OE-Core rev: 03d86123e9e804e62de38effd307f070d7863080)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2013-06-19 17:53:06 +01:00 committed by Richard Purdie
parent e04e6dab0a
commit 827400fd09
1 changed files with 5 additions and 1 deletions

View File

@ -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