Chapter 2. Features

Table of Contents

1. No more dependency hell
2. LPMtool's efficient web repository format
3. Restricted access repositories
4. LPMtool's generic resource model

Here's an overview of LPMtool's major features.

1. No more dependency hell

LPMtool uses nearly the same dependency model as RPM, and a migration script is provided that exports dependencies from the system RPM database into LPMtool.

LPMtool is more than just a re-implementation of RPM, or other package management tools. LPMtool solves a common issue with distributing Linux software. Many large Linux applications often need supporting libraries or utilities that's not included as part of most Linux distributions. For this reason, publishing an installable application package for a Linux distribution is usually problematic. An attempt to install the prepared package will likely fail with a cryptic error message about a missing library, with no further information on where the missing library can be obtained from. When installing from source the installation instructions must be carefully scrutinized to determine what supporting software the application needs, whether it's already installed, and, if not, where to get it.

LPMtool solves this problem. LPMtool can not just only identify the application's missing dependency, but also where the required packages can be downloaded from. When an LPMtool package gets built, the package file includes the URL where the package can be downloaded from. LPMtool also automatically includes the URL of all other packages needed by this package. This is an automatic process. Like RPM, when creating a new package LPMtool identifies all shared libraries, scripts, and other dependencies required by the new package. Then, LPMtool checks which packages provide the required libraries, scripts, and other dependencies. LPMtool takes those packages' URLs and includes them with the new package.

So, when the new package gets installed, if a required library, script, or any other dependency is not present, LPMtool will know where to download it, even if LPMtool did not know about the required package's web site before.