Bug 2220341 - F39FailsToInstall: python3-mpd2
Summary: F39FailsToInstall: python3-mpd2
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-mpd2
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
Assignee: "FeRD" (Frank Dana)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-05 19:15 UTC by Fedora Fails To Install
Modified: 2024-09-05 13:15 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-09-05 12:52:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github Mic92 python-mpd2 issues 214 0 None open Test failures on Python 3.12 2023-07-06 10:12:38 UTC

Description Fedora Fails To Install 2023-07-05 19:15:47 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 (python-mpd2) Fails To Install in Fedora 39:

can't install python3-mpd2:
  - nothing provides python(abi) = 3.11 needed by python3-mpd2-3.1.0-1.fc39.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-39-x86_64 --config-opts mirrored=False install python3-mpd2


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 Ankur Sinha (FranciscoD) 2023-07-06 10:13:26 UTC
Currently FTBFS.

Comment 2 Fedora Release Engineering 2023-08-16 07:17:15 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 3 Miro Hrončok 2023-09-21 09:01:01 UTC
Ankur, I see you assigned this bugzilla 2 months ago. Have you made any progress? I see the upstream issue did not help much.

The package fails to install and fails to build. Fedora 39 Beta was just released. Is it probable that this will be fixed (or worked around) in time for the Fedora 39 Final Freeze (2023-10-03)? If not, could you please consider retiring the package, so we can obsolete it and unblock clean upgrades to Fedora 39? A retired package can be reintroduced later during the lifetime of Fedora 39.

Comment 4 Ankur Sinha (FranciscoD) 2023-09-21 09:17:40 UTC
Yeh, I think retiring it is the best thing to do. I certainly won't have time to fix it before the final freeze. I'll go do that now.

Comment 5 Miro Hrončok 2023-09-21 09:53:22 UTC
Please merge the retirement commit to f39.

Comment 6 Miro Hrončok 2023-09-22 16:45:17 UTC
Thanks!

$ koji list-pkgs --show-blocked --tag f40 --quiet --package python-mpd2
python-mpd2             f40                                      ankursinha      [BLOCKED]

$ koji list-pkgs --show-blocked --tag f39 --quiet --package python-mpd2
python-mpd2             f39                                      ankursinha      [BLOCKED]

Comment 7 "FeRD" (Frank Dana) 2023-10-13 11:30:50 UTC
Hmmm, this removal broke mpdris2, which uses python3-mpd2 as a runtime (but not build-time) dependency. It therefore can't be installed on F39 or F40.

Is it just the unit tests that fail with Python 3.12, or is the package actually broken? Because, the unit tests employ features of asyncio (coupled with mock) in the service of testing the asyncio functionality of the package, in ways that the _actual_ package itself never uses. So, it's entirely possible that the package itself works fine under Python 3.12, and just has some broken tests.

I suppose I should try building it with those tests disabled, and see if it works. I can resurrect the package to keep mpdris2 building, then, as there don't seem to be any alternatives.

python-mpd, which *is* still in the repo, was last updated from a code perspective in this change:

* Thu May 19 2016 Tomas Orsava <torsava> - 0.2.1-12
- Based on patch from Ralph Bean <rbean>
- Patch to add python3 support (upstream seems dead).
- Add a python3 subpackage and modernize python macros.

...It has no unit tests, so there's no way to know if it's actually still functional. I have my doubts.

Comment 8 "FeRD" (Frank Dana) 2023-10-13 11:49:26 UTC
There's also the fact (I just remembered) that mpdris2 doesn't ever use any of the asyncio functionality of python-mpd2. So it wouldn't impact mpdris even if that part of the module code IS broken. (Which I haven't seen any evidence of, so far, just broken unit tests. Patching the test module to skip the asyncio unit tests on python 3.12+ gets the package building and installing fine.)

Comment 9 Ankur Sinha (FranciscoD) 2023-10-13 11:58:05 UTC
Hi Frank,

Honestly, I'm not sure. I haven't used mpd in a while either, so I didn't dig into it much. When upstream also said they're not actively maintaining the package, I thought retiring it was the simplest thing to do. Please feel free to take it over and patch out the tests if you think that's enough for mpdris2.

Cheers,
Ankur

Comment 10 "FeRD" (Frank Dana) 2023-10-13 12:36:28 UTC
(In reply to Ankur Sinha (FranciscoD) from comment #9)
> Hi Frank,
> 
> Honestly, I'm not sure. I haven't used mpd in a while either, so I didn't
> dig into it much. When upstream also said they're not actively maintaining
> the package, I thought retiring it was the simplest thing to do. Please feel
> free to take it over and patch out the tests if you think that's enough for
> mpdris2.
> 
> Cheers,
> Ankur

It looks like the package is not orphaned, so I can't grab it. I guess you'd have to transfer or make me a co-maintainer? Not sure of the exact process there, as I've only ever been on this end of it.

For now, I've submitted a PR (https://src.fedoraproject.org/rpms/python-mpd2/pull-request/2) that restores the package to working order by conditionally skipping the asyncio unit tests in Python 3.12+.

Comment 11 Ankur Sinha (FranciscoD) 2023-10-13 12:49:30 UTC
Sorry about that. I've transferred the package to you now.

Comment 12 Miro Hrončok 2023-10-13 13:09:23 UTC
The package was retired, so you need to request unretirement from releng. Restoring the specfile in dist git is not enough to bring it back from the dead.

Comment 13 "FeRD" (Frank Dana) 2023-10-14 10:27:55 UTC
(In reply to Miro Hrončok from comment #12)
> The package was retired, so you need to request unretirement from releng.
> Restoring the specfile in dist git is not enough to bring it back from the
> dead.

Thanks, I actually just finished filing that ticket[1] (after my attempt to merge my own PR failed spectacularly).

[1]: https://pagure.io/releng/issue/11725

Comment 14 "FeRD" (Frank Dana) 2024-09-05 12:52:32 UTC
To the best of my knowledge this was fixed by a subsequent update, not sure why it didn't get closed by some bot.

Comment 15 Miro Hrončok 2024-09-05 13:15:46 UTC
Because I removed the FailsToInstall trackers when reopening this to prevent immediate auto closure.


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