index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Dan McGee <dan@archlinux.org> | 2007-09-16 21:10:44 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-09-16 21:10:44 -0500 |
commit | 708488f6fe8bf5e06ae724243381b40586301633 (patch) | |
tree | 83042c703173107def709f65d65697e233225441 /doc/PKGBUILD.5 | |
parent | b0aa51059233849b0a7ef8d6a851750776ce6645 (diff) | |
parent | f131ee9c56b99429374dfcce583872ad9259ed96 (diff) |
-rw-r--r-- | doc/PKGBUILD.5 | 288 |
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. |