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