f9e3084daf
Unfortunately this check as it is today is causing trouble, while
not checking too well for what it intended. Let's reduce its scope
until a better solution has been found.
Background:
This check intends to ensure coding guidelines Rules A.4 and A.5
are followed, but how it is implemented it does not work well enough.
1. These rules only apply to the kernel and some other parts of the
embedded codebase respectively, but this check is performed on the
whole tree.
2. This check works under the assumption that any attempt to set
these macros in source files is a violation of these rules, while
this is not necessary the case, as there are legitimate uses for these.
(Specially for _POSIX_C_SOURCE and _XOPEN_SOURCE)
This check also fails to detect these macros being set in cmake files,
so if users are faced with this failure they can trivially bypass it.
Having a CI check which produces too many false positives, while
at the same time being very easy to bypass is not a desirable situation
as that can result in lack of trust for this type of checks,
and an overall tendency to override these CI faults,
and overlooking actual violations of these rules by reviewers.
This check was originally added in
|
||
---|---|---|
.github | ||
arch | ||
boards | ||
cmake | ||
doc | ||
drivers | ||
dts | ||
include/zephyr | ||
kernel | ||
lib | ||
misc | ||
modules | ||
samples | ||
scripts | ||
share | ||
snippets | ||
soc | ||
submanifests | ||
subsys | ||
tests | ||
.checkpatch.conf | ||
.clang-format | ||
.codecov.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlint | ||
.mailmap | ||
.yamllint | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.rst | ||
Kconfig | ||
Kconfig.zephyr | ||
LICENSE | ||
MAINTAINERS.yml | ||
README.rst | ||
SDK_VERSION | ||
VERSION | ||
version.h.in | ||
west.yml | ||
zephyr-env.cmd | ||
zephyr-env.sh |
.. raw:: html <a href="https://www.zephyrproject.org"> <p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg"> <img src="doc/_static/images/logo-readme-light.svg"> </picture> </p> </a> <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a> <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain"> <img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a> The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind. The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained systems: from simple embedded environmental sensors and LED wearables to sophisticated smart watches and IoT wireless gateways. The Zephyr kernel supports multiple architectures, including ARM (Cortex-A, Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, SPARC, MIPS, and a large number of `supported boards`_. .. below included in doc/introduction/introduction.rst Getting Started *************** Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview, and the documentation's `Getting Started Guide`_ to start developing. .. start_include_here Community Support ***************** Community support is provided via mailing lists and Discord; see the Resources below for details. .. _project-resources: Resources ********* Here's a quick summary of resources to help you find your way around: Getting Started --------------- | 📖 `Zephyr Documentation`_ | 🚀 `Getting Started Guide`_ | 🙋🏽 `Tips when asking for help`_ | 💻 `Code samples`_ Code and Development -------------------- | 🌐 `Source Code Repository`_ | 📦 `Releases`_ | 🤝 `Contribution Guide`_ Community and Support --------------------- | 💬 `Discord Server`_ for real-time community discussions | 📧 `User mailing list (users@lists.zephyrproject.org)`_ | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_ | 📬 `Other project mailing lists`_ | 📚 `Project Wiki`_ Issue Tracking and Security --------------------------- | 🐛 `GitHub Issues`_ | 🔒 `Security documentation`_ | 🛡️ `Security Advisories Repository`_ | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org Additional Resources -------------------- | 🌐 `Zephyr Project Website`_ | 📺 `Zephyr Tech Talks`_ .. _Zephyr Project Website: https://www.zephyrproject.org .. _Discord Server: https://chat.zephyrproject.org .. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html .. _Zephyr Documentation: https://docs.zephyrproject.org .. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html .. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html .. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html .. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr .. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues .. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases .. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki .. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users .. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel .. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups .. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html .. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html .. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security .. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help .. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks