The aim of I_KNOW_WHAT_I_AM_DOING in linux-info.eclass is making eclass function non-fatal (temp. workaround for binpkgs?). It is mostly used to avoid calling "require_configured_kernel", BUT to really make linux-info.eclass non-fatal for eclass users (ebuilds), such conditional should be added in check_kernel_built too, which is used in linux-mod.eclass' linux-mod_pkg_setup(). If required, I can provide patches. Reproducible: Always Steps to Reproduce:
I_KNOW_WHAT_I_AM_DOING is gone now. The logic introduced with it is now the default. The actual aim was making the eclass work when kernel sources were not present, so that we could avoid introducing them into the dependency tree so much. If you have more improvements for the eclasses, please discuss them here and post proposed patches thereafter.
I changed the summary to what I thought you might be talking about, feel free to change it to what you actually mean.
If the rewritten code also takes into account binpkgs (thus system where kernel sources may not be available), I'm fine and this bug can be closed.
For external kernel modules in binpkgs world, kernel sources are not required at install time because there's nothing to compile, thus no .config nor $KV_OUT_DIR/Makefile to check. Unfortunately, the execution of these two checks are done inside pkg_setup (instead of src_prepare or src_compile), which is called by binpkgs clients too. This is wrong and leads to the inability to reliably use pkg_setup (perhaps checking its return code). The situation gets worse when in pkg_setup there are other ebuild variables set after the kernel sources/kernel features check above, which end to be unset in other phases.
NOTHING in linux-info brings in linux-sources anymore. However, if the CHECK_CONFIG options are declared as required (without the ~) we try to respect that, and ERROR out if we cannot check them. /proc/config.gz IS used as a check source, so that should cover 99.9% of cases. If you have neither ${KV_DIR}/.config not /proc/config.gz available, then there is no way to check for the options. If that's all you needed, please close now.
Yes, thanks. I will reopen in case of further issues.