---
name: "alpm-comparison"
section: "7"
platform: "linux"
package: "alpm-docs"
version: "0.13.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/alpm-comparison"
---

# alpm-comparison(7)

comparison statements for ALPM based packages.

## NAME

comparison - comparison statements for ALPM based packages.

## DESCRIPTION

The **comparison** format is a version comparison format, that is used for representing version comparison statements for ALPM based packages in a composite comparison expression. This format is used in build scripts or file formats for package metadata (e.g. in **PKGBUILD** or **PKGINFO**) to describe version bounds for a **package relation**.

A **comparison** statement uses one of the following **comparison** operators to specify a version bound relation:

- •

  `<` (less than)

- •

  `<=` (less than or equal to)

- •

  `=` (equal to)

- •

  `>=` (greater than or equal to)

- •

  `>` (greater than)

### Composite comparison expressions

Composite comparison expressions consist of an **alpm-package-name**, directly followed by a **comparison** operator, directly followed by an **alpm-package-version**.

### Matching comparison expressions

Name matching is performed based on a full string match using the **alpm-package-name** component of the composite comparison expression.

Version comparison is performed based on components of a composite version string (see e.g. **alpm-epoch**, **alpm-pkgver** and **alpm-pkgrel**). As **alpm-package-version** offers several forms, this allows for matching a variety of scenarios.

When providing the *full* or *full with epoch* form of the **alpm-package-version** format, it matches *exactly one* specific release of a package version. When providing the *minimal* or *minimal with epoch* form of the **alpm-package-version** format, it matches *any* release of a package version.

Depending on comparison operator, the given match towards **alpm-package-name** and **alpm-package-version** is narrow (i.e. `=`), wide with lower bound (i.e. `>`, `>=`) or wide with upper bound (i.e. `<`, `<=`).

## EXAMPLES

The below composite comparison expressions can be matched by a package named `example` in specific versions:

```
"example<1.0.0"
```

A version less than ‘1.0.0’ (e.g. ‘0.8.0-1’).

```
"example<=1.0.0"
```

A version less than or equal to ‘1.0.0’ (e.g. ‘0.8.0-1’ or ‘1.0.0-3’).

```
"example<=1.0.0-1"
```

A version less than or equal to ‘1.0.0-1’ (e.g. ‘0.8.0-1’ or ‘1.0.0-1’, but ‘1.0.0-2’ does not work).

```
"example=1.0.0"
```

Any version ‘1.0.0’ (e.g. ‘1.0.0-1’ or ‘1.0.0-2’, etc.).

```
"example=1.0.0-1"
```

The version ‘1.0.0-1’.

```
"example=1:1.0.0-1"
```

The version ‘1:1.0.0-1’.

```
"example>=1.0.0"
```

A version greater than or equal to ‘1.0.0’ (e.g. ‘1.0.0-1’ or ‘1.1.0-1’).

```
"example>1.0.0"
```

A version greater than ‘1.0.0’ (e.g. ‘1.1.0-1’ or ‘1:1.0.0-1’).

## SEE ALSO

[**BUILDINFO**(5)](/BUILDINFO/5.md), [**PKGBUILD**(5)](/PKGBUILD/5.md), [**PKGINFO**(5)](/PKGINFO/5.md), [**alpm-epoch**(7)](/alpm-epoch/7.md), [**alpm-package-name**(7)](/alpm-package-name/7.md), [**alpm-package-relation**(7)](/alpm-package-relation/7.md), [**alpm-package-version**(7)](/alpm-package-version/7.md), [**alpm-pkgrel**(7)](/alpm-pkgrel/7.md), [**alpm-pkgver**(7)](/alpm-pkgver/7.md), [**vercmp**(8)](/vercmp/8.md)
