alpm-package-base(7) Miscellaneous Information Manual alpm-package-base(7)

package base - an identifier that tracks from which sources an ALPM based package originates.

The package base format represents an identifier, that describes the source origin of each alpm-package file. It is particularly useful in alpm-split-package files to track the sources from which each package file is built.

More specifically, the alpm-package-base format is used throughout the package management life cycle:

  • in build scripts and source metadata files (i.e. PKGBUILD and SRCINFO)
  • in file formats for package metadata (i.e. BUILDINFO and PKGINFO)
  • in file formats for repository metadata (i.e. alpm-repo-desc)
  • and in system state metadata (i.e. alpm-db-desc).

The identifier name for alpm-package-base may differ depending on context. However, the value restrictions for it are the same as those for alpm-package-name.

The PKGBUILD of a package named `example`, that implicitly specifies its alpm-package-base as `example`.

pkgname=example
pkgver=1.0.0
pkgrel=1
pkgdesc="An example package"
arch=(any)
url="https://example.org"
license=('CC0-1.0')
package() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "example0 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}

The PKGBUILD of a package named `example`, that explicitly specifies its alpm-package-base as `something-else`.

pkgname=example
pkgbase=something-else
pkgver=1.0.0
pkgrel=1
pkgdesc="An example package"
arch=(any)
url="https://example.org"
license=('CC0-1.0')
package() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "example0 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}

The PKGBUILD of a split package setup with the packages `example` and `other-example` that both share the implicit alpm-package-base `example`.

pkgname=(
  example
  other-example
)
pkgver=1.0.0
pkgrel=1
pkgdesc="An example package"
arch=(any)
url="https://example.org"
license=('CC0-1.0')
package_example() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "example0 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}
package_other-example() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "other-example0 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}

The PKGBUILD of a split package setup with the packages `example1` and `example2` that both share the explicit alpm-package-base `example`.

pkgname=(
  example1
  example2
)
pkgbase=example
pkgver=1.0.0
pkgrel=1
pkgdesc="An example package"
arch=(any)
url="https://example.org"
license=('CC0-1.0')
package_example1() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "example10 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}
package_example2() {
  install -vdm 755 "$pkgdir/usr/share/doc/$pkgname/"
  printf "example20 > "$pkgdir/usr/share/doc/$pkgname/example.txt"
}

BUILDINFO(5), PKGBUILD(5), PKGINFO(5), SRCINFO(5), alpm-db-desc(7), alpm-package(7), alpm-package-name(7), alpm-repo-desc(7), alpm-split-package(7)