commit: 0f653bace964789f1dd47f38088670b7dc2e8bf1 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Fri Jul 15 09:21:17 2022 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Fri Jul 15 09:36:18 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f653bac
dev-lang/python: Report ABI breakage in postinst Python 3.11.0b4 has changed module ABI, so warn the users about the necessity of module recompiling. Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-lang/python/python-3.11.0_beta4-r2.ebuild | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dev-lang/python/python-3.11.0_beta4-r2.ebuild b/dev-lang/python/python-3.11.0_beta4-r2.ebuild index 4681473655c9..aab4bbbdc169 100644 --- a/dev-lang/python/python-3.11.0_beta4-r2.ebuild +++ b/dev-lang/python/python-3.11.0_beta4-r2.ebuild @@ -457,3 +457,19 @@ src_install() { "${scriptdir}/idle" || die fi } + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +}