Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Kconfig dependency modelling #20438

Merged
merged 13 commits into from
Mar 28, 2024

Conversation

MrKevinWeiss
Copy link
Contributor

@MrKevinWeiss MrKevinWeiss commented Feb 28, 2024

Contribution description

As discussed on the forum and agreed upon in the VMA among other forms of communications we are removing the dependency modelling of Kconfig. As it was never part of the "production" RIOT and only available as an experimental feature (TEST_KCONFIG=1) I do not think we need to deprecate it.

This PR should remove everything dependency related but preserve all "kconfig for configurations" aspects.

It is a step in the direction of having "one source of truth" for configurations, many configurations that were only exposed when TEST_KCONFIG=1 are now exposed in a regular build (ie, depends on MODULE_* -> depends on USEMODULE_). These configurations are still not being used by default (for any test that does not have an app.config file present) as to not slow down the CI before the release but will be switched very soon.

There are quite some things needed in order to do this right:

  • Remove all obvious files that only are related to dep modelling (ideally just a script)
  • Remove all MODULE_ and PACKAGE_ configs and symbol references within remaining files
  • Alter all implemented CONFIG_ that have been implemented under the dep modelling to use the make dep modelling (ie. MODULE_ -> USEMODULE_)
  • Do manual fixes and alterations as needed
  • Cleanup any source issues for files that might be removed
  • Clean up the make system to remove all unneeded logic
  • Update the documentation to indicate the current state
  • Inject all the HAS_CPU* type features

Testing procedure

Green murdock and a lot of looking through

Issues/PRs references

Needs #20497

@github-actions github-actions bot added Platform: native Platform: This PR/issue effects the native platform Platform: MSP Platform: This PR/issue effects MSP-based platforms Platform: ARM Platform: This PR/issue effects ARM-based platforms Area: network Area: Networking Area: tests Area: tests and testing framework Area: pkg Area: External package ports Platform: AVR Platform: This PR/issue effects AVR-based platforms Area: drivers Area: Device drivers Area: timers Area: timer subsystems Area: tools Area: Supplementary tools Area: arduino API Area: Arduino wrapper API Area: LoRa Area: LoRa radio support Area: boards Area: Board ports Area: SAUL Area: Sensor/Actuator Uber Layer Platform: ESP Platform: This PR/issue effects ESP-based platforms Platform: RISC-V Platform: This PR/issue effects RISC-V-based platforms labels Feb 28, 2024
@MrKevinWeiss MrKevinWeiss added this pull request to the merge queue Mar 26, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 26, 2024
@MrKevinWeiss
Copy link
Contributor Author

oh boy am I sad... OK back at it.

@MrKevinWeiss
Copy link
Contributor Author

Not only does the gcoap test fail, but also it seems like there are some issues with make info-boards-supported. Further investigation is needed... tomorrow.

@MrKevinWeiss MrKevinWeiss force-pushed the pr/kconfig/dep/removal branch from f4441e0 to d265330 Compare March 27, 2024 09:28
@MrKevinWeiss
Copy link
Contributor Author

hmmm, way less of a problem than I though... just a conflict in values for SDCARD_GENERIC_MTD_OFFSET, I guess generally it should be 1?

@MrKevinWeiss MrKevinWeiss enabled auto-merge March 27, 2024 09:29
@MrKevinWeiss MrKevinWeiss added this pull request to the merge queue Mar 27, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 27, 2024
@MrKevinWeiss
Copy link
Contributor Author

Hmmm the failed test builds on my machine. Maybe something to do with rust on a CI machine?

@MrKevinWeiss MrKevinWeiss added this pull request to the merge queue Mar 27, 2024
@benpicco benpicco removed this pull request from the merge queue due to a manual request Mar 27, 2024
@maribu maribu added this pull request to the merge queue Mar 27, 2024
Merged via the queue into RIOT-OS:master with commit 04620d4 Mar 28, 2024
25 checks passed
@maribu
Copy link
Member

maribu commented Mar 28, 2024

🎉 Thx!

@MrKevinWeiss MrKevinWeiss deleted the pr/kconfig/dep/removal branch March 28, 2024 13:38
@MrKevinWeiss
Copy link
Contributor Author

I didn't think I would make it. Nice that it is finally over. I will also prioritize any issues or bugs this may have causes.

@benpicco
Copy link
Contributor

Thank you for bringing the Kconfig transition to a close!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: arduino API Area: Arduino wrapper API Area: BLE Area: Bluetooth Low Energy support Area: boards Area: Board ports Area: build system Area: Build system Area: CoAP Area: Constrained Application Protocol implementations Area: core Area: RIOT kernel. Handle PRs marked with this with care! Area: cpu Area: CPU/MCU ports Area: doc Area: Documentation Area: drivers Area: Device drivers Area: examples Area: Example Applications Area: Kconfig Area: Kconfig integration Area: LoRa Area: LoRa radio support Area: network Area: Networking Area: pkg Area: External package ports Area: SAUL Area: Sensor/Actuator Uber Layer Area: sys Area: System Area: tests Area: tests and testing framework Area: timers Area: timer subsystems Area: tools Area: Supplementary tools Area: USB Area: Universal Serial Bus CI: high priority If set, builds of this PR will be queued before others CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Platform: AVR Platform: This PR/issue effects AVR-based platforms Platform: ESP Platform: This PR/issue effects ESP-based platforms Platform: MSP Platform: This PR/issue effects MSP-based platforms Platform: native Platform: This PR/issue effects the native platform Platform: RISC-V Platform: This PR/issue effects RISC-V-based platforms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants