Debian Patches
Status for nordugrid-arc/7.1.1-2
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 0001-Handle-Python-multi-phase-initialization-support-in-.patch | [PATCH] Handle Python multi-phase initialization support in swig-4.4.0 Fixes problem reported in https://github.com/swig/swig/issues/3266. Fix is implemented to support original Python single-phase module initialization that swig-4.3.1 and earlier generated as well as the new multi-phase module initialization that swig-4.0.0 generates. Arc subverts the normal module initialization by manually initializing other modules (common, loader message, communication, etc), during the initialization of arc. These other modules are also generated by SWIG for multi-phase initialization by the Python interpreter. The manual initialization by arc breaks and is worked around by implementing the 'legacy initialization' approach documented in PEP-489 https://peps.python.org/pep-0489/. This is not really standard as the legacy single-phase initialization is implemented even though SWIG has already started the multi-phase initialization. This is achieved by setting m_slots in PyModuleDef to NULL and manually calling the Py_mod_exec function in the slot to complete the second phase of the initialization. While this might work for now, a future proof approach would be for each of the modules to be initialized by the Python interpreter in the standard way by using proper sub-modules under a top level arc module/package. |
William S Fulton <wsf@fultondesigns.co.uk> | no | 2025-10-19 |
