mbox series

[0/1] build: scripts/config - update to kconfig-v5.14

Message ID 20211124212543.31651-1-cotequeiroz@gmail.com
Headers show
Series build: scripts/config - update to kconfig-v5.14 | expand

Message

Eneas U de Queiroz Nov. 24, 2021, 9:25 p.m. UTC
I'm updating the Kconfig programs in scripts/config, from Linux 5.6 to
5.14.  The changes are not crytical to openwrt, but regular updates
ease the transition to an eventual newer version with more desirable
features.

The biggest impact here is the removal of obsolete ---help--- symbol,
which had been deprecated in favor of plain 'help'.

This has been menuconfig-tested with different targets for almost a
month without problems.

The changed I made to the upstream kconfig to this version can be seen
at https://github.com/cotequeiroz/linux/commits/openwrt-5.14/scripts/kconfig

Eneas U de Queiroz (1):
  build: scripts/config - update to kconfig-v5.14

 Config.in                      |    2 +-
 scripts/config/.gitignore      |   30 +-
 scripts/config/Makefile        |   62 +-
 scripts/config/README          |    9 +-
 scripts/config/conf.c          |  451 ++++--
 scripts/config/confdata.c      |  279 +---
 scripts/config/expr.h          |    6 -
 scripts/config/images.c        |   30 +-
 scripts/config/images.h        |   30 +-
 scripts/config/internal.h      |    9 +
 scripts/config/lexer.l         |    8 +-
 scripts/config/lexer.lex.c     | 2468 ++++++++++++++------------------
 scripts/config/lkc.h           |   68 +-
 scripts/config/lkc_proto.h     |   15 +-
 scripts/config/lxdialog/util.c |    4 +-
 scripts/config/mconf-cfg.sh    |    4 +-
 scripts/config/mconf.c         |   15 +-
 scripts/config/menu.c          |   26 +-
 scripts/config/nconf.c         |   59 +-
 scripts/config/nconf.gui.c     |  284 ++--
 scripts/config/nconf.h         |   51 +-
 scripts/config/parser.tab.c    | 1804 ++++++++++-------------
 scripts/config/parser.tab.h    |  120 +-
 scripts/config/parser.y        |   57 +-
 scripts/config/preprocess.c    |    2 +-
 scripts/config/qconf-cfg.sh    |   14 +-
 scripts/config/qconf.cc        | 1056 +++++++-------
 scripts/config/qconf.h         |  160 +--
 scripts/config/symbol.c        |   30 +-
 target/sdk/files/Config.in     |    2 +-
 30 files changed, 3221 insertions(+), 3934 deletions(-)
 create mode 100644 scripts/config/internal.h

Comments

Florian Eckert Nov. 25, 2021, 7:54 a.m. UTC | #1
Hello Eneas,

On 2021-11-24 22:25, Eneas U de Queiroz wrote:
> I'm updating the Kconfig programs in scripts/config, from Linux 5.6 to
> 5.14.  The changes are not crytical to openwrt, but regular updates
> ease the transition to an eventual newer version with more desirable
> features.


I've been looking at this too and wanted to update.
Since I wasn't there from the beginning, I don't know what all OpenWrt 
changes.
Hence my suggestion:
Can't we put the changes OpenWrt makes to the source code into a patch 
directory
and then patch that with 'quilt' like we do with all the other packages?
That would make the task easier for others too update this too.

I am ready to help you there

Best regards

Florian
Eneas U de Queiroz Nov. 25, 2021, 1:47 p.m. UTC | #2
On Thu, Nov 25, 2021 at 4:54 AM Florian Eckert <fe@dev.tdt.de> wrote:
>
> Hello Eneas,
>
>
> I've been looking at this too and wanted to update.
> Since I wasn't there from the beginning, I don't know what all OpenWrt
> changes.
> Hence my suggestion:
> Can't we put the changes OpenWrt makes to the source code into a patch
> directory
> and then patch that with 'quilt' like we do with all the other packages?
> That would make the task easier for others too update this too.

I don't think we should keep the patches along with the main sources,
but it may be beneficial to create an official repository under the
openwrt infrastructure.

What I had done was to create a fork of 'linux', and applied the
openwrt patches on top of that.  You can see my current version, which
resulted in the patch I just sent, here:
https://github.com/cotequeiroz/linux/commits/openwrt-5.14/scripts/kconfig
I don't think anyone can review the openwrt patch without looking at
the commits I applied.

Getting all of those commits together took some effort when I first
did it.  I was in the same situation as you are, but I really wanted
the much better dependency view that the new kernel had.  That was my
motivation then.  I documented the changes the best I could.
It resulted in this branch:
https://github.com/cotequeiroz/linux/tree/openwrt-b2c55d50f8

Then fast-forwarding them was also time-consuming, because of the high
number of commits to adapt, especially the many changes to the
Makefile.
I remember doing it in two ways: starting from openwrt version of
kconfig and applying the linux updates ("linux-on-top-of-openwrt"
branch, stale after the review); and rebasing the openwrt changes on
top of kconfig-5.6, which ended up being the final version (openwrt
branch--I should have added a version to it), to see how close I would
get both versions. I added the link to the branch I used in the
README.

At least now the Makefile was less subject to change, and our
modifications have become straightforward and clean.  There have been
some syntax adjustments (notably the removal of '---help---'), but
when we moved from 5.4 to 5.10, our kernel patches had to be adapted
as well.

This is why I think it is beneficial to update this regularly, keeping it fresh.

Cheers,

Eneas