Внести исправление в дистрибутив (репозитория Sisyphus), чтобы функция "platform.linux_distribution()" из python3 возвращала "altlinux" вместо "fedora". К сведению: функция "platform.linux_distribution()" из python возвращает "altlinux".
На правильный пакет. У меня на 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')