Comment 0 for bug 2019000

Revision history for this message
Andrea Righi (arighi) wrote :

[Impact]

Starting with lunar we have introduced a new way to manage kernel configs, unifying the duplicated information defined in the annotations file + config chunks into an annotations-only model.

[Test case]

An kernel build can be considered a valid test case, in particular the specific command that is used to update the .config's for all the supported architectures and flavours:

 $ fakeroot debian/rules updateconfigs

[Fix]

Import the required changes in debian/ from lunar (with the required adjustments) to support the annotations-only model also in all the previous releases.

[Regression potential]

We may experience regressions during the updateconfigs step, especially with derivatives. Moreover, derivatives that want to transition to the new annotations model require to adjust the header in the annotations file as following (make sure to define the corresponding architectures and flavours):

# FORMAT: 4
# ARCH: amd64 arm64 armhf ppc64el s390x
# FLAVOUR: amd64-generic amd64-lowlatency arm64-generic arm64-generic-64k arm64-lowlatency arm64-lowlatency-64k armhf-generic armhf-generic-lpae ppc64el-generic s390x-generic

After adjusting the header a special command is provided to transition to the new annotations-only model:

 $ fakeroot debian/rules migrateconfigs

This command should automatically import the old configs into the new annotations file.

A kernel with this change applied can still support the old annotations+configs model, the transition to the new model is not mandatory.

Basically without using `fakeroot debian/rules migrateconfigs` the updateconfigs step will continue to use the old model and the old scripts (that is the safest approach to avoid potential unexpected .config changes).