| www.linux-foundation.org -> Application Battery -> Building the Application Battery |
Building the LSB Application Battery
Obtain and Install Build ToolsThe appbat is built using the lsbdev build tools. Binary rpm-format packages are produced for each supported LSB architecture. Deb-format packages can also be built from the sources, but are not released by the LSB project. Obtain and install the appropriate architecture and format packages. For building under LSB 2.0/3.0 you will need:
The path to the build tool, Obtain Source from CVSThe appbat sources consist of two general components: the build tool, xml descriptions, patches and other supporting files which are checked into the LSB project CVS repository; and the original source bundles. Included in the CVS files is a tool which will download the source bundles from the appropriate upstream locations. The following CVS modules are required to build the appbat:
To find out how to access the CVS repository, see Version control on the Wiki. Configure Build AreaThe Retrieve Source BundlesThe appbat files include a tool which can check for the presence
of the necessary source bundles and patches, and that they are the
correct versions (by checksumming against a master list). If the
sources have been freshly checked out, the source bundles will not be
present. Run the command export http_proxy=host:port export ftp_proxy=host:port If the tool is not able to retrieve the source bundles, you will
have to do this manually. For convenience, all of the bundles are
mirrored on the linux-foundation.org website: http://ftp.linux-foundation.org/pub/app-battery/packages.
Use the package checker output to see what packages are missing (it
is not necessary to retrieve all the packages in the mirror). If
necessary, rerun the checker in check mode (as opposed to update
mode) to regenerate the list: Build DependenciesCertain applications may require header files or static libraries
that are not present on the build host. For example, the xpaint
application requires the Here are some of the dependencies:
Some of the static-library dependencies can also be met by
installing the unofficial Create LSB Runtime LinkerIf the system being used does not already have an LSB runtime linker, then it must be created. While it's not strictly necessary to have an LSB-conforming runtime in order to build LSB conforming programs, the build process of several of the appbat programs uses the built binary to complete the build and/or install process, so the build host must indeed be able run LSB programs to compile the appbat. The easiest way to solve this dependency is to use an LSB-conforming runtime. If this is not possible, it is usually sufficient to create the LSB runtime linker as a symbolic link to the Linux runtime linker. For LSB 2.0 (on ia32): ln -s /lib/ld-linux.so.2 /lib/ld-lsb.so.2 For LSB 3.0 (on ia32): ln -s /lib/ld-linux.so.2 /lib/ld-lsb.so.3 The name of the LSB and Linux linker varies by architecture, the above example works for the ia32 architecture only. Build ApplicationsWith all the setup completed, you are now ready to build the
appbat applications. A There may also be another class of applications in the appbat:
ones which either are being evaluated for addition to the
certification programs, or which are not intended for inclusion in
the program. To build these applications, run " It is possible to build both sets using " Build results will be logged to a To build individual applications, it is best to invoke nALFS in interactive mode: .../tools/nALFS/nALFS -l appbat.xml Use the cursor keys to move up/down; the ENTER key
to open a cascaded item (plus sign at the left). nALFS accepts single
character commands at this point. Enter "s" to "(s)tart running" the
profile. At the next prompt enter "c" to build the "element and it's
(c)children". It's best to start a package build at its' top level
line, otherwise the restartability code will get in the way, however
for debugging it is certainly possible to run the "Prebuilding",
"Building" and "Postbuilding" steps individually. If doing so, it
will be necessary to remove a file of the form
Packages are extracted and built in the Build Binary RPMs for ApplicationsNow that all the applications have been built the next step is to
package them into proper RPM format. This can be done by changing to
the Install Appbat ApplicationsAt this point the RPMs in the
Please send any feedback to lsb-discuss_at_linux-foundation.org |