Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev-announce <gentoo-dev-announce@l.g.o>
Cc: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Changes in keywording: more convenient package lists
Date: Mon, 13 Apr 2020 08:13:03
Message-Id: f91a06c14b47380df8f88e96910811a6cbd21591.camel@gentoo.org
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] keywording workflow Rich Freeman <rich0@g.o>