[devel] Об упаковке статических библиотек
    Vitaly Lipatov 
    lav на altlinux.ru
       
    Ср Сен  8 14:40:42 MSK 2021
    
    
  
У нас существует некоторое недопонимание в упаковке статических 
библиотек. Некоторые понимают правило буквально, и обязательно кладут 
статические библиотеки в подпакеты devel-static
Например, это выглядит так:
«В Альте статические библиотеки пакуются в отдельные пакеты с суффиксом 
-static:»
https://www.altlinux.org/Shared_Libs_Policy
Или так:
  $ 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. Существующее разделение 
пакета вызывает непонимание у разработчиков и проблемы у пользователей.
На всякий случай процитирую из policy:
«Статические библиотеки, собираемые в дополнение к динамическим, должны 
быть выделены в отдельный пакет lib%name-devel-static или 
lib%name%abiversion-devel-static (сооветственно стилю -devel-пакета). 
Если же собирается только статическая библиотека, без динамической, то 
пакет должен называться -devel.»
https://www.altlinux.org/Shared_Libs_Policy
-- 
С уважением,
Виталий Липатов,
ALT Linux Team
    
    
Подробная информация о списке рассылки Devel