1 |
Hello, |
2 |
|
3 |
TL;DR: nattka has new 'commit' and 'resolve' commands, package lists for |
4 |
keywordreqs accept any atoms, both kwreq and streq accept '*' (= all |
5 |
previous) and '^' (= same as above) in keywords. |
6 |
|
7 |
|
8 |
As I've announced earlier, NATTkA has been deployed as a replacement for |
9 |
stable-bot. I'm sure most of you have already seen some new bug spam, |
10 |
including some flip-flops for which I am sorry. I am still busy fixing |
11 |
(and sometimes introducing) various bugs, on the level of 2-3 releases |
12 |
a day but I'm getting close to finishing the basic TODO. |
13 |
|
14 |
|
15 |
Changes to package list |
16 |
======================= |
17 |
The most important late changes are introduction in two convenience |
18 |
measures. Firstly, for keywording bugs you can now use any package |
19 |
dependency syntax: |
20 |
|
21 |
dev-python/pytest |
22 |
<dev-python/pytest-5 |
23 |
dev-foo/bar:4 |
24 |
|
25 |
NATTkA will appropriate choose the newest matching version. |
26 |
|
27 |
Secondly, package lists accept two new special tokens: |
28 |
|
29 |
- '*' that means 'all arches present in other versions' (restore all |
30 |
keywords or stabilize on all arches where it was previously stable |
31 |
and now is ~arch) |
32 |
|
33 |
- '^' that means 'all keywords from previous entry on the list' |
34 |
|
35 |
For example, to rekeyword a package after adding new deps: |
36 |
|
37 |
dev-python/foo * |
38 |
dev-python/new-dep ^ |
39 |
|
40 |
This means restore all lost keywords on foo, and keyword new-dep |
41 |
on the same arches. |
42 |
|
43 |
Similarly, to stabilize a new version of a package, plus its new deps |
44 |
that aren't stable yet: |
45 |
|
46 |
dev-python/foo-1.2.3 * |
47 |
dev-python/new-dep-7.6.5 ^ |
48 |
|
49 |
Note that use of the new syntax breaks compatibility with old tools that |
50 |
have not been updated yet. 'nattka apply -n' converts them to exact |
51 |
versions with exact keywords, and can be used to feed these other tools. |
52 |
|
53 |
|
54 |
New NATTkA commands |
55 |
=================== |
56 |
Besides fixing bugs and making 'nattka apply' more feature-complete, |
57 |
I've added two new commands: 'commit' to make commits for the keyword |
58 |
changes, and 'resolve' to resolve the bugs after pushing. |
59 |
|
60 |
An example workflow is to: |
61 |
|
62 |
1. Run 'nattka apply' to apply changes. |
63 |
|
64 |
2. Do testing using your favorite tools. |
65 |
|
66 |
3. Run 'nattka commit' (with exact bug numbers, and same --arch) to |
67 |
commit changes. |
68 |
|
69 |
4. Run 'pkgcheck scan --commit' and 'git push'. |
70 |
|
71 |
5. Run 'nattka resolve' (with exact bug numbers, and same --arch) to |
72 |
unCC arch and possibly close the bug. |
73 |
|
74 |
|
75 |
Next on TODO |
76 |
============ |
77 |
The next TODO item I'd like to work on is ALLARCHES support. When done, |
78 |
NATTkA will automatically expand 'apply' result to all arches when |
79 |
ALLARCHES is present on the bug. I'd also like it to also scan packages |
80 |
for <stabilize-allarches/> tag and have sanity-check automatically add |
81 |
it to bugs if all packages fit. |
82 |
|
83 |
-- |
84 |
Best regards, |
85 |
Michał Górny |