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:
Dan McGee 2007-07-16 12:57:02 -04:00
parent d2613b97fa
commit c9189f54cd
6 changed files with 278 additions and 237 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
--------

View File

@ -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

View File

@ -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