makepkg(8)

NAME

makepkg - make Slackware packages.

SYNOPSIS

makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] package
name

DESCRIPTION

makepkg creates a new Slackware compatible package. The package is constructed using the contents of the current
directory and all subdirectories. If symbolic links exist,
they will be converted to script code to recreate them
when the package is installed. This code will be appended
to the primary installation script ( install/doinst.sh ) , or, if that script does not exist it will be created with
those contents. The package will be written out to the
file packagename which should be the full name, including the extension (usually .tgz).

OPTIONS

-l, --linkadd y|n
If y, add any symbolic links found to the install
script (doinst.sh) and delete them. This is the
recommended action. If this option is not used,
makepkg will prompt if symbolic links are found.
-c, --chown y|n
If y, makepkg will reset all directory permissions
to 755 and ownership to root:root. In general, you
should have the permissions and ownerships worked
out yourself, so relying on setting this option to
y is somewhat sloppy. It is not the default. If
an option is not provided, makepkg will prompt.

INSTALLATION SCRIPTS

There are 3 types of installation scripts supported in the
Slackware package system.

The first is the
primary installation script. This is found in the subdirectory ./install and must have the name doinst.sh in order to be recognized. This ( and other install scripts ) should be written using the
basic Bourne shell syntax recognized by the ash
shell, since this is the shell that will be used to
execute the script when installing from a Slackware
install floppy. This is a common trap - beware of
using bash syntax extensions, because the script
will work fine when installed from the hard drive,
but will bomb out when installed from floppy. If
the package is for personal use, this isn't a prob
lem. Be careful, though, if you plan to share your
package with other users. The primary installation script is executed immediately after the package is installed with installpkg, pkgtool, or setup.
The second type of script is the
configuration script. This is found in the subdi rectory ./var/log/setup and must have a name that starts with setup. in order to be recongnized. An example is the timezone script:
/var/log/setup/setup.timeconfig. These scripts are executed during the CONFIGURE phase of setup, and are re-executed each time the user runs the CONFIG
URE option from setup from then on. Typically, the user will go through this phase of setup following
the installation of all the packages. Anything that
needs to be interactive should go in one of these
scripts to avoid halting the package installation
process during setup.
The third type of script is the
onlyonce script. Like the name suggests, these are executed only once after the package is installed,
in contrast to the standard configuration script. These scripts are also found in the ./var/log/setup directory and must have a name that starts with
setup., but in addition the name must contain the string onlyonce. An example might be a script with the name /var/log/setup/setup.onlyonce.testscript

PACKAGE FORMAT

makepkg uses GNU tar plus GNU gzip to create its packages. A simple way to extract the contents of a package (without
executing the installation scripts, of course) is to use a
command like this:

tar xzvvf package.tgz

AUTHOR

Patrick J. Volkerding <volkerdi@slackware.com>

SEE ALSO

installpkg(8), explodepkg(8), removepkg(8), pkgtool(8), upgradepkg(8)
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout