<div dir="ltr"><div>Acked-by: Luke Nowakowski-Krijger <<a href="mailto:luke.nowakowskikrijger@canonical.com">luke.nowakowskikrijger@canonical.com</a>> <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 9, 2023 at 4:51 PM Andrea Righi <<a href="mailto:andrea.righi@canonical.com">andrea.righi@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">BugLink: <a href="https://bugs.launchpad.net/bugs/2019000" rel="noreferrer" target="_blank">https://bugs.launchpad.net/bugs/2019000</a><br>
<br>
[Impact]<br>
<br>
Starting with lunar we have introduced a new way to manage kernel<br>
configs, unifying the duplicated information defined in the annotations<br>
file + config chunks into an annotations-only model.<br>
<br>
[Test case]<br>
<br>
A kernel build can be considered a valid test case, in particular the<br>
specific command that is used to update the .config's for all the<br>
supported architectures and flavours:<br>
<br>
 $ fakeroot debian/rules updateconfigs<br>
<br>
[Fix]<br>
<br>
Import the required changes in debian/ from lunar (with the required<br>
adjustments) to support the annotations-only model also in all the<br>
previous releases.<br>
<br>
[Regression potential]<br>
<br>
We may experience regressions during the updateconfigs step, especially<br>
with derivatives. Moreover, derivatives that want to transition to the<br>
new annotations model require to adjust the header in the annotations<br>
file as following (make sure to define the corresponding architectures<br>
and flavours):<br>
<br>
# FORMAT: 4<br>
# ARCH: amd64 arm64 armhf ppc64el s390x<br>
# FLAVOUR: amd64-generic amd64-lowlatency arm64-generic arm64-generic-64k arm64-lowlatency arm64-lowlatency-64k armhf-generic armhf-generic-lpae ppc64el-generic s390x-generic<br>
<br>
After adjusting the header a special command is provided to transition<br>
to the new annotations-only model:<br>
<br>
 $ fakeroot debian/rules migrateconfigs<br>
<br>
This command should automatically import the old configs into the new<br>
annotations file.<br>
<br>
A kernel with this change applied can still support the old<br>
annotations+configs model, the transition to the new model is not<br>
mandatory.<br>
<br>
Basically without using `fakeroot debian/rules migrateconfigs` the<br>
updateconfigs step will continue to use the old model and the old<br>
scripts (that is the safest approach to avoid potential unexpected<br>
.config changes).<br>
<br>
----------------------------------------------------------------<br>
Andrea Righi (2):<br>
      UBUNTU: [Packaging] new annotations model infrastructure<br>
      UBUNTU: [Config] migrate all configs into annotations<br>
<br>
 debian.master/config/README.rst                    |   185 +<br>
 debian.master/config/amd64/config.common.amd64     |   696 -<br>
 debian.master/config/amd64/config.flavour.generic  |    12 -<br>
 .../config/amd64/config.flavour.lowlatency         |    12 -<br>
 debian.master/config/annotations                   | 28063 +++++++++----------<br>
 debian.master/config/arm64/config.common.arm64     |   730 -<br>
 debian.master/config/arm64/config.flavour.generic  |    19 -<br>
 .../config/arm64/config.flavour.generic-64k        |    19 -<br>
 .../config/arm64/config.flavour.lowlatency         |    19 -<br>
 .../config/arm64/config.flavour.lowlatency-64k     |    19 -<br>
 debian.master/config/armhf/config.common.armhf     |   704 -<br>
 debian.master/config/armhf/config.flavour.generic  |    23 -<br>
 .../config/armhf/config.flavour.generic-lpae       |    23 -<br>
 debian.master/config/config.common.ubuntu          | 12827 ---------<br>
 debian.master/config/ppc64el/config.common.ppc64el |   702 -<br>
 .../config/ppc64el/config.flavour.generic          |     3 -<br>
 debian.master/config/s390x/config.common.s390x     |   623 -<br>
 debian.master/config/s390x/config.flavour.generic  |     3 -<br>
 debian/rules.d/<a href="http://1-maintainer.mk" rel="noreferrer" target="_blank">1-maintainer.mk</a>                     |    22 +-<br>
 debian/rules.d/<a href="http://2-binary-arch.mk" rel="noreferrer" target="_blank">2-binary-arch.mk</a>                    |     9 +-<br>
 debian/rules.d/<a href="http://4-checks.mk" rel="noreferrer" target="_blank">4-checks.mk</a>                         |    12 +-<br>
 debian/scripts/misc/annotations                    |   274 +<br>
 debian/scripts/misc/final-checks                   |    16 +-<br>
 debian/scripts/misc/kconfig/__init__.py            |     0<br>
 debian/scripts/misc/kconfig/annotations.py         |   416 +<br>
 debian/scripts/misc/kernelconfig                   |   326 +-<br>
 debian/scripts/misc/migrate-annotations            |    35 +<br>
 debian/scripts/misc/old-kernelconfig               |   207 +<br>
 debian/<a href="http://snapcraft.mk" rel="noreferrer" target="_blank">snapcraft.mk</a>                                |     6 +-<br>
 29 files changed, 15127 insertions(+), 30878 deletions(-)<br>
 create mode 100644 debian.master/config/README.rst<br>
 delete mode 100644 debian.master/config/amd64/config.common.amd64<br>
 delete mode 100644 debian.master/config/amd64/config.flavour.generic<br>
 delete mode 100644 debian.master/config/amd64/config.flavour.lowlatency<br>
 delete mode 100644 debian.master/config/arm64/config.common.arm64<br>
 delete mode 100644 debian.master/config/arm64/config.flavour.generic<br>
 delete mode 100644 debian.master/config/arm64/config.flavour.generic-64k<br>
 delete mode 100644 debian.master/config/arm64/config.flavour.lowlatency<br>
 delete mode 100644 debian.master/config/arm64/config.flavour.lowlatency-64k<br>
 delete mode 100644 debian.master/config/armhf/config.common.armhf<br>
 delete mode 100644 debian.master/config/armhf/config.flavour.generic<br>
 delete mode 100644 debian.master/config/armhf/config.flavour.generic-lpae<br>
 delete mode 100644 debian.master/config/config.common.ubuntu<br>
 delete mode 100644 debian.master/config/ppc64el/config.common.ppc64el<br>
 delete mode 100644 debian.master/config/ppc64el/config.flavour.generic<br>
 delete mode 100644 debian.master/config/s390x/config.common.s390x<br>
 delete mode 100644 debian.master/config/s390x/config.flavour.generic<br>
 create mode 100755 debian/scripts/misc/annotations<br>
 create mode 100644 debian/scripts/misc/kconfig/__init__.py<br>
 create mode 100644 debian/scripts/misc/kconfig/annotations.py<br>
 create mode 100755 debian/scripts/misc/migrate-annotations<br>
 create mode 100644 debian/scripts/misc/old-kernelconfig<br>
<br>
<br>
-- <br>
kernel-team mailing list<br>
<a href="mailto:kernel-team@lists.ubuntu.com" target="_blank">kernel-team@lists.ubuntu.com</a><br>
<a href="https://lists.ubuntu.com/mailman/listinfo/kernel-team" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/kernel-team</a><br>
</blockquote></div></div>