Pacman packages: Difference between revisions
From wikinotes
Line 37: | Line 37: | ||
# ======== | # ======== | ||
license=('MIT') # licences (see /usr/share/licences/common/) | license=('MIT') # licences (see /usr/share/licences/common/) | ||
# ============ | # ============ | ||
# | # interoperability | ||
# ============ | # ============ | ||
# package version requests | # package version requests | ||
Line 49: | Line 47: | ||
optdepends=('foo: does foo' 'bar: does bar') # if installed, program uses these | optdepends=('foo: does foo' 'bar: does bar') # if installed, program uses these | ||
provides=('blah=1.1.1') | groups=('metapackage-name') # included in metapackage X | ||
conflicts=('bleh') | provides=('blah=1.1.1') # provided by this pkg. (may overlap) | ||
replaces=('bloo') | conflicts=('bleh') # cannot be installed alongside this pkg | ||
replaces=('bloo') # this package should replace these older/deprecated pkgs | |||
backup=('etc/pacman.conf') | backup=('etc/pacman.conf') # create .pacnew files when ovewritten (relpaths) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- PKGBUILD Syntax --> | </blockquote><!-- PKGBUILD Syntax --> |
Revision as of 23:56, 25 December 2021
Archlinux packages are described in PKGBUILD
files, and built using makepkg
.
They are expressed in bash shellscript.
Documentation
man PKGBUILD
https://man.archlinux.org/man/PKGBUILD.5 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/) # ============ # interoperability # ============ # 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 groups=('metapackage-name') # included in metapackage X 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)