Bug 2251915

Summary: setools fails to build in Fedora Rawhide: error: ‘cond_expr_t’ {aka ‘struct cond_expr’} has no member named ‘bool’; did you mean ‘boolean’
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: setoolsAssignee: Petr Lautrbach <plautrba>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dwalsh, ksurma, mhroncok, mmalik, plautrba, rhughes, rstrode, vmojzis
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-12-11 18:39:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2231791, 2244836    

Description Karolina Surma 2023-11-28 12:03:12 UTC
During the Python 3.13 rebuild in Copr we discovered that setools fails to build in Fedora Rawhide.
See also Koschei: https://koschei.fedoraproject.org/package/setools?

setools/policyrep.c: In function ‘__pyx_pf_7setools_9policyrep_23ConditionalExprIterator___next__’:
setools/policyrep.c:27857:138: error: ‘cond_expr_t’ {aka ‘struct cond_expr’} has no member named ‘bool’; did you mean ‘boolean’?
27857 |     __pyx_t_3 = __pyx_f_7setools_9policyrep_13SELinuxPolicy_boolean_value_to_datum(__pyx_v_self->__pyx_base.policy, (__pyx_v_self->curr->bool - 1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 336, __pyx_L1_error)
      |                                                                                                                                          ^~~~
      |                                                                                                                                          boolean


For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-rawhide-x86_64/06692282-setools/

For all our attempts to build setools with Python 3.13, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/setools/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.13:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/

Comment 1 Petr Lautrbach 2023-11-30 12:07:06 UTC
Last time, it was related to something in Cython - https://bugzilla.redhat.com/show_bug.cgi?id=2247027#c1 Given that it's still the cython generated code could it be the same case?

Comment 2 Miro Hrončok 2023-11-30 13:32:18 UTC
For the record, upgrading Cython to 3.0.6 does not change the error here.

Comment 3 Karolina Surma 2023-11-30 15:35:30 UTC
When I'm looking at the dependency changes in Koschei: https://koschei.fedoraproject.org/package/setools it doesn't seem straightforwardly connected to Cython. Maybe there were breaking changes in libsepol or libselinux that affect setools?

Comment 4 Petr Lautrbach 2023-12-04 13:58:26 UTC
it's not related to python 3.13 it fails also with 3.12 - https://koji.fedoraproject.org/koji/taskinfo?taskID=109893147