LSB 4.1 Release Notes
The LSB project team is proud to announce LSB Version 4.1. The specification is available for download at the Specification page. The tools, tests and development environment are available for download at the Download page.
LSB 4.1 contains mostly small changes and additions to LSB 4.0, and is compatible with all previous LSB releases starting with version 3.0.
The LSB consists of a number of components, or modules:
- The Core specification, described by a Generic specification and seven Architecture Specific supplements.
- Core contains the Core and Security submodules. Security is new to 4.1
- The C++ module (with Generic specification and seven Architecture Specific supplements)
- The Desktop module (with Generic specification and seven Architecture Specific supplements)
- Desktop contains the Graphics, Graphics Extension, Gtk, Qt(4), Qt3, Miscellaneous and Multimedia submodules. Miscellaneous and Multimedia are new to 4.1.
- The Languages module
- Languages contains the Perl and Python submodules
- The Printing module
The seven supported architectures for LSB 4.1 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 4.1.
Summary of Major Differences
In general, LSB 4.1 is a superset of LSB 4.0, with some new components added. We expect broad compatibility between LSB 4.0 and 4.1, with most LSB 4.0-certified distributions able to certify to LSB 4.1 with very few changes.
In a number of places, the standards have been relaxed or adjusted a bit to correct errors and accommodate a larger number of use cases.
Sample Implementation development has been put on hold, and is no longer required for certification.
Trial Use Components
LSB 4.1 contains no Trial Use components.
The LSB 4.0 Trial Use submodules, Multimedia (ALSA), Security (NSS) and Desktop Miscellaneous (xdg-utils commands) are part of the LSB 4.1 as required submodules.
Licensing issues for the Java compliance test suite make it impossible to include Java as a language in the LSB. Therefore, Java has been removed from Trial Use status.
The work group is investigating the feasibility of creating an LSB-compliant Java runtime environment that could become part of a future LSB-SDK release.
New and Upgraded Libraries
The following libraries have been upgraded:
- The GTK+ library suite has been upgraded from the 2.8 API set to 2.10.
- The Cairo library has been upgraded from the 1.0 API to 1.2.
- The CUPS library set has been upgraded to the APIs supported in CUPS 1.2.
A full list of the new interfaces is too long to relate here, but can be found on the LSB Navigator's statistics page. Besides the library upgrades mentioned above, here are some highlights:
- backtrace() and related functions.
- gnu_get_libc_version() and gnu_get_libc_release()
- Several pthread functions, including pthread_getattr_np()
- Symbol versions for libpng and libpam symbols.
Three new test suites have been released for LSB 4.1.
First, ALSA has a new test suite, using the T2C harness; this test suite made it possible to promote ALSA to a required standard in the LSB.
Second, a new core test suite, also based on the T2C test harness, has been contributed by IBM.
Finally, ISPRAS has released a test suite for libxml2 based on the AZOV test harness.
The xdg-utils specification, which had been a Trial Use standard in LSB 4.0, is now required. This includes the commands "xdg-desktop-icon", "xdg-desktop-menu", "xdg-email", "xdg-icon-resource", "xdg-mime", "xdg-open", and "xdg-screensaver".
Besides the xdg-utils commands, a number of additional core commands have been added: "alias", "bg", "fc", "fg", "hash", "jobs", "string", and "unalias".
A number of bugs have been fixed as part of this release. A complete list may be found in the tracking bug in the LSB's bug database. Here are a few highlights:
- Several Perl and Python modules were removed that were inappropriately mentioned in previous specification versions (bugs 3096, 3019, 3146, 3147, 3150, and 3151).
- A number of additional interfaces required for PowerPC and S/390 long-double support were added (bug 2903).
- The python application battery test was removed, although it remains available as a runtime component for several tests (bug 2954).
- Several missing headers and symbols have been added to the SDK (bugs 2967, 2968, 2974, and 3030).
- The SDK now supplies per-version pkgconfig files which define the proper settings for different versions of the LSB (bug 3046).
More Information and Feedback
The Linux Foundation keeps track of issues with the 4.1 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 TestPilot41.