Bug 2291996 - F41FailsToInstall: rebase-helper
Summary: F41FailsToInstall: rebase-helper
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rebase-helper
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nikola Forró
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F41FTBFS F41FailsToInstall RPM4.20 PYTHON3.13
TreeView+ depends on / blocked
 
Reported: 2024-06-12 11:32 UTC by Fedora Fails To Install
Modified: 2024-06-18 21:35 UTC (History)
3 users (show)

Fixed In Version: rebase-helper-0.29.0-1.fc41
Clone Of:
Environment:
Last Closed: 2024-06-18 21:35:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Fedora Fails To Install 2024-06-12 11:32:21 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

Your package (rebase-helper) Fails To Install in Fedora 41:

can't install rebase-helper:
  - nothing provides python3.12dist(requests) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(gitpython) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(ansicolors) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(copr) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(pyquery) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(rpkg) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(unidiff) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python3.12dist(python-pam) needed by rebase-helper-0.28.1-13.fc41.noarch
  - nothing provides python(abi) = 3.12 needed by rebase-helper-0.28.1-13.fc41.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.


P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock:

    $ mock -r fedora-41-x86_64 --config-opts mirrored=False install rebase-helper


P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Miro Hrončok 2024-06-17 13:31:49 UTC
+ /usr/bin/pytest
============================= test session starts ==============================
platform linux -- Python 3.13.0b2, pytest-7.4.3, pluggy-1.3.0
rootdir: /builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1
configfile: tox.ini
testpaths: tests
collected 137 items / 32 deselected / 105 selected
tests/test_application.py E..                                            [  2%]
tests/test_archive.py ..........                                         [ 12%]
tests/test_cli.py .                                                      [ 13%]
tests/test_config.py ...                                                 [ 16%]
tests/test_patcher.py ...                                                [ 19%]
tests/test_results_store.py ....                                         [ 22%]
tests/test_specfile.py EEE.EEE.E....E.E....E                             [ 42%]
tests/test_temporary_environment.py ....                                 [ 46%]
tests/helpers/test_console_helper.py ........                            [ 54%]
tests/helpers/test_download_helper.py ....                               [ 58%]
tests/helpers/test_git_helper.py ....                                    [ 61%]
tests/helpers/test_input_helper.py .......                               [ 68%]
tests/helpers/test_path_helper.py ........                               [ 76%]
tests/helpers/test_process_helper.py ...........                         [ 86%]
tests/helpers/test_rpm_helper.py ....                                    [ 90%]
tests/plugins/test_checkers.py ..                                        [ 92%]
tests/plugins/test_output_tools.py ..                                    [ 94%]
tests/plugins/test_spec_hooks.py ......                                  [100%]
==================================== ERRORS ====================================
__________ ERROR at setup of TestApplication.test_application_sources __________
content = '%{!?specfile: %global specfile spec file}\n%global summary %{?longsum}%{!?longsum:A testing %{specfile}}\n\n%global v... the release for testing purposes\n\n* Tue Sep 24 2013 Petr Hracek <phracek> 1.0.0-1\n- Initial version\n\n'
flags = 3
    def get_rpm_spec(content, flags):
        Macros.reinit()
        for name, value in self.macros + (extra_macros or []):
            if value is None:
                Macros.remove(name)
            else:
                Macros.define(name, value)
        Macros.define("_sourcedir", str(self.sourcedir))
        with tempfile.NamedTemporaryFile() as tmp:
            tmp.write(content.encode())
            tmp.flush()
            try:
                with self._sanitize_environment():
                    with capture_stderr() as stderr:
>                       return rpm.spec(tmp.name, flags)
E                       ValueError: can't parse specfile
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:226: ValueError
The above exception was the direct cause of the following exception:
self = <tests.test_application.TestApplication object at 0x7f55e70aa990>
make_config = <function TestApplication.make_config.<locals>.wrapper at 0x7f55e70313a0>
    @pytest.fixture
    def app(self, make_config):
        config = make_config(self.cmd_line_args)
        execution_dir, results_dir = Application.setup(config)
