Mock Version: 2.9
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/pyparsing.spec'], chrootPath='/var/lib/mock/centos-stream-8-aarch64-1613784857.048912/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffff7b2b4d00>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '2033e0cea11a4e91b85668b49857aad2', '-D', '/var/lib/mock/centos-stream-8-aarch64-1613784857.048912/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/pyparsing.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0'} and shell False
Building target platforms: aarch64
Building for target aarch64
Wrote: /builddir/build/SRPMS/pyparsing-2.4.6-1.el8.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/pyparsing.spec'], chrootPath='/var/lib/mock/centos-stream-8-aarch64-1613784857.048912/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffff7b2b4d00>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd7a22d5f1b2c441ebcaefe2f8c66bdac', '-D', '/var/lib/mock/centos-stream-8-aarch64-1613784857.048912/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.3m1apk4p:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/pyparsing.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0'} and shell False
Building target platforms: aarch64
Building for target aarch64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.MgYFcx
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf pyparsing-pyparsing_2.4.6
+ /usr/bin/gzip -dc /builddir/build/SOURCES/pyparsing-2.4.6.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd pyparsing-pyparsing_2.4.6
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ dos2unix -k CHANGES LICENSE
dos2unix: converting file CHANGES to Unix format...
dos2unix: converting file LICENSE to Unix format...
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.d6x3yx
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection'
+ LDFLAGS='-Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ /usr/libexec/platform-python setup.py bdist_wheel
running bdist_wheel
running build
running build_py
creating build
creating build/lib
copying pyparsing.py -> build/lib
installing to build/bdist.linux-aarch64/wheel
running install
running install_lib
creating build/bdist.linux-aarch64
creating build/bdist.linux-aarch64/wheel
copying build/lib/pyparsing.py -> build/bdist.linux-aarch64/wheel
running install_egg_info
running egg_info
creating pyparsing.egg-info
writing pyparsing.egg-info/PKG-INFO
writing dependency_links to pyparsing.egg-info/dependency_links.txt
writing top-level names to pyparsing.egg-info/top_level.txt
writing manifest file 'pyparsing.egg-info/SOURCES.txt'
reading manifest file 'pyparsing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'HowToUsePyparsing.rst'
warning: no files found matching 'pyparsingClassDiagram.*'
warning: no files found matching 'README.md'
warning: no files found matching 'modules.rst'
no previously-included directories found matching 'docs/_build/*'
writing manifest file 'pyparsing.egg-info/SOURCES.txt'
Copying pyparsing.egg-info to build/bdist.linux-aarch64/wheel/pyparsing-2.4.6-py3.6.egg-info
running install_scripts
creating build/bdist.linux-aarch64/wheel/pyparsing-2.4.6.dist-info/WHEEL
creating '/builddir/build/BUILD/pyparsing-pyparsing_2.4.6/dist/pyparsing-2.4.6-py2.py3-none-any.whl' and adding '.' to it
adding 'pyparsing.py'
adding 'pyparsing-2.4.6.dist-info/LICENSE.txt'
adding 'pyparsing-2.4.6.dist-info/top_level.txt'
adding 'pyparsing-2.4.6.dist-info/WHEEL'
adding 'pyparsing-2.4.6.dist-info/METADATA'
adding 'pyparsing-2.4.6.dist-info/RECORD'
removing build/bdist.linux-aarch64/wheel
+ sleep 1
+ pushd docs
~/build/BUILD/pyparsing-pyparsing_2.4.6/docs ~/build/BUILD/pyparsing-pyparsing_2.4.6
+ sed -i /alabaster/d conf.py
+ sphinx-build -b html . html
Running Sphinx v1.7.6
making output directory...
loading pickled environment... not yet created
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 5 source files that are out of date
updating environment: 5 added, 0 changed, 0 removed
reading sources... [ 20%] CODE_OF_CONDUCT
reading sources... [ 40%] HowToUsePyparsing
reading sources... [ 60%] index
reading sources... [ 80%] modules
reading sources... [100%] pyparsing
WARNING: invalid signature for autoclass ('pyparsing::pyparsing_unicode.עִברִית')
WARNING: don't know which module to import for autodocumenting 'pyparsing::pyparsing_unicode.עִברִית' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
looking for now-outdated files... WARNING: invalid signature for autoclass ('pyparsing::pyparsing_unicode.देवनागरी')
WARNING: don't know which module to import for autodocumenting 'pyparsing::pyparsing_unicode.देवनागरी' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 20%] CODE_OF_CONDUCT
writing output... [ 40%] HowToUsePyparsing
writing output... [ 60%] index
writing output... [ 80%] modules
writing output... [100%] pyparsing
generating indices... genindex py-modindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 4 warnings.
The HTML pages are in html.
+ popd
~/build/BUILD/pyparsing-pyparsing_2.4.6
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Zesgtu
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64
++ dirname /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64
+ cd pyparsing-pyparsing_2.4.6
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection'
+ /usr/libexec/platform-python -m pip install -I dist/pyparsing-2.4.6-py2.py3-none-any.whl --root /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64 --strip-file-prefix /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64 --no-deps
Processing ./dist/pyparsing-2.4.6-py2.py3-none-any.whl
Installing collected packages: pyparsing
Successfully installed pyparsing-2.4.6
+ /usr/lib/rpm/find-debuginfo.sh -j4 --strict-build-id -m -i --build-id-seed 2.4.6-1.el8 --unique-debug-suffix -2.4.6-1.el8.aarch64 --unique-debug-src-base pyparsing-2.4.6-1.el8.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/pyparsing-pyparsing_2.4.6
find: 'debug': No such file or directory
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
/sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile '' 1
Bytecompiling .py files below /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/lib/python3.6 using /usr/libexec/platform-python
+ /usr/lib/rpm/brp-python-hardlink
+ PYTHON3=/usr/libexec/platform-python
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.oXVUov
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ /usr/libexec/platform-python unitTests.py
...........................................................................................................................................................................................................................Beginning test of pyparsing, version 2.4.6 24 Dec 2019 04:27 UTC
Python version 3.6.8 (default, Jan 27 2021, 01:22:44) 
[GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
----------------------------------------------------------------------
Ran 219 tests in 10.039s
OK
+ /usr/libexec/platform-python simple_unit_tests.py
.............
----------------------------------------------------------------------
Ran 13 tests in 0.040s
OK
Simple match - Literal("xyz")
['xyz']
Simple match after skipping whitespace - Literal("xyz")
['xyz']
Simple fail - parse an empty string - Literal("xyz")
^
ParseException: Expected "xyz"  (at char 0), (line:1, col:1)
__main__.TestLiteral
pyparsing.Literal - "xyz"
Simple fail - parse a mismatching string - Literal("xyz")
xyu
^
ParseException: Expected "xyz", found 'x'  (at char 0), (line:1, col:1)
__main__.TestLiteral
pyparsing.Literal - "xyz"
Simple fail - parse a partially matching string - Literal("xyz")
xy
^
ParseException: Expected "xyz", found 'x'  (at char 0), (line:1, col:1)
__main__.TestLiteral
pyparsing.Literal - "xyz"
Fail - parse a partially matching string by matching individual letters - And({"x" "y" "z"})
xy
  ^
ParseException: Expected "z", found end of text  (at char 2), (line:1, col:3)
__main__.TestLiteral
pyparsing.And - {"x" "y" "z"}
pyparsing._SingleCharLiteral - "z"
Match colors, converting to consistent case - ZeroOrMore([{'RED' | 'GREEN' | 'BLUE'}]...)
['RED', 'GREEN', 'BLUE', 'BLUE', 'GREEN', 'GREEN', 'RED']
Simple Word match - _WordRegex(W:(xy))
['xxyxxyy']
Simple Word match of two separate Words - And({W:(x) W:(y)})
['xxxxx', 'yy']
Simple Word match of two separate Words - implicitly skips whitespace - And({W:(x) W:(y)})
['xxxxx', 'yy']
Parsing real numbers - fail, parsed numbers are in pieces - ZeroOrMore([{W:(0123...) "." W:(0123...)}]...)
['1', '.', '2', '2', '.', '3', '3', '.', '1416', '98', '.', '6']
Parsing real numbers - better, use Combine to combine multiple tokens into one - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...)
['1.2', '2.3', '3.1416', '98.6']
Match several words - ZeroOrMore([{W:(x) | W:(y)}]...)
['xx', 'y', 'xx', 'yy', 'xx', 'y', 'x', 'y', 'xxx', 'y']
Match several words, skipping whitespace - ZeroOrMore([{W:(x) | W:(y)}]...)
['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
Match several words, skipping whitespace (old style) - OneOrMore({{W:(x) | W:(y)}}...)
['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
Match words and numbers - show use of results names to collect types of tokens - ZeroOrMore([{W:(ABCD...) | integer}]...)
['sdlfj', 23084, 'ksdfs', 8234, 'kjsdlfkjd', 934]
- alpha: ['sdlfj', 'ksdfs', 'kjsdlfkjd']
- int: [23084, 8234, 934]
Using delimitedList (comma is the default delimiter) - And(W:(ABCD...) [, W:(ABCD...)]...)
['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy']
Using delimitedList, with ':' delimiter - Combine(W:(0123...) [: W:(0123...)]...)
['0A:4B:73:21:FE:76']
Match with results name - Literal("xyz")
['xyz']
- value: 'xyz'
Match with results name - using naming short-cut - Literal("xyz")
['xyz']
- value: 'xyz'
Define multiple results names - And({W:(ABCD..., ABCD...) "=" integer})
['range', '=', 5280]
- key: 'range'
- value: 5280
Define multiple results names in groups - ZeroOrMore([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...)
[['range', 5280], ['long', -138.52], ['lat', 46.91]]
[0]:
  ['range', 5280]
  - key: 'range'
  - value: 5280
[1]:
  ['long', -138.52]
  - key: 'long'
  - value: -138.52
[2]:
  ['lat', 46.91]
  - key: 'lat'
  - value: 46.91
Define multiple results names in groups - use Dict to define results names using parsed keys - Dict(Dict:([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...))
[['range', 5280], ['long', -138.52], ['lat', 46.91]]
- lat: 46.91
- long: -138.52
- range: 5280
Define multiple value types - Dict(Dict:([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer | True | False | quoted string, starting with ' ending with '}})]...))
[['long', -122.47], ['lat', 37.82], ['public', 'True'], ['name', 'Golden Gate Bridge']]
- lat: 37.82
- long: -122.47
- name: 'Golden Gate Bridge'
- public: 'True'
Parsing real numbers - use parse action to convert to float at parse time - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...)
[1.2, 2.3, 3.1416, 98.6]
Match with numeric string converted to int - _WordRegex(W:(0123...))
[12345]
Use two parse actions to convert numeric string, then convert to datetime - _WordRegex(W:(0123...))
[datetime.datetime(2018, 9, 20, 3, 53, 48)]
Use tokenMap for parse actions that operate on a single-length token - _WordRegex(W:(0123...))
[datetime.datetime(2018, 9, 20, 3, 53, 48)]
Using a built-in function that takes a sequence of strs as a parse action - ZeroOrMore([W:(0123...)]...)
['0A:4B:73:21:FE:76']
Using a built-in function that takes a sequence of strs as a parse action - ZeroOrMore([W:(0123...)]...)
['0A', '21', '4B', '73', '76', 'FE']
A parse action that adds new key-values - ZeroOrMore([integer]...)
[27, 1, 14, 22, 89]
- ave: 30.6
- max: 89
- min: 1
- sum: 153
Parsing real numbers - using Regex instead of Combine - ZeroOrMore([Re:('\\d+\\.\\d+')]...)
[1.2, 2.3, 3.1416, 98.6]
Define a condition to only match numeric values that are multiples of 7 - ZeroOrMore([W:(0123...)]...)
['14', '35', '77']
Separate conversion to int and condition into separate parse action/conditions - ZeroOrMore([W:(0123...)]...)
[14, 35, 77]
Use transformString to convert simple markup to HTML - And({* | _ | / "(" !W:()) ")"})
Show in <B>bold</B>, <U>underscore</U>, or <I>italic</I> type
A comma-delimited list of words - And(W:(ABCD...) [, W:(ABCD...)]...)
['this', 'that', 'blah', 'foo', 'bar']
A counted array of words - ZeroOrMore([(len) W:(ab)...]...)
[['aaa', 'bbb'], [], ['abab', 'bbaa', 'abbab']]
[0]:
  ['aaa', 'bbb']
