Bug 49726

Summary: Добавить пакет espeak-ng
Product: New/proposed packages Reporter: Nikita <tseikovets>
Component: Обычный репозиторийAssignee: Artem Semenov <savoptik>
Status: CLOSED FIXED QA Contact: manowar <manowar>
Severity: major    
Priority: P5 CC: manowar, savoptik, viy, zerg
Version: не указана   
Hardware: all   
OS: Linux   
URL: https://github.com/espeak-ng/espeak-ng
Bug Depends on:    
Bug Blocks: 46625    

Description Nikita 2024-03-19 00:27:49 MSK

    
Comment 1 Nikita 2024-03-19 00:40:12 MSK
Предлагается добавить в 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
Comment 2 manowar@altlinux.org 2024-03-19 12:17:12 MSK
*** Bug 47991 has been marked as a duplicate of this bug. ***
Comment 3 Sergey V Turchin 2024-03-19 13:34:19 MSK
(Ответ для Nikita на комментарий #1)
> При этом желательно добавить espeak-ng отдельным пакетом, а не заменить им
> espeak. Оригинальный espeak есть смысл оставить для совместимости с
> какими-то старыми пакетами.
Если у вес есть информация о не совместимости, то сообщите.
Если нет, не предлагайте мантейнерам, как надо упаковывать, пожалуйста.
Достаточно просто заменить espeak.

> современное программное обеспечение, использующее синтез речи, сейчас уже в большей степени ориентировано именно на espeak-ng, а не espeak
Тем более.
Comment 4 Nikita 2024-03-20 00:41:43 MSK
(Ответ для 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 присутствовали эти символьные ссылки. В исходном репозитории они описаны.
Comment 5 Sergey V Turchin 2024-03-20 10:56:42 MSK
*** Bug 49740 has been marked as a duplicate of this bug. ***
Comment 6 Sergey V Turchin 2024-03-20 10:57:07 MSK
(Ответ для Nikita на комментарий #4)
> Проблема с вызовом espeak-ng из старого приложения/скрипта может возникнуть
> только на уровне изменившихся путей к файлам, но это решается путём создания
> символьных ссылок.
Да.
Comment 7 Artem Semenov 2024-03-21 17:45:54 MSK
Пакет и его сборочная зависимость собранны и ждут опрува: https://git.altlinux.org/tasks/343079/
Comment 8 Sergey V Turchin 2024-03-21 18:17:09 MSK
(Ответ для Artem Semenov на комментарий #7)
> Пакет и его сборочная зависимость собранны и ждут опрува
Замещать espeak пока не будем, правильно?
Comment 9 Artem Semenov 2024-03-21 18:45:44 MSK
Думаю, пока не стоит... оригинальный espeak может быть в зависимостях других пакетов... По этому симлинки я убрал, чтобы на одной машине могли быть оба пакета.
Когда всё надёжно на ng переведём, можно будет решить, что делать с оригинальным пакетом, оставить или прикопать по тихой грусти.
Comment 10 Sergey V Turchin 2024-03-21 19:22:10 MSK
(Ответ для Artem Semenov на комментарий #7)
> https://git.altlinux.org/tasks/343079/
Старые теги лицензий в новых пакетах не надо использовать.
В зависимостях между подпакетами не надо указывать ничего кроме имени. Оно само.
Библиотеки паковать в сообветствии с Shared Libs Policy.
Как оно может фиксить какие-то CVE, если даже не установится ни в чью систему при обновлении?
Comment 11 manowar@altlinux.org 2024-03-22 16:05:10 MSK
Серёж, это же для системы отслеживания CVE, а не только для пользователя пометка. Если не написать Fixes, то пакет будет автоматически помечен, как уязвимый, разве не так?
Comment 12 Sergey V Turchin 2024-03-25 11:01:02 MSK
(Ответ для manowar@altlinux.org на комментарий #11)
> Серёж, это же для системы отслеживания CVE, а не только для пользователя
> пометка. Если не написать Fixes, то пакет будет автоматически помечен, как
> уязвимый, разве не так?
Если в описании CVE есть информация о конкретных версиях, то всё отработает правильно.

Я не посмотрел сами уязвимости, т.к. подумал, что они относятся к espeak, а не к espeak-ng. В конкретном случае с этим всё ок.
Comment 13 Sergey V Turchin 2024-04-02 14:32:38 MSK
Я бы сделал пакет не lib%name-devel, а просто devel.
Comment 14 Sergey V Turchin 2024-04-02 14:34:04 MSK
У devel-подпакета зависимость на %name или избыточная или в %name упаковано лишнее.
Comment 15 Repository Robot 2024-04-02 15:17:47 MSK
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)