poi-tracker - Man Page

Package-of-interest tracker for Fedora, EPEL, and CentOS SIGs

Synopsis

poi-tracker [-i|--inventory] [-I|--inventory-dir] [-h|--help] [-V|--version] <subcommands>

Description

Package-of-interest tracker for Fedora, EPEL, and CentOS SIGs

Options

-i,  --inventory <INVENTORY>

Path(s) to inventory TOML file(s)

-I,  --inventory-dir <DIR>

Directory to scan for *.toml inventory files

-h,  --help

Print help

-V,  --version

Print version

Commands

poi-tracker add

poi-tracker add [--poc] [--reason] [--team] [--task] [--rpm] [--workload] [--track] [-h|--help] <NAME>

Add a package to the inventory

--poc <POC>

Point of contact ("Name <email>")

--reason <REASON>

Reason for tracking

--team <TEAM>

Team responsible

--task <TASK>

Internal task/ticket reference

--rpm <RPM>

Binary RPM subpackage(s) to track (comma-separated or repeated)

--workload <WORKLOAD>

Workload tag(s) (comma-separated or repeated)

--track <TRACK>

Track branch for hs-relmon (e.g. upstream, fedora-rawhide)

-h, --help

Print help

<NAME>

Source RPM name

poi-tracker adopt

poi-tracker adopt [--pattern] [--start-from] [--end-with] [--api-token] [--dry-run] [-y|--yes] [-v|--verbose] [-h|--help]

Adopt orphaned inventory packages on dist-git

--pattern <GLOB,...>

Only process packages matching this glob (e.g. `rust-*`; a bare name matches exactly). Comma-separated or repeated; default: all packages

--start-from <NAME>

Resume from this package onwards (inclusive), in the inventory's iteration order

--end-with <NAME>

Stop after this package (inclusive). Combine with `--start-from` to bound a sub-range

--api-token <API_TOKEN>

Dist-git API token with the `modify_project` ACL (or set PAGURE_API_TOKEN, or run `poi-tracker config`)
May also be specified with the PAGURE_API_TOKEN environment variable.

--dry-run

Preview orphaned packages without adopting them

-y, --yes

Adopt every orphaned match without per-package prompts

-v, --verbose

Print progress to stderr

-h, --help

Print help

poi-tracker config

poi-tracker config [-h|--help]

Configure poi-tracker (Bugzilla API key, etc.)

-h, --help

Print help

poi-tracker export

poi-tracker export [-h|--help] <subcommands>

Export inventory to another format

-h, --help

Print help

poi-tracker export content-resolver

poi-tracker export content-resolver [--workload] [-o|--output] [-h|--help]

Export as content-resolver YAML

--workload <WORKLOAD>

Export only this workload

-o, --output <OUTPUT>

Output file (default: {workload-name}.yaml)

-h, --help

Print help

poi-tracker export hs-relmon

poi-tracker export hs-relmon [--workload] [-o|--output] [--distros] [--track] [--prune] [-h|--help]

Export as hs-relmon manifest TOML

--workload <WORKLOAD>

Filter by workload

-o, --output <OUTPUT>

Output file (default: stdout)

--distros <DISTROS> [default: upstream,fedora,centos,hyperscale]

Default distros list

--track <TRACK> [default: upstream]

Default tracking branch

--prune

Remove manifest entries not in the inventory

-h, --help

Print help

poi-tracker find

poi-tracker find [-h|--help] <NAME>

Find which inventory file(s) contain a package

-h, --help

Print help

<NAME>

Source RPM name to search for

poi-tracker import

poi-tracker import [-o|--output] [--private-fields] [--workload] [-h|--help] <JSON_FILE>

Import from legacy JSON format

-o, --output <OUTPUT> [default: inventory.toml]

Output path for TOML inventory

--private-fields <FIELD,...>

Fields to mark as private (stripped on export)

--workload <WORKLOAD,...>

Workload tag(s) to apply to all imported packages

-h, --help

Print help

<JSON_FILE>

Path to legacy JSON inventory file

poi-tracker prune-retired

poi-tracker prune-retired [--branch] [--pattern] [--start-from] [--end-with] [-j|--jobs] [--dry-run] [--remove] [-y|--yes] [-v|--verbose] [-h|--help]

Mark (or remove) packages no longer carried on any active branch (dist-git project gone or retired everywhere)

--branch <BRANCH,...>

Active branch(es) to check against (CSV or repeated; e.g. `rawhide,f44,epel9`). Default: queried from Bodhi's active releases, plus rawhide

