summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-08-07 20:55:11 -0500
committerDan McGee <dan@archlinux.org>2012-08-07 20:55:11 -0500
commit024bc44a2545bc54db6e2242af799936c263dea1 (patch)
treec8d50e58b271f71743396180bc88d79d775a79b2 /doc
parent0c95b294e9c7b947e19eda71aca3aaffc9cc3abd (diff)
parenta818766c6e693fcc5781574d05ee02ac4b6a8dcd (diff)
downloadpacman-024bc44a2545bc54db6e2242af799936c263dea1.tar.xz
Merge remote-tracking branch 'allan/working-split/vcs'
Diffstat (limited to 'doc')
-rw-r--r--doc/PKGBUILD.5.txt100
-rw-r--r--doc/makepkg.8.txt12
2 files changed, 43 insertions, 69 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 062b1ab6..47f9e884 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -47,6 +47,11 @@ similar to `$_basekernver`.
*pkgver*::
The version of the software as released from the author (e.g., '2.7.1').
The variable is not allowed to contain colons or hyphens.
++
+The `pkgver` variable can be automatically updated by providing a `pkgver()` function
+in the PKGBUILD that outputs the new package version. This is run after downloading
+and extracting the sources so can use those files in determining the new `pkgver`.
+This is most useful when used with sources from version control systems (see below).
*pkgrel*::
This is the release number specific to the Arch Linux release. This
@@ -109,6 +114,10 @@ It is also possible to change the name of the downloaded file, which is helpful
with weird URLs and for handling multiple source files with the same
name. The syntax is: `source=('filename::url')`.
+
+makepkg also supports building developmental versions of packages using sources
+downloaded from version control systems (VCS). For more information, see
+<<VCS,Using VCS Sources>> below.
++
Files in the source array with extensions `.sig`, `.sign` or `.asc` are recognized by
makepkg as PGP signatures and will be automatically used to verify the integrity
of the corresponding source file.
@@ -392,69 +401,40 @@ The install script does not need to be specified in the source array. A
template install file is available in '{pkgdatadir}' as 'proto.install' for
reference with all of the available functions defined.
+Using VCS Sources[[VCS]]
+------------------------
+Building a developmental version of a package using sources from a version control
+system (VCS) is enabled by specifying the source in the form
+`source=('folder::url#fragment')`. Currently makepkg supports the `git`, `hg` and
+`svn` protocols.
-Development Directives
-----------------------
-makepkg supports building development versions of packages without having to
-manually update the pkgver in the PKGBUILD. This was formerly done using the
-separate utility 'versionpkg'. In order to utilize this functionality, your
-PKGBUILD must use correct variable names depending on the SCM being fetched
-from (e.g., 'makepkg-git', 'mplayer-svn').
-
-*CVS*::
- The generated pkgver will be the date the package is built.
-
- *_cvsroot*;;
- The root of the CVS repository.
-
- *_cvsmod*;;
- The CVS module to fetch.
-
-*SVN*::
- The generated pkgver will be the latest SVN revision number.
-
- *_svntrunk*;;
- The trunk of the SVN repository.
-
- *_svnmod*;;
- The SVN module to fetch.
-
-*Git*::
- The generated pkgver will be the date the package is built.
-
- *_gitroot*;;
- The URL (all protocols supported) to the GIT repository.
+The source URL is divided into three components:
- *_gitname*;;
- GIT tag or branch to use.
-
-*Mercurial*::
- The generated pkgver will be the hg tip revision number.
-
- *_hgroot*;;
- The URL of the mercurial repository.
-
- *_hgrepo*;;
- The repository to follow.
-
-*Darcs*::
- The generated pkgver will be the date the package is built.
-
- *_darcstrunk*;;
- URL to the repository trunk.
-
- *_darcsmod*;;
- Darcs module to use.
-
-*Bazaar*::
- The generated pkgver will be the latest Bazaar revision number (revno).
-
- *_bzrtrunk*;;
- URL to the bazaar repository.
-
- *_bzrmod*;;
- Bazaar module to use.
+*folder*::
+ (optional) Specifies an alternate folder name for makepkg to download the VCS
+ source into.
+*url*::
+ The url to the VCS repo. This must include the the vcs in the URL protocol for
+ makepkg to recognize this as a VCS source. If the protocol does not include
+ the VCS name, it can be added by prefixing the URL with `vcs+`. For example,
+ using a git repository over `http` would have a source URL in the form
+ `git+http://...`.
+
+*fragment*::
+ (optional) Allows specifying a revision number or branch for makepkg to checkout
+ from the VCS. For example, to checkout a given revision, the source line would
+ have the format `source=(url#revision=123)`. The available fragments depends on
+ the VCS being used:
+
+ *git*;;
+ branch, commit, tag
+
+ *hg*;;
+ branch, revision, tag
+
+ *svn*;;
+ revision
Example
-------
diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt
index c24e89e3..9d19e38e 100644
--- a/doc/makepkg.8.txt
+++ b/doc/makepkg.8.txt
@@ -71,11 +71,6 @@ Options
default to the current directory. This allows the built package to be
overwritten.
-*--forcever*::
- This is a hidden option that should *not* be used unless you really know
- what you are doing. makepkg uses this internally when calling itself to
- set the new development pkgver of the package.
-
*-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
@@ -96,10 +91,9 @@ Options
*-h, \--help*::
Output syntax and command line options.
-*\--holdver*::
- Useful when building development versions of packages. Prevents makepkg
- from automatically bumping the pkgver to the latest revision number in
- the package's development tree.
+*--holdver*::
+ When using VCS sources (linkman:PKGBUILD[5]) any currently checked out source
+ will not be updated to the latest revision.
*-i, \--install*::
Install or upgrade the package after a successful build using