Bug 40116 - Адаптировать rpm-build-python3 к сборке python3.10
Summary: Адаптировать rpm-build-python3 к сборке python3.10
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build-python3 (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-28 15:53 MSK by Grigory Ustinov
Modified: 2021-11-23 11:39 MSK (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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
Круто, спасибо большое, Данила!