DragonFly On-Line Manual Pages
MAKEPKG(8) Pacman Manual MAKEPKG(8)
NAME
makepkg - package build utility
SYNOPSIS
makepkg [options] [ENVVAR=value] [ENVVAR+=value] ...
DESCRIPTION
makepkg is a script to automate the building of packages. The
requirements for using the script are a build-capable *nix platform and
a custom build script for each package you wish to build (known as a
PKGBUILD). See PKGBUILD(5) for details on creating your own build
scripts.
The advantage to a script-based build is that the work is only done
once. Once you have the build script for a package, makepkg will do the
rest: download and validate source files, check dependencies, configure
the build-time settings, build the package, install the package into a
temporary root, make customizations, generate meta-info, and package
the whole thing up for pacman to use.
Note
makepkg uses your current locale by default and does not unset it
when building packages. If you wish to share your build output with
others when seeking help or for other purposes, you may wish to run
"LC_ALL=C makepkg" so your logs and output are not localized.
OPTIONS
-A, --ignorearch
Ignore a missing or incomplete arch field in the build script. This
is for rebuilding packages from source when the PKGBUILD may be
slightly outdated and not updated with an arch=('yourarch') field.
-c, --clean
Clean up leftover work files and directories after a successful
build.
--config <file>
Use an alternate configuration file instead of the
/etc/makepkg.conf default.
-d, --nodeps
Do not perform any dependency checks. This will let you override
and ignore any dependencies required. There is a good chance this
option will break the build process if all of the dependencies are
not installed.
-e, --noextract
Do not extract source files or run the prepare() function (if
present); use whatever source already exists in the $srcdir/
directory. This is handy if you want to go into $srcdir/ and
manually patch or tweak code, then make a package out of the
result. Keep in mind that creating a patch may be a better solution
to allow others to use your PKGBUILD.
--verifysource
For each source file in the source array of PKGBUILD, download the
file if required and perform the integrity checks. No extraction or
build is performed. Dependencies specified in the PKGBUILD will not
be handled unless --syncdeps is used. Useful for performing
subsequent offline builds.
-f, --force
makepkg will not build a package if a built package already exists
in the PKGDEST (set in makepkg.conf(5)) directory, which may
default to the current directory. This allows the built package to
be overwritten.
-g, --geninteg
For each source file in the source array of PKGBUILD, download the
file if required and generate integrity checks. The integrity
checks generated are determined by the checks present in the
PKGBUILD, falling back to the value of the INTEGRITY_CHECK array in
makepkg.conf(5) if these are absent This output can be redirected
into your PKGBUILD for source validation using "makepkg -g >>
PKGBUILD".
--skipinteg
Do not perform any integrity checks (checksum and PGP) on source
files.
--skipchecksums
Do not verify checksums of source files.
--skippgpcheck
Do not verify PGP signatures of source files.
-h, --help
Output syntax and command line options.
--holdver
When using VCS sources (PKGBUILD(5)) any currently checked out
source will not be updated to the latest revision.
-i, --install
Install or upgrade the package after a successful build using
pacman(8).
-L, --log
Enable makepkg build logging. This will use the tee program to send
output of the build() function to both the console and to a text
file in the build directory named pkgname-pkgver-pkgrel-arch.log.
As mentioned above, the build log will be localized so you may want
to set your locale accordingly if sharing the log output with
others.
-m, --nocolor
Disable color in output messages.
-o, --nobuild
Download and extract files, run the prepare() function, but do not
build them. Useful with the --noextract option if you wish to tweak
the files in $srcdir/ before building.
-p <buildscript>
Read the package script buildscript instead of the PKGBUILD
default; see PKGBUILD(5). The buildscript must be located in the
directory makepkg is called from.
-r, --rmdeps
Upon successful build, remove any dependencies installed by makepkg
during dependency auto-resolution and installation when using -s.
-R, --repackage
Repackage contents of the package without rebuilding the package.
This is useful if you forgot, for example, a dependency or install
file in your PKGBUILD and the build itself will not change.
-s, --syncdeps
Install missing dependencies using pacman. When build-time or
run-time dependencies are not found, pacman will try to resolve
them. If successful, the missing packages will be downloaded and
installed.
-S, --source
Do not actually build the package, but build a source-only tarball
that does not include sources that can be fetched via a download
URL. This is useful for passing a single tarball to another program
such as a chroot, remote builder, or a tarball upload. Because
integrity checks are verified, all source files of the package need
to be present or downloadable.
-V, --version
Display version information.
-C, --cleanbuild
Remove the $srcdir before building the package.
--allsource
Do not actually build the package, but build a source-only tarball
that includes all sources, including those that are normally
downloaded via makepkg. This is useful for passing a single tarball
to another program such as a chroot or remote builder. It will also
satisfy requirements of the GPL when distributing binary packages.
--pkg <list>
Only build listed packages from a split package. Multiple packages
should be comma separated in the list. This option can be specified
multiple times.
--check
Run the check() function in the PKGBUILD, overriding the setting in
makepkg.conf(5).
--noarchive
Do not create the archive at the end of the build process. This can
be useful to test the package() function or if your target
distribution does not use pacman.
--nocheck
Do not run the check() function in the PKGBUILD or handle the
checkdepends.
--noprepare
Do not run the prepare() function in the PKGBUILD.
--sign
Sign the resulting package with gpg, overriding the setting in
makepkg.conf(5).
--nosign
Do not create a signature for the built package.
--key <key>
Specify a key to use when signing packages, overriding the GPGKEY
setting in makepkg.conf(5). If not specified in either location,
the default key from the keyring will be used.
--noconfirm
(Passed to pacman) Prevent pacman from waiting for user input
before proceeding with operations.
--needed
(Passed to pacman) Tell pacman not to reinstall a target if it is
already up-to-date. (used with -i / --install).
--asdeps
(Passed to pacman) Install packages as non-explicitly installed
(used with -i / --install).
--noprogressbar
(Passed to pacman) Prevent pacman from displaying a progress bar;
useful if you are redirecting makepkg output to file.
ADDITIONAL FEATURES
makepkg supports building development versions of packages without
having to manually update the pkgver in the PKGBUILD. This was formerly
done using the separate utility versionpkg. See PKGBUILD(5) for details
on how to set up a development PKGBUILD.
ENVIRONMENT VARIABLES
PACMAN
The command that will be used to check for missing dependencies and
to install and remove packages. Pacman's -Qq, -Rns, -S, -T, and -U
operations must be supported by this command. If the variable is
not set or empty, makepkg will fall back to `pacman'.
MAKEPKG_CONF="/path/to/file"
Use an alternate config file instead of the /etc/makepkg.conf
default.
PKGDEST="/path/to/directory"
Directory where the resulting packages will be stored. Overrides
the corresponding value defined in makepkg.conf(5).
SRCDEST="/path/to/directory"
Directory where the downloaded sources will be stored. Overrides
the corresponding value defined in makepkg.conf(5).
SRCPKGDEST="/path/to/directory"
Directory where source package files will be stored. Overrides the
corresponding value defined in makepkg.conf(5).
LOGDEST="/path/to/directory"
Directory where generated log files will be stored. Overrides the
corresponding value defined in makepkg.conf(5).
PACKAGER="John Doe <john@doe.com>"
String to identify the creator of the resulting package. Overrides
the corresponding value defined in makepkg.conf(5).
BUILDDIR="/path/to/directory"
Directory where the package will be built. Overrides the
corresponding value defined in makepkg.conf(5).
CARCH="(i686|x86_64)"
Force build for a specific architecture. Useful for
cross-compiling. Overrides the corresponding value defined in
makepkg.conf(5).
PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
Sets the compression used when making compiled or source packages.
Overrides the corresponding value defined in makepkg.conf(5).
GNUPGHOME="/path/to/directory"
Directory where the gpg keyring for signing the built package is
stored.
GPGKEY="keyid"
Specify a key to use when signing packages, overriding the GPGKEY
setting in makepkg.conf(5)
CONFIGURATION
See makepkg.conf(5) for more details on configuring makepkg using the
makepkg.conf file.
SEE ALSO
makepkg.conf(5), PKGBUILD(5), pacman(8)
See the pacman website at https://www.archlinux.org/pacman/ for current
information on pacman and its related tools.
BUGS
Bugs? You must be kidding; there are no bugs in this software. But if
we happen to be wrong, send us an email with as much detail as possible
to pacman-dev@archlinux.org.
AUTHORS
Current maintainers:
o Allan McRae <allan@archlinux.org>
o Andrew Gregory <andrew.gregory.8@gmail.com>
o Dan McGee <dan@archlinux.org>
o Dave Reisner <dreisner@archlinux.org>
Past major contributors:
o Judd Vinet <jvinet@zeroflux.org>
o Aurelien Foret <aurelien@archlinux.org>
o Aaron Griffin <aaron@archlinux.org>
o Xavier Chantry <shiningxc@gmail.com>
o Nagy Gabor <ngaba@bibl.u-szeged.hu>
For additional contributors, use git shortlog -s on the pacman.git
repository.
Pacman 4.2.0 2014-12-19 MAKEPKG(8)