1 |
Hi, |
2 |
|
3 |
It's been some time since the last update on NATTkA. Here's just |
4 |
a short summary of new cool features. |
5 |
|
6 |
|
7 |
Keyword expansion in package lists |
8 |
================================== |
9 |
In order to improve compatibility with existing tools, once arches are |
10 |
CC-ed NATTkA automatically replaces `*` and `^` tokens in package lists |
11 |
with actual lists of keywords. If they happen to match current CC, it |
12 |
outputs the 'empty keyword list' for convenience. |
13 |
|
14 |
Note that the expansion happens only if arches are CC-ed and sanity- |
15 |
check passes. This is meant to avoid changing the package list while |
16 |
the developer is still working on it. |
17 |
|
18 |
|
19 |
CC-ARCHES |
20 |
========= |
21 |
If CC-ARCHES keyword is present on the bug, the NATTkA will |
22 |
automatically CC arches and start keywording/stabilization once sanity- |
23 |
check passes. If keywords are specified on the package list, the union |
24 |
of all arch teams will be used for CC. |
25 |
|
26 |
If no keywords are specified for package on package list, NATTkA sees if |
27 |
`*` would yield consistent keywords throughout all packages. If this is |
28 |
the case, it CC-es the equivalent of `*`. |
29 |
|
30 |
Note that arch teams are CC-ed only when sanity-check passes. Again, |
31 |
this is meant to avoid CC-ing prematurely while developer is still |
32 |
working on the package list. If the bug is not checked, then you |
33 |
probably need to specify keywords. |
34 |
|
35 |
|
36 |
ALLARCHES |
37 |
========= |
38 |
NATTkA now knows ALLARCHES and helps you do it. When the bug changes, |
39 |
NATTkA looks if all listed packages are marked <stabilize-allarches/> |
40 |
and adds/removes ALLARCHES keyword appropriately. If you want to force |
41 |
ALLARCHES independently of <stabilize-allarches/>, just set the keywords |
42 |
yourself once the sanity-check passes and NATTkA shouldn't touch it |
43 |
until next state change. |
44 |
|
45 |
`nattka apply`, `nattka commit` and `nattka resolve` know ALLARCHES too, |
46 |
and will automatically switch to applying all keywords if the bug is |
47 |
marked ALLARCHES. |
48 |
|
49 |
|
50 |
Less verbose output, more verbose logs |
51 |
====================================== |
52 |
NATTkA used to be very verbose when it could no longer perform sanity- |
53 |
check. This involved spamming security bugs once arch teams finished |
54 |
but the bug was still open. Now NATTkA tries to be less verbose -- it |
55 |
tries to determine if there is any more work to be done, and skips bugs |
56 |
silently when all looks done. |
57 |
|
58 |
Note that this could mean silently skipping bugs in corner cases. If |
59 |
NATTkA does not seem to tackle your bug, try `nattka sanity-check NNNN` |
60 |
and it will log the reason. Now the logs in 'pretend' mode include all |
61 |
the changes that would be done to bugs, including specific comments |
62 |
and package list expansions. |
63 |
|
64 |
|
65 |
New `nattka make-package-list` command |
66 |
====================================== |
67 |
Did you ever rely on stable-bot/NATTkA to tell you which dependencies |
68 |
need to be keyworded? Now you can do it locally without updating |
69 |
the bug and waiting for NATTkA to complain. |
70 |
|
71 |
Just run: |
72 |
|
73 |
nattka make-package-list dev-foo/bar |
74 |
|
75 |
and NATTkA will run pkgcheck and add failing dependencies iteratively |
76 |
until it completes the package list or fails to satisfy pkgcheck. |
77 |
|
78 |
Note that this is a pretty early feature and it isn't very smart. |
79 |
It may fail at obvious stuff (like `<` deps) or produce extraneous |
80 |
packages. In particular, pkgcheck and repoman handle || deps somewhat |
81 |
poorly and they could bring extraneous solutions into the package list |
82 |
(e.g. asking you to keyword dev-python/sphinx and pypy3 even though |
83 |
the required PYTHON_TARGETS are masked on arch in question). |
84 |
|
85 |
Improvements will happen in the future. In particular, I'm looking |
86 |
forward to adding an interactive mode with package editing and stablereq |
87 |
support. |
88 |
|
89 |
-- |
90 |
Best regards, |
91 |
Michał Górny |