============== Bug processing ============== Bug categories ============== There are two categories of bugs processed by NATTkA: keyword requests, and stabilization requests. The bug category is determined from the product and component that it is filled in. - Bugs filed in *Gentoo Linux* product, *Keywording* component are keywording requests. - Bugs filed in *Gentoo Linux* product, *Stabilization* component are stabilization requests. - Bugs filed in *Gentoo Security* product, *Kernel* or *Vulnerabilities* component are stabilization requests. Bugs filed in any other product or component are skipped. Package lists ============= The package list field is used to specify packages to be keyworded or stabilized. Each non-empty line contains a package specification, followed by zero or more keywords, delimited by any amount of whitespace. Leading and trailing whitespace is ignored as well. A package specification can be either the so-called CPV form (``/-``) or a subset of package dependency specification. For stabilization requests, only ``=`` dependencies (without wildcards) are allowed, i.e. syntax specifying exactly one version. For keywording requests, syntax matching multiple versions is allowed, including other operators, ``=`` wildcards, slots. In both cases USE dependencies and other extensions are not permitted. If the specification matches multiple versions, the program attempts to determine the best version to keyword. Preferably, the newest matching version having at least one keyword will be used. If no such version matches, the newest non-live version without keywords (based on ``PROPERTIES=live``) will be used. If neither such version exists, the newest live version will be used. A keyword is one of the arch names, optionally prefixed by a tilde (``~``). Note that the tilde is ignored, and stable or testing keywords are applied depending on the bug category. If no keywords are specified, they are inferred from the arch teams found in CC. Additionally, the following tokens can be used in keyword list: - ``^`` that copies keywords from the previous line. - ``*`` that aligns keywords to the intersection of keywords of other versions of the package. In case of keywordreqs, this means all keywords present in other versions of the package, if they are not explicitly disabled for this one. In case of stablereqs, this means all stable keywords present in other versions of the package, if the respective ``~arch`` keyword is present in this version. - ``-`` that is used internally to skip package from keywording (without removing it from the list). .. code-block:: :caption: Example package list for stabilization request app-misc/frobnicate-1.2.3 amd64 x86 =dev-libs/libfrobnicate-1.9 .. code-block:: :caption: Example package list for keywording request dev-python/pytest alpha hppa