APPLIED: [SRU][Focal][PULL] Use new annotation model
Roxana Nicolescu
roxana.nicolescu at canonical.com
Mon Oct 2 09:53:21 UTC 2023
On 27/09/2023 15:55, Roxana Nicolescu wrote:
> BugLink: https://bugs.launchpad.net/bugs/2019000
>
> SRU Justification:
>
> [Impact]
>
> * In Lunar, a new way to manage kernel configs was introduced, unifying the
> duplicated information defined in the annotation file + config chunks into
> an annotation-only-model.
> Because we support many types of releases, we need to have an unified way
> of dealing with config options to avoid different patches for different
> releases but for the same config change.
>
> [Fix]
>
> * Ported the commit that introduced the new annotation model infrasture
> from jammy:
> "UBUNTU: [Packaging] new annotations model infrastructure"
>
> * And then ported the fixes that came after:
> "UBUNTU: [Packaging] kconfig/annotations.py: support older way of merging dicts"
> "UBUNTU: [Packaging] fix typo when calling the old config-check"
> "UBUNTU: [Packaging] fix typo in 4-checks.mk"
> "UBUNTU: [Packaging] config-check: Handle new annotations format 4"
> "UBUNTU: [Packaging] rules: Use old-kernelconfig for old configs"
> "UBUNTU: [Packaging] update annotations scripts"
>
> * Changed the header format to 4 and added the proper arches and flavours
>
> * Ran the sanitize-annotations tool
>
> * Because in focal (at least) many config options were not documented in
> the annotation file, I imported the generated option in the annotation file
> before running the migrate script to avoid fixing the mess manually after.
>
> * Ran 'cranky fdr migrateconfigs' that deleted the old config files
>
> [Test Plan]
>
> * Generated the configs before and after the migration with command
> `cranky fdr clean genconfigs`.
> They look identical.
> * Also did a cbd build and a boot test to be extra sure.
>
> [Where problems could occur]
>
> * Because config options are the same, I don't expect any regression in the
> main kernel.
> * But we may run into issues when derivatives are migrated, during the
> updateconfigs step. The plan is to migrate all derivatives in one SRU
> cycle, to avoid confusion. Extra documentation will be sent to help the
> transition.
>
> [Other Info]
>
> * In the old annotation file header, some arches did not correspond to the
> ones used in the actual policy (amd64 vs x86, powerpc vs ppce64el) and armhf
> was missing.
> * In debian/scripts/misc/kernelconfig i386 was not included as supported arch
>
> ---------------------------------------------------------------
> The following changes since commit 0c7a14b8dd38ede66c7b69baea2bc55a9d916b47:
>
> net: Avoid address overwrite in kernel_connect (2023-09-22 09:46:02 +0200)
>
> are available in the Git repository at:
>
> git://git.launchpad.net/~roxanan/+git/focal annotation-migration
>
> for you to fetch changes up to f6e20df539778315b7d3fab2ad8f84218db054d7:
>
> UBUNTU: [Config] migrate all configs into annotations (2023-09-27 15:17:24 +0200)
>
> ----------------------------------------------------------------
> Andrea Righi (3):
> UBUNTU: [Packaging] new annotations model infrastructure
> UBUNTU: [Packaging] kconfig/annotations.py: support older way of merging dicts
> UBUNTU: [Packaging] fix typo when calling the old config-check
>
> Andrei Gherzan (1):
> UBUNTU: [Packaging] fix typo in 4-checks.mk
>
> Juerg Haefliger (2):
> UBUNTU: [Packaging] config-check: Handle new annotations format 4
> UBUNTU: [Packaging] rules: Use old-kernelconfig for old configs
>
> Roxana Nicolescu (4):
> UBUNTU: [Config] sanitize annotations
> UBUNTU: [Config] import generated configs into annotation file
> UBUNTU: [Packaging] kernelconfig: add i386 as supported arch
> UBUNTU: [Config] migrate all configs into annotations
>
> Stefan Bader (1):
> UBUNTU: [Packaging] update annotations scripts
>
> debian.master/config/README.rst | 185 +
> debian.master/config/amd64/config.common.amd64 | 646 -
> debian.master/config/amd64/config.flavour.generic | 10 -
> .../config/amd64/config.flavour.lowlatency | 10 -
> debian.master/config/annotations | 25650 +++++++++----------
> debian.master/config/arm64/config.common.arm64 | 667 -
> debian.master/config/arm64/config.flavour.generic | 3 -
> debian.master/config/armhf/config.common.armhf | 640 -
> debian.master/config/armhf/config.flavour.generic | 23 -
> .../config/armhf/config.flavour.generic-lpae | 23 -
> debian.master/config/config.common.ports | 3 -
> debian.master/config/config.common.ubuntu | 11647 ---------
> debian.master/config/i386/config.common.i386 | 639 -
> debian.master/config/i386/config.flavour.generic | 9 -
> .../config/i386/config.flavour.lowlatency | 9 -
> debian.master/config/ppc64el/config.common.ppc64el | 638 -
> .../config/ppc64el/config.flavour.generic | 3 -
> debian.master/config/s390x/config.common.s390x | 575 -
> debian.master/config/s390x/config.flavour.generic | 3 -
> debian.master/config/x32/config.common.x32 | 74 -
> debian.master/config/x32/config.flavour.generic | 74 -
> debian/rules.d/1-maintainer.mk | 26 +-
> debian/rules.d/2-binary-arch.mk | 9 +-
> debian/rules.d/4-checks.mk | 12 +-
> debian/scripts/config-check | 6 +-
> debian/scripts/misc/annotations | 274 +
> debian/scripts/misc/final-checks | 16 +-
> debian/scripts/misc/kconfig/__init__.py | 0
> debian/scripts/misc/kconfig/annotations.py | 431 +
> debian/scripts/misc/kernelconfig | 327 +-
> debian/scripts/misc/migrate-annotations | 35 +
> debian/scripts/misc/old-kernelconfig | 207 +
> debian/snapcraft.mk | 6 +-
> 33 files changed, 13908 insertions(+), 28972 deletions(-)
> create mode 100644 debian.master/config/README.rst
> delete mode 100644 debian.master/config/amd64/config.common.amd64
> delete mode 100644 debian.master/config/amd64/config.flavour.generic
> delete mode 100644 debian.master/config/amd64/config.flavour.lowlatency
> delete mode 100644 debian.master/config/arm64/config.common.arm64
> delete mode 100644 debian.master/config/arm64/config.flavour.generic
> delete mode 100644 debian.master/config/armhf/config.common.armhf
> delete mode 100644 debian.master/config/armhf/config.flavour.generic
> delete mode 100644 debian.master/config/armhf/config.flavour.generic-lpae
> delete mode 100644 debian.master/config/config.common.ports
> delete mode 100644 debian.master/config/config.common.ubuntu
> delete mode 100644 debian.master/config/i386/config.common.i386
> delete mode 100644 debian.master/config/i386/config.flavour.generic
> delete mode 100644 debian.master/config/i386/config.flavour.lowlatency
> delete mode 100644 debian.master/config/ppc64el/config.common.ppc64el
> delete mode 100644 debian.master/config/ppc64el/config.flavour.generic
> delete mode 100644 debian.master/config/s390x/config.common.s390x
> delete mode 100644 debian.master/config/s390x/config.flavour.generic
> delete mode 100644 debian.master/config/x32/config.common.x32
> delete mode 100644 debian.master/config/x32/config.flavour.generic
> create mode 100755 debian/scripts/misc/annotations
> create mode 100644 debian/scripts/misc/kconfig/__init__.py
> create mode 100644 debian/scripts/misc/kconfig/annotations.py
> create mode 100755 debian/scripts/misc/migrate-annotations
> create mode 100644 debian/scripts/misc/old-kernelconfig
Applied to focal:master-next.
Roxana
More information about the kernel-team
mailing list