Linux Application Checker Getting Started

Having learned what the Linux Application Checker ("AppChecker") can do, it's now time to install and implement AppChecker. This document describes general steps on getting started with AppChecker, from installation to execution to interpreting the results.

Contents

Installing AppChecker

Download the Linux Application Checker tarball (tar.gz) package for your architecture from the LSB download page.  AppChecker runs as  non-installed Perl script, which allows you to run AppChecker as a non-root user. To install AppChecker:

  1. Unpack the package by entering the following on the command line:
    tar xzf Linux-app-checker-local-<version>.<architecture>.tar.gz
  2. Start the Linux Application Checker by running the script:
     ./app-checker/bin/app-checker-start.pl [port-number]
    AppChecker will run with current user's privileges.

This script will start a simple web server embedded in the Linux Application Checker and will try to locate and open your web browser with the proper address to this server.

Notes:

  • The port-number argument is optional (by default 8889 is taken).
     
  • If the script could not find your browser and you wish to use the web-based interface, please start the browser manually and specify the address http://localhost:8889/ (the port number should be the same as specified on the previous note).
     
  • You may also connect to the Linux Application Checker from any remote computer by specifying the URL http://<test-machine-name>:8889/ in your browser.

Using the Web Interface

Once the Linux Application Checker is started, the main page for the web-based application will be displayed in your default web browser. To run your first test, follow these steps:

  1. Click the Application Check link. The Application Check page will open.
     
  2. Type a name for your test report in the Name field.
     
  3. Enter the filepath to the application you want to check in the Components field.

Note: The Components field should contain all components of the application:

  • Individual files
     
  • Whole directories
     
  • Installed RPM packages (prepended with pkg:)
     
  • RPM and DEB package files
     
  • TAR.GZ and TAR.BZ2 archives

The archives will be automatically unpacked. Only the files of the following type will be tested:

  • ELF (executables and shared objects)
     
  • Perl scripts
     
  • Python scripts
     
  • Shell scripts
  1. To assist in entering components, click the Select Application Components button. The Application Components Selection web dialog box will open.
     
  2. Click the appropriate directory names to navigate to the location of your application components.
     
  3. Click the checkbox(es) for the desired component(s). The component(s) will be selected.
     
  4. Click Finish. The Application Components Selection web dialog box will close, and the file path to the component(s) will appear in the Components field.
     
  5. Click the expansion icon for Additional Options. The options will be displayed.
     
  6. Select the desired LSB Version.
     
  7. Select the desired LSB Profile.
     
  8. If you plan on running this test again, type a name for the test profile in the User Profile Management field and click Save.
     
  9. Click the Run the Test button. The test will begin its run and, when finished, the results will be displayed on the Test Report page.

Note: There are some prerequisites for the test suites to be able to run (listed in the <Linux-app-checker dir>/README file). If they are not met, an error message will be shown at the top of the page when you try to run the tests. In this case you will have to eliminate the problems and run the tests again.

  1. Click on the various tabs in the Test Report page to determine the following aspects of your application's portability:
  • Distribution Compatibility: Shows compatibility status of your application with the distributions analyzed by the Linux Foundation.
     
  • Required Libraries: Lists all external libraries required by your Application (based on DT_NEEDED ELF section).
     
  • Required Interfaces: Lists all external interfaces required by your Application (based on ELF symbols)
     
  • LSB Certification: If there are no compatibility concerns, you can start the certification process for the tested application you have just tested. To do so, just click the Apply for Certification link, and you will be redirected to the Certification System.
  1. When finished, click on the Results History link. The list of all the reports generated for every test run is shown.
     
  2. To view any particular report, just click the corresponding link in the Date/Time column. To remove some of the reports, select them with the check boxes and click the Remove Selected Entries button.

Using the Command Line Interface

You can also, if you prefer, use the command line to run Application Checker tests. To run your first test, follow these steps:

  1. Navigate to ./linux-app-checker/utils.
     
  2. Execute the command:
     ./run_tests.pl --paths=<paths-list> 
    where <paths-list> is a colon-separated list of files or directories to be tested (the same as Files and directories textbox in the web interface).
     
  3. You can use the following command for testing the installed packages:
     ./run_tests.pl --packages=<packages-list> 
    where <packages-list> is a colon-separated list of package names.

    In addition, the following options may be useful:

-n <name>: Name of the application.

--lsb=<LSB-version>: Allows to explicitly specify the LSB version to test against.

-T <profile>: Allows to specify the LSB profile to test against. Possible values are: core,c++ and core,c++,desktop (default).

-r <results-dir>: Specify the directory for the results.

Please execute
 ./run_tests.pl --help 
for the full list of the options available in the current version.

Managing the Test Results Repository

  • The results for test runs are stored in the directory ./linux-app-checker/results. All the files from each test run are stored in separate subdirectory named <arch>-<machine>-<application>-<date>-<time>.

  • For the result to be visible on the Results History page of the web interface, it should be listed in the .../results/HISTORY file.
     
  • If you are using the web interface for running the tests, the HISTORY file is managed automatically. If you copy the test results from another machine or another directory by hand, you will need to write the appropriate directory names into this file manually.

Administering AppChecker

  • To stop the web server, go to the Administration page in the web interface and click the Stop server button. Alternatively, you may run the script
    <linux-app-checker dir>/bin/app-checker-stop.pl [port-number]

    The port number is optional and can be used when there are several Linux Application Checker servers running on the same machine (if you do not specify the port number when multiple AppCheckers are running, you will be asked for the port number).

  • To remove Linux Application Checker from your machine, simply remove the directory in which it was unpackaged.

    Warning: this directory contains not only the Linux Application Checker, but also all your test results!

If you haven't done so already, visit the LSB download page to download the AppChecker.

Groups: