annotations.git
23 months agoannotations: properly merge configs with includes
Andrea Righi [Mon, 5 Dec 2022 06:28:49 +0000 (07:28 +0100)]
annotations: properly merge configs with includes

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
23 months agoannotations: support flavour dependencies (flavour inheritance)
Andrea Righi [Sat, 3 Dec 2022 12:06:03 +0000 (13:06 +0100)]
annotations: support flavour dependencies (flavour inheritance)

Allow to define flavour inheritance relationship in the annotations
file, such as:

  # FLAVOUR_DEP: {'amd64-lowlatency': 'amd64-generic', 'arm64-lowlatency': 'arm64-generic', 'arm64-lowlatency-64k': 'arm64-lowlatency-64k'}

In this case, for example, -lowlatency flavours inherits the config
values from -generic (both for amd64 and arm64) and -lowlatency-64
inherits the value from -generic-64k (only on arm64).

This allows to strongly reduce the size of annotations and helps to
read and review changes in annotations.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
23 months agoannotations: allow to query CONFIG_<option> or just <option>
Andrea Righi [Thu, 1 Dec 2022 10:05:52 +0000 (11:05 +0100)]
annotations: allow to query CONFIG_<option> or just <option>

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
23 months agoannotations: allow to set notes directly and assume --query is the default command
Andrea Righi [Thu, 1 Dec 2022 09:51:11 +0000 (10:51 +0100)]
annotations: allow to set notes directly and assume --query is the default command

Allow to set a note directly to a config option without changing any
value and also assume --query is the default command, so we don't have
to specify --query explicitly to query config options.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
23 months agoannotations: set and delete configs from command line
Andrea Righi [Tue, 29 Nov 2022 08:13:44 +0000 (09:13 +0100)]
annotations: set and delete configs from command line

Allow to set and delete config options from command line using the
'annotations' script (instead of manually editing the annotations file).

This also provides an interface to manage the annotations file from
other scripts.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
23 months agoannotations: report config failures in alphabetical order
Andrea Righi [Mon, 28 Nov 2022 10:37:38 +0000 (11:37 +0100)]
annotations: report config failures in alphabetical order

This allows to review config check failures across multiple
architectures.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: provide --update command
Andrea Righi [Fri, 18 Nov 2022 10:22:29 +0000 (11:22 +0100)]
annotations: provide --update command

Add a command to import a partial .config (instead of resycning a full
.config as --import does).

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: compact more redundant arch and flavours settings
Andrea Righi [Wed, 16 Nov 2022 08:57:04 +0000 (09:57 +0100)]
annotations: compact more redundant arch and flavours settings

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agodoc: simplify commands in examples
Andrea Righi [Tue, 15 Nov 2022 16:02:35 +0000 (17:02 +0100)]
doc: simplify commands in examples

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: avoid generating a KeyError exception
Andrea Righi [Tue, 15 Nov 2022 11:02:56 +0000 (12:02 +0100)]
annotations: avoid generating a KeyError exception

Always try to return None when a config is not defined in annotations
rather then throwing an exception.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: allow to import/resync single config option
Andrea Righi [Tue, 15 Nov 2022 09:47:08 +0000 (10:47 +0100)]
annotations: allow to import/resync single config option

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agodoc: update TODO list
Andrea Righi [Tue, 15 Nov 2022 07:58:43 +0000 (08:58 +0100)]
doc: update TODO list

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: properly handle dropped configs during import
Andrea Righi [Tue, 15 Nov 2022 07:58:30 +0000 (08:58 +0100)]
annotations: properly handle dropped configs during import

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: check: catch options that are removed from the .config
Andrea Righi [Mon, 14 Nov 2022 22:09:07 +0000 (23:09 +0100)]
annotations: check: catch options that are removed from the .config

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: make action argument mandatory
Andrea Righi [Mon, 14 Nov 2022 20:51:52 +0000 (21:51 +0100)]
annotations: make action argument mandatory

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: avoid converting null results to kconfig format
Andrea Righi [Mon, 14 Nov 2022 20:49:36 +0000 (21:49 +0100)]
annotations: avoid converting null results to kconfig format

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: try to compact annotations before saving it
Andrea Righi [Mon, 14 Nov 2022 19:01:43 +0000 (20:01 +0100)]
annotations: try to compact annotations before saving it

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoannotations: automatically detect annotations file location
Andrea Righi [Mon, 14 Nov 2022 18:00:54 +0000 (19:00 +0100)]
annotations: automatically detect annotations file location

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agodoc: add a basic README.md
Andrea Righi [Mon, 14 Nov 2022 10:25:27 +0000 (11:25 +0100)]
doc: add a basic README.md

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoadd a .gitignore
Andrea Righi [Mon, 14 Nov 2022 10:25:20 +0000 (11:25 +0100)]
add a .gitignore

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2 years agoinitial version
Andrea Righi [Mon, 14 Nov 2022 10:25:14 +0000 (11:25 +0100)]
initial version

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>