The LSB application battery (appbat) is a collection of example LSB compliant applications provided by the LSB project for several purposes:
- A test of a candidate conforming system's ability to run real LSB applications.
- A test of a system's ability to install conforming packages.
- Collectively, exercise all required LSB libraries - providing a complement to the interface-level tests in the LSB Runtime Test suite.
- A test of the ability of the lsbdev developer tools to correctly build compliant applications.
- Provide an example to developers how to build compliant applications.
The application battery is a required part of the LSB Certification Program.
About the Application Battery
The appbat contains common applications that might normally come as part of a runtime system, but which have been compiled in such a way as to ensure they only use libraries and APIs from the LSB specification. This provides an example of how familiar programs can be made LSB compliant. The programs have been chosen so that collectively they stress all of the libraries described by the current version of the LSB.
Quick Links to Additional Information
- Using the LSB Application Battery for Runtime Certification - details on how to use the LSB Application Battery when seeking LSB certification for a runtime environment.
- Downloads: the preferred link is Downloads link. For more direct access, use FTP ftp://ftp.freestandards.org/pub/lsb/app-battery or HTTP http://ftp.freestandards.org/pub/lsb/app-battery.
- Building the Application Battery - Instructions for building the applications in the LSB Application Battery
- Source code - see the LSB CVS repository. For more details see the Building ... link above.
Each version of the LSB, and each supported processor architecture, has a specific list of required applications that must be used to certify a candidate platform. There may be more applications available than are required. The required applications will have a date in the LSB Certification Ready Date column. Other applications may be used as examples, for additional testing, etc.
- Application Battery for IA-32 Processor Architecture
- Application Battery for Itanium® Processor Architecture
- Application Battery for PPC-32 Processor Architecture
- Application Battery for PPC-64 Processor Architecture
- Application Battery for S/390® Processor Architecture
- Application Battery for zSeries® Processor Architecture
- Application Battery for X86-64 Processor Architecture
Over time more programs will be added to the appbat, usually to provide additional testing for new interfaces and libraries that are added to the LSB specification, and to provide additional porting examples. As new processor architectures become supported by the LSB, the appbat must be ported and tested on those new architectures. Over time, the appbat programs also must be updated to reflect the state of the current upstream source for the packages.
Work continues on increasing the number number of LSB Certification Ready applications, to provide greater coverage for a runtime system seeking certification. The purpose of widening the set required for certification is to catch potential problems before the system is certified and shipped. Although this is a slight extra testing burden, it is well worth it. Ideally, the LSB team would like to be able to provide 100% test coverage in the the LSB Runtime Test, but as a practical matter there will always be gaps, and at the time of writing, some core libraries have no coverage at all in the Runtime Test suite.
There are also plans to provide some applications which will not be required for certification, but which may be useful for installing in minimal conforming environments. One such environment is the LSB Sample Implementation.
Call for Volunteers
More help is always needed in building, testing and expanding the application battery. The current build process aims to be easily reproducible, but it needs a dependency checker - a way to capture which libraries and headers must be available on the system to be able to build each application. The best way to help is to join the mailing list and check out the mailing list archive, then start contributing.
Periodic (out-of-date) reports may be found at AppBat reports.