<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>