classes/buildhistory: fix error when no packages are installed
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).
Signed-off-by Paul Eggleton <[email protected]>
--- meta/classes/buildhistory.bbclass | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
meta/classes/buildhistory.bbclass +5 -1
@@ -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