>       app = Application(config, os.getcwd(), execution_dir, results_dir)
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/tests/test_application.py:76: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/rebasehelper/application.py:99: in __init__
    self._prepare_spec_objects()
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/rebasehelper/application.py:146: in _prepare_spec_objects
    self.spec_file = SpecFile(self.spec_file_path, self.execution_dir, self.kwargs['rpmmacros'],
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/rebasehelper/specfile.py:131: in __init__
    self.spec = Specfile(path, sources_location, macros=list((predefined_macros or {}).items()))
/usr/lib/python3.13/site-packages/specfile/specfile.py:72: in __init__
    self._parser.parse(str(self))
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:380: in parse
    self.spec, self.tainted = self._do_parse(content, extra_macros)
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:294: in _do_parse
    spec = get_rpm_spec(content, rpm.RPMSPEC_ANYARCH | rpm.RPMSPEC_FORCE)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
content = '%{!?specfile: %global specfile spec file}\n%global summary %{?longsum}%{!?longsum:A testing %{specfile}}\n\n%global v... the release for testing purposes\n\n* Tue Sep 24 2013 Petr Hracek <phracek> 1.0.0-1\n- Initial version\n\n'
flags = 3
    def get_rpm_spec(content, flags):
        Macros.reinit()
        for name, value in self.macros + (extra_macros or []):
            if value is None:
                Macros.remove(name)
            else:
                Macros.define(name, value)
        Macros.define("_sourcedir", str(self.sourcedir))
        with tempfile.NamedTemporaryFile() as tmp:
            tmp.write(content.encode())
            tmp.flush()
            try:
                with self._sanitize_environment():
                    with capture_stderr() as stderr:
                        return rpm.spec(tmp.name, flags)
            except ValueError as e:
>               raise RPMException(stderr=stderr) from e
E               specfile.exceptions.RPMException: %patchN is obsolete, use %patch N (or %patch -P N): %patch1
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:228: RPMException
_______________ ERROR at setup of TestSpecFile.test_get_release ________________
content = '%{!?specfile: %global specfile spec file}\n%global summary %{?longsum}%{!?longsum:A testing %{specfile}}\n\n%global v... the release for testing purposes\n\n* Tue Sep 24 2013 Petr Hracek <phracek> 1.0.0-1\n- Initial version\n\n'
flags = 3
    def get_rpm_spec(content, flags):
        Macros.reinit()
        for name, value in self.macros + (extra_macros or []):
            if value is None:
                Macros.remove(name)
            else:
                Macros.define(name, value)
        Macros.define("_sourcedir", str(self.sourcedir))
        with tempfile.NamedTemporaryFile() as tmp:
            tmp.write(content.encode())
            tmp.flush()
            try:
                with self._sanitize_environment():
                    with capture_stderr() as stderr:
>                       return rpm.spec(tmp.name, flags)
E                       ValueError: can't parse specfile
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:226: ValueError
The above exception was the direct cause of the following exception:
workdir = '/tmp/pytest-of-mockbuild/pytest-0/workdir24'
    @pytest.fixture
    def spec_object(workdir):  # pylint: disable=redefined-outer-name
        shutil.copy(os.path.join(TEST_FILES_DIR, SPEC_FILE), workdir)
>       return SpecFile(SPEC_FILE, workdir)
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/tests/conftest.py:56: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/builddir/build/BUILD/rebase-helper-0.28.1-build/rebasehelper-0.28.1/rebasehelper/specfile.py:131: in __init__
    self.spec = Specfile(path, sources_location, macros=list((predefined_macros or {}).items()))
/usr/lib/python3.13/site-packages/specfile/specfile.py:72: in __init__
    self._parser.parse(str(self))
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:380: in parse
    self.spec, self.tainted = self._do_parse(content, extra_macros)
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:294: in _do_parse
    spec = get_rpm_spec(content, rpm.RPMSPEC_ANYARCH | rpm.RPMSPEC_FORCE)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
content = '%{!?specfile: %global specfile spec file}\n%global summary %{?longsum}%{!?longsum:A testing %{specfile}}\n\n%global v... the release for testing purposes\n\n* Tue Sep 24 2013 Petr Hracek <phracek> 1.0.0-1\n- Initial version\n\n'
flags = 3
    def get_rpm_spec(content, flags):
        Macros.reinit()
        for name, value in self.macros + (extra_macros or []):
            if value is None:
                Macros.remove(name)
            else:
                Macros.define(name, value)
        Macros.define("_sourcedir", str(self.sourcedir))
        with tempfile.NamedTemporaryFile() as tmp:
            tmp.write(content.encode())
            tmp.flush()
            try:
                with self._sanitize_environment():
                    with capture_stderr() as stderr:
                        return rpm.spec(tmp.name, flags)
            except ValueError as e:
>               raise RPMException(stderr=stderr) from e
E               specfile.exceptions.RPMException: %patchN is obsolete, use %patch N (or %patch -P N): %patch1
/usr/lib/python3.13/site-packages/specfile/spec_parser.py:228: RPMException
...
=========================== short test summary info ============================
ERROR tests/test_application.py::TestApplication::test_application_sources - ...
ERROR tests/test_specfile.py::TestSpecFile::test_get_release - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_set_release - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_set_version - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_old_tarball - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_get_sources - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_get_patches - specfile.excep...
ERROR tests/test_specfile.py::TestSpecFile::test_extract_version_from_archive_name
ERROR tests/test_specfile.py::TestSpecFile::test_set_extra_version - specfile...
ERROR tests/test_specfile.py::TestSpecFile::test_find_archive_target_in_prep
ERROR tests/test_specfile.py::TestSpecFile::test_tags - specfile.exceptions.R...
=========== 94 passed, 32 deselected, 8 warnings, 11 errors in 2.28s ===========


Note You need to log in before you can comment on or make changes to this bug.