pkgcore.bugzilla.enums module

Bugzilla vocabularies used by bugs.gentoo.org.

Only what pkgcore-adjacent tooling actually writes is enumerated; values read back off the wire stay plain strings, so anything Gentoo adds later never breaks parsing.

class pkgcore.bugzilla.enums.BugCategory(*values)[source]

Bases: StrEnum

Gentoo arch team bug categories, valued by their Bugzilla component

KEYWORDREQ = 'Keywording'
STABLEREQ = 'Stabilization'
property component: Component
classmethod from_product_component(product: str, component: str) BugCategory | None[source]

Classify a bug, returning None if it’s neither category

property product: Product
property summary_suffix: str

The conventional trailing word of the bug summary

property verb: str

The verb used when describing the request

class pkgcore.bugzilla.enums.ChartOp(*values)[source]

Bases: StrEnum

Operators accepted by Bugzilla’s boolean charts, the o<N> params.

MATCHES and NOT_MATCHES are only valid against the fulltext content field, and IS_EMPTY/IS_NOT_EMPTY still need a v<N> value even though it’s ignored.

ALL_WORDS = 'allwords'
ALL_WORDS_SUBSTR = 'allwordssubstr'
ANY_EXACT = 'anyexact'
ANY_WORDS = 'anywords'
ANY_WORDS_SUBSTR = 'anywordssubstr'
CASE_SUBSTRING = 'casesubstring'
CHANGED_AFTER = 'changedafter'
CHANGED_BEFORE = 'changedbefore'
CHANGED_BY = 'changedby'
CHANGED_FROM = 'changedfrom'
CHANGED_TO = 'changedto'
EQUALS = 'equals'
GREATER_THAN = 'greaterthan'
GREATER_THAN_EQ = 'greaterthaneq'
IS_EMPTY = 'isempty'
IS_NOT_EMPTY = 'isnotempty'
LESS_THAN = 'lessthan'
LESS_THAN_EQ = 'lessthaneq'
MATCHES = 'matches'
NOT_EQUALS = 'notequals'
NOT_MATCHES = 'notmatches'
NOT_REGEXP = 'notregexp'
NOT_SUBSTRING = 'notsubstring'
NO_WORDS = 'nowords'
NO_WORDS_SUBSTR = 'nowordssubstr'
REGEXP = 'regexp'
SUBSTRING = 'substring'
class pkgcore.bugzilla.enums.Component(*values)[source]

Bases: StrEnum

Components of Gentoo Linux, plus the security one that matters

CURRENT_PACKAGES = 'Current packages'
ECLASSES = 'Eclasses'
KEYWORDING = 'Keywording'
NEW_PACKAGES = 'New packages'
PROFILES = 'Profiles'
STABILIZATION = 'Stabilization'
VULNERABILITIES = 'Vulnerabilities'
class pkgcore.bugzilla.enums.FlagStatus(*values)[source]

Bases: StrEnum

Status of a Bugzilla flag, CLEARED being write only

CLEARED = 'X'
DENIED = '-'
GRANTED = '+'
REQUESTED = '?'
class pkgcore.bugzilla.enums.Join(*values)[source]

Bases: StrEnum

How a boolean chart group combines its children, the j<N> params.

AND_G requires every condition to match the same row, which is what constraining a single flag or attachment needs.

AND = 'AND'
AND_G = 'AND_G'
OR = 'OR'
class pkgcore.bugzilla.enums.Product(*values)[source]

Bases: StrEnum

The bugs.gentoo.org products this module knows about

GENTOO_LINUX = 'Gentoo Linux'
GENTOO_SECURITY = 'Gentoo Security'
class pkgcore.bugzilla.enums.Resolution(*values)[source]

Bases: StrEnum

Resolutions enabled on bugs.gentoo.org.

LATER and REMIND are legacy values still set on old bugs, listed so parsing round-trips rather than because anything should write them.

CANTFIX = 'CANTFIX'
DUPLICATE = 'DUPLICATE'
FIXED = 'FIXED'
INVALID = 'INVALID'
LATER = 'LATER'
NEEDINFO = 'NEEDINFO'
OBSOLETE = 'OBSOLETE'
PKGREMOVED = 'PKGREMOVED'
REMIND = 'REMIND'
TEST_REQUEST = 'TEST-REQUEST'
UPSTREAM = 'UPSTREAM'
WONTFIX = 'WONTFIX'
WORKSFORME = 'WORKSFORME'
class pkgcore.bugzilla.enums.RuntimeTesting(*values)[source]

Bases: StrEnum

Values of cf_runtime_testing_required.

The field only exists on the Keywording and Stabilization components, and reads back as UNSET everywhere else.

MANUAL = 'Manual'
NO = 'No'
UNSET = '---'
YES = 'Yes'
class pkgcore.bugzilla.enums.Severity(*values)[source]

Bases: StrEnum

Bug severities, QA being Gentoo specific

BLOCKER = 'blocker'
CRITICAL = 'critical'
ENHANCEMENT = 'enhancement'
MAJOR = 'major'
MINOR = 'minor'
NORMAL = 'normal'
QA = 'QA'
TRIVIAL = 'trivial'
class pkgcore.bugzilla.enums.Status(*values)[source]

Bases: StrEnum

Bug workflow states, there is no NEW, ASSIGNED or CLOSED

CONFIRMED = 'CONFIRMED'
IN_PROGRESS = 'IN_PROGRESS'
RESOLVED = 'RESOLVED'
UNCONFIRMED = 'UNCONFIRMED'
VERIFIED = 'VERIFIED'
property is_open: bool