Linux App Checker Getting Started

From ISP_RAS
Jump to: navigation, search

This document describes the general steps to get started with the Linux Application Checker.

Contents

Installation

  1. Download the Linux Application Checker package (tar.gz) for your architecture from the Linux App Checker Releases page. The working scenario depends on the variant you downloaded.
    • Installable package.
      1. Unpack the package:
         tar xzf Linux-app-checker-<version>.<architecture>.tar.gz 
      2. Go to the subdirectory ./linux-app-checker created when unpacking, run the installation script:
         ./install.pl 
        and follow the instructions. You may need to enter the root password.
      3. Start the Linux AppChecker by running the script:
         /opt/lsb/app-checker/bin/app-checker-start.pl [port-number] 
        If you run this script with restricted user privileges, AppChecker will store its data in this user's home directory. If you run it with root persmissions, it will run system-wide and keep its data shared among users (in the /var/opt/lsb/app-checker directory).
    • Non-installable (local) package.
      1. Unpack the package:
         tar xzf Linux-app-checker-local-<version>.<architecture>.tar.gz 
      2. Start the Linux AppChecker by running the script:
         ./linux-app-checker/bin/app-checker-start.pl [port-number] 
        The AppChecker will be running with the current user's privileges and keep all the data in its own directory.
  2. This script will start a simple web server embedded in the Linux AppChecker and will try to locate and open your web-browser with the proper address for this server. There is also script for stopping the server (see below for details).
  3. Notes:
    • The port-number argument is optional (by default 8889 is taken). You can use it if port 8889 is already taken by some application.
    • If the script could not find your web-browser and you wish to use Web-UI, please start the browser manually and specify the address http://localhost:8889/ (the port number should be the same as specified on the previous step).
    • You may also connect to the Linux AppChecker from any remote computer by specifying the URL http://<test-machine-name>:8889/ in your web-browser. To enable this feature, you should modify the AcceptConnections key in the server configuration file and then restart the server. The configuration file is located at:
      • /etc/opt/lsb/app-checker/app-checker-server.conf for the installable version running system-wide; or
      • ~user/.lsb/app-checker/config/app-checker-server.conf for the installable version started by a restricted user; or
      • ./config/app-checker-server.conf for the non-installable version.

Using Web-UI

  1. In the browser you will see the main page of the Linux AppChecker.
  2. To specify the application to test, open the Application Check page. You can see the following options there:
    LAC ApplicationCheck.png
    You should specify name of the application and all application binaries (both executable and libraries supplied with application) to test. Using the Choose Application Components dialog, you can select the necessary files, as well as directories with all their contents, packages (RPM, DEB, TAR.GZ, TAR.BZ2 are supported) and installed RPM or DEB packages (depending on your system). There is also the expandable Additional options block where you can specify the LSB version and profile to be used in the additional LSB compliance analysis, and specify some comments for the test run (e.g. to distinguish it from other test runs). (The Architecture field present in this block currently cannot be changed, as this option is not supported by lsbappchk and lsbpkgchk.) After specifying all the parameters, press the Run the Test button.
    Note: There are some prerequisites for the test suites to be able to run (listed in the <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.
  3. The test will be executed and you will be redirected to the Test Report page. It contains the exhaustive information about the test run, divided into five tabs:
    • LAC TestReportDist.png
      The Distribution Compatibility tab contains general information about compatibility of your application with most known distributions registered in the LSB database. In this tab the table is shown which indicates the summary status for each distribution. By default the table is contracted. You can expand it by clicking any of the cells containing the status.
    • LAC TestReportComp.png
      The App Components tab shows compatibility status for each application component tested.
    • LAC TestReportLibs.png
      The External Libraries tab contains detailed report about all the libraries required by your application. By clicking the Select distributions… link you can open the list of distributions and select which of them are of interest for you; the table below will change accordingly.
    • LAC TestReportInts.png
      The External Interfaces tab shows the external interfaces are listed that are required by the application to run. You can use the filter to show only interfaces from the specific library, or used by the specific component, etc.
    • LAC TestReportCertCat.png   LAC TestReportCertComp.png
      The LSB Certification tab contains the LSB compliance report. You can group the test results either by component, or by problem category.
      From this page you can also start the certification process for the application you have just tested. To do so, just click the apply for certification link, and you will be redirected to the Certification System.
  4. If you wish, you can upload the information about your application to the Linux Foundation for inclusion into the Linux Applications section of the LSB Navigator. To do so, just click the Upload link at the top of the Test Report page, and you will be redirected to the upload form:
    LAC UploadForm.png
    You need to provide additional information such as your name, E-mail, name and type of the application, etc. In addition, you can specify the version and homepage of the application and some comments. Then you can either press the Send Data button to send the information at once, or press the Save As button to save a tarball with the information for sending it manually, via E-mail.
  5. The list of all the reports generated for every test run is shown on the Results History page:
    LAC ResultsHistory.png
    To view any particular report, just click the corresponding link in the Date/Time column. To remove some of the reports, just select them with the check boxes and press the Remove Selected Entries button.

Using Command Line UI

Instead of using the web-based interface, you may use the command-line interface.

  1. Go to the directory /opt/lsb/app-checker/utils for the installable version and to ./linux-app-checker/utils for the non-installable one.
    • Execute the command:
       ./run_tests.pl --paths=<paths-list> 
      where <paths-list> is a colon-separated list of files or directories to be tested.
    • For testing the contents of the packages installed on your machine, you can use the following command:
       ./run_tests.pl --packages=<packages-list> 
      where <packages-list> is a colon-separated list of package names.
  2. In addition, the following options may be useful:
    • -n <name>: Name of the application.
    • --lsb=<LSB-version>: Explicitly specify the LSB version to test against (default is 4.0).
    • -T <profile>: 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.
  3. Please see
     ./run_tests.pl --help 
    for the full list of the options available in the current version.

Test Results Repository

The location of the test run results directory depends on the AppChecker version you started:

  • for the installable version started with root permissions: /var/opt/lsb/app-checker/results;
  • for the installable version started by restricted user: ~user/.lsb/app-checker/results;
  • for the non-installable version: ./linux-app-checker/results.

All the files from each test run are stored in separate subdirectories named <arch>-<machine>-<application>-<date>-<time>. For the result to be visible on the Results page of the Web-UI it should be listed in the …/results/HISTORY file.

If you are using Web-UI 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 directory names into this file manually.

Finalizing

  1. To stop the web-server, go to the Administration page in the web-interface and press the Stop server button. Alternatively, you may run the script
     <app-checker-dir>/bin/app-checker-stop.pl [port-number] 
    The port number is optional and can be used when there are several AppChecker servers running on the same machine (if in this case you do not specify the port number, you will be asked for it).
  2. If you wish to deinstall the installable Linux AppChecker version, use your package manager (rpm or dpkg) to remove the following packages:
    • lsb-app-checker
    • lsb-appchk
    • lsb-appchk-shell
    • lsb-appchk-perl
    • lsb-appchk-python
    • lsb-pkgchk
    • After that you may also wish to delete the old results, logs and other data from the /var/opt/lsb/app-checker and ~user/.lsb/app-checker directories.
  3. To deinstall the non-installable Linux AppChecker version just remove its directory.
    Warning: this directory contains not only the AppChecker, but also all your test results!
Personal tools