andrijapanicsb opened a new pull request, #13840:
URL: https://github.com/apache/cloudstack/pull/13840

   ### Description
   
   This is a packaging follow-up to #13482.
   
   #13482 changed Marvin's runtime contract to `mysql-connector-python >= 
8.4.0` after 8.0.31 caused smoke-test failures. The RPM specs were not updated 
with that change:
   
   - the Marvin `%post` script still explicitly installs 8.0.31 before 
installing Marvin;
   - the management package still installs 8.3.0 on its modern-Python path; and
   - that path is selected for Python 3.7 even though the modern connector 
requires Python 3.8 or newer.
   
   The mismatch does not require management and Marvin to be installed on the 
same machine. Each RPM should independently install a connector compatible with 
the software it contains.
   
   This PR updates both EL and SUSE RPM specs to:
   
   - install the exact 8.4.0 wheel for management on Python 3.8 or newer;
   - retain 8.0.31 for the legacy Python path;
   - correct the modern-Python guard from 3.7 to 3.8; and
   - preinstall exact 8.4.0 in the Marvin `%post` script, matching Marvin's 
declared lower bound.
   
   The same stale blocks are present in the current 4.23 RC branches and 
`main`. This PR targets `4.22` so the fix can follow the normal merge-forward 
path.
   
   ### Types of changes
   
   - [ ] Breaking change (fix or feature that would cause existing 
functionality to change)
   - [ ] New feature (non-breaking change which adds functionality)
   - [x] Bug fix (non-breaking change which fixes an issue)
   - [ ] Enhancement (improves an existing feature and functionality)
   - [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
   - [ ] Build/CI
   - [ ] Test (unit or integration test code)
   
   ### Feature/Enhancement Scale or Bug Severity
   
   #### Feature/Enhancement Scale
   
   - [ ] Major
   - [ ] Minor
   
   #### Bug Severity
   
   - [ ] BLOCKER
   - [ ] Critical
   - [ ] Major
   - [x] Minor
   - [ ] Trivial
   
   ### How Has This Been Tested?
   
   - Parsed both changed specs with native `rpmspec -P` on Oracle Linux 8.10.
   - Verified the official 8.4.0 universal wheel SHA-256 
(`35939c4ff28f395a5550bae67bafa4d1658ea72ea3206f457fff64a0fbec17e4`).
   - Installed and imported 8.0.31 on Python 3.6, then ran `pip check` 
successfully.
   - Installed and imported 8.4.0 on Python 3.12, verified its 
`Requires-Python: >=3.8` metadata, then ran `pip check` successfully.
   - Started from 9.4.0 in isolated environments and verified that both the 
management and Marvin installation forms replace it with exact 8.4.0, with 
successful imports and `pip check` afterward.
   - Verified that the EL and SUSE connector blocks remain identical and that 
Marvin's declared requirement is still `>= 8.4.0`.
   
   An upstream multi-distribution package build will also be requested on this 
PR.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to