summaryrefslogtreecommitdiff
path: root/doc/PKGBUILD.5
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2007-09-16 21:10:44 -0500
committerDan McGee <dan@archlinux.org>2007-09-16 21:10:44 -0500
commit708488f6fe8bf5e06ae724243381b40586301633 (patch)
tree83042c703173107def709f65d65697e233225441 /doc/PKGBUILD.5
parentb0aa51059233849b0a7ef8d6a851750776ce6645 (diff)
parentf131ee9c56b99429374dfcce583872ad9259ed96 (diff)
downloadpacman-708488f6fe8bf5e06ae724243381b40586301633.tar.xz
Merge branch 'asciidoc' into working
We're getting close to release, so might as well do this now so people can actually update some of our documentation.
Diffstat (limited to 'doc/PKGBUILD.5')
-rw-r--r--doc/PKGBUILD.5288
1 files changed, 0 insertions, 288 deletions
diff --git a/doc/PKGBUILD.5 b/doc/PKGBUILD.5
deleted file mode 100644
index 747b9f15..00000000
--- a/doc/PKGBUILD.5
+++ /dev/null
@@ -1,288 +0,0 @@
-." the string declarations are a start to try and make distro independent
-.ds DS Arch Linux
-.ds PB PKGBUILD
-.ds VR 3.0.0
-.TH \*(PB 5 "Feb 07, 2007" "\*(PB version \*(VR" "\*(DS Files"
-.SH NAME
-\*(PB \- \*(DS package build description file
-
-.SH DESCRIPTION
-This manual page is meant to describe general rules about \fB\*(PB\fPs. Once
-a \fB\*(PB\fP is written, the actual package is built using \fBmakepkg\fP and
-installed with \fBpacman\fP.
-
-\fBNOTE:\fP If you have a local copy of the Arch Build System (ABS) tree
-on your computer, you can copy the \*(PB.proto file to your new package
-build directory and edit it from there. To acquire/sync the ABS tree, use
-the \fBabs\fP script included with \fBpacman\fP.
-
-.SH OPTIONS AND DIRECTIVES
-.TP
-.B pkgname
-The name of the package. This has be a unix-friendly name as it will be
-used in the package filename.
-
-.TP
-.B pkgver
-The version of the software as released from the author (e.g. 2.7.1).
-
-.TP
-.B pkgrel
-This is the release number specific to the \*(DSs release. This allows package
-maintainers to make updates to the package's configure flags, for example.
-
-.TP
-.B pkgdesc
-This should be a brief description of the package and its functionality. Try to
-keep the description to one line of text.
-
-.TP
-.B url
-This field contains a URL that is associated with the software being packaged.
-This is typically the project's website.
-
-.TP
-.B license (array)
-This field specifies the license(s) that apply to the package. Commonly-used
-licenses are found in \fI/usr/share/licenses/common\fP. If you see the
-package's license there, simply reference it in the license field (e.g.
-\fBlicense=("GPL")\fP). If the package provides a license not found in
-\fI/usr/share/licenses/common\fP, then you should include the license in the
-package itself and set \fBlicense=("custom")\fP or
-\fBlicense=("custom:LicenseName")\fP. The license should be placed in
-\fI$startdir/pkg/usr/share/licenses/$pkgname\fP when building the package. If
-multiple licenses are applicable for a package, list all of them:
-\fBlicenses=('GPL' 'FDL')\fP.
-
-.TP
-.B install
-Specifies a special install script that is to be included in the package. This
-file should reside in the same directory as the \fB\*(PB\fP, and will be copied
-into the package by \fBmakepkg\fP. It does not need to be included in the
-\fIsource\fP array (e.g. \fBinstall=pkgname.install\fP).
-
-.TP
-.B source \fI(array)\fP
-An array of source files required to build the package. Source files must
-either reside in the same directory as the \fB\*(PB file\fP, or be a
-fully-qualified URL that makepkg will use to download the file. In order to
-make the PKGBUILD as useful as possible, use the \fB$pkgname\fP and
-\fB$pkgver\fP variables if possible when specifying the download location.
-
-.TP
-.B noextract \fI(array)\fP
-An array of filenames corresponding to those from the \fBsource\fP array. Files
-listed here will not be extracted with the rest of the source files. This is
-useful for packages which use compressed data which is downloaded but not
-necessary to uncompress.
-
-.TP
-.B md5sums \fI(array)\fP
-This array contains an MD5 hash for every source file specified in the
-\fBsource\fP array (in the same order). \fBmakepkg\fP will use this to verify
-source file integrity during subsequent builds. To easily generate md5sums, run
-"makepkg -g >> \*(PB". If desired, move the \fBmd5sums\fP line to an
-appropriate location. NOTE: \fBmakepkg\fP supports multiple integrity
-algorithms and their corresponding arrays (i.e. sha1sums for the SHA1
-algorithm); however, official packages use only md5sums for the time being.
-
-.TP
-.B sha1sums, etc.
-Alternative integrity checks that \fBmakepkg\fP supports, as noted in
-\fBmd5sums\fP above.
-
-.TP
-.B groups \fI(array)\fP
-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.
-
-.TP
-.B arch \fI(array)\fP
-Defines on which architectures the given package is available (e.g.
-\fBarch=('i686' 'x86_64')\fP).
-
-.TP
-.B backup \fI(array)\fP
-A space-delimited array of filenames, \fIwithout\fP preceding slashes, that
-should be backed up if the package is removed or upgraded. This is commonly
-used for packages placing configuration files in /etc. See \fBHANDLING CONFIG
-FILES\fP in the \fBpacman\fP manpage for more information.
-
-.TP
-.B depends \fI(array)\fP
-An array of packages that this package depends on to run. Packages in this list
-should be surrounded with single quotes and contain at least the package name.
-Entries can also include a version requirement of the form
-\fB'name<>version'\fP, where <> is one of three comparisons: \fI>=\fP (greater
-than or equal to), \fI<=\fP (less than or equal to), or \fI=\fP (equal to).
-
-.TP
-.B makedepends \fI(array)\fP
-An array of packages that this package depends on to build, but are not needed
-at runtime. Packages in this list follow the same format as \fBdepends\fP.
-
-.TP
-.B conflicts \fI(array)\fP
-An array of packages that will conflict with this package (i.e. they cannot
-both be installed at the same time). This directive follows the same format as
-\fIdepends\fP, except you cannot specify versions.
-
-.TP
-.B provides \fI(array)\fP
-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'.
-
-.TP
-.B replaces \fI(array)\fP
-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.
-
-.TP
-.B options \fI(array)\fP
-This array allows you to override some of \fBmakepkg\fP's default behavior when
-building packages. To set an option, just include the option name in the
-\fBoptions\fP 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 \fBmakepkg.conf\fP. NOTE: 'force' is a special option
-only used in \fB\*(PB\fPs, do not use it unless you know what you are doing.
-.RS
-.TP
-.B 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.
-.TP
-.B docs
-Save doc and info directories. If you wish to delete doc and info directories,
-specify "!docs" in the array.
-.TP
-.B libtool
-Leave libtool (.la) files in packages. Specify "!libtool" to remove them.
-.TP
-.B emptydirs
-Leave empty directories in packages.
-.TP
-.B ccache
-Allow the use of \fBccache\fP during build. More useful in its negative form
-"!ccache" with select packages that have problems building with \fBccache\fP.
-.TP
-.B distcc
-Allow the use of \fBdistcc\fP during build. More useful in its negative form
-"!distcc" with select packages that have problems building with \fBdistcc\fP.
-.TP
-.B makeflags
-Allow the use of user-specific makeflags during build as specified in
-\fBmakepkg.conf\fP. More useful in its negative form "!makeflags" with select
-packages that have problems building with custom makeflags such as "-j2" (or
-higher).
-.TP
-.B force
-Force the package to be upgraded by a \fBpacman\fP system upgrade operation,
-even if the version number would normally not trigger such an upgrade. This is
-useful when the version numbering scheme of a package changes (or is
-alphanumeric).
-.RE
-
-.SH INSTALL/UPGRADE/REMOVE SCRIPTING
-\fBPacman\fP has the ability to store and execute a package-specific script
-when it installs, removes, or upgrades a package. This allows a package to
-configure itself after installation and do the opposite right before it is
-removed.
-
-The exact time the script is run varies with each operation:
-
-.TP
-.B pre_install
-script is run right before files are extracted.
-
-.TP
-.B post_install
-script is run right after files are extracted.
-
-.TP
-.B pre_upgrade
-script is run right before files are extracted.
-
-.TP
-.B post_upgrade
-script is run after files are extracted.
-
-.TP
-.B pre_remove
-script is run right before files are removed.
-
-.TP
-.B post_remove
-script is run right after files are removed.
-
-.P
-To use this feature, create a file such as 'pkgname.install' and put it in
-the same directory as the \fB\*(PB\fP script. Then use the \fBinstall\fP
-directive:
-
-.RS
-.nf
-install=pkgname.install
-.fi
-.RE
-
-The install script does not need to be specified in the \fBsource\fP array.
-A template install file is available in the ABS tree (/var/abs/install.proto).
-
-.SH EXAMPLE
-The following is an example \fB\*(PB\fP for the 'modutils' package. For more
-examples, look through the ABS tree.
-
-.nf
-# Maintainer: John Doe <johndoe@archlinux.org>
-# Contributor: Bill Smith <billsmith@archlinux.org>
-pkgname=modutils
-pkgver=2.4.25
-pkgrel=1
-pkgdesc="Utilities for inserting modules in the linux kernel"
-url="http://www.kernel.org"
-makedepends=('bash' 'mawk')
-depends=('glibc' 'zlib')
-backup=(etc/modules.conf)
-source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/v2.4/$pkgname-$pkgver.tar.bz2
- modules.conf)
-arch=('i686')
-license=('GPL' 'custom') # dual licensed
-md5sums=('2c0cca3ef6330a187c6ef4fe41ecaa4d'
- '35175bee593a7cc7d6205584a94d8625')
-options=(!libtool)
-
-build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr --enable-insmod-static
- make || return 1
- make prefix=$startdir/pkg/usr install
- mv $startdir/pkg/usr/sbin $startdir/pkg
- mkdir -p $startdir/pkg/etc
- cp ../modules.conf $startdir/pkg/etc
-}
-.fi
-
-.SH SEE ALSO
-.BR makepkg (8),
-.BR pacman (8),
-.BR makepkg.conf (5)
-
-See the Arch Linux website at <http://www.archlinux.org> for more current
-information on the distribution and the \fBpacman\fP family of tools, and
-<http://wiki.archlinux.org/index.php/Arch_Packaging_Standards> for
-recommendations on packaging standards.
-
-.SH AUTHORS
-.nf
-Judd Vinet <jvinet@zeroflux.org>
-Aurelien Foret <aurelien@archlinux.org>
-Aaron Griffin <aaron@archlinux.org>
-Dan McGee <dan@archlinux.org>
-.fi
-
-See the 'AUTHORS' file for additional contributors.