mirror of
https://github.com/moparisthebest/pacman
synced 2025-02-28 09:21:53 -05:00
Man page revision time
Spruce up the asciidoc formatting, fix a few issues that we had. Formatting now looks pretty good in both the manpage output and the XHTML output. Also added some options that we have changed since 3.0, and a few wording updates, etc. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
d2613b97fa
commit
c9189f54cd
@ -20,7 +20,7 @@ This manual page is meant to describe general rules about PKGBUILDs. Once a
|
||||
PKGBUILD is written, the actual package is built using makepkg and installed
|
||||
with pacman.
|
||||
|
||||
*NOTE:* If you have a local copy of the Arch Build System (ABS) tree on your
|
||||
NOTE: If you have a local copy of the Arch Build System (ABS) tree on your
|
||||
computer, you can copy the PKGBUILD.proto file to your new package build
|
||||
directory and edit it from there. To acquire/sync the ABS tree, use the abs
|
||||
script included with pacman.
|
||||
@ -33,14 +33,13 @@ Options and Directives
|
||||
used in the package filename.
|
||||
|
||||
*pkgver*::
|
||||
The version of the software as released from the author (e.g. `2.7.1`).
|
||||
The version of the software as released from the author (e.g. \'2.7.1').
|
||||
|
||||
*pkgrel*::
|
||||
This is the release number specific to the Arch Linuxs release. This
|
||||
allows package maintainers to make updates to the package's configure
|
||||
flags, for example.
|
||||
|
||||
|
||||
*pkgdesc*::
|
||||
This should be a brief description of the package and its functionality.
|
||||
Try to keep the description to one line of text.
|
||||
@ -51,13 +50,13 @@ Options and Directives
|
||||
|
||||
*license (array)*::
|
||||
This field specifies the license(s) that apply to the package.
|
||||
Commonly-used licenses are found in `/usr/share/licenses/common`. If you
|
||||
Commonly-used licenses are found in '/usr/share/licenses/common'. If you
|
||||
see the package's license there, simply reference it in the license
|
||||
field (e.g. `$$license=('GPL')$$`). If the package provides a license not
|
||||
found in `/usr/share/licenses/common`, then you should include the license
|
||||
found in '/usr/share/licenses/common', then you should include the license
|
||||
in the package itself and set `$$license=('custom')$$` or
|
||||
`$$license=('custom:LicenseName')$$`. The license should be placed in
|
||||
`$pkgdir/usr/share/licenses/$pkgname` when building the package. If
|
||||
'$pkgdir/usr/share/licenses/$pkgname' when building the package. If
|
||||
multiple licenses are applicable for a package, list all of them:
|
||||
`$$license=('GPL' 'FDL')$$`.
|
||||
|
||||
@ -84,7 +83,7 @@ Options and Directives
|
||||
This array contains an MD5 hash for every source file specified in the
|
||||
source array (in the same order). makepkg will use this to verify source
|
||||
file integrity during subsequent builds. To easily generate md5sums, run
|
||||
"makepkg -g >> PKGBUILD". If desired, move the md5sums line to an
|
||||
``makepkg -g >> PKGBUILD''. If desired, move the md5sums line to an
|
||||
appropriate location. *NOTE:* makepkg supports multiple integrity
|
||||
algorithms and their corresponding arrays (i.e. sha1sums for the SHA1
|
||||
algorithm); however, official packages use only md5sums for the time
|
||||
@ -97,11 +96,11 @@ Options and Directives
|
||||
*groups (array)*::
|
||||
An array of symbolic names that represent groups of packages, allowing
|
||||
you to install multiple packages by requesting a single target. For
|
||||
example, one could install all KDE packages by installing the `kde` group.
|
||||
example, one could install all KDE packages by installing the 'kde' group.
|
||||
|
||||
*arch (array)*::
|
||||
Defines on which architectures the given package is available (e.g.
|
||||
`$$arch=('i686' 'x86_64')).
|
||||
`$$arch=('i686' 'x86_64')$$`).
|
||||
|
||||
*backup (array)*::
|
||||
A space-delimited array of filenames, without preceding slashes, that
|
||||
@ -127,7 +126,7 @@ Options and Directives
|
||||
same format as depends, except you cannot specify versions.
|
||||
|
||||
*provides (array)*::
|
||||
An array of "virtual provisions" that this package provides. This allows
|
||||
An array of ``virtual provisions'' that this package provides. This allows
|
||||
a package to provide dependencies other than its own package name. For
|
||||
example, the dcron package can provide 'cron', which allows packages to
|
||||
depend on 'cron' rather than 'dcron OR fcron'.
|
||||
@ -136,50 +135,52 @@ Options and Directives
|
||||
An array of packages that this package should replace, and can be used
|
||||
to handle renamed/combined packages. For example, if the 'j2re' package
|
||||
is renamed to 'jre', this directive allows future upgrades to continue
|
||||
as expected even though the package has moved.
|
||||
as expected even though the package has moved. Sysupgrade is currently
|
||||
the only pacman operation that utilizes this field, a normal sync will
|
||||
not use its value.
|
||||
|
||||
*options (array)*::
|
||||
This array allows you to override some of makepkg's default behavior
|
||||
when building packages. To set an option, just include the option name
|
||||
in the options array. To reverse the default behavior, place an "!" at
|
||||
in the options array. To reverse the default behavior, place an ``!'' at
|
||||
the front of the option. Only specify the options you specifically want
|
||||
to override, the rest will be taken from manlink:makepkg.conf[5].
|
||||
*NOTE:* 'force' is a special option only used in manlink:PKGBUILD[5]s,
|
||||
*NOTE:* 'force' is a special option only used in a manlink:PKGBUILD[5],
|
||||
do not use it unless you know what you are doing.
|
||||
|
||||
*strip*::
|
||||
*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*::
|
||||
*docs*;;
|
||||
Save doc and info directories. If you wish to delete doc and
|
||||
info directories, specify "!docs" in the array.
|
||||
info directories, specify `!docs` in the array.
|
||||
|
||||
*libtool*::
|
||||
Leave libtool (.la) files in packages. Specify "!libtool" to
|
||||
*libtool*;;
|
||||
Leave libtool (.la) files in packages. Specify `!libtool` to
|
||||
remove them.
|
||||
|
||||
*emptydirs*::
|
||||
*emptydirs*;;
|
||||
Leave empty directories in packages.
|
||||
|
||||
*ccache*::
|
||||
*ccache*;;
|
||||
Allow the use of ccache during build. More useful in its negative
|
||||
form "!ccache" with select packages that have problems building
|
||||
form `!ccache` with select packages that have problems building
|
||||
with ccache.
|
||||
|
||||
*distcc*::
|
||||
*distcc*;;
|
||||
Allow the use of distcc during build. More useful in its negative
|
||||
form "!distcc" with select packages that have problems building
|
||||
form `!distcc` with select packages that have problems building
|
||||
with distcc.
|
||||
|
||||
*makeflags*::
|
||||
*makeflags*;;
|
||||
Allow the use of user-specific makeflags during build as specified
|
||||
in manlink:makepkg.conf[5]. More useful in its negative form
|
||||
"!makeflags" with select packages that have problems building with
|
||||
custom makeflags such as "-j2" (or higher).
|
||||
`!makeflags` with select packages that have problems building with
|
||||
custom makeflags such as `-j2` (or higher).
|
||||
|
||||
*force*::
|
||||
*force*;;
|
||||
Force the package to be upgraded by a pacman system upgrade
|
||||
operation, even if the version number would normally not trigger
|
||||
such an upgrade. This is useful when the version numbering scheme
|
||||
|
@ -16,20 +16,20 @@ For ease of access, the libalpm manual has been split up into several sections.
|
||||
*TODO:* Yes, this man page needs a lot of work. Once we get around to doing
|
||||
good Doxygen documentation, it will improve. We promise.
|
||||
|
||||
* alpm_databases Database Functions
|
||||
* alpm_interface Interface Functions
|
||||
* alpm_list List Functions
|
||||
* alpm_log Logging Functions
|
||||
* alpm_misc Miscellaneous Functions
|
||||
* alpm_packages Package Functions
|
||||
* alpm_sync Sync Functions
|
||||
* alpm_trans Transaction Functions
|
||||
*alpm_databases*:: Database Functions
|
||||
*alpm_interface*:: Interface Functions
|
||||
*alpm_list*:: List Functions
|
||||
*alpm_log*:: Logging Functions
|
||||
*alpm_misc*:: Miscellaneous Functions
|
||||
*alpm_packages*:: Package Functions
|
||||
*alpm_sync*:: Sync Functions
|
||||
*alpm_trans*:: Transaction Functions
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
See manlink:pacman.conf[5] for more details on configuring libalpm using the
|
||||
pacman.conf file.
|
||||
'pacman.conf' file.
|
||||
|
||||
|
||||
See Also
|
||||
|
@ -25,91 +25,107 @@ 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.
|
||||
customizations, generate meta-info, and package the whole thing up for pacman
|
||||
to use.
|
||||
|
||||
makeworld can be used to rebuild an entire package group or the entire build tree.
|
||||
See `makeworld --help` for syntax.
|
||||
makeworld can be used to rebuild an entire package group or the entire build
|
||||
tree. See `makeworld \--help` for syntax.
|
||||
|
||||
Options
|
||||
-------
|
||||
*-b, --builddeps*::
|
||||
*-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.
|
||||
|
||||
*-b, \--builddeps*::
|
||||
Build missing dependencies from source. When makepkg finds missing
|
||||
build-time or run-time dependencies, it will look for the dependencies'
|
||||
PKGBUILD files under ABSROOT (set in makepkg.conf). If it finds them it
|
||||
will call makepkg to build and install the missing dependencies. The
|
||||
child calls will be made with the `-b` and `-i` options.
|
||||
|
||||
*-c, --clean*::
|
||||
*-c, \--clean*::
|
||||
Clean up leftover work files and directories after a successful build.
|
||||
|
||||
*-C, --cleancache*::
|
||||
*-C, \--cleancache*::
|
||||
Removes all cached source files from the directory specified in SRCDEST
|
||||
in manlink:makepkg.conf[5].
|
||||
|
||||
*-d, --nodeps*::
|
||||
*-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*::
|
||||
*-e, \--noextract*::
|
||||
Do not extract source files; use whatever source already exists in the
|
||||
src/ directory. This is handy if you want to go into src 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.
|
||||
|
||||
*-f, --force*::
|
||||
*-f, \--force*::
|
||||
makepkg will not build a package if a built package already exists in
|
||||
the PKGDEST (set in manlink:makepkg.conf[5]) directory, which may
|
||||
default to the current directory. This allows the built package to be
|
||||
overwritten.
|
||||
|
||||
*-g, --geninteg*::
|
||||
*-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 value of the INTEGRITY_CHECK array in
|
||||
manlink:makepkg.conf[5]. This output can be redirected into your
|
||||
PKGBUILD for source validation (`makepkg -g >> PKGBUILD`).
|
||||
|
||||
*-h, --help*::
|
||||
*-h, \--help*::
|
||||
Output syntax and command line options.
|
||||
|
||||
*-i, --install*::
|
||||
Install or upgrade the package after a successful build using pacman.
|
||||
*-i, \--install*::
|
||||
Install or upgrade the package after a successful build using
|
||||
manlink:pacman[8].
|
||||
|
||||
*-m, --nocolor*::
|
||||
*-m, \--nocolor*::
|
||||
Disable color in output messages.
|
||||
|
||||
*-o, --nobuild*::
|
||||
*-o, \--nobuild*::
|
||||
Download and extract files only, but do not build them. Useful with the
|
||||
`--noextract` option if you wish to tweak the files in src/ before
|
||||
`\--noextract` option if you wish to tweak the files in src/ before
|
||||
building.
|
||||
|
||||
*-p* <'buildscript'>::
|
||||
Read the package script buildscript instead of the default,
|
||||
*-p* <`buildscript`>::
|
||||
Read the package script `buildscript` instead of the default, see
|
||||
manlink:PKGBUILD[5].
|
||||
|
||||
*-r, --rmdeps*::
|
||||
*-r, \--rmdeps*::
|
||||
Upon successful build, remove any dependencies installed by makepkg
|
||||
during dependency auto-resolution (using `-b` or `-s`).
|
||||
|
||||
*-R, --repackage*::
|
||||
*-R, \--repackage*::
|
||||
Repackage contents of pkg/ without rebuilding the package. This is
|
||||
useful if you forgot a depend or install file in your PKGBUILD and the
|
||||
build itself will not change.
|
||||
|
||||
*-s, --syncdeps*::
|
||||
*-s, \--syncdeps*::
|
||||
Install missing dependencies using pacman. When missing build-time or
|
||||
run-time dependencies are found, pacman will try to resolve them. If
|
||||
successful, the missing packages will be downloaded and installed.
|
||||
|
||||
*--noconfirm*::
|
||||
*\--asroot*::
|
||||
Allow makepkg to run as root. This is for security purposes as it is
|
||||
normally dangerous to do so. This will also disable use of fakeroot and
|
||||
sudo.
|
||||
|
||||
*\--source*::
|
||||
Do not actually build the package, but build a source-only tarball. This
|
||||
is useful for passing a single tarball to another program such as a
|
||||
chroot, remote builder, or an AUR upload.
|
||||
|
||||
*\--noconfirm*::
|
||||
(Passed to pacman) Prevent pacman from waiting for user input before
|
||||
proceeding with operations.
|
||||
|
||||
*--noprogressbar*::
|
||||
*\--noprogressbar*::
|
||||
(Passed to pacman) Prevent pacman from displaying a progress bar;
|
||||
useful if you are redirecting makepkg output to file.
|
||||
|
||||
@ -117,7 +133,7 @@ Options
|
||||
Configuration
|
||||
-------------
|
||||
See manlink:makepkg.conf[5] for more details on configuring makepkg using the
|
||||
makepkg.conf file.
|
||||
'makepkg.conf' file.
|
||||
|
||||
|
||||
See Also
|
||||
|
@ -19,123 +19,133 @@ 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.
|
||||
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...
|
||||
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.
|
||||
The default file is fairly well commented, so it may be easiest to simply
|
||||
follow directions given there for customization.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
*FTPAGENT="*'/path/to/command [options]'*"*::
|
||||
Sets the download agent used to fetch source files specified with a URL
|
||||
in the manlink:PKGBUILD[5] file. Flags can be specified as well; the
|
||||
download URL is then placed on the end of the command.
|
||||
**DLAGENTS=(**\'protocol::/path/to/command [options]' ...**)**::
|
||||
Sets the download agents used to fetch source files specified with a URL in
|
||||
the manlink:PKGBUILD[5] file. Options can be specified for each command as
|
||||
well; the download URL is placed on the end of the command. This is more
|
||||
flexible than the former `FTPAGENT` variable, as any protocol can have a
|
||||
download agent. Several examples are provided in the default makepkg.conf.
|
||||
|
||||
*CARCH="*'carch'*"*::
|
||||
Specifies your computer architecture; possible values include such
|
||||
things as "i686", "x86_64", "ppc", etc. This should be automatically
|
||||
set on installation.
|
||||
**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.
|
||||
**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'*"*::
|
||||
**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.
|
||||
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'*"*::
|
||||
**CXXFLAGS=**"cxxflags"::
|
||||
Flags used for the C++ compiler; see CFLAGS for more info.
|
||||
|
||||
*MAKEFLAGS="*'makeflags'*"*::
|
||||
This is often used to set the number of jobs used, for example, "-j2".
|
||||
**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 four 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:
|
||||
**BUILDENV=(**fakeroot !distcc color !ccache !xdelta**)**::
|
||||
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.
|
||||
*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.
|
||||
*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*::
|
||||
*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.
|
||||
*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' ...*"*::
|
||||
*xdelta*;;
|
||||
Generate an xdelta binary patch from previous to current package. The
|
||||
previous package must be available in the makepkg cache directory for
|
||||
this to occur.
|
||||
|
||||
**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.
|
||||
`MAKEFLAGS`.
|
||||
|
||||
*OPTIONS=(*'strip !docs libtool emptydirs'*)*::
|
||||
This array contains four options that affect the default packaging. All
|
||||
four 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:
|
||||
**OPTIONS=(**strip !docs libtool emptydirs**)**::
|
||||
This array contains options that affect the default packaging. All four 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.
|
||||
*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*::
|
||||
*docs*;;
|
||||
Save doc and info directories. If you wish to delete doc and info
|
||||
directories, specify "!docs" in the array.
|
||||
directories, specify `!docs' in the array.
|
||||
|
||||
*libtool*::
|
||||
Leave libtool (.la) files in packages. Specify "!libtool" to
|
||||
remove them.
|
||||
*libtool*;;
|
||||
Leave libtool (.la) files in packages. Specify `!libtool' to remove
|
||||
them.
|
||||
|
||||
*emptydirs*::
|
||||
*emptydirs*;;
|
||||
Leave empty directories in packages.
|
||||
|
||||
*INTEGRITY_CHECK=(*'check1' ...*)*::
|
||||
**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.
|
||||
`md5`, `sha1`, `sha256`, `sha384`, and `sha512`.
|
||||
|
||||
*DOC_DIRS=(*'usr/{,share/}{info,doc}' ...*)*::
|
||||
**DOC_DIRS=(**usr/{,share/}{info,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.
|
||||
array. *NOTE:* Do not add the leading slash to the directory name.
|
||||
|
||||
*PKGDEST=*'/path/to/folder'::
|
||||
**PKGDEST=**"/path/to/folder"::
|
||||
If this value is not set, packages will by default be placed in the
|
||||
current directory (location of the manlink: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".
|
||||
this behavior. A common location is ``/home/packages''.
|
||||
|
||||
*SRCDEST=*'/path/to/folder'::
|
||||
**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.
|
||||
|
||||
*PACKAGER="*'John Doe <john@doe.com>'*"*::
|
||||
**PACKAGER=**"John Doe <john@doe.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.
|
||||
|
||||
*BUILDSCRIPT*, *PKGEXT*, *SRCEXT*, *DB_COMPRESSION*, *DB_CHECKSUMS*::
|
||||
Do not touch these unless you know what you are doing.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
152
doc/pacman.8.txt
152
doc/pacman.8.txt
@ -28,206 +28,212 @@ ends to be written (for instance, a GUI front end).
|
||||
|
||||
Operations
|
||||
----------
|
||||
*-A, --add* (deprecated)::
|
||||
*-A, \--add* (deprecated)::
|
||||
Add a package to the system. Either a URL or file path can be specified.
|
||||
The package will be uncompressed into the installation root and the
|
||||
database will be updated. The package will not be installed if another
|
||||
version is already installed. *NOTE*: please use `--upgrade` in place of
|
||||
version is already installed. *NOTE*: please use '\--upgrade' in place of
|
||||
this option.
|
||||
|
||||
*-F, --freshen*::
|
||||
This is like `--upgrade` except it will only upgrade packages already
|
||||
*-F, \--freshen*::
|
||||
This is like '\--upgrade' except it will only upgrade packages already
|
||||
installed on the system.
|
||||
|
||||
*-Q, --query*::
|
||||
*-Q, \--query*::
|
||||
Query the package database. This operation allows you to view installed
|
||||
packages and their files, as well as meta-information about individual
|
||||
packages (dependencies, conflicts, install date, build date, size). This
|
||||
can be run against the local package database or can be used on
|
||||
individual `.tar.gz` packages. See <<QO,Query Options>> below.
|
||||
individual '.tar.gz' packages. See <<QO,Query Options>> below.
|
||||
|
||||
*-R, --remove*::
|
||||
*-R, \--remove*::
|
||||
Remove a package from the system. Files belonging to the specified
|
||||
package will be deleted, and the database will be updated. Most
|
||||
configuration files will be saved with a `.pacsave` extension unless the
|
||||
`--nosave` option is used. See <<RO,Remove Options>> below.
|
||||
'\--nosave' option is used. See <<RO,Remove Options>> below.
|
||||
|
||||
*-S, --sync*::
|
||||
*-S, \--sync*::
|
||||
Synchronize packages. Packages are installed directly from the ftp
|
||||
servers, including all dependencies required to run the packages. For
|
||||
example, `pacman -S qt` will download and install qt and all the
|
||||
packages it depends on. You can also use `pacman -Su` to upgrade all
|
||||
packages that are out of date. See <<SO,Sync Options>> below.
|
||||
|
||||
*-U, --upgrade*::
|
||||
*-U, \--upgrade*::
|
||||
Upgrade or add a package to the system. Either a URL or file path can be
|
||||
specified. This is a "remove-then-add" process. See
|
||||
<<HCF,Handling Config Files>> for an explanation on how
|
||||
pacman takes care of config files.
|
||||
specified. This is a "remove-then-add" process. See <<HCF,Handling Config
|
||||
Files>> for an explanation on how pacman takes care of config files.
|
||||
|
||||
*-V, --version*::
|
||||
*-V, \--version*::
|
||||
Display version and exit.
|
||||
|
||||
*-h, --help*::
|
||||
*-h, \--help*::
|
||||
Display syntax for the given operation. If no operation was supplied
|
||||
then the general syntax is shown.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
*--ask* <'number'>::
|
||||
*\--asdeps*::
|
||||
Install packages non-explicitly; in other works, fake their install reason
|
||||
to be installed as a dependency. This is useful for makepkg and other
|
||||
build from source tools that need to install dependencies before building
|
||||
the package.
|
||||
|
||||
*\--ask* <'number'>::
|
||||
Pre-specify answers to questions. It is doubtful whether this option
|
||||
even works, so I would not recommend using it. *TODO*: document this
|
||||
more, as I have no idea how it works or when you would use it, or if we
|
||||
should just dump it.
|
||||
|
||||
*-b, --dbpath* <'path'>::
|
||||
Specify an alternative database location (default is `/var/lib/pacman`).
|
||||
*-b, \--dbpath* <'path'>::
|
||||
Specify an alternative database location (default is ``/var/lib/pacman'').
|
||||
This should not be used unless you know what you are doing.
|
||||
|
||||
*-d, --nodeps*::
|
||||
*-d, \--nodeps*::
|
||||
Skips all dependency checks. Normally, pacman will always check a
|
||||
package's dependency fields to ensure that all dependencies are
|
||||
installed and there are no package conflicts in the system.
|
||||
|
||||
*-f, --force*::
|
||||
*-f, \--force*::
|
||||
Bypass file conflict checks and overwrite conflicting files. If the
|
||||
package that is about to be installed contains files that are already
|
||||
installed, this option will cause all those files to be overwritten.
|
||||
This option should be used with care, ideally not at all.
|
||||
|
||||
*-r, --root* <'path'>::
|
||||
Specify an alternative installation root (default is `/`). This should
|
||||
not be used as a way to install software into `/usr/local` instead of
|
||||
`/usr`. This option is used if you want to install a package on a
|
||||
temporary mounted partition which is "owned" by another system. By using
|
||||
this option you not only specify where the software should be installed,
|
||||
but you also specify which package database and cache location to use.
|
||||
*-r, \--root* <'path'>::
|
||||
Specify an alternative installation root (default is ``/''). This should
|
||||
not be used as a way to install software into ``/usr/local'' instead of
|
||||
``/usr''. This option is used if you want to install a package on a
|
||||
temporary mounted partition which is "owned" by another system.
|
||||
|
||||
*-v, --verbose*::
|
||||
Output more status messages, such as the Root and DBPath.
|
||||
Output more status messages, such as the Root, DBPath, CacheDir, etc.
|
||||
|
||||
*--cachedir* <'dir'>::
|
||||
*\--cachedir* <'dir'>::
|
||||
Specify an alternative package cache location (default is
|
||||
`/var/cache/pacman/pkg`). This should not be used unless you know what
|
||||
you are doing.
|
||||
``/var/cache/pacman/pkg''). Multiple cache directories can be specified,
|
||||
and they are tried in the order they are passed to pacman.
|
||||
|
||||
*--config* <'file'>::
|
||||
*\--config* <'file'>::
|
||||
Specify an alternate configuration file.
|
||||
|
||||
*--noconfirm*::
|
||||
*\--noconfirm*::
|
||||
Bypass any and all "Are you sure?" messages. It's not a good idea to do
|
||||
this unless you want to run pacman from a script.
|
||||
|
||||
*--noprogressbar*::
|
||||
*\--noprogressbar*::
|
||||
Do not show a progress bar when downloading files. This can be useful
|
||||
for scripts that call pacman and capture the output.
|
||||
|
||||
*--noscriptlet*::
|
||||
*\--noscriptlet*::
|
||||
If an install scriptlet exists, do not execute it. Do not use this
|
||||
unless you know what you are doing.
|
||||
|
||||
|
||||
Query Options[[QO]]
|
||||
-------------------
|
||||
*-c, --changelog*::
|
||||
*-c, \--changelog*::
|
||||
View the ChangeLog of a package. Not every package will provide one but
|
||||
it will be shown if available.
|
||||
|
||||
*-e, --orphans*::
|
||||
*-e, \--orphans*::
|
||||
List all packages that were pulled in by a previously installed package
|
||||
but no longer required by any installed package.
|
||||
|
||||
*-g, --groups*::
|
||||
*-g, \--groups*::
|
||||
Display all packages that are members of a named group. If not name is
|
||||
specified, list all grouped packages.
|
||||
|
||||
*-i, --info*::
|
||||
Display information on a given package. The `-p` option can be used if
|
||||
*-i, \--info*::
|
||||
Display information on a given package. The '-p' option can be used if
|
||||
querying a package file instead of the local database.
|
||||
|
||||
*-l, --list*::
|
||||
*-l, \--list*::
|
||||
List all files owned by a given package. Multiple packages can be
|
||||
specified on the command line.
|
||||
|
||||
*-m, --foreign*::
|
||||
*-m, \--foreign*::
|
||||
List all packages that were not found in the sync database(s). Typically
|
||||
these are packages that were downloaded manually and installed with
|
||||
`--upgrade`.
|
||||
'\--upgrade'.
|
||||
|
||||
*-o, --owns* <'file'>::
|
||||
*-o, \--owns* <'file'>::
|
||||
Search for the package that owns file.
|
||||
|
||||
*-p, --file*::
|
||||
*-p, \--file*::
|
||||
Signifies that the package supplied on the command line is a file and
|
||||
not an entry in the database. The file will be decompressed and queried.
|
||||
This is useful in combination with `--info` and `--list`.
|
||||
This is useful in combination with '\--info' and '\--list'.
|
||||
|
||||
*-s, --search* <'regexp'>::
|
||||
*-s, \--search* <'regexp'>::
|
||||
This will search each locally-installed package for names or
|
||||
descriptions that matche regexp.
|
||||
descriptions that match `regexp`.
|
||||
|
||||
*-u, --upgrades*::
|
||||
*-t, \--test*::
|
||||
Run some brief checks looking at the consistency of the local database.
|
||||
|
||||
*-u, \--upgrades*::
|
||||
Lists all packages that are out of date on the local system. This option
|
||||
works best if the sync database is refreshed using `-Sy`.
|
||||
works best if the sync database is refreshed using '-Sy'.
|
||||
|
||||
|
||||
Remove Options[[RO]]
|
||||
--------------------
|
||||
*-c, --cascade*::
|
||||
*-c, \--cascade*::
|
||||
Remove all target packages, as well as all packages that depend on one
|
||||
or more target packages. This operation is recursive.
|
||||
|
||||
*-k, --keep*::
|
||||
*-k, \--keep*::
|
||||
Removes the database entry only. Leaves all files in place.
|
||||
|
||||
*-n, --nosave*::
|
||||
*-n, \--nosave*::
|
||||
Instructs pacman to ignore file backup designations. Normally, when a
|
||||
file is removed from the system the database is checked to see if the
|
||||
file should be renamed with a .pacsave extension.
|
||||
file should be renamed with a ``.pacsave'' extension.
|
||||
|
||||
*-s, --recursive*::
|
||||
*-s, \--recursive*::
|
||||
Remove each target specified including all dependencies, provided that
|
||||
(A) they are not required by other packages; and (B) they were not
|
||||
explicitly installed by the user. This option is analogous to a
|
||||
backwards `--sync` operation.
|
||||
backwards '\--sync' operation.
|
||||
|
||||
|
||||
Sync Options[[SO]]
|
||||
------------------
|
||||
*-c, --clean*::
|
||||
*-c, \--clean*::
|
||||
Remove old packages from the cache to free up disk space. When pacman
|
||||
downloads packages, it saves them in `/var/cache/pacman/pkg`. Use one
|
||||
`--clean` switch to remove old packages; use two to remove all packages
|
||||
downloads packages, it saves them in ``/var/cache/pacman/pkg''. Use one
|
||||
'\--clean' switch to remove old packages; use two to remove all packages
|
||||
from the cache.
|
||||
|
||||
*-e, --dependsonly*::
|
||||
*-e, \--dependsonly*::
|
||||
Install all dependencies of a package, but not the specified package
|
||||
itself. This is pretty useless and we're not sure why it even exists.
|
||||
|
||||
*-g, --groups*::
|
||||
*-g, \--groups*::
|
||||
Display all the members for each package group specified. If no group
|
||||
names are provided, all groups will be listed; pass the flag twice to
|
||||
view all groups and their members.
|
||||
|
||||
*-i, --info*::
|
||||
*-i, \--info*::
|
||||
Display dependency and other information for a given package. This will
|
||||
search through all repositories for a matching package.
|
||||
|
||||
*-l, --list*::
|
||||
*-l, \--list*::
|
||||
List all packages in the specified repositories. Multiple repositories
|
||||
can be specified on the command line.
|
||||
|
||||
*-p, --print-uris*::
|
||||
*-p, \--print-uris*::
|
||||
Print out URIs for each package that will be installed, including any
|
||||
dependencies yet to be installed. These can be piped to a file and
|
||||
downloaded at a later time, using a program like wget.
|
||||
|
||||
*-s, --search* <'regexp'>::
|
||||
*-s, \--search* <'regexp'>::
|
||||
This will search each package in the sync databases for names or
|
||||
descriptions that match regexp.
|
||||
descriptions that match `regexp`.
|
||||
|
||||
*-u, --sysupgrade*::
|
||||
*-u, \--sysupgrade*::
|
||||
Upgrades all packages that are out of date. Each currently-installed
|
||||
package will be examined and upgraded if a newer package exists. A
|
||||
report of all packages to upgrade will be presented and the operation
|
||||
@ -235,17 +241,17 @@ Sync Options[[SO]]
|
||||
automatically resolved at this level and will be installed/upgraded if
|
||||
necessary.
|
||||
|
||||
*-w, --downloadonly*::
|
||||
*-w, \--downloadonly*::
|
||||
Retrieve all packages from the server, but do not install/upgrade
|
||||
anything.
|
||||
|
||||
*-y, --refresh*::
|
||||
*-y, \--refresh*::
|
||||
Download a fresh copy of the master package list from the server(s)
|
||||
defined in pacman.conf. This should typically be used each time you use
|
||||
`--sysupgrade` or `-u`. Passing two `--refresh` or `-y` flags will force
|
||||
'\--sysupgrade' or '-u'. Passing two '\--refresh' or '-y' flags will force
|
||||
a refresh of all package lists even if they are thought to be up to date.
|
||||
|
||||
*--ignore* <'package'>::
|
||||
*\--ignore* <'package'>::
|
||||
Directs pacman to ignore upgrades of package even if there is one
|
||||
available.
|
||||
|
||||
@ -276,7 +282,7 @@ original=X, current=Y, new=Y::
|
||||
The new file is identical to the current file. Install the new file.
|
||||
|
||||
original=X, current=Y, new=Z::
|
||||
All three files are different, so install the new file with a `.pacnew`
|
||||
All three files are different, so install the new file with a '.pacnew'
|
||||
extension and warn the user. The user must then manually merge any
|
||||
necessary changes into the original file.
|
||||
|
||||
@ -284,7 +290,7 @@ original=X, current=Y, new=Z::
|
||||
Configuration
|
||||
-------------
|
||||
See manlink:pacman.conf[5] for more details on configuring pacman using the
|
||||
`pacman.conf` file.
|
||||
'pacman.conf' file.
|
||||
|
||||
|
||||
See Also
|
||||
|
@ -16,11 +16,11 @@ Synopsis
|
||||
|
||||
Description
|
||||
-----------
|
||||
Pacman, using manlink:libalpm[3], will attempt to read `pacman.conf` each
|
||||
time it is invoked. This configuration file is divided into sections or
|
||||
repositories. Each section defines a package repository that pacman can use
|
||||
when searching for packages in `--sync` mode. The exception to this is the
|
||||
options section, which defines global options.
|
||||
Pacman, using manlink:libalpm[3], will attempt to read pacman.conf each time it
|
||||
is invoked. This configuration file is divided into sections or repositories.
|
||||
Each section defines a package repository that pacman can use when searching
|
||||
for packages in '\--sync' mode. The exception to this is the options section,
|
||||
which defines global options.
|
||||
|
||||
|
||||
Example
|
||||
@ -43,32 +43,42 @@ Server = file:///home/pkgs
|
||||
|
||||
Options
|
||||
-------
|
||||
*DBPath =* 'path/to/db/dir'::
|
||||
*RootDir =* path/to/root::
|
||||
Set the default root directory for pacman to install to.
|
||||
|
||||
*DBPath =* path/to/db/dir::
|
||||
Overrides the default location of the toplevel database directory.
|
||||
The default is `var/lib/pacman`.
|
||||
The default is ``/var/lib/pacman/''.
|
||||
|
||||
*CacheDir =* 'path/to/cache/dir'::
|
||||
Overrides the default location of the package cache directory. The
|
||||
default is `var/cache/pacman`.
|
||||
*CacheDir =* path/to/cache/dir::
|
||||
Overrides the default location of the package cache directory. The default
|
||||
is ``/var/cache/pacman/pkg/''. Multiple cache directories can be specified,
|
||||
and they are tried in the order they are listed in the config file. If a
|
||||
file is not found in any cache directory, it will be downloaded to the
|
||||
first cache directory with write access.
|
||||
|
||||
*HoldPkg =* 'package' ...::
|
||||
If a user tries to `--remove` a package that's listed in `HoldPkg`,
|
||||
*LogFile =* '/path/to/file'::
|
||||
Log actions directly to a file. Default is ``/var/log/pacman.log''.
|
||||
|
||||
*HoldPkg =* package ...::
|
||||
If a user tries to '\--remove' a package that's listed in `HoldPkg`,
|
||||
pacman will ask for confirmation before proceeding.
|
||||
|
||||
*IgnorePkg =* 'package' ...::
|
||||
*IgnorePkg =* package ...::
|
||||
Instructs pacman to ignore any upgrades for this package when performing
|
||||
a `--sysupgrade`.
|
||||
a '\--sysupgrade'.
|
||||
|
||||
*Include =* 'path'::
|
||||
*Include =* path::
|
||||
Include another config file. This file can include repositories or
|
||||
general configuration options.
|
||||
|
||||
*XferCommand =* '/path/to/command %u'::
|
||||
*XferCommand =* /path/to/command %u::
|
||||
If set, an external program will be used to download all remote files.
|
||||
All instances of `%u` will be replaced with the download URL. If present,
|
||||
instances of `%o` will be replaced with the local filename, plus a
|
||||
".part" extension, which allows programs like wget to do file resumes
|
||||
``.part'' extension, which allows programs like wget to do file resumes
|
||||
properly.
|
||||
+
|
||||
This option is useful for users who experience problems with built-in
|
||||
http/ftp support, or need the more advanced proxy support that comes with
|
||||
utilities like wget.
|
||||
@ -76,27 +86,24 @@ Options
|
||||
*NoPassiveFtp*::
|
||||
Disables passive ftp connections when downloading packages. (aka Active Mode)
|
||||
|
||||
*NoUpgrade =* 'file' ...::
|
||||
*NoUpgrade =* file ...::
|
||||
All files listed with a `NoUpgrade` directive will never be touched during
|
||||
a package install/upgrade. Do not include the leading slash when specifying
|
||||
files.
|
||||
|
||||
*NoExtract =* 'file' ...::
|
||||
*NoExtract =* file ...::
|
||||
All files listed with a `NoExtract` directive will never be extracted from
|
||||
a package into the filesystem. This can be useful when you don't want part
|
||||
of a package to be installed. For example, if your httpd root uses an
|
||||
index.php, then you would not want the index.html file to be extracted from
|
||||
the apache package.
|
||||
'index.php', then you would not want the 'index.html' file to be extracted
|
||||
from the 'apache' package.
|
||||
|
||||
*UseSyslog*::
|
||||
Log action messages through syslog(). This will insert log entries into
|
||||
`/var/log/messages` or equivalent.
|
||||
|
||||
*LogFile =* '/path/to/file'::
|
||||
Log actions directly to a file. Default is `/var/log/pacman.log`.
|
||||
``/var/log/messages'' or equivalent.
|
||||
|
||||
*ShowSize*::
|
||||
Display the size of individual packages for `--sync` and `--query` modes.
|
||||
Display the size of individual packages for '\--sync' and '\--query' modes.
|
||||
|
||||
|
||||
Repository Sections
|
||||
@ -104,32 +111,33 @@ Repository Sections
|
||||
Each repository section defines a section name and at least one location where
|
||||
the packages can be found. The section name is defined by the string within
|
||||
square brackets (the two above are 'current' and 'custom'). Locations are
|
||||
defined with the `Server` directive and follow a URL naming structure. If you
|
||||
want to use a local directory, you can specify the full path with a `file://`
|
||||
defined with the 'Server' directive and follow a URL naming structure. If you
|
||||
want to use a local directory, you can specify the full path with a ``file://''
|
||||
prefix, as shown above.
|
||||
|
||||
The order of repositories in the file matters; repositories listed first will
|
||||
take precedence over those listed later in the file when packages in two
|
||||
take precedence over those listed later in the file when packages in two
|
||||
repositories have identical names, regardless of version number.
|
||||
|
||||
Using Your Own Repository
|
||||
-------------------------
|
||||
If you have numerous custom packages of your own, it is often easier to generate
|
||||
your own custom local repository than install them all with the `--upgrade`
|
||||
your own custom local repository than install them all with the '\--upgrade'
|
||||
option. All you need to do is generate a compressed package database in the
|
||||
directory with these packages so pacman can find it when run with `--refresh`.
|
||||
directory with these packages so pacman can find it when run with '\--refresh'.
|
||||
|
||||
repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz
|
||||
|
||||
The above command will generate a compressed database named
|
||||
`/home/pkgs/custom.db.tar.gz`. Note that the database must be of the form
|
||||
`{treename}.db.tar.gz`, where `{treename}` is the name of the section defined in
|
||||
'/home/pkgs/custom.db.tar.gz'. Note that the database must be of the form
|
||||
'{treename}.db.tar.gz', where '{treename}' is the name of the section defined in
|
||||
the configuration file. That's it! Now configure your custom section in the
|
||||
configuration file as shown in the config example above. Pacman will now use your
|
||||
package repository. If you add new packages to the repository, remember to
|
||||
re-generate the database and use pacman's `--refresh` option.
|
||||
re-generate the database and use pacman's '\--refresh' option.
|
||||
|
||||
For more information on the repo-add command, use `repo-add --help`.
|
||||
For more information on the repo-add command, see ``repo-add \--help'' or
|
||||
manlink:repo-add[8].
|
||||
|
||||
|
||||
See Also
|
||||
|
Loading…
x
Reference in New Issue
Block a user