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

Bug 71439

Summary: x11.eclass incompatible with config-kernel --make-koutput
Product: Gentoo Linux Reporter: Neil Katin <gentoo>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: 2004.2   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Neil Katin 2004-11-16 13:29:15 UTC
I'm trying to emerge xorg-x11-6.8.0-r1.  It depends on x11.eclass.
That eclass file has this function in it:

check_version_h() {
    if [ ! -f "${ROOT}/usr/src/linux/include/linux/version.h" ]
    then
        eerror "Please verify that your /usr/src/linux symlink is pointing"
        eerror "to your current kernel sources, and that you did run:"
        eerror
        eerror "  # make dep"
        die "/usr/src/linux symlink not setup!"
    fi
}

The problem is that if you are using the koutput kernel build option
(where all generated files are put in a separate tree) version.h will
*not* be under /usr/src/linux; instead it will be somewhere like
/var/tmp/linux/${KV}/include/linux/version.h.

The koutput kernel build option is recommended for when you are adding
kernel modules (like, for example, nvidia-kernel...).

Also, the eclass function get_KV_info() is broken in the same way.



Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Its not 100% clear to me what the "right fix" is.  If all we are worried
about is being compatible with config-kernel, then you can look at
the Makefile in /usr/src/linux and see if KBUILD_OUTPUT is defined;
if so then look for version.h there.  This seems unnecessarily fragile,
but is very "compatible" with the current scheme.

Alternately you could use /proc/version,
or better yet run uname -r to get the kernel version.  I suspect the
uname path is the cleanest and most supportable.
Comment 1 Stefan Schweizer (RETIRED) gentoo-dev 2004-11-16 13:48:48 UTC
We do not plan to support config-kernel or KOUTPUT, you can also see that config-kernel is masked because of that.
Comment 2 Neil Katin 2004-11-16 15:52:36 UTC

I'm sorry, I don't understand comment #1.  When you say
"we do not plan to support config-kernel", in whose
voice are you speaking?

The basic ebuild is *not* masked; it appears to be unmasked for
all architectures:

% grep KEYWORDS *.ebuild
config-kernel-0.3.2-r1.ebuild:KEYWORDS="x86"
config-kernel-0.3.2.ebuild:KEYWORDS="x86"
config-kernel-0.3.3.ebuild:KEYWORDS="x86 amd64 ia64 ppc ppc64 sparc hppa mips alpha"

So are you speaking as the x11 team, or as gentoo-at-large?

Sorry to be dense; I'm just trying to understand the comment.

Thanks.
Comment 3 Peter Johanson (RETIRED) gentoo-dev 2004-11-17 16:32:18 UTC
It's in package.mask. See the portage guide on the website or the portage man page for more info.

As genstef said, config-kernel is masked, and no longer supported.
Comment 4 Neil Katin 2004-11-18 07:45:15 UTC
I guess it got masked after I had it installed.  My Bad.