mirror of
https://github.com/moparisthebest/pacman
synced 2024-10-31 15:45:03 -04:00
5fe41df8a9
The newly added variables STRIP_BINARIES, STRIP_SHARED and STRIP_STATIC, that are set in makepkg.conf, specify the strip options used on binaries and shared and static libraries. In addition, files are now stripped more aggressively by default. Implements FS#13592 the way it was suggested by Allan in the comments. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
204 lines
7.6 KiB
Plaintext
204 lines
7.6 KiB
Plaintext
/////
|
|
vim:set ts=4 sw=4 syntax=asciidoc noet:
|
|
/////
|
|
makepkg.conf(5)
|
|
===============
|
|
|
|
Name
|
|
----
|
|
makepkg.conf - makepkg configuration file
|
|
|
|
|
|
Synopsis
|
|
--------
|
|
{sysconfdir}/makepkg.conf, ~/.makepkg.conf
|
|
|
|
|
|
Description
|
|
-----------
|
|
Configuration options for makekpg are stored in makepkg.conf. This file is
|
|
sourced, so you can include any special compiler flags you wish to use. This is
|
|
helpful for building for different architectures, or with different
|
|
optimizations. However, only the variables described below are exported to the
|
|
build environment.
|
|
|
|
NOTE: This does not guarantee that all package Makefiles will use your exported
|
|
variables. Some of them are non-standard.
|
|
|
|
The default file is fairly well commented, so it may be easiest to simply
|
|
follow directions given there for customization.
|
|
|
|
|
|
Options
|
|
-------
|
|
**DLAGENTS=(**\'protocol::/path/to/command [options]' ...**)**::
|
|
Sets the download agents used to fetch source files specified with a URL in
|
|
the linkman:PKGBUILD[5] file. Options can be specified for each command as
|
|
well, and any protocol can have a download agent. Several examples are provided
|
|
in the default makepkg.conf.
|
|
+
|
|
If present, `%u` will be replaced with the download URL. Otherwise, the
|
|
download URL will be placed on the end of the command. If present, `%o` will
|
|
be replaced with the local filename, plus a ``.part'' extension, which allows
|
|
makepkg to handle resuming file downloads.
|
|
|
|
**CARCH=**"carch"::
|
|
Specifies your computer architecture; possible values include such things
|
|
as ``i686'', ``x86_64'', ``ppc'', etc. This should be automatically set on
|
|
installation.
|
|
|
|
**CHOST=**"chost"::
|
|
A string such as ``i686-pc-linux-gnu'', do not touch unless you know what
|
|
you are doing. This can be commented out by most users if desired.
|
|
|
|
**CFLAGS=**"cflags"::
|
|
Flags used for the C compiler. This is a key part to the use of makepkg.
|
|
Usually several options are specified, and the most common string resembles
|
|
something like this: ``-march=i686 -O2 -pipe''. Another useful option may
|
|
be `-mcpu` in place of `-march`. Read gcc(1) for more details on the wide
|
|
variety of compiler flags available.
|
|
|
|
**CXXFLAGS=**"cxxflags"::
|
|
Flags used for the C++ compiler; see CFLAGS for more info.
|
|
|
|
**LDFLAGS=**"ldflags"::
|
|
Flags used for the linker. Several options may be specified with common
|
|
usage resembling ``-Wl,--hash-style=gnu''. Read ld(1) for more details on
|
|
available linker flags.
|
|
|
|
**MAKEFLAGS=**"makeflags"::
|
|
This is often used to set the number of jobs used, for example, `-j2`.
|
|
Other flags that make accepts can also be passed.
|
|
|
|
**BUILDENV=(**fakeroot !distcc color !ccache**)**::
|
|
This array contains options that affect the build environment, the defaults
|
|
are shown here. All options should always be left in the array; to enable
|
|
or disable an option simply remove or place an ``!'' at the front of the
|
|
option. Each works as follows:
|
|
|
|
*fakeroot*;;
|
|
Allow building packages as a non-root user. This is highly recommended.
|
|
|
|
*distcc*;;
|
|
Use the distributed C/C++/ObjC compiler to spread compilation among
|
|
multiple machines. If this is enabled, `DISTCC_HOSTS` must be specified
|
|
as well.
|
|
|
|
*color*;;
|
|
Colorize output messages, making output easier to read.
|
|
|
|
*ccache*;;
|
|
Use ccache to cache compilation by default. This allows for faster
|
|
compiles if you are continuously recompiling the same packages. It can
|
|
be disabled for individual packages by placing `!ccache` in the
|
|
PKGBUILD options array.
|
|
|
|
**DISTCC_HOSTS=**"host1 ..."::
|
|
If using DistCC, this is used to specify a space-delimited list of hosts
|
|
running in the DistCC cluster. In addition, you will want to modify your
|
|
`MAKEFLAGS`.
|
|
|
|
**OPTIONS=(**strip !docs libtool emptydirs zipman**)**::
|
|
This array contains options that affect the default packaging. They are
|
|
equivalent to options that can be placed in the PKGBUILD; the defaults are
|
|
shown here. All options should always be left in the array; to enable or
|
|
disable an option simply remove or place an ``!'' at the front of the
|
|
option. Each works as follows:
|
|
|
|
*strip*;;
|
|
Strip symbols from binaries and libraries. If you frequently use a
|
|
debugger on programs or libraries, it may be helpful to disable this
|
|
option.
|
|
|
|
*docs*;;
|
|
Save doc directories. If you wish to delete doc directories, specify
|
|
`!docs` in the array. The directories affected are specified by the
|
|
`DOC_DIRS` variable.
|
|
|
|
*libtool*;;
|
|
Leave libtool (.la) files in packages. Specify `!libtool` to remove
|
|
them.
|
|
|
|
*emptydirs*;;
|
|
Leave empty directories in packages.
|
|
|
|
*zipman*;;
|
|
Compress manual (man and info) pages with gzip. The directories
|
|
affected are specified by the `MAN_DIRS` variable.
|
|
|
|
*purge*;;
|
|
Remove files specified by the `PURGE_TARGETS` variable from the
|
|
package.
|
|
|
|
**INTEGRITY_CHECK=(**check1 ...**)**::
|
|
File integrity checks to use. Multiple checks may be specified; this
|
|
affects both generation and checking. The current valid options are:
|
|
`md5`, `sha1`, `sha256`, `sha384`, and `sha512`.
|
|
|
|
**STRIP_BINARIES=**"@STRIP_BINARIES@"::
|
|
Options to be used when stripping binaries. See `strip''s man page
|
|
for details.
|
|
|
|
**STRIP_SHARED=**"@STRIP_SHARED@"::
|
|
Options to be used when stripping shared libraries. See `strip''s
|
|
man page for details.
|
|
|
|
**STRIP_STATIC=**"@STRIP_STATIC@"::
|
|
Options to be used when stripping static libraries. See `strip''s
|
|
man page for details.
|
|
|
|
**MAN_DIRS=(**{usr{,/local}{,/share},opt/*}/{man,info} ...**)**::
|
|
If `zipman` is specified in the OPTIONS array, this variable will
|
|
instruct makepkg where to look to compress manual (man and info)
|
|
pages. If you build packages that are located in opt/, you may need
|
|
to add the directory to this array. *NOTE:* Do not add the leading
|
|
slash to the directory name.
|
|
|
|
**DOC_DIRS=(**usr/{,share/}{doc,gtk-doc} ...**)**::
|
|
If `!docs` is specified in the OPTIONS array, this variable will
|
|
instruct makepkg where to look to remove docs. If you build packages
|
|
that are located in opt/, you may need to add the directory to this
|
|
array. *NOTE:* Do not add the leading slash to the directory name.
|
|
|
|
**STRIP_DIRS=(**bin lib sbin usr/{bin,lib} ...**)**::
|
|
If `strip` is specified in the OPTIONS array, this variable will
|
|
instruct makepkg where to look to for files to strip. If you build
|
|
packages that are located in opt/, you may need to add the directory
|
|
to this array. *NOTE:* Do not add the leading slash to the directory
|
|
name.
|
|
|
|
**PURGE_TARGETS=(**usr/{,share}/info/dir .podlist *.pod...**)**::
|
|
If `purge` is specified in the OPTIONS array, this variable will
|
|
instruct makepkg which files to remove from the package. This is
|
|
useful for index files that are added by multiple packages.
|
|
|
|
**PKGDEST=**"/path/to/folder"::
|
|
If this value is not set, packages will by default be placed in the
|
|
current directory (location of the linkman:PKGBUILD[5]). Many people
|
|
like to keep all their packages in one place so this option allows
|
|
this behavior. A common location is ``/home/packages''.
|
|
|
|
**SRCDEST=**"/path/to/folder"::
|
|
If this value is not set, downloaded source files will only be stored
|
|
in the current directory. Many people like to keep all source files in
|
|
a central location for easy cleanup, so this path can be set here.
|
|
|
|
**SRCPKGDEST=**"/path/to/folder"::
|
|
If this value is not set, source package files will be stored in
|
|
PKGDEST. Many people like to keep all source package files in
|
|
a central location for easy cleanup, so this path can be set here.
|
|
|
|
**PACKAGER=**"John Doe <john@example.com>"::
|
|
This value is used when querying a package to see who was the builder.
|
|
It is recommended you change this to your name and email address.
|
|
|
|
*PKGEXT*, *SRCEXT*::
|
|
Do not touch these unless you know what you are doing.
|
|
|
|
|
|
See Also
|
|
--------
|
|
linkman:makepkg[8], linkman:pacman[8], linkman:PKGBUILD[5]
|
|
|
|
include::footer.txt[]
|