Getting Started With LSB 3.0
What's New in LSB 3.0LSB 3.0 represents a few major bits of work and lots of bugfixing. The C++ ABI is uplifted to the one that has become current best practice (as delivered in both the gcc 3.4 and gcc 4.0 series of C++ compilers/standard library). Further work to align with ISO/IEC 9945:2003 POSIX has been done. The librt library has been added. A few new interfaces and commands are now required; some interfaces previously marked as deprecated have been removed. For more details, see the Release Notes The LSB 3.0 SpecificationThe LSB 3.0 Specification documents follow the same model as LSB 2.x. The LSB 2.0 document structure laid the groundwork for the creation of additional specification modules which exist on top of the Core LSB specification. These new modules can permit the addition of functionallity which might otherwise be considered out of scope for the LSB, as well as allowing groups outside of the LSB to add functionallity using the framework established by the LSB. The LSB 1.3 specification consisted of a monolithic document known as the Generic LSB, which is supplemented by an architecture specific document. The LSB 3.0 specification, like LSB 2.x, is split into a set of documents, organized by functional area. The FSG's LSB Certification program then reassembles these documents into a single certification target. This extra layer of documents will permit certification programs for other system configurations to be created in the future. The table below provides a key to the composition of the specification documents. Document sets available for certification are shown in the left column. Available documents are shown in the Architecture column. A blank space indiciates a document which has not yet been created. The full document set with links may be found on the Released Specifications page.
How to Use an LSB 2 System for LSB 3Unofficially, LSB 2-conforming systems should be quite usable for most LSB 3 work, except that it needs a different compiler and matching C++ library. If the system has previously been used for LSB 2 development, the LSB 3 developer tools need to be installed (see below). If the LSB 3 package dependency is needed, it may be added to an LSB 2 system by installing an unofficial package (lsb-dummy) from the LSB project. See http://ftp.freestandards.org/pub/lsb/lsbdev/unreleased/. This package will add the LSB 3 "provides" (lsb-core and lsb-graphics for the target architecture and noarch) if lsb-core-arch=2.0 and lsb-graphics-arch are already provided. WARNING: the lsb-dummy package does not provide official LSB 3 support and thus should be used with care - official support can only come from your distribution vendor. When such a support package is available, lsb-dummy will need to be removed. LSB 3 TestingThe LSB 3 testing program builds on the LSB 2 tests. lsb-runtime-test has now incorporated the PAM tests, formerly a separate package. lsb-test-vsw4 is now a required package for X11 testing. A C++ testsuite, qmtest-libstdcpp, is also required. For more informattion about LSB platform testing, see the LSB Test pages. A new test, lsbcmdchk, verifies that the required commands are present on the system. A package checking tool (lsbpkgchk) is now available. lsbappchk now correctly checks a shared library which will be provided either standalone or with the application (previously shared libraries had to be checked by specifying an application which used them). In case an archive library is to be used to contribute to an LSB binary, there is now a checker tool (lsbarchk) which can check it. ReleasesThe released test packages can be found on the LSB Download Page. Debian users will need to convert these packages with apt for installation. LSB 3 Developer Tools and Application TestsThe developer toolset consists of packages named: lsb-build-base, lsb-build-cc, lsb-build-c++ and lsb-build-chroot. For more information on the build tools in general see the LSB Build page. The application test toolset consists of packages named: lsb-appchk, lsb-libchk, lsb-cmdchk, lsb-archk and lsb-pkgchk. lsb-cmdchk and lsb-libchk are of interest primarily to system implementors. lsb-appchk, lsb-pkgchk and lsb-archk are of interest primarily to application developers. All of these packages install under /opt/lsb to comply with FHS guidelines. /opt/lsb is reserved to the LSB project. Build EnvironmentA new chroot-based build environment is provided with LSB 3.0. The package is named lsb-buildenv Host System IssuesA gcc version 3.4 compilation system is required to produce
correct binaries. gcc version 4.0 is mostly compatible, but under
some circumstances when building C++ code will embed a call to an
interface ( ReleasesThe LSB 3 released packages can be found on the LSB Download Page. Debian users should get these packages directly from the Debian project, or convert the LSB project's packages with alien. Nightly Build SnapshotsThe developer tools and application test tools are built nightly. To access these untested versions, see http://ftp.freestandards.org/pub/lsb/snapshots. Snapshot and beta versions should not be used for official builds and tests as they may represent unapproved work-in-progress towards a future specification. Debian archiveFor Debian users, a package archive is generated from these nightly builds. Although (note this is currently working only for the ia32 architecture although packages are also built for ). To access these, add the following lines to /etc/apt/sources.list: # LSB project snapshots
deb http://ftp.freestandards.org/pub/lsb binary/
Yum archiveFor RPM users who have the yum tool available, the snapshots are also yum-enabled. To access these, add the following lines to /etc/yum.conf. [lsb-snapshots]
name=LSB project snapshots - $basearch
baseurl=http://ftp.freestandards.org/pub/lsb/snapshots
Yum can be obtained from www.linux.duke.edu/projects/yum. It requires python-rpm (python api to rpm database), which is part of the upstream rpm packages but is not necessarily packaged by all distributions. LSB 3 Sample ImplementationReleasesThe LSB 3 Sample Implementation is available from the LSB Download Page. LSB 3 Application BatteryReleasesThe LSB 3 Application battery can be found on the LSB Download Page. |