Представлен финальный вариант набора спецификаций LSB 4.1 (Linux Standard Base), определяющих набор правил, средств разработки, бинарных интерфейсов и библиотек, позволяющих значительно упростить создание продукта, без изменений работающего в любом LSB-совместимом дистрибутиве Linux. Кроме спецификаций на ABI-интерфейс LSB 4.1 включает в себя набор дополнительных инструментов: Linux App Checker для тестирования программ на предмет совместимости с LSB; LSB Distribution Checker для проверки совместимости дистрибутивов со спецификациями LSB; LSB SDK для создания исполняемых файлов, совместимых с LSB.

Стандарт LSB поддерживает большинство производителей дистрибутивов Linux, включая Debian, Mandriva, Novell, Red Hat, Oracle и Canonical, что позволяет производителям программных продуктов унифицировать процесс разработки приложений и избавиться от необходимости следить за комплектацией различных дистрибутивов, текущими версиями библиотек и программных модулей. LSB выполняет важную роль по предотвращению фрагментации дистрибутивов Linux, несмотря на многообразие которых, базовый бинарный интерфейс (ABI) дистрибутивов удается сдерживать в определенном неизменном русле.

В рамках LSB 4.1 сформированы следующие группы спецификаций, охватывающие архитектуры IA32, IA64, PPC32, PPC64, S390, S390X и AMD64: базовый состав (Core), поддержка C++, компоненты для формирования десктопа (Gtk+, Qt, Cairo, libGL и т.п.), поддержка дополнительных языков программирования (Perl, Python), организация системы печати (CUPS). Кроме того, доступны предварительные тестовые варианты спецификаций, описывающих средства для работы с мультимедиа (ALSA), модули для обеспечения безопасности (NSS) и дополнительные декстоп-компоненты (xdg-utils).

Интересным изменением LSB 4.1 является исключение из спецификаций поддержки Java, которая была добавлена в состав стандарта LSB 4.0 в пробном режиме (Trial Use). В качестве причин удаления Java называются лицензионные ограничения по использованию тестового комплекта для оценки полноты совместимости с Java. Дополнительно, начат процесс изучения возможности создания LSB-совместимого Java-окружения, которое могло бы войти в состав будущей версии LSB-SDK.

LSB 4.1 обратно совместим LSB 4.0 и LSB 3.x, но при этом содержит ряд дополнений:

  • Повышены минимальные требования к базовым библиотекам: GTK+ 2.10 (было 2.8), Cairo 1.2 (было 1.0) и CUPS 1.2;
  • Добавлена поддержка программных интерфейсов: backtrace(), dl_iterate_phdr(), gnu_get_libc_version() и gnu_get_libc_release(), * ptrace(), sysinfo(), dlvsym(), некоторые pthread-функции, включая pthread_getattr_np(), а также новые функции из библиотек libpng и libpam;
  • Добавлено три новых тестовых набора: первый для тестирования на соответствие спецификациям программных интерфейсов звуковой системы ALSA; второй - новый базовый тестовый набор, созданный в недрах компании IBM; третий - тестовый набор для libxml2;
  • В экспериментальном режиме добавлена поддержка команд xdg-utils, включая "xdg-desktop-icon", "xdg-desktop-menu", "xdg-email", "xdg-icon-resource", "xdg-mime", "xdg-open" и "xdg-screensaver".
  • Добавлена поддержка базовых команд "alias", "bg", "fc", "fg", "hash", "jobs", "string" и "unalias";

Планы на будущее (пока не решено, будет ли это LSB 4.2 или LSB 5.0):

  • Работа над инфраструктурой для поддержки одного основного релиза (например, RHEL5 и RHEL6 или LTS-релизы Ubuntu), все дополнительные выпуски (RHEL 5.x, RHEL 6.x, Ubuntu 10.4.x) в котором будут отождествлены с базовой версией;
  • Усовершенствования в спецификациях печати, поддержка CUPS HTTP/IPP-интерфейсов;
  • Включение в спецификации OpenGL, cURL, libpcre, libpopt, MPI, DBus, libxslt, libxkbui, libxkbfile, libXfixes, libtiff;
  • Поддержка gcc-4.5.x и компиляторов, отличных от gcc;
  • Поддержка расширенных мультимедийных расширений: V4L, XVideo, PulseAudio;
  • Поддержка системы SANE, как базового интерфейса работы со сканерами;
  • Стандартизация библиотечных функций для доступа к интерфейсам /proc и /sys;
  • Обеспечение поддержи дополнительных языков программирования, таких как Ruby и Mono;
  • Прекращение поддержки Qt3;
  • Поддержка Python 3;
  • Поддержка GTK+ 3;
  • Синхронизация изменений и новшеств в многочисленных системных библиотеках, упомянутых в спецификации.


Источник: http://www.opennet.ru/opennews/art.shtml?num=29870