Bug 40116

Summary: Адаптировать rpm-build-python3 к сборке python3.10
Product: Sisyphus Reporter: Grigory Ustinov <grenka>
Component: rpm-build-python3Assignee: Grigory Ustinov <grenka>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: darktemplar, george, glebfm, imz, kotopesutility, kotopesutility, lav, ldv, slev, vitty
Version: unstable   
Hardware: all   
OS: Linux   

Description Grigory Ustinov 2021-05-28 15:53:19 MSK
Removed the parser module, which was deprecated in 3.9 due to the switch to the new PEG parser, as well as all the C source and header files that were only being used by the old parser, including node.h, parser.h, graminit.h and grammar.h.

(https://github.com/python/cpython/blob/main/Doc/whatsnew/3.10.rst)

По-русски говоря, это блокер для обновления python3 до 3.10. Сборка, очевидно, заканчивается вот так:

find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services,tcl)
Traceback (most recent call last):
  File "/usr/lib/rpm/python3.req.py", line 6, in <module>
    import parser, symbol, token, types
ModuleNotFoundError: No module named 'parser'
find-requires: ERROR: /usr/lib/rpm/python3.req failed
error: /bin/sh failed
error: Failed to find Requires
Comment 1 Fr. Br. George 2021-06-30 09:33:13 MSK
Если grep не ошибается, parser используется единожды, и для какой-то слегка побочной цели. Сейчас попробую пофиксить.
Comment 2 Fr. Br. George 2021-06-30 09:42:20 MSK
«Ой, нет, совсем не прямо!» ©Alice
Но всё равно попробую
Comment 3 Grigory Ustinov 2021-06-30 09:43:43 MSK
(Ответ для Fr. Br. George на комментарий #1)
> Если grep не ошибается, parser используется единожды, и для какой-то слегка
> побочной цели. Сейчас попробую пофиксить.

Зато symbol используется несколько раз.
Comment 4 kotopesutility 2021-11-23 00:58:21 MSK
Я переписал python3.req.py, избежав использование модулей parser и symbol, используя ast. Я все довольно подробно описал в своем письме: https://lists.altlinux.org/pipermail/devel/2021-November/215681.html.
Пересборка icarus прошла успешно, за исключением ряда пакетов, которые вряд ли живые, но при необходимости я же их и пересоберу (см. задание 288864). 
Задание для sisyphus уже собрано (см. 290420), поэтому, наверное, можно считать проблему решенной.
Comment 5 Grigory Ustinov 2021-11-23 11:39:44 MSK
Круто, спасибо большое, Данила!