--pattern <GLOB,...>

Only process packages matching this glob (e.g. `rust-*`; a bare name matches exactly). Comma-separated or repeated; default: all packages

--start-from <NAME>

Resume from this package onwards (inclusive), in the inventory's iteration order

--end-with <NAME>

Stop after this package (inclusive). Combine with `--start-from` to bound a sub-range

-j, --jobs <JOBS> [default: 8]

Parallel dist-git queries

--dry-run

Preview without modifying the inventory

--remove

Delete matched packages from the inventory instead of marking them `unshipped` (the default; marking survives re-syncs and lets triage-retired keep closing bugs)

-y, --yes

Skip the confirmation prompt

-v, --verbose

Print progress to stderr

-h, --help

Print help

poi-tracker remove

poi-tracker remove [--rpm] [-h|--help] <NAME>

Remove a package from the inventory

--rpm <RPM>

Remove specific binary RPM(s) instead of the whole package

-h, --help

Print help

<NAME>

Source RPM name to remove

poi-tracker semver-audit

poi-tracker semver-audit [--pattern] [--start-from] [--end-with] [--batch] [--non-breaking] [--json] [-v|--verbose] [-h|--help]

Audit pending upstream updates by semver impact, flagging which are non-breaking, breaking, or need review

--pattern <GLOB,...>

Only process packages matching this glob (e.g. `rust-*`; a bare name matches exactly). Comma-separated or repeated; default: all packages

--start-from <NAME>

Resume from this package onwards (inclusive), in the inventory's iteration order

--end-with <NAME>

Stop after this package (inclusive). Combine with `--start-from` to bound a sub-range

--batch [<EMAIL>]

Batch mode: one Bugzilla query for bugs assigned to or CC'ing EMAIL (default: the configured email), matched against the inventory locally. Much faster on a large inventory, but misses bugs where EMAIL is neither assignee nor CC'd

--non-breaking

Show only non-breaking updates

--json

Output as JSON instead of human-readable text

-v, --verbose

Print progress to stderr

-h, --help

Print help

poi-tracker show

poi-tracker show [--workload] [--json] [-h|--help]

Show inventory contents

--workload <WORKLOAD>

Filter by workload

--json

Output as JSON instead of human-readable

-h, --help

Print help

poi-tracker sync-distgit

poi-tracker sync-distgit [--user] [--group] [-o|--output] [--fast] [--no-groups] [--include-group] [--exclude-group] [--exclude] [--pattern] [--start-pattern] [--end-pattern] [--auto-prefix] [--no-auto-prefix] [--prune] [--mark-unshipped] [-j|--jobs] [--per-page] [--workload] [--name] [-h|--help]

Sync inventory from Fedora dist-git (Pagure) access

--user <USER>

Import packages for this dist-git user

--group <GROUP>

Import packages for this dist-git group

-o, --output <OUTPUT> [default: inventory.toml]

Output TOML file

--fast

One owner-alias request instead of a prefix scan. Direct owner/admin/commit only: collaborator/ticket grants are missed (and removed under --prune). Implies --no-groups

--no-groups

Exclude group-only access

--include-group <GROUP,...>

Keep only these groups (CSV or repeated)

--exclude-group <GROUP,...>

Drop these groups (CSV or repeated)

--exclude <GLOB,...>

Exclude packages by glob (CSV or repeated)

--pattern <PATTERN>

Name pattern for a single patterned query

--start-pattern <PREFIX>

Start the prefix scan at this prefix

--end-pattern <PREFIX>

Stop the prefix scan before this prefix

--auto-prefix

Query by a-z/0-9 prefix (--user default)

--no-auto-prefix

Single query; may 504 for a --user sync

--prune

Remove packages no longer in dist-git results

--mark-unshipped

Mark packages added by this sync that are already retired everywhere (like prune-retired)

-j, --jobs <JOBS> [default: 8]

Parallel dist-git queries for --mark-unshipped

--per-page <PER_PAGE> [default: 100]

Pagure API page size

--workload <WORKLOAD,...>

Workload tags (CSV or repeated)

--name <NAME>

Inventory name (default: user/group)

-h, --help

Print help

poi-tracker sync-gitlab

poi-tracker sync-gitlab [--url] [--preset] [-o|--output] [--exclude] [--prune] [--workload] [--mark-unshipped] [--centos-release] [--name] [-h|--help]

Sync inventory from a GitLab RPM group

--url <URL>

GitLab group URL

--preset <PRESET>

Preset: hyperscale, proposed-updates, centos-stream

-o, --output <OUTPUT> [default: inventory.toml]

