LSB SDK

LSB Software Development Kit (SDK) — инструментарий, основанный на использовании для компиляции и компоновки приложений специальных заголовочных файлов и библиотек. Заголовочные файлы и библиотеки SDK гарантируют отсутствие среди зависимостей получаемой программы непереносимых интерфейсов, которые либо отсутствуют во многих системах, либо имеют в них различную функциональность.

Основной целью LSB SDK является помощь в разработке приложений, отвечающих требованиям стандарта Linux Standard Base. SDK позволяет собирать приложения, отвечающие требованиям любой версии стандарта, начиная с 3.0. Кроме того, инструментарий может быть использован при создании приложений для устаревших дистрибутивов в случаях, когда инструментарий системы, в которой производится сборка, привносит в собираемое приложение зависимости, отсутствующие в более старых системах (например, слишком новые версии символов или новые типы секций ELF-файлов).

LSB SDK включает три основных компонента:

  • заголовочные файлы;
  • библиотеки-заглушки;
  • обертки для компиляторов C и C++ (lsbcc и lsbc++ соответственно).

Заголовочные файлы LSB SDK содержат декларации только тех функций, которые включены в одну из версий стандарта LSB. Доступность деклараций зависит от значения константы __LSB_VERSION__, содержащей версию LSB, в соответствии с которой производится сборка. Kонстанта определяется lsbcc/lsbc++ на основе соответствующих опций и переменных среды.
В заголовочных файлах также определяются все необходимые для использования функций типы данных, константы и макроопределения, которые не приводят к появлению зависимостей от нестандартизованных функций.

Библиотеки-заглушки экспортируют только бинарные символы, включенные в стандарт. Для каждой версии стандарта SDK содержит отдельный набор библиотек-заглушек.

В процессе своей работы lsbcc и lsbc++ вызывают системный компилятор с опциями, позволяющими создавать бинарные файлы, отвечающие требованиям LSB определенной версии - в частности, при компиляции и компоновке используются библиотеки и заголовочные файлы из SDK.

Также инструментарий содержит скрипт makelsbpkg для быстрого создания RPM-пакетов, отвечающих требованиям LSB.

LSB SDK может быть интегрирован в среду разработки Eclipse с помощью соответствующего плагина.

Более подробная информация об инструментарии находится в соответствующем разделе LSB Book.