[1]:
  []
[2]:
  ['abab', 'bbaa', 'abbab']
skipping comments with ignore - And({identifier "=" fnumber})
['abc_100', '=', 3.1416]
- lhs: 'abc_100'
- rhs: 3.1416
some pre-defined expressions in pyparsing_common, and building a dotted identifier with delimted_list - And({{real number with scientific notation | real number | signed integer} identifier [. identifier]... IPv4 address})
[1001, 'www.google.com', '192.168.10.199']
- id_num: 1001
- ip_address: '192.168.10.199'
- name: 'www.google.com'
using oneOf (shortcut for Literal('a') | Literal('b') | Literal('c')) - ZeroOrMore([a | b | c]...)
['a', 'b', 'a', 'b', 'b', 'a', 'c', 'c', 'a', 'b', 'b']
parsing nested parentheses - Forward(nested () expression)
[['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]]
[0]:
  ['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]
  [0]:
    a
  [1]:
    b
  [2]:
    ['c']
  [3]:
    d
  [4]:
    ['e', 'f', 'g', []]
    [0]:
      e
    [1]:
      f
    [2]:
      g
    [3]:
      []
parsing nested braces - And({"if" nested () expression nested {} expression})
['if', [['x', '==', 'y'], '||', '!z'], ['printf(', '"{}"', ');']]
- body: [['printf(', '"{}"', ');']]
  [0]:
    ['printf(', '"{}"', ');']
- condition: [[['x', '==', 'y'], '||', '!z']]
  [0]:
    [['x', '==', 'y'], '||', '!z']
    [0]:
      ['x', '==', 'y']
    [1]:
      ||
    [2]:
      !z
+ exit 0
Processing files: pyparsing-doc-2.4.6-1.el8.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.03lmpu
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ DOCDIR=/builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ cp -pr CHANGES /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ cp -pr README.rst /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ cp -pr docs/html /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ cp -pr examples /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/pyparsing-doc
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.dZw6Qu
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ LICENSEDIR=/builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/pyparsing-doc
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/pyparsing-doc
+ cp -pr LICENSE /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/pyparsing-doc
+ exit 0
Provides: pyparsing-doc = 2.4.6-1.el8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: python3-pyparsing-2.4.6-1.el8.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.9cT4Kt
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ DOCDIR=/builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/python3-pyparsing
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/python3-pyparsing
+ cp -pr CHANGES /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/python3-pyparsing
+ cp -pr README.rst /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/doc/python3-pyparsing
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.jHrkqu
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ LICENSEDIR=/builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/python3-pyparsing
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/python3-pyparsing
+ cp -pr LICENSE /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64/usr/share/licenses/python3-pyparsing
+ exit 0
Provides: python3-pyparsing = 2.4.6-1.el8 python3.6dist(pyparsing) = 2.4.6 python3dist(pyparsing) = 2.4.6
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.6
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64
Wrote: /builddir/build/RPMS/pyparsing-doc-2.4.6-1.el8.noarch.rpm
Wrote: /builddir/build/RPMS/python3-pyparsing-2.4.6-1.el8.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.ZfKMmu
+ umask 022
+ cd /builddir/build/BUILD
+ cd pyparsing-pyparsing_2.4.6
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/pyparsing-2.4.6-1.el8.aarch64
+ exit 0
Child return code was: 0