Доступна финальная версия стандарта Linux Standard Base 4.1
Представлен финальный вариант набора спецификаций 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;
- Синхронизация изменений и новшеств в многочисленных системных библиотеках, упомянутых в спецификации.
© OpenNet