The LSB project team is proud to announce LSB Version 3.2. The specification is available for download at the Specification page. The tools, tests and development environment are available for download at the Download page.
As a minor release of the LSB 3 series, binary compatibility back to LSB 3.0 is guaranteed. Changes in this release are limited to errata and new modules.
The LSB consists of a number of components, or modules:
The seven supported architectures for LSB 3 are: IA32, IA64, PPC32, PPC64, S390, S390X, X86_64.
There may be other modules or books in an LSB specification development tree but only the above are released as part of LSB 3.2.
In general, LSB 3.2 is a superset of LSB 3.1, which in turn is a superset of LSB 3.0. The changes made in this release consist largely of the addition of new modules to the specification, most notably the new sections on interpreted languages, printing, and multimedia.
In a number of places, the standards have been relaxed or adjusted a bit to correct errors and accomodate a larger number of use cases.
Additionally, as described below, a change has been made to the way modules are standardized with the new "trial use" mechanism.
In LSB 3.1, the first optional module was published: the Qt 4 standard. This module was not required for LSB certification, and its tests were not conducted by default. The goal was to allow a "preview" of a coming technology, to help application and distribution vendors prepare for the future.
In our subsequent analysis, it was found that very little data regarding the optional module was collected, and little attention was paid to the optional module. Accordingly, the LSB has changed the optional module program.
New "Trial Use Standards" can now be published by the LSB as part of the release. Tests for these modules are run along with the required tests, and the resulting data is required to be posted as a condition for certification. Vendors are encouraged to address issues found in the tests covering trial use standards. However, failure to conform to a trial use standard will not disqualify an otherwise qualified product for certification to LSB 3.2.
Trial use standards are intended to become required standards in future releases of the LSB. However, if a trial use standard does not meet certain quality and deployment requirements, it is possible for a trial use standard to be dropped from a future release of the LSB without breaking backward compatibility guarantees. Thus, publication of a trial use standard does not guarantee its future inclusion as a required standard.
This version of the LSB adds support for the interpreted languages Perl and Python. Subsets of the language features and runtime libraries are documented here.
New test suites for Perl and Python have been added, called "lsb-test-perl" and "lsb-test-python".
Analagous to lsbappchk for binaries, lsbappchk-perl and lsbappchk-python are now provided to check Perl and Python applications for conformance.
In conjunction with the Linux Foundation OpenPrinting Workgroup, support for printing has been added. Application interfaces have been defined, as well as initial support for portable printer drivers.
Interfaces included in Printing:
A new test suite for printing interfaces has been added, called "lsb-test-printing".
Support for libasound, the API for the ALSA sound system, has been added as a trial use module in this release of the LSB.
The following interfaces are new in this release:
Added to the programming interface were: auth_destroy, svc_destroy, svc_getcaller
The "lsb-runtime-test" test suite has been renamed to "lsb-test-core", to reflect its role more accurately.
Many new tests have been contributed to the core tests by Pavan Naregundi of IBM.
New tests for profile.d, lsb-release, inet_aton, pam_getenv, pam_putenv, posix_spawn_file_actions*, posix_spawnattr*, feenableexcept, fedisableexcept have been added to "lsb-test-core". These may still need some fine tuning once we get more distribution exposure.
The test suite was renamed from qmtest_libstdcpp to lsb-test-libstdcpp to match the naming convention of the other test suites. The test harness was renamed from qm to lsb-qm to avoid conflicting with distribution-packaged versions of QmTest.
With the uplift of Qt 4 to a Required Standard, the Qt 3 standard has been deprecated. This constitutes notice of our intent to remove Qt 3 from the specification after three major releases of the LSB.
The following interfaces are new in this release:
Four new specifications for standards created by the freedesktop.org consortium, namely:
As trial use, the following commands from xdg-utils have been added: xdg-desktop-icon, xdg-desktop-menu, xdg-email, xdg-icon-resource, xdg-mime, xdg-open, and xdg-screensaver. These commands are also provided in a package in the SDK, so ISVs can install them on systems which don't yet supply them.
Several interfaces from Qt 3 were introduced by mistake; they are never directly referenced by applications. These include the QDragManager class, as well as the interfaces QUnicodeTables::lower, QTextEdit::UndoRedoInfo, and the typeinfo and vtables for QBmpHandler, QPngHandler, QPpmHandler, QXbmHandler, QXpmHandler, and QTextDocumentLayout.
New systems for certifying to the LSB and formally requesting waivers for problems in the LSB are now available. For more information, see the Certification page.
The Linux Foundation keeps track of issues with the 3.2 specification and software on their Web site, and welcomes comments. Issues can be found in our bug tracker, on the mailing list at firstname.lastname@example.org, and on several LSB Wiki pages, especially TestPilot32.