Bug 2220139 - F39FailsToInstall: python3-box
Summary: F39FailsToInstall: python3-box
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-box
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
Assignee: David Moreau-Simard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F39FailsToInstall PYTHON3.12 2219934 2220455
TreeView+ depends on / blocked
 
Reported: 2023-07-05 19:08 UTC by Fedora Fails To Install
Modified: 2023-10-01 03:37 UTC (History)
3 users (show)

Fixed In Version: python-box-7.1.1-1.fc40 python-box-7.1.1-1.fc39
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-10-01 03:37:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Fedora Fails To Install 2023-07-05 19:08:49 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-box) Fails To Install in Fedora 39:

can't install python3-box:
  - nothing provides python(abi) = 3.11 needed by python3-box-7.0.1-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-box


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 Fedora Fails To Install 2023-07-13 11:49:20 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/

This package fails to install and maintainers are advised to take one of the following actions:

 - Fix this bug and close this bugzilla once the update makes it to the repository.
   (The same script that posted this comment will eventually close this bugzilla
   when the fixed package reaches the repository, so you don't have to worry about it.)

or

 - Move this bug to ASSIGNED if you plan on fixing this, but simply haven't done so yet.

or

 - Orphan the package if you no longer plan to maintain it.


If you do not take one of these actions, the process at https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs will continue.
This package may be orphaned in 7+ weeks.
This is the first reminder (step 3) from the policy.

Don't hesitate to ask for help on devel.org if you are unsure how to fix this bug.

Comment 2 Fedora Fails To Install 2023-08-05 09:24:52 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/

This package fails to install and maintainers are advised to take one of the following actions:

 - Fix this bug and close this bugzilla once the update makes it to the repository.
   (The same script that posted this comment will eventually close this bugzilla
   when the fixed package reaches the repository, so you don't have to worry about it.)

or

 - Move this bug to ASSIGNED if you plan on fixing this, but simply haven't done so yet.

or

 - Orphan the package if you no longer plan to maintain it.


If you do not take one of these actions, the process at https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs will continue.
This package may be orphaned in 4+ weeks.
This is the second reminder (step 4) from the policy.

Don't hesitate to ask for help on https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/ if you are unsure how to fix this bug.

Comment 3 David Moreau-Simard 2023-08-10 02:49:41 UTC
Apologies. This is on my radar but I have not yet had time to look into it.

Comment 4 David Moreau-Simard 2023-08-10 03:06:46 UTC
The last failed build for python-box: https://koji.fedoraproject.org/koji/buildinfo?buildID=2250477

It appears like a unit test failure: https://kojipkgs.fedoraproject.org//work/tasks/9265/104369265/build.log

> FAILED test/test_box.py::TestBox::test_box_slice - box.exceptions.BoxKeyError...

This is on python3.12 and we run the unit tests with pytest here: https://src.fedoraproject.org/rpms/python-box/blob/rawhide/f/python-box.spec#_51 (where there is an excluded test).

The last build of the same version with python3.11 was successful: https://koji.fedoraproject.org/koji/buildinfo?buildID=2204515
Could it be some regression with p3.12 ?

In any case, the issue is not obvious to me and I don't know whether we can ignore it.
I've looked at the upstream issues (https://github.com/cdgriffith/Box/issues) and nothing stood out to me.

Should we consider asking upstream about it ?

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

Comment 6 Miro Hrončok 2023-09-21 08:38:50 UTC
(In reply to David Moreau-Simard from comment #4)
> The last failed build for python-box:
> https://koji.fedoraproject.org/koji/buildinfo?buildID=2250477
> 
> It appears like a unit test failure:
> https://kojipkgs.fedoraproject.org//work/tasks/9265/104369265/build.log
> 
> > FAILED test/test_box.py::TestBox::test_box_slice - box.exceptions.BoxKeyError...

The log has been garbage collected, here is the failure I see locally:

=================================== FAILURES ===================================
____________________________ TestBox.test_box_slice ____________________________

self = Box({'qwe': 123, 'asd': 234, 'q': 1}), item = slice(None, -1, None)
_ignore_default = False

    def __getitem__(self, item, _ignore_default=False):
        try:
>           return super().__getitem__(item)
E           KeyError: slice(None, -1, None)

box/box.py:587: KeyError

The above exception was the direct cause of the following exception:

self = <test.test_box.TestBox object at 0x7efc861dfbc0>

    def test_box_slice(self):
        data = Box(qwe=123, asd=234, q=1)
>       assert data[:-1] == Box(qwe=123, asd=234)

test/test_box.py:1319: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Box({'qwe': 123, 'asd': 234, 'q': 1}), item = slice(None, -1, None)
_ignore_default = False

    def __getitem__(self, item, _ignore_default=False):
        try:
            return super().__getitem__(item)
        except KeyError as err:
            if item == "_box_config":
                cause = _exception_cause(err)
                raise BoxKeyError("_box_config should only exist as an attribute and is never defaulted") from cause
            if self._box_config["box_dots"] and isinstance(item, str) and ("." in item or "[" in item):
                try:
                    first_item, children = _parse_box_dots(self, item)
                except BoxError:
                    if self._box_config["default_box"] and not _ignore_default:
                        return self.__get_default(item)
                    raise BoxKeyError(str(item)) from _exception_cause(err)
                if first_item in self.keys():
                    if hasattr(self[first_item], "__getitem__"):
                        return self[first_item][children]
            if self._box_config["camel_killer_box"] and isinstance(item, str):
                converted = _camel_killer(item)
                if converted in self.keys():
                    return super().__getitem__(converted)
            if self._box_config["default_box"] and not _ignore_default:
                return self.__get_default(item)
>           raise BoxKeyError(str(err)) from _exception_cause(err)
E           box.exceptions.BoxKeyError: 'slice(None, -1, None)'

box/box.py:608: BoxKeyError

> This is on python3.12 and we run the unit tests with pytest here:
> https://src.fedoraproject.org/rpms/python-box/blob/rawhide/f/python-box.
> spec#_51 (where there is an excluded test).
> 
> The last build of the same version with python3.11 was successful:
> https://koji.fedoraproject.org/koji/buildinfo?buildID=2204515
> Could it be some regression with p3.12 ?

It could. Or it could be a problem in this package.

> In any case, the issue is not obvious to me and I don't know whether we can
> ignore it.
> I've looked at the upstream issues
> (https://github.com/cdgriffith/Box/issues) and nothing stood out to me.
> 
> Should we consider asking upstream about it ?

Yes, please do that. That's always a good first step, I am sorry that I only see this question now.



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 7 David Moreau-Simard 2023-09-22 00:34:21 UTC
Thanks for the ping, Miro.

I've noticed that python-box 7.1.1 has come out since I last checked and it includes fixes for python3.12.

I've sent a patch to update rawhide and will backport it to f39 if it builds successfully: https://src.fedoraproject.org/rpms/python-box/pull-request/4

Comment 8 David Moreau-Simard 2023-09-22 00:41:08 UTC
It builds successfully: https://koji.fedoraproject.org/koji/taskinfo?taskID=106513941

I will go ahead and backport it to F39 and propose it as an update.

Comment 9 Fedora Update System 2023-09-22 00:52:24 UTC
FEDORA-2023-f99212344d has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-f99212344d

Comment 10 Fedora Update System 2023-09-22 00:52:46 UTC
FEDORA-2023-f99212344d has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2023-09-22 01:01:58 UTC
FEDORA-2023-595f85c4f3 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-595f85c4f3

Comment 12 Fedora Update System 2023-09-23 02:13:05 UTC
FEDORA-2023-595f85c4f3 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-595f85c4f3`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-595f85c4f3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2023-10-01 03:37:13 UTC
FEDORA-2023-595f85c4f3 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.


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