diff mbox series

[cosmic/bionic/xenial/trusty] UBUNTU: [Packaging] Sort the config file for single arch and single flavour kernels

Message ID 20180913135325.27348-1-marcelo.cerri@canonical.com
State New
Headers show
Series [cosmic/bionic/xenial/trusty] UBUNTU: [Packaging] Sort the config file for single arch and single flavour kernels | expand

Commit Message

Marcelo Henrique Cerri Sept. 13, 2018, 1:53 p.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1792387

Single arch and single flavour kernels, such as the cloud kernels, are
currently shipping a config file (that is installed under /boot) that
is not properly ordered as the ones generated the master kernels.

The problem occurs because `make silendoldconfig` in
"debian/rules.d/2-binary-arch.mk" does not re-writes the config file
(and thus does not sort it) when no changes are made.

Change the "2-binary-arch.mk" makefile to force the re-generation of
the config file if its header was generated by splitconfig, since
that's the way the config fragments are kept in
"debian.<branch>/config".

Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>
---
 debian/rules.d/2-binary-arch.mk | 2 ++
 1 file changed, 2 insertions(+)

Comments

Marcelo Henrique Cerri Sept. 13, 2018, 2:06 p.m. UTC | #1
I tested the patch with bionic and xenial, and it doesn't affect the
generation of the config file as expected. I also tested it with
linux-azure and it fixed the problem regarding the config file
sorting.
Marcelo Henrique Cerri Sept. 18, 2018, 9:07 a.m. UTC | #2
I will submit a new version of the patch soon using a different
approach.
diff mbox series

Patch

diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index aaf3d43379ed..ea68d49dfe1a 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -30,6 +30,8 @@  $(stampdir)/stamp-prepare-tree-%: $(commonconfdir)/config.common.$(family) $(arc
 	cat $^ | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu $(release)-$(revision)-$* $(raw_kernelversion)"/' > $(builddir)/build-$*/.config
 	find $(builddir)/build-$* -name "*.ko" | xargs rm -f
 	$(build_cd) $(kmake) $(build_O) -j1 silentoldconfig prepare scripts
+	head -n 3 $(builddir)/build-$*/.config | grep -qF splitconfig.pl && \
+		yes "" | $(build_cd) $(kmake) $(build_O) -j1 oldconfig || true
 	touch $@
 
 # Used by developers as a shortcut to prepare a tree for compilation.