Предлагается добавить в Sisyphus пакет espeak-ng. Это актуальная активно разрабатывающаяся версия компактного мультиязычного синтезатора речи eSpeak. В настоящий момент в Sisyphus присутствует пакет espeak (https://packages.altlinux.org/ru/search/?branch=sisyphus&q=espeak), который также предустановлен в современных дистрибутивах ALT Linux и который является ключевым компонентом специальных возможностей (accessibility): именно с помощью eSpeak осуществляется речевой вывод при запуске программы экранного доступа (screen reader) Orca по команде Alt-Super-S. Пакет espeak устарел и с 2015 года более не развивается, остановившись на версии 1.48.04. С конца 2015 года активно развивающимся продолжением espeak является проект espeak-ng (next generation). Между espeak и espeak-ng накопился ряд различий, и современное программное обеспечение, использующее синтез речи, сейчас уже в большей степени ориентировано именно на espeak-ng, а не espeak. В том числе и то программное обеспечение, которое содержится в Sisyphus, так что сейчас внутри Sisyphus накопился ряд проблем совместимости старого пакета espeak и современных пакетов, использующих этот синтезатор речи. По выше названным причинам представляется важным добавить в Sisyphus актуальный пакет espeak-ng. Из-за использования espeak в предустановленной конфигурации ALT Linux важность задачи оценена как major. При этом желательно добавить espeak-ng отдельным пакетом, а не заменить им espeak. Оригинальный espeak есть смысл оставить для совместимости с какими-то старыми пакетами. Репозиторий espeak-ng расположен по адресу: https://github.com/espeak-ng/espeak-ng
*** Bug 47991 has been marked as a duplicate of this bug. ***
(Ответ для Nikita на комментарий #1) > При этом желательно добавить espeak-ng отдельным пакетом, а не заменить им > espeak. Оригинальный espeak есть смысл оставить для совместимости с > какими-то старыми пакетами. Если у вес есть информация о не совместимости, то сообщите. Если нет, не предлагайте мантейнерам, как надо упаковывать, пожалуйста. Достаточно просто заменить espeak. > современное программное обеспечение, использующее синтез речи, сейчас уже в большей степени ориентировано именно на espeak-ng, а не espeak Тем более.
(Ответ для Sergey V Turchin на комментарий #3) > Достаточно просто заменить espeak. Возможно вы и правы. Я не знаю, как в Sisyphus принято поступать в таких случаях. Например, под каким названием пакет в итоге будет фигурировать, потому что сейчас все уже привыкли искать именно espeak-ng, потому что в других репозиториях он обычно фигурирует именно под новым названием, а пакет espeak - это старый espeak 1.48.x. Что касается чисто технических аспектов совместимости, то совместимость по вызовам API из старого приложения/скрипта к espeak-ng вроде обеспечена. Проблемы совместимости возникают при обратной ситуации: вызов старого espeak из нового приложения/скрипта, например, кажется, что вот этот случай - https://bugzilla.altlinux.org/49740 Проблема с вызовом espeak-ng из старого приложения/скрипта может возникнуть только на уровне изменившихся путей к файлам, но это решается путём создания символьных ссылок. То есть надо просто проконтролировать, чтобы в сборке espeak-ng присутствовали эти символьные ссылки. В исходном репозитории они описаны.
*** Bug 49740 has been marked as a duplicate of this bug. ***
(Ответ для Nikita на комментарий #4) > Проблема с вызовом espeak-ng из старого приложения/скрипта может возникнуть > только на уровне изменившихся путей к файлам, но это решается путём создания > символьных ссылок. Да.
Пакет и его сборочная зависимость собранны и ждут опрува: https://git.altlinux.org/tasks/343079/
(Ответ для Artem Semenov на комментарий #7) > Пакет и его сборочная зависимость собранны и ждут опрува Замещать espeak пока не будем, правильно?
Думаю, пока не стоит... оригинальный espeak может быть в зависимостях других пакетов... По этому симлинки я убрал, чтобы на одной машине могли быть оба пакета. Когда всё надёжно на ng переведём, можно будет решить, что делать с оригинальным пакетом, оставить или прикопать по тихой грусти.
(Ответ для Artem Semenov на комментарий #7) > https://git.altlinux.org/tasks/343079/ Старые теги лицензий в новых пакетах не надо использовать. В зависимостях между подпакетами не надо указывать ничего кроме имени. Оно само. Библиотеки паковать в сообветствии с Shared Libs Policy. Как оно может фиксить какие-то CVE, если даже не установится ни в чью систему при обновлении?
Серёж, это же для системы отслеживания CVE, а не только для пользователя пометка. Если не написать Fixes, то пакет будет автоматически помечен, как уязвимый, разве не так?
(Ответ для manowar@altlinux.org на комментарий #11) > Серёж, это же для системы отслеживания CVE, а не только для пользователя > пометка. Если не написать Fixes, то пакет будет автоматически помечен, как > уязвимый, разве не так? Если в описании CVE есть информация о конкретных версиях, то всё отработает правильно. Я не посмотрел сами уязвимости, т.к. подумал, что они относятся к espeak, а не к espeak-ng. В конкретном случае с этим всё ок.
Я бы сделал пакет не lib%name-devel, а просто devel.
У devel-подпакета зависимость на %name или избыточная или в %name упаковано лишнее.
espeak-ng-1.51.1-alt1 -> sisyphus: * Tue Mar 19 2024 Artem Semenov <savoptik@altlinux> 1.51.1-alt1 - Initial build for ALT Sisyphus (ALT bug: 49726) + (fixes: CVE-2023-49990 CVE-2023-49991 CVE-2023-49992 CVE-2023-49993 CVE-2023-49994)