.TH "alpm-package-group" 7 .SH "NAME" .PP package group \- package grouping for ALPM based packages\. .SH "DESCRIPTION" .PP \fBPackage groups\fP describe arbitrary grouping for ALPM based packages\. They are used in build scripts or file formats for package metadata (e\.g\. in \fBPKGBUILD\fP, \fBPKGINFO\fP or \fBSRCINFO\fP) to describe the groups a package belongs to\. \fBPackage groups\fP can be used for a number of reasons (e\.g\. "a group of all providers of a feature", "a group of all text editors") and no specific guidelines exist\. Software such as package managers can rely on \fBpackage groups\fP to list grouped packages and install as well as uninstall them in bulk\. .PP The value is represented by a UTF\-8 string (e\.g\. `\f[CR]my\-group\fP` or `\f[CR]my\-other\-group\fP`)\. Although it is possible to use a UTF\-8 string, it is recommended limit the value to the \fBalpm\-package\-name\fP format\. Package managers may use a \fBpackage group\fP to install an entire group of packages and group names containing special characters or whitespaces may be confusing to users\. .SS "Visibility of groups" .PP \fBPackage groups\fP solely exist as package metadata and any package can be in zero or more of them\. In the context of package management, \fBpackage groups\fP represent identifiers, that are visible across available package repositories, as they are defined by their members\. .SS "Caveats when relying on groups for installation" .PP \fBPackage groups\fP can be used by package managers to bulk install all ALPM based packages that are currently members of a given group\. Although in effect similar to \fBmeta packages\fP when it comes to the bulk installation of packages, \fBpackage groups\fP are not \fBpackage relations\fP and are solely defined as a grouping mechanism! When further packages are added to a given group, this does not result in them being installed automatically, as package management software merely evaluates the members of a group during a given installation action\. Aside from reinstalling all members of a group, there is no mechanism to stay in sync with the current members of a \fBpackage group\fP\. .SH "EXAMPLES" .PP The following \fBPKGBUILD\fP example defines a package that belongs to the group `\f[CR]my\-group\fP`\. Note that the created package carries the group name in its metadata (see \fBPKGINFO\fP for details)\. .RS .PP .nf pkgname=group\-example pkgver=0\.1\.0 pkgrel=1 pkgdesc="A package example" arch=(any) url="https://archlinux\.org" license=('GPL\-3\.0\-or\-later') groups=(my\-group) depends=(bash) package() { install \-vdm 755 "$pkgdir/usr/share/doc/$pkgname/" touch "$pkgdir/usr/share/doc/$pkgname/test\.txt" } .fi .RE .SH "SEE ALSO" .PP \fBPKGBUILD\fP(5), \fBPKGINFO\fP(5), \fBalpm\-meta\-package\fP(7), \fBalpm\-package\-name\fP(7), \fBalpm\-package\-relation\fP(7)