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] NATTkA updates: keyword expansion, CC-ARCHES, ALLARCHES and more
Date: Sat, 02 May 2020 11:38:54
Message-Id: 2d991d862cf0dfb5a9c83a628e3b359fd1f61f87.camel@gentoo.org
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

Attachments

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