Bug 57434 - [gnome builder] Зависимость на devhelp больше он нужна
Summary: [gnome builder] Зависимость на devhelp больше он нужна
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gnome-builder (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-06 01:41 MSK by Semen Fomchenkov
Modified: 2026-01-23 13:57 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Semen Fomchenkov 2026-01-06 01:41:27 MSK
В 2022 году плагин devhelp оторвали от GNOME Builder https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/f3e88c279fac642889641e2abdde023ef7615295
Теперь, вместо него существует плагин Manuals, который использует для своей работы одноимённый пакет, и зависимость нужна на него https://devsuite.app/manuals/
Comment 1 Yuri N. Sedunov 2026-01-06 13:16:04 MSK
Надо обновить manuals.
Comment 2 Semen Fomchenkov 2026-01-06 22:16:32 MSK
(Ответ для Yuri N. Sedunov на комментарий #1)
> Надо обновить manuals.

Обновил: https://packages.altlinux.org/ru/tasks/404525/
Comment 3 Yuri N. Sedunov 2026-01-06 23:34:22 MSK
(Ответ для Semen Fomchenkov на комментарий #2)
> (Ответ для Yuri N. Sedunov на комментарий #1)
> > Надо обновить manuals.
> 
> Обновил: https://packages.altlinux.org/ru/tasks/404525/

$ manuals 

(manuals:1411924): GLib-GIO-ERROR **: 23:33:37.292: Settings schema 'app.devsuite.foundry' is not installed
Ловушка трассировки/останова
Comment 4 Semen Fomchenkov 2026-01-07 11:40:14 MSK
(Ответ для Yuri N. Sedunov на комментарий #3)
> (Ответ для Semen Fomchenkov на комментарий #2)
> > (Ответ для Yuri N. Sedunov на комментарий #1)
> > > Надо обновить manuals.
> > 
> > Обновил: https://packages.altlinux.org/ru/tasks/404525/
> 
> $ manuals 
> 
> (manuals:1411924): GLib-GIO-ERROR **: 23:33:37.292: Settings schema
> 'app.devsuite.foundry' is not installed
> Ловушка трассировки/останова

Думаю ошибка в упаковке foundry, почему-то схема glib лежит в CLI утилите, хотя её использует библиотека, и логично было бы CLI утилите поставить зависимость на библиотеку. Буду обсуждать с сопровождающим foundry исправление.
Comment 5 Alexey Volkov 2026-01-16 18:58:34 MSK
(In reply to Semen Fomchenkov from comment #4)
> Думаю ошибка в упаковке foundry, почему-то схема glib лежит в CLI утилите,
> хотя её использует библиотека, и логично было бы CLI утилите поставить
> зависимость на библиотеку. Буду обсуждать с сопровождающим foundry
> исправление.

Исправил: https://packages.altlinux.org/tasks/405214
Comment 6 Yuri N. Sedunov 2026-01-16 19:07:50 MSK
(Ответ для Alexey Volkov на комментарий #5)
> (In reply to Semen Fomchenkov from comment #4)
> > Думаю ошибка в упаковке foundry, почему-то схема glib лежит в CLI утилите,
> > хотя её использует библиотека, и логично было бы CLI утилите поставить
> > зависимость на библиотеку. Буду обсуждать с сопровождающим foundry
> > исправление.
> 
> Исправил: https://packages.altlinux.org/tasks/405214

То есть теперь %_datadir/glib-2.0/schemas/
принадлежит не только libgio, но и libfoundry

Отличная работа мантейнера и его ментора.
Comment 7 Anton Zhukharev 2026-01-16 20:50:42 MSK
(In reply to Yuri N. Sedunov from comment #6)
> (Ответ для Alexey Volkov на комментарий #5)
> > (In reply to Semen Fomchenkov from comment #4)
> > > Думаю ошибка в упаковке foundry, почему-то схема glib лежит в CLI утилите,
> > > хотя её использует библиотека, и логично было бы CLI утилите поставить
> > > зависимость на библиотеку. Буду обсуждать с сопровождающим foundry
> > > исправление.
> > 
> > Исправил: https://packages.altlinux.org/tasks/405214
> 
> То есть теперь %_datadir/glib-2.0/schemas/
> принадлежит не только libgio, но и libfoundry
> 
> Отличная работа мантейнера и его ментора.
Тут ошибка (к счастью, некритичная), а не отличная работа.

Алексей, не забудь поправить.
Comment 8 Yuri N. Sedunov 2026-01-16 20:57:25 MSK
И это тоже.

%dir %_datadir/bash-completion
%dir %_datadir/bash-completion/completions
%_datadir/bash-completion/completions/%name
Comment 9 Alexey Volkov 2026-01-21 10:33:37 MSK
(In reply to Yuri N. Sedunov from comment #6)
> То есть теперь %_datadir/glib-2.0/schemas/
> принадлежит не только libgio, но и libfoundry

(In reply to Yuri N. Sedunov from comment #8)
> %dir %_datadir/bash-completion
> %dir %_datadir/bash-completion/completions
> %_datadir/bash-completion/completions/%name

И это исправил: https://packages.altlinux.org/en/tasks/405642/
Comment 10 Yuri N. Sedunov 2026-01-21 10:51:26 MSK
А зачем вы так искалечили имя библиотеки? Эта галиматья из цифр в конце, она зачем в libfoundry-1_1. Вы видели эту чушь в именах гномовских библиотек? Кого вы хотите запутать?
Comment 11 Alexey Volkov 2026-01-21 11:46:54 MSK
(In reply to Yuri N. Sedunov from comment #10)
> А зачем вы так искалечили имя библиотеки? Эта галиматья из цифр в конце, она
> зачем в libfoundry-1_1. Вы видели эту чушь в именах гномовских библиотек?
> Кого вы хотите запутать?

В meson.build foundry не используется soversion или soname, там устанавливается api_version, который используется как version в сборке библиотеки.

meson.build:
...
foundry_shared = library('foundry-@0@'.format(api_version),
           dependencies: foundry_deps + [foundry_static_dep],
                 c_args: foundry_c_args,
                install: true,
  gnu_symbol_visibility: 'hidden',
                version: '@0@.0.0'.format(api_version),
        darwin_versions: '@0@.0'.format(api_version.to_int() + 1),
)
...

Поэтому было принято решение "склеить" soversion и api_version.

Но я сейчас перечитал документацию meson:
soversion: A string or integer specifying the soversion of this shared library, such as 0. On Linux and Windows this is used to set the soversion (or equivalent) in the filename. For example, if soversion is 4, a Windows DLL will be called foo-4.dll and one of the aliases of the Linux shared library would be libfoo.so.4. If this is not specified, the first part of version is used instead (see below). For example, if version is 3.6.0 and soversion is not defined, it is set to 3.

Так что в этом случае api_version это soversion, буду исправлять.
Comment 12 Yuri N. Sedunov 2026-01-21 11:54:30 MSK
Руководствуйтесь здравым смыслом.
Не нужны цифры в имени подпакета с библиотекой, никакие.
Comment 13 Anton Zhukharev 2026-01-23 13:42:11 MSK
(In reply to Yuri N. Sedunov from comment #12)
> Руководствуйтесь здравым смыслом.
> Не нужны цифры в имени подпакета с библиотекой, никакие.

Название библиотеки - libfoundry-1, и если применить Shared Libs Policy, то, в соответствии с:

https://www.altlinux.org/Shared_Libs_Policy#%D0%A3%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA_(runtime_%D1%87%D0%B0%D1%81%D1%82%D1%8C)
* Название пакета: libfoo%abiversion
* Если имя библиотеки заканчивается на цифру, то используется подчёркивание: libfoo_%abiversion

небходимо еще добавить и _1. Но так как в этом проекте major_version == abi version == api version, то я предлагаю оставить только одну цифру, чтобы получилось libfoundry1. Вот в этом здравый смысл.
А если делать не зная это факта, то выходит libfoundry-1_1.

Совсем убрать цифры - нарушить Shared Libs Policy.
Прошу обратить внимание, что в этой политике не указана экосистема GNOME как исключения и тоже подпадает под политику.
Comment 14 Yuri N. Sedunov 2026-01-23 13:57:55 MSK
Здравый смысл состоит в том, чтобы не применять Shared Libs Policy без особой нужды. В случае libfoundry такой нужды нет, и вряд ли будет, как и в подавляющем большинстве случаев упаковки библиотек.