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
Предлагается добавить в 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) |