Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 551430

Summary: [Future EAPI] Remember kernel config options from packages
Product: Gentoo Hosted Projects Reporter: Jason Zaman <perfinion>
Component: PMS/EAPIAssignee: PMS/EAPI <pms>
Status: CONFIRMED ---    
Severity: normal CC: anton.bugs, dywi, esigra, netbox253, pacho
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=532674
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 174380    

Description Jason Zaman gentoo-dev 2015-06-07 08:23:25 UTC
A lot of ebuilds check the current kernel config if it is missing some options that are required for the package. ie using linux-info.eclass check_extra_config.

Once the package is installed, there is no way to re-check all the options. On my server I generally rebuild the kernel infrequently and have forgotten if there are any recommended or required options by the time I do it next. Also There is no way to make sure I have not accidentally removed an option.

There should be an emaint kconfigcheck or similar tool that will check that a kernel is configured properly and list all the options that are missing.
Comment 1 Zac Medico gentoo-dev 2015-06-07 23:27:59 UTC
I've noticed that some ebuilds set the CONFIG_CHECK variable in pkg_pretend, and use conditional logic there. For example, xf86-video-ati/xf86-video-ati-7.5.0 does this:

pkg_pretend() {
	if use kernel_linux ; then
		if kernel_is -ge 3 9; then
			CONFIG_CHECK="~!DRM_RADEON_UMS ~!FB_RADEON"
		else
			CONFIG_CHECK="~DRM_RADEON_KMS ~!FB_RADEON"
		fi
	fi
	check_extra_config
}

We could have PMS specify a standard method for a package manager to obtain this information from the ebuild.
Comment 2 Zac Medico gentoo-dev 2015-06-07 23:34:01 UTC
Maybe we should have a way for linux-info.eclass to install the requested kernel settings in a file inside a /etc/kernel-config.d directory. Maybe it doesn't need to involve PMS?
Comment 3 Zac Medico gentoo-dev 2015-06-07 23:42:20 UTC
Considering that we have a doenvd function, maybe a dokernconfd helper makes sense?
Comment 4 Jason Zaman gentoo-dev 2015-06-08 08:19:14 UTC
(In reply to Zac Medico from comment #2)
> Maybe we should have a way for linux-info.eclass to install the requested
> kernel settings in a file inside a /etc/kernel-config.d directory. Maybe it
> doesn't need to involve PMS?

I was originally thinking something like this. Usually the tests involve the type of videocard or something which wont change, things like kernel_is -ge 3 9 makes this a lot more complicated. Another problem is if a new kernel comes out which changes a kconfig option, the files in /etc/kernel-config.d would not be updated without a revbump and a revbump would be unneccesary since the new kernel options do not affect the running machine at all.

Or perhaps we can change check_extra_config and then just call only the pkg_setup phase on packages that inherit linux-info. The problem is that some packages do it in pkg_setup() and some in pkg_pretend(). Kind of ugly but would be update-able easily when new kernels change options (such at the ati one above).
Comment 5 Manuel RĂ¼ger (RETIRED) gentoo-dev 2015-07-11 12:38:42 UTC
I'm using this script for that purpose:
https://gist.github.com/mrueg/cd19a20d2e712f61d2ea

Should we get that into gentoolkit? Maybe call it ekcc (e-kernel-config-check)?
Comment 6 Zac Medico gentoo-dev 2020-01-19 05:13:59 UTC
*** Bug 705806 has been marked as a duplicate of this bug. ***