Summary: | Функция "platform.linux_distribution()" из python3 возвращает "fedora" вместо "altlinux". | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | bliser <bliser> | ||||
Component: | python3 | Assignee: | darktemplar <darktemplar> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P3 | CC: | andre.linteam, antohami, cas, george, glebfm, grenka, imz, mrdrew, rider, snejok, vitty, zerg | ||||
Version: | unstable | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
URL: | https://forum.altlinux.org/index.php?topic=40708.msg322505#msg322505 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 34266 | ||||||
Attachments: |
|
Description
bliser
2018-01-06 01:56:50 MSK
На правильный пакет. У меня на Sisyphus не воспроизводится: c253 ~ # python3 Python 3.5.1 (default, Sep 4 2017, 09:48:01) [GCC 6.3.1 20170118 (ALT 6.3.1-alt2)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import platform >>> platform.linux_distribution() ('BaseALT ', '8.0', '') >>> # rpm -qf /etc/redhat-release
branding-basealt-server-release-8.0-alt0.8.M80P.1.noarch
На образе с брендингом Regular:
>>> platform.linux_distribution()
('fedora', 'ALT', 'Sisyphus')
Тоже страдаем из-за разлома брендингов: https://bugzilla.altlinux.org/show_bug.cgi?id=34266#c10 Я не знаю, кому вообще (каким клиентам python3 или внутренностям) эти значения важны, на что влияют? Что тут правильно исправить -- есть ли идеи? Добавил ещё в Cc: готовивших последние релизы пакета python3 :) (In reply to comment #4) > Добавил ещё в Cc: готовивших последние релизы пакета python3 :) Спасибо за обновления antohami@ и darktemplar@! Но там какое-то заметное количество патчей поотключали (насколько я помню из git), а объяснений, почему они не нужны, я не видел или пропустил. (Это немного offtopic, просто вдруг поведение в этом вопросе тоже было затронуто.) Да, и ведь последний релиз пакета -- это не версия 3.5.1, а 3.5.4. С ней то же самое воспризводится? (In reply to comment #5) > (In reply to comment #4) > > Спасибо за обновления antohami@ и darktemplar@! Но там какое-то заметное > количество патчей поотключали (насколько я помню из git), а объяснений, почему > они не нужны, я не видел или пропустил. Мной были отключены: 00184-ctypes-should-build-with-libffi-multilib-wrapper.patch 00207-math-once.patch python-3.5.1-glibc-2.25-getentropy.patch python-3.5.1-upstream-expat-compat.patch так как они содержатся уже в версии 3.5.4 Проверил, установленную регулярку, у которой python 3.5.1 ещё, очень давно не обновлял: platform.linux_distribution() ('fedora', 'ALT', 'Sisyphus') (In reply to comment #4) > Я не знаю, кому вообще (каким клиентам python3 или внутренностям) эти значения > важны, на что влияют? К примеру Cura при запуске проверяла на каком она дистрибутиве и принимала решение о запуске некоторой обработки (костыля). Подробнее: https://forum.altlinux.org/index.php?topic=40708.msg322505#msg322505 (In reply to comment #4) > ... Что тут правильно исправить -- есть ли идеи? Есть, например: Если в файл "/usr/lib64/python3.5/platform.py" внести в конец перечисления <, 'altlinux'>, получим следующее: _supported_dists = ( 'SuSE', 'debian', 'fedora', 'redhat', 'centos', 'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo', 'UnitedLinux', 'turbolinux', 'arch', 'mageia', 'altlinux') В результате: python3 -c 'import platform; print (platform.linux_distribution())' возвращает: ('altlinux', 'ALT', 'Linux') А без исправления - результат: ('fedora', 'ALT', 'Linux') К сведению: $ python3 Python 3.5.4 (default, Dec 27 2017, 10:44:11) [GCC 6.3.1 20170118 (ALT 6.3.1-alt2)] on linux Может кто пояснит - зачем в /etc/ лежат ссылки: fedora-release, redhat-release? Может их можно удалить? Created attachment 7515 [details]
platform os-release patch
Пофиксил. Но поскольку не нахожусь в acl пакета, не могу залить. http://git.altlinux.org/tasks/205194/logs/events.3.1.log На python3 и на ментейнера На более правильного ментейнера python3-3.6.4-alt2 -> sisyphus: Tue May 08 2018 Andrey Bychkov <mrdrew@altlinux> 3.6.4-alt2 - Fixed incorrect detection of information of some distributions (Closes: #34421) Подтверждаю исправление: python -c 'import platform; print platform.linux_distribution()' возвращает: ('altlinux', 'ALT', 'Sisyphus') python3 -c 'import platform; print (platform.linux_distribution())' возвращает: ('"Sisyphus"', '20170925', 'altlinux') |