In order to build LSB compliant binaries and packages, tools which are not in the LSB specification are often required. The LSB Build Environment supplies some of these tools and is designed to make it easier to generate LSB compliant binaries and packages.
About the LSB Development Environment
The LSB developmen environment refers to the two main methods for generating LSB compliant packages. With both methods source code is compiled against LSB header files and linked against special stub libraries.
One method uses a wrapper around the compiler to apply the LSB build rules within a full host environment. The other method uses a chroot which supplies a full toolchain and restricts the build to tools and libraries that have been explicitly added to the chroot.
Two methods exist because they serve different usage models: the wrapper is more "lightweight" and is often a useful drop-in for software using GNU-style configuration scripts; the chroot provides a more tightly controlled environment and may be more useful in cases where a special build setup is used instead of tools like make and autoconf.
The current release version of lsbdev is 3.1.0 which is aligned with the LSB 3.1 specification. lsbdev consists of multiple packages:
- lsb-build-base - header files and stub libraries
- lsb-build-cc - the wrapper program
- lsb-build-dekstop - desktop header files and stub libraries
- lsb-build-c++ - header snapshot for c++
- lsb-build-qt3 - header snapshot for qt version 3
- lsb-build-qt4 - header snapshot for qt version 4
The headers in base and desktop are generated from the LSB database and match what is found in the specification. The snapshot headers are taken from the upstream release in each case, and are not generated from the LSB database.
lsb-build-base is a prerequsite for any of the other packages.
The final component of lsbdev is lsb-buildenv. This is a full chroot environment containing all of the tools needed to compile applications. This is used as an alternative to the lsbdev packages.
Planned future development
The packages will continue to evolve in response to need and to the evolution of the LSB specification.
The latest release of the build environment tools are available from Downloads. Note that it's not necessary to have an LSB compliant distribution on which to install and use the LSB Build environment.
Example application packages
The LSB Application Battery is a set of example LSB compliant packages built using lsbdev. These packages may be fetched from the Downloads.
For more information about the Application Battery, see Appbat.
The lsb-discuss_at_freestandards.org mailing list can be used for discussing the build environment. Subscription and mailing list archive details are available.
Version Control Access
The actual steps to construct the packages is in the packaging module.
The lsb-buildenv chroot is built in the sample implementation module.
To find out how to access the bazaar repository, see Bazaar-NG
Please send any feedback to lsb-build_at_freestandards.org