Bug 40884 - Не паковать необходимую для сборки библиотеку в devel-static
Summary: Не паковать необходимую для сборки библиотеку в devel-static
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: qt5-tools-devel-static (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-08 23:32 MSK by Vitaly Lipatov
Modified: 2021-09-11 17:00 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2021-09-08 23:32:38 MSK
$ rpm -ql qt5-tools-devel | grep 5UiTools
/usr/lib64/cmake/Qt5UiTools
/usr/lib64/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake
/usr/lib64/cmake/Qt5UiTools/Qt5UiToolsConfigVersion.cmake
/usr/lib64/libQt5UiTools.prl
/usr/share/qt5/lib/libQt5UiTools.prl

 $ rpm -ql qt5-tools-devel-static
/usr/lib64/libQt5UiTools.a
/usr/lib64/pkgconfig/Qt5UiTools.pc
/usr/share/qt5/lib/libQt5UiTools.a

Паковать статические библиотеки в отдельный пакет нужно только, если эти библиотеки являются альтернативной динамическим. Если же иного способа сборки нет, выносить такую библиотеку в отдельный пакет не нужно.

Пакет qt5-tools-devel-static не должен существовать — его содержимое нужно перенести в qt5-tools-devel (видимо, добавив provides для совместимости). Существующее разделение пакета вызывает непонимание у разработчиков и проблемы у пользователей (пакет уносится в факультативный репозиторий static, хотя необходим всем, кто собирается с этой библиотекой).

https://www.altlinux.org/Shared_Libs_Policy
Comment 1 Sergey V Turchin 2021-09-09 10:30:11 MSK
А конкретно этот пакет под вопросом. Например, Qt4 патчили, чтоб она была динамической.

> непонимание у разработчиков и проблемы у пользователей
Каких ещё пользователей?

> факультативный репозиторий static
Что это такое?

> https://www.altlinux.org/Shared_Libs_Policy
Не вижу там ничего об этом.

P.S.
В Fedora отдельный пакет.
https://src.fedoraproject.org/rpms/qt5-qttools/blob/rawhide/f/qt5-qttools.spec#_463
Comment 2 Vitaly Lipatov 2021-09-09 18:47:15 MSK
(Ответ для Sergey V Turchin на комментарий #1)
> А конкретно этот пакет под вопросом. Например, Qt4 патчили, чтоб она была
> динамической.
Это не имеет значения в данной баге.
 
> > непонимание у разработчиков и проблемы у пользователей
> Каких ещё пользователей?
У дистрибутивов бывают пользователи, и эти пользователи иногда компилируют программы на Qt.
 
> > факультативный репозиторий static
> Что это такое?
Это когда для того, чтобы установить пакеты devel-static, нужно в репозитории добавить компоненту static, в дополнение к classic.
А эта компонента только для тех, у кого есть какой-то особый интерес собираться статически.

> 
> > https://www.altlinux.org/Shared_Libs_Policy
> Не вижу там ничего об этом.
«Статические библиотеки, собираемые в дополнение к динамическим, должны быть выделены в отдельный пакет lib%name-devel-static или lib%name%abiversion-devel-static (сооветственно стилю -devel-пакета). Если же собирается только статическая библиотека, без динамической, то пакет должен называться -devel.»

> P.S.
> В Fedora отдельный пакет.
> https://src.fedoraproject.org/rpms/qt5-qttools/blob/rawhide/f/qt5-qttools.
> spec#_463
Нужно танцевать от сути.

Какой смысл паковать эту библиотеку в отдельный пакет devel-static? Его нет, пока нет возможности собраться с этой библиотекой иначе.
Comment 3 Sergey V Turchin 2021-09-10 12:40:47 MSK
(Ответ для Vitaly Lipatov на комментарий #2)
> > А конкретно этот пакет под вопросом. Например, Qt4 патчили, чтоб она была
> > динамической.
> Это не имеет значения в данной баге.
Если бы не имело, я бы не писал, причём 1-й строкой. речь об аналогичной библиотеке в Qt4.

> > > факультативный репозиторий static
> > Что это такое?
> Это когда для того, чтобы установить пакеты devel-static, нужно в
> репозитории добавить компоненту static, в дополнение к classic.
Пусть подключат репозиторий devel, в котором есть static-пакеты.

> Какой смысл паковать эту библиотеку в отдельный пакет devel-static? Его нет,
> пока нет возможности собраться с этой библиотекой иначе.
Не все собираются с этой библиотекой.
Comment 4 Sergey V Turchin 2021-09-10 12:45:00 MSK
(Ответ для Vitaly Lipatov на комментарий #2)
> Если же собирается только статическая библиотека,
> без динамической, то пакет
Да, согласен. Я как-то упускал это раньше.

Но, это не отменяет следующее:
"А конкретно этот пакет под вопросом. Например, Qt4 патчили, чтоб она была динамической."
Comment 5 Sergey V Turchin 2021-09-10 12:51:06 MSK
Да. Пожалуй, перенесу в devel.
Comment 6 Repository Robot 2021-09-10 15:55:46 MSK
qt5-tools-5.15.2-alt4 -> sisyphus:

 Fri Sep 10 2021 Sergey V Turchin <zerg@altlinux> 5.15.2-alt4
 - move static libs to devel subpackage (closes: 40884)
 - disable LTO
Comment 7 Vitaly Lipatov 2021-09-11 17:00:04 MSK
(Ответ для Sergey V Turchin на комментарий #4)
> (Ответ для Vitaly Lipatov на комментарий #2)
> > Если же собирается только статическая библиотека,
> > без динамической, то пакет
> Да, согласен. Я как-то упускал это раньше.
> 
> Но, это не отменяет следующее:
> "А конкретно этот пакет под вопросом. Например, Qt4 патчили, чтоб она была
> динамической."
Видимо, есть какая-то идея, почему они её оставляют статической? Она осталась неизвестной?
Но это всё уже на ваше усмотрение...


(Ответ для Sergey V Turchin на комментарий #1)
> В Fedora отдельный пакет.
> https://src.fedoraproject.org/rpms/qt5-qttools/blob/rawhide/f/qt5-qttools.
> spec#_463


Кстати, в Ubuntu в общем пакете:
 # dpkg -L qttools5-dev
...
/usr/lib/x86_64-linux-gnu/libQt5UiTools.a
/usr/lib/x86_64-linux-gnu/libQt5UiTools.prl
/usr/lib/x86_64-linux-gnu/pkgconfig/Qt5UiTools.pc


(Ответ для Sergey V Turchin на комментарий #5)
> Да. Пожалуй, перенесу в devel.
Спасибо большое!