A “metapackage” is a small file that's created by the lpbuild command. The metapackage file contains the following information:
The descriptive name of a software package.
The software's package repository's URL.
Names of one or more packages.
A metapackage file is processed by either the command-line lpm command, or, pylpm, the graphical front-end to LPMtool, as follows:
The repository specified by the metapackage file gets registered (if it is not registered already).
The packages listed in the metapackage are downloaded and installed.
After registering the metapackage's repository, LPMtool takes the package names listed in the metapackage, and starts a regular installation process, as if these package names were manually given to LPMtool. LPMtool searches the currently registered repositories for the packages, presumably it will find them in the repository it just registered. Therefore, the names given to packages are important. Publishing packages with the same name by different repositories results in confusion. The order in which the registered packages are searched is not guaranteed.
Therefore, registering a package repository implies some amount of trust in the package repository's publisher. LPMtool displays the name of the software package, and its repository's URL before proceeding, and asks for a confirmation.
Automating the process of software installation, using metapackages, requires the following:
The web site must return a MIME type of
application/x-lpm-package
for LPMtool package files.
LPMtool's graphical front-end, pylpm must be installed
in a freedesktop.org
-compatible Gnome
desktop environment.
LPMtool's default packaging for a freedesktop.org
desktop
registers LPMtool's graphical front-end as the handler for the
application/x-lpm-package
MIME.
The web browser must either be freedesktop.org
compatible,
or manually configured to start
pylpm,
LPMtool's graphical front-end,
to handle
application/x-lpm-package
MIME
documents.
Your humble servant has verified that everything works properly with the current version of LPMtool installed using LPMtool's default build script, on the humble servant's Fedora Core desktop.