oe-pkgdata-util sometimes outputs a large amount of data. When used with pipe, it's likely to get the following error.
BrokenPipeError: [Errno 32] Broken pipe The problem could be reproduced by running `oe-pkgdata-util list-pkg | less'. Type 'q' after running the above command, and we get the error. Signed-off-by: Chen Qi <qi.c...@windriver.com> --- scripts/oe-pkgdata-util | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 75dd23efa3..4aeb28879d 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -17,6 +17,7 @@ import re import argparse import logging from collections import defaultdict, OrderedDict +from signal import signal, SIGPIPE, SIG_DFL scripts_path = os.path.dirname(os.path.realpath(__file__)) lib_path = scripts_path + '/lib' @@ -615,6 +616,10 @@ def main(): logger.error('Unable to find pkgdata directory %s' % args.pkgdata_dir) sys.exit(1) + # It's possible that this program will output large contents, and when used with a pipe in command line, + # we will get a 'BrokenPipeError: [Errno 32] Broken pipe'. Ignore the SIGPIPE to avoid such error. + signal(SIGPIPE, SIG_DFL) + ret = args.func(args) return ret -- 2.17.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#150695): https://lists.openembedded.org/g/openembedded-core/message/150695 Mute This Topic: https://lists.openembedded.org/mt/82230268/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-