49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
|
---
|
|||
|
arch-wiki: https://wiki.archlinux.org/title/PKGBUILD
|
|||
|
obj: concept
|
|||
|
---
|
|||
|
|
|||
|
A `PKGBUILD` is a shell script containing the build information required by Arch Linux packages. [Arch Wiki](https://wiki.archlinux.org/title/PKGBUILD)
|
|||
|
|
|||
|
Packages in Arch Linux are built using the makepkg utility. When makepkg is run, it searches for a PKGBUILD file in the current directory and follows the instructions therein to either compile or otherwise acquire the files to build a package archive (pkgname.pkg.tar.zst). The resulting package contains binary files and installation instructions, readily installable with pacman.
|
|||
|
|
|||
|
Mandatory variables are `pkgname`, `pkgver`, `pkgrel`, and `arch`. `license` is not strictly necessary to build a package, but is recommended for any PKGBUILD shared with others, as makepkg will produce a warning if not present.
|
|||
|
|
|||
|
# Example
|
|||
|
PKGBUILD:
|
|||
|
```sh
|
|||
|
# Maintainer: User <mail>
|
|||
|
pkgname=NAME
|
|||
|
pkgver=VERSION
|
|||
|
pkgrel=1
|
|||
|
pkgdesc="DESCRIPTION"
|
|||
|
arch=('x86_64')
|
|||
|
url=URL
|
|||
|
license=("MIT")
|
|||
|
depends=("git")
|
|||
|
makedepends=("git")
|
|||
|
source=("FILE_NAME::FILE_URL")
|
|||
|
sha256sums=("SKIP")
|
|||
|
|
|||
|
prepare() {
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
pkver() {
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
build() {
|
|||
|
cd "$pkgname"
|
|||
|
make
|
|||
|
}
|
|||
|
|
|||
|
check() {
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
package() {
|
|||
|
cd "$pkgname"
|
|||
|
install -Dm755 ./app "$pkgdir/usr/bin/app"
|
|||
|
}
|
|||
|
```
|