12.3 Application Testing Using the Sample Implementation
The LSB-si is equipped with a copy of rpm, to meet the requirement that a conformant platform be able to install RPM packages of the specified format. Note that rpm itself is not required by the LSB Written Specification. The RPM database in the LSB-si is populated with a minimal set of provides. As required by the specification, it provides a versioned lsb package dependency that matches the LSB Written Specification version, that is, lsb=1.3 for LSB version 1.3, and lsb=2.0 for LSB version 2.0. The LSB Written Specification permits, but does not require, an implementation of a later version to also support an earlier version, but the LSB-si does not attempt multiple-version compatibility.
The LSB project has developed a package verification tool lsbpkgchk that should be run and whose output should be examined carefully. As of this writing, there were still some false negativeswarnings or errors that would not prevent a package from installing correctly (it appears that there is no version of rpm that 100% follows the rules in the LSB Written Specification). See the lsbpkgchk release notes for more information.
Packages need to be installed with normal dependency checking. Do not resort to installing with rpm --nodeps, as one of the purposes of testing in the LSB-si is to show that a given package can properly be installed by a strictly conforming implementation, and bending the rules by bypassing the dependency checking of rpm weakens this test.
Please report any issues back to the LSB team, preferably by filing a bug in the LSB Bugzilla  bugtracker.
Example 12.16 shows the installation of an rpm package. The package should now be ready to test in the normal way.
Example 12.16. Dependency Checking
# rpm -i /tmp/lsb-lynx-2.8.4-1.i486.rpm