PKG-ANNOTATE(8)

NAME
pkg annotate - add, modify or delete arbitrary annotations from packages

SYNOPSIS
pkg annotate [-qy] -A|M [-Cgix] pkg-name tag [value]
pkg annotate [-qy] -S|D [-Cgix] pkg-name tag
pkg annotate [-qy] -a -A|M tag [value]
pkg annotate [-qy] -a -S|D tag

pkg annotate [--{quiet,yes}] --{add|modify} [--{case-sensitive,case-insensitive,glob,regex}] pkg-name tag [value]
pkg annotate [--{quiet,yes}] --{show|delete} [--{case-sensitive,case-insensitive,glob,regex}] pkg-name tag
pkg annotate [--{quiet,yes}] --all --{add|modify} tag [value]
pkg annotate [--{quiet,yes}] --all --{show|delete} tag

DESCRIPTION
pkg annotate is used to add, modify, delete or show package annotations. These are freeform tag-value pairs which may contain any arbitrary text. Tags must be unique per package, but there is no restriction on what text values may be attached to them.

The tag is always specified on the command line, but when adding or modifying an annotation, the value may be supplied either on the command line or as a text stream on stdin.

OPTIONS
The following options are supported by pkg annotate:

-a, --all
    Annotate all installed packages.

-A, --add
    The operation is to add a new annotation. Attempting to add an annotation with a tag that already applies to that package is an error, but this will not cause pkg annotate to exit before attempting to apply the annotation to all remaining matched packages.

-C, --case-sensitive
    Make the standard or the regular expression (-x) matching against pkg-name case sensitive.

-D, --delete
    The operation is to delete an annotation. Only the tag needs to be specified. Attempting to delete an annotation which does not exist on a package is an error, but this will not prevent pkg annotate carrying on to delete the annotation from all matched packages.

-g, --glob
    Treat pkg-name as a shell glob pattern.

-i, --case-insensitive
    Make the standard or the regular expression (-x) matching against pkg-name case insensitive. This is the default, unless modified by setting CASE_SENSITIVE_MATCH to true in pkg.conf.

-M, --modify
    The operation is to modify a previously existing annotation. Functionally, this behaves similarly to -A except that it will succeed irrespective of whether the tag already applies to all the matched packages.

-q, --quiet
    Operate quietly: do not output anything other than confirmatory questions.

-S, --show
    Display the annotation identified by tag for each matched package.

-x, --regex
    Treat pkg-name as a regular expression according to the "modern" or "extended" syntax of re_format(7).

-y, --yes
    Assume "yes" as the answer to all questions.

ENVIRONMENT
The following environment variables affect the execution of pkg annotate. See pkg.conf(5) for further description.

PKG_DBDIR

DEFAULT_ALWAYS_YES

ASSUME_ALWAYS_YES

CASE_SENSITIVE_MATCH

FILES
See pkg.conf(5).

EXAMPLES
Annotate the nginx package with the tag foo and a value of bar:
    # pkg annotate -A nginx foo bar

View all annotations on a package:
    $ pkg info nginx

Remove the annotation:
    # pkg annotate -D nginx foo

Show all packages with the foo annotation:
    # pkg annotate --all --show foo

SEE ALSO
pkg_printf(3), pkg_repos(3), pkg-repository(5), pkg.conf(5), pkg(8), pkg-add(8), pkg-alias(8), pkg-audit(8), pkg-autoremove(8), pkg-backup(8), pkg-check(8), pkg-clean(8), pkg-config(8), pkg-create(8), pkg-delete(8), pkg-fetch(8), pkg-info(8), pkg-install(8), pkg-lock(8), pkg-query(8), pkg-register(8), pkg-repo(8), pkg-rquery(8), pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-ssh(8), pkg-stats(8), pkg-update(8), pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8)