A “script package” is a special package that does not contain
any files.
Its sole contents are a single script, which is given in the
specfile
by the special
%script
section.
The %script
gets executed
when LPMtool installs the package, but the package does not really get installed.
The script gets executed, but the package information does not get added
to the system's package database. Furthermore:
A script package may not contain any other scripts, such as
%pre
or %post
; nor any triggers.
The specfile
must provide an empty
%files
manifest.
%files
must exist, but it must be empty.
The script package never gets installed, and the script package gets processed as if “NoAutoProv: 1” and “NoAutoRelease: 1” headers were specified (see Section 3, “Package declarations”).
Explicit “Provides:” headers are prohibited, but other dependencies may be specified (such as explicit “Requires:” dependencies), and they get processed as usual
Script packages do not differ from normal packages in all other respects.
Script packages may be signed, using the --sign
or the
--repository
option to lpbuild.
Script mechanisms allow trusted package repositories to provide signed
scripts to be executed as part of installation of a larger bundle of
packages.
When script packages are specified together with a list of other packages to install, the scripts get executed after the remaining packages get installed in the normal fashion. lpm installs all non-script packages first, then proceeds to run the script packages.