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

Bug 283320

Summary: [TRACKER] Linux-info eclass using userland ebuilds that have hard checks and dependancies
Product: Gentoo Linux Reporter: Mike Auty (RETIRED) <ikelos>
Component: EclassesAssignee: Mike Auty (RETIRED) <ikelos>
Status: RESOLVED FIXED    
Severity: normal CC: bonbons, hollow, kernel-misc, robbat2, vapier, zzam
Priority: High Keywords: Tracker
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://archives.gentoo.org/gentoo-dev/msg_829163256397bedb7c96e751347ee4d8.xml
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 283368, 283585, 300337    
Bug Blocks: 283845    

Description Mike Auty (RETIRED) gentoo-dev 2009-08-31 12:01:22 UTC
Hi there,

Further to the discussion starting at [1], this is a tracker/informational bug to identify ebuilds which use linux-info but do not install kernel modules, and yet still die when the kernel checks fail (rather than just emitting a warning).

In general the userspace programs will still build even if the kernel isn't configured in a particular way.  As per the discussion, it would be better to give the user a big warning than actually dying, because the user may know better than us which kernel they're intending to run the code on, and the code itself may be able to gracefully handle running on a mis-configured kernel.

If your package is changed and you disagree, do please change it back, but leave a note here letting people know why the checks should be fatal.

If there are any complicated CONFIG_CHECKS/ebuilds that we can't deal with on our own, we'll file bugs and mark them as blockers of this tracker.

[1] http://archives.gentoo.org/gentoo-dev/msg_829163256397bedb7c96e751347ee4d8.xml
Comment 1 Mike Auty (RETIRED) gentoo-dev 2009-09-06 22:38:10 UTC
This bug will also track the need to run linux_config_exists before calling linux_chkconfig_* functions.  This is due to changes in the eclass to ensure that config.gz files can be used as potential configs.  If these configs are missing, the chkconfig functions will have undefined results, so best to do the checks first...
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-06 23:26:55 UTC
I_KNOW_WHAT_I_AM_DOING=1 is now available for linux-info.eclass.

It makes the absence of the .config file non-fatal for testing this migration.

New functions:
linux_config_src_exists - explicit check for .config in sources
linux_config_bin_exists - explicit check for /proc/config.gz
linux-info_get_any_version - the version of sources else of the running kernel
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-06 23:53:37 UTC
Also related to this, is that once we are certain of the state of the tree and hard checks not being over-used, we can remove the dependency of on linux-sources in linux-info (and move it to linux-mod instead).
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-07 10:35:20 UTC
Adding the kernel-misc herd to the bug.
Comment 5 Bruno 2009-09-07 16:37:52 UTC
While updating the eclass, please consider the issue noted in bug #87242.

The patch I put there allows using the eclass properly by just specifying the KBUILD_OUTPUT (letting eclass discover KERNEL_DIR by itself - that information is available from Makefile in KBUILD_OUTPUT so no need to manually repeat it)
Comment 6 Mike Auty (RETIRED) gentoo-dev 2009-09-08 18:55:44 UTC
Ok, all the userland ebuilds should be using ~OPTION.  5:)
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-10 08:35:42 UTC
*** Bug 283266 has been marked as a duplicate of this bug. ***
Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-10 08:51:27 UTC
*** Bug 218970 has been marked as a duplicate of this bug. ***
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-10 09:05:58 UTC
Per my warning one month [1] ago, the changes prototyped under I_KNOW_WHAT_I_AM_DOING are now default.

Summary [2]:
- ALL linux_chkconfig calls MUST be preceeded by a linux_config*exists function.
- CONFIG_CHECK warning mode (~) no longer requires existence of kernel sources or any configuration.
- The eclass no longer introduces linux-sources into the dependency tree.

References:
[1] http://thread.gmane.org/gmane.linux.gentoo.devel/64125
[2] http://thread.gmane.org/gmane.linux.gentoo.devel/62986
Comment 10 Mike Auty (RETIRED) gentoo-dev 2012-12-21 00:31:42 UTC
All blocking bugs have been resolved, so marking this tracker as resolved.