From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2B8AC138350 for ; Sat, 2 May 2020 11:40:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6A245E0BF3; Sat, 2 May 2020 11:40:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 89BEAE0B15; Sat, 2 May 2020 11:38:50 +0000 (UTC) Message-ID: <2d991d862cf0dfb5a9c83a628e3b359fd1f61f87.camel@gentoo.org> Subject: [gentoo-dev-announce] NATTkA updates: keyword expansion, CC-ARCHES, ALLARCHES and more From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= Reply-To: gentoo-dev To: gentoo-dev-announce Cc: gentoo-dev Date: Sat, 02 May 2020 13:38:44 +0200 Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-fPpjzYHXZSrXFr3n+mnB" User-Agent: Evolution 3.34.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo development announcement list X-BeenThere: gentoo-dev-announce@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 X-Archives-Salt: 59717e0d-f625-4650-a253-4cfb836b1421 X-Archives-Hash: 3b1610ae48204aed5552fca4b4c6c135 --=-fPpjzYHXZSrXFr3n+mnB Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, It's been some time since the last update on NATTkA. Here's just a short summary of new cool features. Keyword expansion in package lists =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D In order to improve compatibility with existing tools, once arches are CC-ed NATTkA automatically replaces `*` and `^` tokens in package lists with actual lists of keywords. If they happen to match current CC, it outputs the 'empty keyword list' for convenience. Note that the expansion happens only if arches are CC-ed and sanity- check passes. This is meant to avoid changing the package list while the developer is still working on it. CC-ARCHES =3D=3D=3D=3D=3D=3D=3D=3D=3D If CC-ARCHES keyword is present on the bug, the NATTkA will automatically CC arches and start keywording/stabilization once sanity- check passes. If keywords are specified on the package list, the union of all arch teams will be used for CC. If no keywords are specified for package on package list, NATTkA sees if `*` would yield consistent keywords throughout all packages. If this is the case, it CC-es the equivalent of `*`. Note that arch teams are CC-ed only when sanity-check passes. Again, this is meant to avoid CC-ing prematurely while developer is still working on the package list. If the bug is not checked, then you probably need to specify keywords. ALLARCHES =3D=3D=3D=3D=3D=3D=3D=3D=3D NATTkA now knows ALLARCHES and helps you do it. When the bug changes, NATTkA looks if all listed packages are marked and adds/removes ALLARCHES keyword appropriately. If you want to force ALLARCHES independently of , just set the keywords yourself once the sanity-check passes and NATTkA shouldn't touch it until next state change. `nattka apply`, `nattka commit` and `nattka resolve` know ALLARCHES too, and will automatically switch to applying all keywords if the bug is marked ALLARCHES. Less verbose output, more verbose logs =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D NATTkA used to be very verbose when it could no longer perform sanity- check. This involved spamming security bugs once arch teams finished but the bug was still open. Now NATTkA tries to be less verbose -- it tries to determine if there is any more work to be done, and skips bugs silently when all looks done. Note that this could mean silently skipping bugs in corner cases. If NATTkA does not seem to tackle your bug, try `nattka sanity-check NNNN` and it will log the reason. Now the logs in 'pretend' mode include all the changes that would be done to bugs, including specific comments and package list expansions. New `nattka make-package-list` command =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Did you ever rely on stable-bot/NATTkA to tell you which dependencies need to be keyworded? Now you can do it locally without updating the bug and waiting for NATTkA to complain. Just run: nattka make-package-list dev-foo/bar and NATTkA will run pkgcheck and add failing dependencies iteratively until it completes the package list or fails to satisfy pkgcheck. Note that this is a pretty early feature and it isn't very smart. It may fail at obvious stuff (like `<` deps) or produce extraneous packages. In particular, pkgcheck and repoman handle || deps somewhat poorly and they could bring extraneous solutions into the package list (e.g. asking you to keyword dev-python/sphinx and pypy3 even though the required PYTHON_TARGETS are masked on arch in question). Improvements will happen in the future. In particular, I'm looking forward to adding an interactive mode with package editing and stablereq support. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-fPpjzYHXZSrXFr3n+mnB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQGTBAABCgB9FiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAl6tW8RfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEM3 NkE4NDUwOTQwOThEMjhDQzhCMjZDNTYzOUFEQUUyMzI5RTI0MEUACgkQY5ra4jKe JA4HuggAviOF8UzBafnBXS750t/vnZCSAuIbQE1zVxs4f1tBniudOSBFAEKULiT8 9NVhMoxVzO5A3UsKhowXLxE8aJR2dRlxLUanc4YaFW9QyYn7E7xfGNTNw+jDb73r HS+kjjx1TXMYUC9TPWUApoiQzR/nsuAFT/PxqxY6pvaMJCYjo+OFc21CRvGrFFc3 p4+jRv9pWaCAnet/qDvMioQlgUWPlFBur3yRFCjnEKVqjC6G51fiLe5u4lfNQVv3 DlxCj1YbCVGL3rB3vC9rWrWCqcZXq8mkRb3o+j9YLXgL7HTvnz9a9Srmbp6aGB2x qD7eQgd+Rg7HBzs5q+To9u297s5ipQ== =eQEQ -----END PGP SIGNATURE----- --=-fPpjzYHXZSrXFr3n+mnB--