Output TOML file

--exclude <GLOB,...>

Exclude packages by glob (CSV or repeated)

--prune

Remove packages no longer in GitLab results

--workload <WORKLOAD,...>

Workload tags (CSV or repeated)

--mark-unshipped

Mark archived projects with no released CBS build as unshipped (Hyperscale: RHEL or Stream; Proposed Updates: Stream only)

--centos-release <REL,...> [default: 9,10]

CentOS releases to count as currently shipped (CSV)

--name <NAME>

Inventory name (default: derived from group)

-h, --help

Print help

poi-tracker triage-retired

poi-tracker triage-retired [--branch] [--pattern] [--start-from] [--end-with] [--batch] [--all-reporters] [--mark] [--api-key] [--claim] [--dry-run] [-y|--yes] [-v|--verbose] [-h|--help]

Close open release-monitoring bugs as CANTFIX for any inventoried package that is retired on a dist-git branch

--branch <BRANCH,...> [default: rawhide]

Dist-git branch(es) to check retirement against (CSV or repeated; e.g. `rawhide`, `epel10`, `f43`). Each branch scopes its own Bugzilla search — a `rawhide` retirement closes the Fedora/rawhide bug, an `epel9` retirement closes the Fedora EPEL/epel9 bug. A package retired on one branch but live on another only has bugs closed where it's dead

--pattern <GLOB,...>

Only process packages matching this glob (e.g. `rust-*`; a bare name matches exactly). Comma-separated or repeated; default: all packages

--start-from <NAME>

Resume from this package onwards (inclusive), in the inventory's iteration order

--end-with <NAME>

Stop after this package (inclusive). Combine with `--start-from` to bound a sub-range

--batch [<EMAIL>]

Batch mode: one Bugzilla query for bugs assigned to or CC'ing EMAIL (default: the configured email), matched against the inventory locally. Much faster on a large inventory, but misses bugs where EMAIL is neither assignee nor CC'd

--all-reporters

Close ALL open bugs on retired branches, not just release-monitoring (Anitya) bugs. Use with care: this closes human-filed bugs (CVEs, FTBFS, etc.) too

--mark

Record results in the inventory's `retired_on` markers (adds and removes; needs a single -i file)

--api-key <API_KEY>

Bugzilla API key (or set BUGZILLA_API_KEY env var, or run `poi-tracker config`)
May also be specified with the BUGZILLA_API_KEY environment variable.

--claim

Also set `assigned_to` on each closed bug to the Bugzilla email set via `poi-tracker config`. Interactive mode prompts; with `-y` this flag is the only way to claim

--dry-run

Preview closures without applying them

-y, --yes

Skip the confirmation prompt

-v, --verbose

Print progress to stderr

-h, --help

Print help

poi-tracker triage-updates

poi-tracker triage-updates [--pattern] [--start-from] [--end-with] [--batch] [--close-stale] [--skip-stale] [--api-key] [--claim] [--dry-run] [-y|--yes] [-v|--verbose] [-h|--help]

Triage open release-monitoring bugs for inventoried packages by bumping their Bugzilla priority to match the inventory

--pattern <GLOB,...>

Only process packages matching this glob (e.g. `rust-*`; a bare name matches exactly). Comma-separated or repeated; default: all packages

--start-from <NAME>

Resume from this package onwards (inclusive), in the inventory's iteration order

--end-with <NAME>

Stop after this package (inclusive). Combine with `--start-from` to bound a sub-range

--batch [<EMAIL>]

Batch mode: one Bugzilla query for bugs assigned to or CC'ing EMAIL (default: the configured email), matched against the inventory locally. Much faster on a large inventory, but misses bugs where EMAIL is neither assignee nor CC'd

--close-stale

Close partially-addressed bugs without asking

--skip-stale

Skip the Bodhi check for already-built updates

--api-key <API_KEY>

Bugzilla API key (or set BUGZILLA_API_KEY env var, or run `poi-tracker config`)
May also be specified with the BUGZILLA_API_KEY environment variable.

--claim

Also set `assigned_to` on each closed bug to the Bugzilla email set via `poi-tracker config`. Interactive mode prompts; with `-y` this flag is the only way to claim

--dry-run

Preview updates without applying them

-y, --yes

Skip the confirmation prompt

-v, --verbose

Print progress to stderr

-h, --help

Print help

poi-tracker validate

poi-tracker validate [-h|--help]

Validate inventory consistency

-h, --help

Print help

Info

2026-08-05 sandogasa 0.19.1 Sandogasa Manual