Pacman packages: Difference between revisions

From wikinotes
Line 25: Line 25:
# required
# required
# ========
# ========
pkgname=
pkgname=blah
pkgver=1.1.1    # '[0-9a-Z.@_+-]+', versions must increase alphanumerically
pkgver=1.1.1    # '[0-9a-Z.@_+-]+', versions must increase alphanumerically
pkgrel=2        # increment for each build-version of the same package-version.
pkgrel=2        # increment for each build-version of the same package-version.
arch=('x86_64')  # supported cpu architectures. ('any') supports any arch
arch=('x86_64')  # supported cpu architectures. ('any') supports any arch


# ========
# ========
Line 36: Line 37:


groups=('metapackage-name')              # included in metapackage X
groups=('metapackage-name')              # included in metapackage X
depends=('foobar>=1.8.0' 'foobar<2.0.0')  # required package version requests (build/run)
 
 
# ============
# dependencies
# ============
# package version requests
depends=('foobar>=1.8.0' 'foobar<2.0.0')      # required to build/run
checkdepends=('foobar>=1.8.0' 'foobar<2.0.0')  # required to run tests
optdepends=('foo: does foo' 'bar: does bar')  # if installed, program uses these
 
provides=('blah=1.1.1')                        # provided by this pkg. (may overlap)
conflicts=('bleh')                            # cannot be installed alongside this pkg
replaces=('bloo')                              # this package should replace these older/deprecated pkgs
 
backup=('etc/pacman.conf')                    # create .pacnew files when ovewritten (relpaths)
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- PKGBUILD Syntax -->
</blockquote><!-- PKGBUILD Syntax -->

Revision as of 23:51, 25 December 2021

Archlinux packages are described in PKGBUILD files, and built using makepkg.
They are expressed in bash shellscript.

Documentation

PKGBUILD docs https://wiki.archlinux.org/title/PKGBUILD

Usage

cd ${DIR_W_PKGBUILD}
makepkg

PKGBUILD Syntax

# ========
# required
# ========
pkgname=blah
pkgver=1.1.1     # '[0-9a-Z.@_+-]+', versions must increase alphanumerically
pkgrel=2         # increment for each build-version of the same package-version.
arch=('x86_64')  # supported cpu architectures. ('any') supports any arch


# ========
# optional
# ========
license=('MIT')  # licences (see /usr/share/licences/common/)

groups=('metapackage-name')               # included in metapackage X


# ============
# dependencies
# ============
# package version requests
depends=('foobar>=1.8.0' 'foobar<2.0.0')       # required to build/run
checkdepends=('foobar>=1.8.0' 'foobar<2.0.0')  # required to run tests
optdepends=('foo: does foo' 'bar: does bar')   # if installed, program uses these

provides=('blah=1.1.1')                        # provided by this pkg. (may overlap)
conflicts=('bleh')                             # cannot be installed alongside this pkg
replaces=('bloo')                              # this package should replace these older/deprecated pkgs

backup=('etc/pacman.conf')                     # create .pacnew files when ovewritten (relpaths)