Hello,

TL;DR: nattka has new 'commit' and 'resolve' commands, package lists for
keywordreqs accept any atoms, both kwreq and streq accept '*' (= all
previous) and '^' (= same as above) in keywords.


As I've announced earlier, NATTkA has been deployed as a replacement for
stable-bot.  I'm sure most of you have already seen some new bug spam,
including some flip-flops for which I am sorry.  I am still busy fixing
(and sometimes introducing) various bugs, on the level of 2-3 releases
a day but I'm getting close to finishing the basic TODO.


Changes to package list
=======================
The most important late changes are introduction in two convenience
measures.  Firstly, for keywording bugs you can now use any package
dependency syntax:

  dev-python/pytest
  <dev-python/pytest-5
  dev-foo/bar:4

NATTkA will appropriate choose the newest matching version.

Secondly, package lists accept two new special tokens:

- '*' that means 'all arches present in other versions' (restore all
keywords or stabilize on all arches where it was previously stable
and now is ~arch)

- '^' that means 'all keywords from previous entry on the list'

For example, to rekeyword a package after adding new deps:

  dev-python/foo *
  dev-python/new-dep ^

This means restore all lost keywords on foo, and keyword new-dep
on the same arches.

Similarly, to stabilize a new version of a package, plus its new deps
that aren't stable yet:

  dev-python/foo-1.2.3 *
  dev-python/new-dep-7.6.5 ^

Note that use of the new syntax breaks compatibility with old tools that
have not been updated yet.  'nattka apply -n' converts them to exact
versions with exact keywords, and can be used to feed these other tools.


New NATTkA commands
===================
Besides fixing bugs and making 'nattka apply' more feature-complete,
I've added two new commands: 'commit' to make commits for the keyword
changes, and 'resolve' to resolve the bugs after pushing.

An example workflow is to:

1. Run 'nattka apply' to apply changes.

2. Do testing using your favorite tools.

3. Run 'nattka commit' (with exact bug numbers, and same --arch) to
commit changes.

4. Run 'pkgcheck scan --commit' and 'git push'.

5. Run 'nattka resolve' (with exact bug numbers, and same --arch) to
unCC arch and possibly close the bug.


Next on TODO
============
The next TODO item I'd like to work on is ALLARCHES support.  When done,
NATTkA will automatically expand 'apply' result to all arches when
ALLARCHES is present on the bug.  I'd also like it to also scan packages
for <stabilize-allarches/> tag and have sanity-check automatically add
it to bugs if all packages fit.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to