diff options
author | Allan McRae <allan@archlinux.org> | 2009-05-11 01:16:51 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2009-05-14 16:30:02 +1000 |
commit | 5e32928a42366fd3df27ffe108b44fcfe35617dd (patch) | |
tree | 5f694d7d035437e85bb638141fbe4131f079b431 /doc | |
parent | de44a0f474f4e78359b890644645bd7e153983d2 (diff) |
makepkg: Document package splitting
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/PKGBUILD.5.txt | 27 | ||||
-rw-r--r-- | doc/makepkg.8.txt | 6 |
2 files changed, 24 insertions, 9 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index e1ea632b..41c468ee 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -238,19 +238,14 @@ use during the build and install process. These three variables are as follows: *startdir*:: This contains the absolute path to the directory where the PKGBUILD was located, which is usually the output of `$(pwd)` when makepkg is started. - `$startdir` was most often used in combination with `/src` or `/pkg` - postfixes, but use of the `$srcdir` and `$pkgdir` variables is preferred. *srcdir*:: This points to the directory where makepkg extracts or copies all source - files. Although it currently is an alias for `$startdir/src`, this - assumption should not be assumed true for all future revisions of makepkg. + files. *pkgdir*:: This points to the directory where makepkg bundles the installed package (this directory will become the root directory of your built package). - Although it currently is an alias for `$startdir/pkg`, this assumption - should not be assumed true for all future revisions of makepkg. If you create any variables of your own in the build function, it is recommended to use the bash `local` keyword to scope the variable to inside @@ -264,6 +259,26 @@ combination with the fakeroot BUILDENV option in linkman:makepkg.conf[5], fakero usage will be limited to running the packaging stage. The build() function will be run as the user calling makepkg. +Package Splitting +----------------- +makepkg supports building multiple packages from a single PKGBUILD. This is achieved +by assigning an array of package names to the `pkgname` directive. Each split package +uses a corresponding packaging function with name `package_foo()`, where `foo` is the +name of the split package. + +All options and directives for the split packages default to the global values given +within the PKGBUILD. However, some of these can be overridden within each split +package's packaging function. The following variables can be overridden: `pkgdesc`, +`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`, +`backup`, `options` and `install`. + +An optional global directive is available when building a split package: + +*pkgbase*:: + The name used to refer to the group of packages in the output of makepkg + and in the naming of source-only tarballs. If not specified, the first + element in the `pkgname` array is used. + Install/Upgrade/Remove Scripting -------------------------------- Pacman has the ability to store and execute a package-specific script when it diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index fb2e8054..e480d8e3 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -122,9 +122,9 @@ Options during dependency auto-resolution and installation when using `-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. + Repackage contents of the package 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 build-time or run-time |