Bug 43335 - Собрать mediawiki с php8.0 вместо php7
Summary: Собрать mediawiki с php8.0 вместо php7
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: mediawiki (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-25 13:42 MSK by Антон Мидюков
Modified: 2022-12-18 16:55 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2022-07-25 13:42:05 MSK
Так как php7, начиная с версии 7.4.30-alt2, нельзя установить при установке дистрибутива, то mediawiki нужно перевести на более новую версию php.
Ошибка также актуальна для p10 и блокирует выпуск дистрибутива Альт Сервер 10.1 (невозможно выбрать группу "Сервер mediawiki".
Comment 1 Andrey Cherepanov 2022-07-25 15:30:12 MSK
Официально не поддерживается: https://www.mediawiki.org/wiki/Compatibility
Comment 2 Anton Farygin 2022-07-25 19:12:12 MSK
https://phabricator.wikimedia.org/T248925

Но авторы знают про EOL у php 7.4 и работают над поддержкой версии 8
Comment 3 Evgeny Sinelnikov 2022-08-30 06:02:04 MSK
В Федоре собрана более новая версия - предлагаю проверить более новую версию:
https://www.mediawiki.org/wiki/Special:MyLanguage/Release_notes/1.38
Comment 4 Andrey Cherepanov 2022-08-30 06:54:43 MSK
Для совместимости с Moodle и Nextcloud, собранных с PHP 8.0, меняю аннотацию.
Comment 5 Vitaly Lipatov 2022-08-31 00:55:24 MSK
(Ответ для Andrey Cherepanov на комментарий #4)
> Для совместимости с Moodle и Nextcloud, собранных с PHP 8.0, меняю аннотацию.
Я правильно понимаю, что для p10 принято решение перевести всё на 8.0 вместо уходящего 7.4?
Comment 6 Evgeny Sinelnikov 2022-08-31 01:51:08 MSK
(Ответ для Vitaly Lipatov на комментарий #5)
> Я правильно понимаю, что для p10 принято решение перевести всё на 8.0 вместо
> уходящего 7.4?

Да, всё правильно. Хотя речь, скорее не о p10, а о релизах 10.1 на p10.

Старый пакет mediawiki, наверное, можно переименовать и оставить на php7 при обновлениях 10.0. Хотя непонятно насколько тут разумно держать два пакета под разные php.
Comment 7 Anton Farygin 2022-08-31 11:02:07 MSK
Надо выработать единый подход у сборке php приложений.
Варианта три:
1) не собирать в rpm пакет, а собирать в докер образ - самый оптимальный
2) при сборке не ставить зависимость на пакеты php, при этом описывать в readme установку дополнительных пакетов.
3) во всех пакетах php добавить provides без версии, а в пакетах ставить requiers - тогда у пользователей будут проблемы с установкой, т.к. будет вытягиваться произвольная версия php, а не та, с которой работает

Так как сейчас - плохо тем, что на одном хосте не получится под apache держать приложение, использующие разные версии php
Comment 8 Anton Farygin 2022-12-17 14:10:23 MSK
MediaWiki 1.39 is the current long-term support release of MediaWiki.
с поддержкой php 8
Comment 9 Vitaly Lipatov 2022-12-18 01:49:31 MSK
(Ответ для Anton Farygin на комментарий #7)
> Надо выработать единый подход у сборке php приложений.
> Варианта три:
> 1) не собирать в rpm пакет, а собирать в докер образ - самый оптимальный
> 2) при сборке не ставить зависимость на пакеты php, при этом описывать в
> readme установку дополнительных пакетов.
> 3) во всех пакетах php добавить provides без версии, а в пакетах ставить
> requiers - тогда у пользователей будут проблемы с установкой, т.к. будет
> вытягиваться произвольная версия php, а не та, с которой работает
> 
> Так как сейчас - плохо тем, что на одном хосте не получится под apache
> держать приложение, использующие разные версии php

1) Кому надо, так и делают
2) Ну ещё можно иметь мета-пакеты с зависимостями на разные версии php. Ну и да, всё равно поднять php-проект просто установкой пакета вряд ли получится, нужна настройка.
3) Тоже вариант. Просто пользователь должен будет выбрать версию php заранее. Как и сейчас он должен выбрать, например, для Apache ITK или prefork для mod_php.

Так вроде есть provides без версии?
 $ rpm -q --provides php7
php-engine = 7.4.33-alt1
php = 7.4.33-alt1
/usr/bin/phar = 74330
/usr/bin/php = 74330

А ещё можно перестать паковать разные версии php. Это значительно всё упрощает, в том числе и не надо с зависимостями задумываться. Достаточно вспомнить, сколько лет схема сборки php с версионированием каталога для конфига отравляла жизнь, переключая конфиг на дефолтный при обновлении каждой минорной версии.

Мне кажется, что php разных версий, особенно на одном хосте, придуманы ещё во времена, когда не изобрели контейнеры.
Comment 10 Vitaly Lipatov 2022-12-18 12:52:15 MSK
(Ответ для Anton Farygin на комментарий #8)
> MediaWiki 1.39 is the current long-term support release of MediaWiki.
> с поддержкой php 8

1.39.0-alt1 в Сизифе.
Мета-пакет mediawiki будет ставить всё с использованием php8.0
Comment 11 Anton Farygin 2022-12-18 16:55:30 MSK
Отлично. Ещё было бы неплохо убрать подпакет для php7.
https://packages.altlinux.org/ru/sisyphus/binary/mediawiki-php7/noarch/2883331478045613820

Т.к. php7 в планах удалить из репозитория.

И я примерно по такой же схеме собрал jpgraph