Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'], chrootPath='/var/lib/mock/openeuler-22.03-aarch64-1683367699.474587/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=FalseprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False /etc/profile.d/system-info.sh: line 55: ps: command not found Building target platforms: aarch64 Building for target aarch64 Wrote: /builddir/build/SRPMS/python-pystempel-1.2.0-1.src.rpm Child return code was: 0 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'], chrootPath='/var/lib/mock/openeuler-22.03-aarch64-1683367699.474587/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=FalseprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False /etc/profile.d/system-info.sh: line 55: ps: command not found Building target platforms: aarch64 Building for target aarch64 Wrote: /builddir/build/SRPMS/python-pystempel-1.2.0-1.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'], chrootPath='/var/lib/mock/openeuler-22.03-aarch64-1683367699.474587/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1000gid=135user='mockbuild'nspawn_args=[]unshare_net=FalseprintOutput=True) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target aarch64 --nodeps /builddir/build/SPECS/python-pystempel.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False /etc/profile.d/system-info.sh: line 55: ps: command not found Building target platforms: aarch64 Building for target aarch64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.66JHHO + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pystempel-1.2.0 + /usr/bin/gzip -dc /builddir/build/SOURCES/pystempel-1.2.0.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd pystempel-1.2.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ZOIkCp + umask 022 + cd /builddir/build/BUILD + cd pystempel-1.2.0 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' Stempel Stemmer =============== .. image:: https://badge.fury.io/py/pystempel.svg :target: https://badge.fury.io/py/pystempel Python port of Stempel, an algorithmic stemmer for Polish language, originally written in Java. The original stemmer has been implemented as part of `Egothor Project`_, taken virtually unchanged to `Stempel Stemmer Java library`_ by Andrzej Białecki and next included as part of `Apache Lucene`_, a free and open-source search engine library. It is also used by `Elastic Search`_ search engine. .. _Egothor Project: https://www.egothor.org/product/egothor2/ .. _Stempel Stemmer Java library: http://www.getopt.org/stempel/index.html .. _Apache Lucene: https://lucene.apache.org/core/3_1_0/api/contrib-stempel/index.html .. _Elastic Search: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-stempel.html This package includes also high-quality stemming tables for Polish: original one pretrained by Andrzej Białecki on 20,000 training sets, and new one, pretrained on 259,080 training sets from Polimorf dictionary by me. The port does not include code for compiling stemming tables. .. _sjp.pl: https://sjp.pl/slownik/en/ How to use ---------- Install in your local environment: .. code:: console pip install pystempel Use in your code: .. code:: python >>> from stempel import StempelStemmer Choose original (called default) version of a stemmer: .. code:: python >>> stemmer = StempelStemmer.default() or a version with new stemming table pretrained on training sets from Polimorf dictionary: .. code:: python >>> stemmer = StempelStemmer.polimorf() Stem: .. code:: python >>> for word in ['książka', 'książki', 'książkami', 'książkowa', 'książkowymi']: ... print(stemmer.stem(word)) ... książek książek książek książkowy książkowy Choosing stemming table ----------------------- Performance between original (default) and new stemming table (Polimorf-based) varies significantly. The stemmer for the default stemming table is *understemming*, i.e., for multiple forms of the same lemma provides different stems more often (63%) than when using Polimorf-based stemming table (13%). However, the file footprint of the latter is bigger (2.2MB vs 0.3MB). Also loading takes longer (7.5 seconds vs. 1.3 seconds), though this happens only once, when a stemmer is created. Also, for original stemming table, the stemmer stems slightly faster: ~60000 vs ~51000 words per second. See `Evaluation Jupyter Notebook`_ for the detailed evaluation results. .. _Evaluation Jupyter Notebook: http://htmlpreview.github.io/?https://github.com/dzieciou/pystempel/blob/master/Evaluation.html Note also, that the licensing schema of both stemming tables differs, and hence licensing of data generated with each one. See "Licensing" section for the details. Choosing between port and wrapper --------------------------------- If you work on an NLP project in Python you can choose between Python port and Python wrapper. Python port is what pystempel tries to achieve: translation from Java implementation to Python. Python wrapper is what I used in `tests`_: Python functions to call the original Java implementation of stemmer. You can find more about wrappers and ports in `Stackoverflow comparision post`_. Here, I compare both approaches to help you decide: * **Same accuracy**. I have verified Python port by comparing its output with output of original Java implementation for 331224 words from Free Polish dictionary (`sjp.pl`_) and for 100% of words it returns same output. * **Similar performance**. For mentioned dataset both stemmer versions achieved comparable performance. Python port completed stemming in 4.4 seconds, while Python wrapper -- in 5 seconds (Intel Core i5-6000 3.30 GHz, 16GB RAM, Windows 10, OpenJDK) * **Different setup**. Python wrapper requires additionally installation of Cython and pyjnius. Python wrapper will make also `debugging harder`_ (switching between two programming languages). .. _Stackoverflow comparision post: https://stackoverflow.com/questions/10113218/how-to-decide-when-to-wrap-port-write-from-scratch .. _debugging harder: https://stackoverflow.com/questions/6970359/find-an-efficient-way-to-integrate-different-language-libraries-into-one-project .. _tests: tests/ Options ------- To disable a progress bar when loading stemming tables, set environment variable ``DISABLE_TQDM=True``. Development setup ----------------- To setup environment for development you will need `Anaconda`_ installed. .. _Anaconda: https://anaconda.org/ .. code:: console conda env create --file environment.yml conda activate pystempel-env pre-commit install To run tests: .. code:: console curl https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-stempel/8.1.1/lucene-analyzers-stempel-8.1.1.jar > stempel-8.1.1.jar python -m pytest ./ To run benchmark: .. code:: console set PYTHONPATH=%PYTHONPATH%;%cd% python tests\test_benchmark.py Licensing --------- * **Code**: Most of the code is covered by `Egothor`_ Open Source License, an Apache-style license. The rest of the code is covered by the `Apache License 2.0`_. This should be clear from a preamble of each file. * **Data**: * The original pretrained stemming table is covered by `Apache License 2.0`_. * The new pretrained stemming table is covered by `2-Clause BSD License`_, similarly to the `Polimorf dictionary` it has been derived from. The copyright owner of both the stemming table and the dictionary is `Institute of Computer Science at Polish Academy of Science`_ (IPI PAN). * Polish dictionary used by the unit tests comes from `sjp.pl`_ and is covered by `Apache License 2.0`_ as well. .. _Egothor: https://www.egothor.org/product/egothor2/ .. _Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0 .. _Polimorf dictionary: dicts/ .. _2-Clause BSD License: data/polimorf/LICENSE.txt .. _Institute of Computer Science at Polish Academy of Science: https://ipipan.waw.pl/en/ Alternatives ------------ * `Estem`_ is Erlang wrapper (not port) for Stempel stemmer. * `pl_stemmer`_ is a Python stemmer based on Porter's Algorithm. * `polish-stem`_ is a Python stemmer using Finite State Transducers. .. _Estem: https://github.com/arcusfelis/estem .. _pl_stemmer: https://github.com/Tutanchamon/pl_stemmer .. _polish-stem: https://github.com/eugeniashurko/polish-stem running build running build_py creating build creating build/lib creating build/lib/stempel copying stempel/__init__.py -> build/lib/stempel copying stempel/egothor.py -> build/lib/stempel copying stempel/streams.py -> build/lib/stempel + sleep 1 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.7y2WKT + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 ++ dirname /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 + cd pystempel-1.2.0 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld' + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 Stempel Stemmer =============== .. image:: https://badge.fury.io/py/pystempel.svg :target: https://badge.fury.io/py/pystempel Python port of Stempel, an algorithmic stemmer for Polish language, originally written in Java. The original stemmer has been implemented as part of `Egothor Project`_, taken virtually unchanged to `Stempel Stemmer Java library`_ by Andrzej Białecki and next included as part of `Apache Lucene`_, a free and open-source search engine library. It is also used by `Elastic Search`_ search engine. .. _Egothor Project: https://www.egothor.org/product/egothor2/ .. _Stempel Stemmer Java library: http://www.getopt.org/stempel/index.html .. _Apache Lucene: https://lucene.apache.org/core/3_1_0/api/contrib-stempel/index.html .. _Elastic Search: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-stempel.html This package includes also high-quality stemming tables for Polish: original one pretrained by Andrzej Białecki on 20,000 training sets, and new one, pretrained on 259,080 training sets from Polimorf dictionary by me. The port does not include code for compiling stemming tables. .. _sjp.pl: https://sjp.pl/slownik/en/ How to use ---------- Install in your local environment: .. code:: console pip install pystempel Use in your code: .. code:: python >>> from stempel import StempelStemmer Choose original (called default) version of a stemmer: .. code:: python >>> stemmer = StempelStemmer.default() or a version with new stemming table pretrained on training sets from Polimorf dictionary: .. code:: python >>> stemmer = StempelStemmer.polimorf() Stem: .. code:: python >>> for word in ['książka', 'książki', 'książkami', 'książkowa', 'książkowymi']: ... print(stemmer.stem(word)) ... książek książek książek książkowy książkowy Choosing stemming table ----------------------- Performance between original (default) and new stemming table (Polimorf-based) varies significantly. The stemmer for the default stemming table is *understemming*, i.e., for multiple forms of the same lemma provides different stems more often (63%) than when using Polimorf-based stemming table (13%). However, the file footprint of the latter is bigger (2.2MB vs 0.3MB). Also loading takes longer (7.5 seconds vs. 1.3 seconds), though this happens only once, when a stemmer is created. Also, for original stemming table, the stemmer stems slightly faster: ~60000 vs ~51000 words per second. See `Evaluation Jupyter Notebook`_ for the detailed evaluation results. .. _Evaluation Jupyter Notebook: http://htmlpreview.github.io/?https://github.com/dzieciou/pystempel/blob/master/Evaluation.html Note also, that the licensing schema of both stemming tables differs, and hence licensing of data generated with each one. See "Licensing" section for the details. Choosing between port and wrapper --------------------------------- If you work on an NLP project in Python you can choose between Python port and Python wrapper. Python port is what pystempel tries to achieve: translation from Java implementation to Python. Python wrapper is what I used in `tests`_: Python functions to call the original Java implementation of stemmer. You can find more about wrappers and ports in `Stackoverflow comparision post`_. Here, I compare both approaches to help you decide: * **Same accuracy**. I have verified Python port by comparing its output with output of original Java implementation for 331224 words from Free Polish dictionary (`sjp.pl`_) and for 100% of words it returns same output. * **Similar performance**. For mentioned dataset both stemmer versions achieved comparable performance. Python port completed stemming in 4.4 seconds, while Python wrapper -- in 5 seconds (Intel Core i5-6000 3.30 GHz, 16GB RAM, Windows 10, OpenJDK) * **Different setup**. Python wrapper requires additionally installation of Cython and pyjnius. Python wrapper will make also `debugging harder`_ (switching between two programming languages). .. _Stackoverflow comparision post: https://stackoverflow.com/questions/10113218/how-to-decide-when-to-wrap-port-write-from-scratch .. _debugging harder: https://stackoverflow.com/questions/6970359/find-an-efficient-way-to-integrate-different-language-libraries-into-one-project .. _tests: tests/ Options ------- To disable a progress bar when loading stemming tables, set environment variable ``DISABLE_TQDM=True``. Development setup ----------------- To setup environment for development you will need `Anaconda`_ installed. .. _Anaconda: https://anaconda.org/ .. code:: console conda env create --file environment.yml conda activate pystempel-env pre-commit install To run tests: .. code:: console curl https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-stempel/8.1.1/lucene-analyzers-stempel-8.1.1.jar > stempel-8.1.1.jar python -m pytest ./ To run benchmark: .. code:: console set PYTHONPATH=%PYTHONPATH%;%cd% python tests\test_benchmark.py Licensing --------- * **Code**: Most of the code is covered by `Egothor`_ Open Source License, an Apache-style license. The rest of the code is covered by the `Apache License 2.0`_. This should be clear from a preamble of each file. * **Data**: * The original pretrained stemming table is covered by `Apache License 2.0`_. * The new pretrained stemming table is covered by `2-Clause BSD License`_, similarly to the `Polimorf dictionary` it has been derived from. The copyright owner of both the stemming table and the dictionary is `Institute of Computer Science at Polish Academy of Science`_ (IPI PAN). * Polish dictionary used by the unit tests comes from `sjp.pl`_ and is covered by `Apache License 2.0`_ as well. .. _Egothor: https://www.egothor.org/product/egothor2/ .. _Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0 .. _Polimorf dictionary: dicts/ .. _2-Clause BSD License: data/polimorf/LICENSE.txt .. _Institute of Computer Science at Polish Academy of Science: https://ipipan.waw.pl/en/ Alternatives ------------ * `Estem`_ is Erlang wrapper (not port) for Stempel stemmer. * `pl_stemmer`_ is a Python stemmer based on Porter's Algorithm. * `polish-stem`_ is a Python stemmer using Finite State Transducers. .. _Estem: https://github.com/arcusfelis/estem .. _pl_stemmer: https://github.com/Tutanchamon/pl_stemmer .. _polish-stem: https://github.com/eugeniashurko/polish-stem running install running install_lib creating /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr creating /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib creating /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9 creating /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages creating /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel copying build/lib/stempel/__init__.py -> /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel copying build/lib/stempel/egothor.py -> /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel copying build/lib/stempel/streams.py -> /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel byte-compiling /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel/__init__.py to __init__.cpython-39.pyc /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( byte-compiling /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel/egothor.py to egothor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/stempel/streams.py to streams.cpython-39.pyc writing byte-compilation script '/tmp/tmpti8yposf.py' /usr/bin/python3 /tmp/tmpti8yposf.py removing /tmp/tmpti8yposf.py running install_egg_info running egg_info writing pystempel.egg-info/PKG-INFO writing dependency_links to pystempel.egg-info/dependency_links.txt writing requirements to pystempel.egg-info/requires.txt writing top-level names to pystempel.egg-info/top_level.txt reading manifest file 'pystempel.egg-info/SOURCES.txt' writing manifest file 'pystempel.egg-info/SOURCES.txt' Copying pystempel.egg-info to /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9/site-packages/pystempel-1.2.0-py3.9.egg-info running install_scripts + install -d -m755 /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64//usr/share/doc/python-pystempel + '[' -d doc ']' ~/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 ~/build/BUILD/pystempel-1.2.0 + '[' -d docs ']' + '[' -d example ']' + '[' -d examples ']' + pushd /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 + '[' -d usr/lib ']' + find usr/lib -type f -printf '/%h/%f\n' + '[' -d usr/lib64 ']' + '[' -d usr/bin ']' + '[' -d usr/sbin ']' + touch doclist.lst + '[' -d usr/share/man ']' ~/build/BUILD/pystempel-1.2.0 + popd + mv /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/filelist.lst . + mv /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/doclist.lst . + /usr/bin/find-debuginfo -j4 --strict-build-id -i --build-id-seed 1.2.0-1 --unique-debug-suffix -1.2.0-1.aarch64 --unique-debug-src-base python-pystempel-1.2.0-1.aarch64 -S debugsourcefiles.list /builddir/build/BUILD/pystempel-1.2.0 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 1 Bytecompiling .py files below /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64/usr/lib/python3.9 using /usr/bin/python3.9 + /usr/lib/rpm/brp-python-hardlink Processing files: python3-pystempel-1.2.0-1.noarch Provides: python-pystempel python3-pystempel = 1.2.0-1 python3.9dist(pystempel) = 1.2 python3dist(pystempel) = 1.2 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.9 python3.9dist(sortedcontainers) python3.9dist(tqdm) Processing files: python-pystempel-help-1.2.0-1.noarch warning: Empty %files file /builddir/build/BUILD/pystempel-1.2.0/doclist.lst Provides: python-pystempel-help = 1.2.0-1 python3-pystempel-doc Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 Wrote: /builddir/build/RPMS/python-pystempel-help-1.2.0-1.noarch.rpm Wrote: /builddir/build/RPMS/python3-pystempel-1.2.0-1.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.b31KPZ + umask 022 + cd /builddir/build/BUILD + cd pystempel-1.2.0 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-pystempel-1.2.0-1.aarch64 + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0