From be0a472cb798f0bfd4a75d1cfe165b4005a8ca90 Mon Sep 17 00:00:00 2001 From: Andrew Fyfe Date: Tue, 3 Jul 2007 00:22:01 +0100 Subject: Convert the remaining man pages to asciidoc. Signed-off-by: Andrew Fyfe --- doc/makepkg.8.txt | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 doc/makepkg.8.txt (limited to 'doc/makepkg.8.txt') diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt new file mode 100644 index 00000000..636d409f --- /dev/null +++ b/doc/makepkg.8.txt @@ -0,0 +1,124 @@ +makepkg(8) +========== + +Name +---- +makepkg - package build utility + + +Synopsis +-------- +makepkg [options] + + +Description +----------- +makepkg is a script to automate the building of packages. All it needs is a +build-capable Linux platform and a custom build script for each package you +wish to build (known as a PKGBUILD). See manlink:PKGBUILD[5] for details on +creating your own build scripts. + +The advantage to a script-based build is that the work is only done once. Once +you have the build script for a package, makepkg will do the rest: download and +validate source files, check dependencies, configure the build-time settings, +build the package, install the package into a temporary root, make +customizations, generate meta-info, and package the whole thing up for pacman to +use. + +makeworld can be used to rebuild an entire package group or the entire build tree. +See `makeworld --help` for syntax. + +Options +------- +*-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*:: + Clean up leftover work files and directories after a successful build. + +*-C, --cleancache*:: + Removes all cached source files from the directory specified in SRCDEST + in manlink:makepkg.conf[5]. + +*-d, --nodeps*:: + Do not perform any dependency checks. This will let you override and + ignore any dependencies required. There is a good chance this option + will break the build process if all of the dependencies are not + installed. + +*-e, --noextract*:: + Do not extract source files; 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*:: + 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*:: + 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*:: + Output syntax and command line options. + +*-i, --install*:: + Install or upgrade the package after a successful build using pacman. + +*-m, --nocolor*:: + Disable color in output messages. + +*-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 + building. + +*-p* <'buildscript'>:: + Read the package script buildscript instead of the default, + manlink:PKGBUILD[5]. + +*-r, --rmdeps*:: + Upon successful build, remove any dependencies installed by makepkg + during dependency auto-resolution (using `-b` or `-s`). + +*-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*:: + 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*:: + (Passed to pacman) Prevent pacman from waiting for user input before + proceeding with operations. + +*--noprogressbar*:: + (Passed to pacman) Prevent pacman from displaying a progress bar; + useful if you are redirecting makepkg output to file. + + +Configuration +------------- +See manlink:makepkg.conf[5] for more details on configuring makepkg using the +makepkg.conf file. + + +See Also +-------- +manlink:makepkg.conf[5], manlink:PKGBUILD[5], manlink:pacman[8] + +include::footer.txt[] -- cgit v1.2.3-70-g09d2 From e412ac19f549afa26b58dbd2a2090ed95ca9cb95 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 6 Jul 2007 16:54:18 -0400 Subject: Asciidoc updates- make it pretty, fix build, etc. * Fix up the target so we rebuild the manpages when we edit the corresponding text file. * Add vim modelines to all of the asciidoc files ensureing the right syntax highlighting is used and we have expandtabs turned off. * Start making a few small changes to PKGBUILD.5 to make it pretty in both HTML and manpage format output. * Fix the manlink macro to include the manpage section in the link. Signed-off-by: Dan McGee --- doc/Makefile.am | 15 ++++++++++++--- doc/PKGBUILD.5.txt | 25 ++++++++++++++----------- doc/asciidoc.conf | 2 +- doc/footer.txt | 3 +++ doc/libalpm.3.txt | 3 +++ doc/makepkg.8.txt | 3 +++ doc/makepkg.conf.5.txt | 3 +++ doc/pacman.8.txt | 3 +++ doc/pacman.conf.5.txt | 3 +++ 9 files changed, 45 insertions(+), 15 deletions(-) (limited to 'doc/makepkg.8.txt') diff --git a/doc/Makefile.am b/doc/Makefile.am index 308f338b..89f2a639 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,4 @@ -man_MANS = \ +ASCIIDOC_MANS = \ pacman.8 \ makepkg.8 \ PKGBUILD.5 \ @@ -6,6 +6,8 @@ man_MANS = \ pacman.conf.5 \ libalpm.3 +man_MANS = $(ASCIIDOC_MANS) + if HAS_DOXYGEN man_MANS += $(wildcard man3/*.3) endif @@ -37,9 +39,16 @@ doxygen.in: doxygen $(srcdir)/Doxyfile endif -$(man_MANS): footer.txt +$(ASCIIDOC_MANS): a2x -d manpage -f manpage --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt -PKGBUILD.5: PKGBUILD-example.txt +# These rules are due to the includes and files of the asciidoc text +$(ASCIIDOC_MANS): footer.txt +pacman.8: pacman.8.txt +makepkg.8: makepkg.8.txt +PKGBUILD.5: PKGBUILD.5.txt PKGBUILD-example.txt +makepkg.conf.5: makepkg.conf.5.txt +pacman.conf.5: pacman.conf.5.txt +libalpm.3: libalpm.3.txt # vim:set ts=2 sw=2 noet: diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index fbb7886c..f9f50d17 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// PKGBUILD(5) =========== @@ -30,7 +33,7 @@ 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 @@ -48,21 +51,21 @@ 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 - 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 + field (e.g. `$$license=('GPL')$$`). If the package provides a license not + 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 multiple licenses are applicable for a package, list all of them: - licenses=('GPL' 'FDL'). + `$$license=('GPL' 'FDL')$$`. *install*:: Specifies a special install script that is to be included in the package. This file should reside in the same directory as the PKGBUILD, and will be copied into the package by makepkg. It does not need to be included - in the source array (e.g. install=pkgname.install). + in the source array (e.g. `$$install=pkgname.install$$`). *source (array)*:: An array of source files required to build the package. Source files @@ -94,11 +97,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 diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf index 6b0747d6..92e01179 100644 --- a/doc/asciidoc.conf +++ b/doc/asciidoc.conf @@ -60,5 +60,5 @@ endif::doctype-manpage[] ifdef::backend-xhtml11[] [manlink-inlinemacro] -{target}{0?({0})} +{target}{0?({0})} endif::backend-xhtml11[] diff --git a/doc/footer.txt b/doc/footer.txt index 5f62a647..d1ee9d1e 100644 --- a/doc/footer.txt +++ b/doc/footer.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// See the Arch Linux website at for more current information on the distribution and the pacman family of tools, and for diff --git a/doc/libalpm.3.txt b/doc/libalpm.3.txt index c9951311..27281fad 100644 --- a/doc/libalpm.3.txt +++ b/doc/libalpm.3.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// libalpm(3) ========== diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index 636d409f..622423c9 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// makepkg(8) ========== diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index d8a02726..72b57c3e 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// makepkg.conf(5) =============== diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index 891be7dd..c0a16971 100644 --- a/doc/pacman.8.txt +++ b/doc/pacman.8.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// pacman(8) ========= diff --git a/doc/pacman.conf.5.txt b/doc/pacman.conf.5.txt index 180b19c7..ec04fcb2 100644 --- a/doc/pacman.conf.5.txt +++ b/doc/pacman.conf.5.txt @@ -1,3 +1,6 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// pacman.conf(5) ============== -- cgit v1.2.3-70-g09d2 From c9189f54cd9e57a4d66124d14467848db9fcc8f1 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 16 Jul 2007 12:57:02 -0400 Subject: 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 --- doc/PKGBUILD.5.txt | 55 +++++++++--------- doc/libalpm.3.txt | 18 +++--- doc/makepkg.8.txt | 66 +++++++++++++-------- doc/makepkg.conf.5.txt | 152 ++++++++++++++++++++++++++----------------------- doc/pacman.8.txt | 152 +++++++++++++++++++++++++------------------------ doc/pacman.conf.5.txt | 78 +++++++++++++------------ 6 files changed, 281 insertions(+), 240 deletions(-) (limited to 'doc/makepkg.8.txt') diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index f9f50d17..be3f1169 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -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 diff --git a/doc/libalpm.3.txt b/doc/libalpm.3.txt index 27281fad..d8fb58e8 100644 --- a/doc/libalpm.3.txt +++ b/doc/libalpm.3.txt @@ -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 diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index 622423c9..02d29f32 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -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 diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index 72b57c3e..17e4bd87 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -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. - -*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. - -*CFLAGS="*'cflags'*"*:: +**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. + +**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. + 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 '*"*:: +**PACKAGER=**"John Doe ":: 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 -------- diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index c0a16971..26bb0537 100644 --- a/doc/pacman.8.txt +++ b/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 <> below. + individual '.tar.gz' packages. See <> 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 <> below. + '\--nosave' option is used. See <> 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 <> 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 - <> for an explanation on how - pacman takes care of config files. + specified. This is a "remove-then-add" process. See <> 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`. + +*-t, \--test*:: + Run some brief checks looking at the consistency of the local database. -*-u, --upgrades*:: +*-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 diff --git a/doc/pacman.conf.5.txt b/doc/pacman.conf.5.txt index ec04fcb2..d422a4b9 100644 --- a/doc/pacman.conf.5.txt +++ b/doc/pacman.conf.5.txt @@ -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/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. -*CacheDir =* 'path/to/cache/dir':: - Overrides the default location of the package cache directory. The - default is `var/cache/pacman`. +*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`, +*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 -- cgit v1.2.3-70-g09d2