| 1 | # Copyright 1999-2006 Gentoo Foundation |
1 | # Copyright 1999-2006 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.59 2009/03/27 20:13:04 loki_val Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.62 2009/09/06 22:54:58 robbat2 Exp $ |
| 4 | # |
4 | # |
| 5 | # Original author: John Mylchreest <johnm@gentoo.org> |
5 | # Original author: John Mylchreest <johnm@gentoo.org> |
| 6 | # Maintainer: kernel-misc@gentoo.org |
6 | # Maintainer: kernel-misc@gentoo.org |
| 7 | # |
7 | # |
| 8 | # Please direct your bugs to the current eclass maintainer :) |
8 | # Please direct your bugs to the current eclass maintainer :) |
| … | |
… | |
| 11 | # @MAINTAINER: |
11 | # @MAINTAINER: |
| 12 | # kernel-misc@gentoo.org |
12 | # kernel-misc@gentoo.org |
| 13 | # @BLURB: eclass used for accessing kernel related information |
13 | # @BLURB: eclass used for accessing kernel related information |
| 14 | # @DESCRIPTION: |
14 | # @DESCRIPTION: |
| 15 | # This eclass is used as a central eclass for accessing kernel |
15 | # This eclass is used as a central eclass for accessing kernel |
| 16 | # related information for sources already installed. |
16 | # related information for source or binary already installed. |
| 17 | # It is vital for linux-mod.eclass to function correctly, and is split |
17 | # It is vital for linux-mod.eclass to function correctly, and is split |
| 18 | # out so that any ebuild behaviour "templates" are abstracted out |
18 | # out so that any ebuild behaviour "templates" are abstracted out |
| 19 | # using additional eclasses. |
19 | # using additional eclasses. |
|
|
20 | # |
|
|
21 | # "kernel config" in this file means: |
|
|
22 | # The .config of the currently installed sources is used as the first |
|
|
23 | # preference, with a fall-back to bundled config (/proc/config.gz) if available. |
| 20 | |
24 | |
| 21 | # A Couple of env vars are available to effect usage of this eclass |
25 | # A Couple of env vars are available to effect usage of this eclass |
| 22 | # These are as follows: |
26 | # These are as follows: |
| 23 | |
27 | |
| 24 | # @ECLASS-VARIABLE: KERNEL_DIR |
28 | # @ECLASS-VARIABLE: KERNEL_DIR |
| … | |
… | |
| 36 | # You can also check that an option doesn't exist by |
40 | # You can also check that an option doesn't exist by |
| 37 | # prepending it with an exclamation mark (!). |
41 | # prepending it with an exclamation mark (!). |
| 38 | # |
42 | # |
| 39 | # e.g.: CONFIG_CHECK="!MTRR" |
43 | # e.g.: CONFIG_CHECK="!MTRR" |
| 40 | # |
44 | # |
| 41 | # To simply warn about a missing option, prepend a '~'. |
45 | # To simply warn about a missing option, prepend a '~'. |
|
|
46 | # It may be combined with '!'. |
|
|
47 | # |
|
|
48 | # In general, most checks should be non-fatal. The only time fatal checks should |
|
|
49 | # be used is for building kernel modules or cases that a compile will fail |
|
|
50 | # without the option. |
|
|
51 | # |
|
|
52 | # This is to allow usage of binary kernels, and minimal systems without kernel |
|
|
53 | # sources. |
| 42 | |
54 | |
| 43 | # @ECLASS-VARIABLE: ERROR_<CFG> |
55 | # @ECLASS-VARIABLE: ERROR_<CFG> |
| 44 | # @DESCRIPTION: |
56 | # @DESCRIPTION: |
| 45 | # A string containing the error message to display when the check against CONFIG_CHECK |
57 | # A string containing the error message to display when the check against CONFIG_CHECK |
| 46 | # fails. <CFG> should reference the appropriate option used in CONFIG_CHECK. |
58 | # fails. <CFG> should reference the appropriate option used in CONFIG_CHECK. |
| … | |
… | |
| 86 | |
98 | |
| 87 | # @ECLASS-VARIABLE: KV_OUT_DIR |
99 | # @ECLASS-VARIABLE: KV_OUT_DIR |
| 88 | # @DESCRIPTION: |
100 | # @DESCRIPTION: |
| 89 | # A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless |
101 | # A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless |
| 90 | # KBUILD_OUTPUT is used. This should be used for referencing .config. |
102 | # KBUILD_OUTPUT is used. This should be used for referencing .config. |
|
|
103 | |
|
|
104 | # @ECLASS-VARIABLE: I_KNOW_WHAT_I_AM_DOING |
|
|
105 | # @DESCRIPTION: |
|
|
106 | # Temporary variable for the migration to making linux-info non-fatal. |
| 91 | |
107 | |
| 92 | # And to ensure all the weirdness with crosscompile |
108 | # And to ensure all the weirdness with crosscompile |
| 93 | inherit toolchain-funcs versionator |
109 | inherit toolchain-funcs versionator |
| 94 | |
110 | |
| 95 | EXPORT_FUNCTIONS pkg_setup |
111 | EXPORT_FUNCTIONS pkg_setup |
| … | |
… | |
| 143 | |
159 | |
| 144 | # @FUNCTION: getfilevar |
160 | # @FUNCTION: getfilevar |
| 145 | # @USAGE: variable configfile |
161 | # @USAGE: variable configfile |
| 146 | # @RETURN: the value of the variable |
162 | # @RETURN: the value of the variable |
| 147 | # @DESCRIPTION: |
163 | # @DESCRIPTION: |
| 148 | # It detects the value of the variable defined in the file configfile |
164 | # It detects the value of the variable defined in the file configfile. This is |
|
|
165 | # done by including the configfile, and printing the variable with Make. |
|
|
166 | # It WILL break if your makefile has missing dependencies! |
| 149 | getfilevar() { |
167 | getfilevar() { |
| 150 | local ERROR basefname basedname myARCH="${ARCH}" |
168 | local ERROR basefname basedname myARCH="${ARCH}" |
| 151 | ERROR=0 |
169 | ERROR=0 |
| 152 | |
170 | |
| 153 | [ -z "${1}" ] && ERROR=1 |
171 | [ -z "${1}" ] && ERROR=1 |
| … | |
… | |
| 168 | |
186 | |
| 169 | ARCH=${myARCH} |
187 | ARCH=${myARCH} |
| 170 | fi |
188 | fi |
| 171 | } |
189 | } |
| 172 | |
190 | |
|
|
191 | # @FUNCTION: getfilevar_noexec |
|
|
192 | # @USAGE: variable configfile |
|
|
193 | # @RETURN: the value of the variable |
|
|
194 | # @DESCRIPTION: |
|
|
195 | # It detects the value of the variable defined in the file configfile. |
|
|
196 | # This is done with sed matching an expression only. If the variable is defined, |
|
|
197 | # you will run into problems. See getfilevar for those cases. |
|
|
198 | getfilevar_noexec() { |
|
|
199 | local ERROR basefname basedname mycat myARCH="${ARCH}" |
|
|
200 | ERROR=0 |
|
|
201 | mycat='cat' |
|
|
202 | |
|
|
203 | [ -z "${1}" ] && ERROR=1 |
|
|
204 | [ ! -f "${2}" ] && ERROR=1 |
|
|
205 | [ "${2#.gz}" != "${2}" ] && mycat='zcat' |
|
|
206 | |
|
|
207 | if [ "${ERROR}" = 1 ] |
|
|
208 | then |
|
|
209 | echo -e "\n" |
|
|
210 | eerror "getfilevar_noexec requires 2 variables, with the second a valid file." |
|
|
211 | eerror " getfilevar_noexec <VARIABLE> <CONFIGFILE>" |
|
|
212 | else |
|
|
213 | ${mycat} "${2}" | \ |
|
|
214 | sed -n \ |
|
|
215 | -e "/^[[:space:]]*${1}[[:space:]]*=[[:space:]]*\(.*\)\$/{ |
|
|
216 | s,^[^=]*[[:space:]]*=[[:space:]]*,,g ; |
|
|
217 | s,[[:space:]]*\$,,g ; |
|
|
218 | p |
|
|
219 | }" |
|
|
220 | fi |
|
|
221 | } |
|
|
222 | |
|
|
223 | |
|
|
224 | # @FUNCTION: linux_config_src_exists |
|
|
225 | # @RETURN: true or false |
|
|
226 | # @DESCRIPTION: |
|
|
227 | # It returns true if .config exists in a build directory otherwise false |
|
|
228 | linux_config_src_exists() { |
|
|
229 | [ -s "${KV_OUT_DIR}/.config" ] |
|
|
230 | } |
|
|
231 | |
|
|
232 | # @FUNCTION: linux_config_bin_exists |
|
|
233 | # @RETURN: true or false |
|
|
234 | # @DESCRIPTION: |
|
|
235 | # It returns true if .config exists in /proc, otherwise false |
|
|
236 | linux_config_bin_exists() { |
|
|
237 | [ -s "/proc/config.gz" ] |
|
|
238 | } |
| 173 | |
239 | |
| 174 | # @FUNCTION: linux_config_exists |
240 | # @FUNCTION: linux_config_exists |
| 175 | # @RETURN: true or false |
241 | # @RETURN: true or false |
| 176 | # @DESCRIPTION: |
242 | # @DESCRIPTION: |
| 177 | # It returns true if .config exists otherwise false |
243 | # It returns true if .config exists otherwise false |
|
|
244 | # |
|
|
245 | # This function MUST be checked before using any of the linux_chkconfig_* |
|
|
246 | # functions. |
| 178 | linux_config_exists() { |
247 | linux_config_exists() { |
| 179 | [ -s "${KV_OUT_DIR}/.config" ] |
248 | linux_config_src_exists || linux_config_bin_exists |
| 180 | } |
249 | } |
| 181 | |
250 | |
| 182 | # @FUNCTION: require_configured_kernel |
251 | # @FUNCTION: require_configured_kernel |
| 183 | # @DESCRIPTION: |
252 | # @DESCRIPTION: |
| 184 | # This function verifies that the current kernel is configured (it checks against the existence of .config) |
253 | # This function verifies that the current kernel is configured (it checks against the existence of .config) |
| 185 | # otherwise it dies. |
254 | # otherwise it dies. |
| 186 | require_configured_kernel() { |
255 | require_configured_kernel() { |
| 187 | if ! linux_config_exists; then |
256 | if ! linux_config_src_exists; then |
| 188 | qeerror "Could not find a usable .config in the kernel source directory." |
257 | qeerror "Could not find a usable .config in the kernel source directory." |
| 189 | qeerror "Please ensure that ${KERNEL_DIR} points to a configured set of Linux sources." |
258 | qeerror "Please ensure that ${KERNEL_DIR} points to a configured set of Linux sources." |
| 190 | qeerror "If you are using KBUILD_OUTPUT, please set the environment var so that" |
259 | qeerror "If you are using KBUILD_OUTPUT, please set the environment var so that" |
| 191 | qeerror "it points to the necessary object directory so that it might find .config." |
260 | qeerror "it points to the necessary object directory so that it might find .config." |
| 192 | die "Kernel not configured; no .config found in ${KV_OUT_DIR}" |
261 | die "Kernel not configured; no .config found in ${KV_OUT_DIR}" |
| … | |
… | |
| 196 | # @FUNCTION: linux_chkconfig_present |
265 | # @FUNCTION: linux_chkconfig_present |
| 197 | # @USAGE: option |
266 | # @USAGE: option |
| 198 | # @RETURN: true or false |
267 | # @RETURN: true or false |
| 199 | # @DESCRIPTION: |
268 | # @DESCRIPTION: |
| 200 | # It checks that CONFIG_<option>=y or CONFIG_<option>=m is present in the current kernel .config |
269 | # It checks that CONFIG_<option>=y or CONFIG_<option>=m is present in the current kernel .config |
|
|
270 | # If linux_config_exists returns false, the results of this are UNDEFINED. You |
|
|
271 | # MUST call linux_config_exists first. |
| 201 | linux_chkconfig_present() { |
272 | linux_chkconfig_present() { |
| 202 | local RESULT |
273 | local RESULT |
| 203 | require_configured_kernel |
274 | [ -z "${I_KNOW_WHAT_I_AM_DOING}" ] && require_configured_kernel |
|
|
275 | local config |
|
|
276 | config="${KV_OUT_DIR}/.config" |
|
|
277 | [ ! -f "${config}" ] && config="/proc/config.gz" |
| 204 | RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)" |
278 | RESULT="$(getfilevar_noexec CONFIG_${1} "${config}")" |
| 205 | [ "${RESULT}" = "m" -o "${RESULT}" = "y" ] && return 0 || return 1 |
279 | [ "${RESULT}" = "m" -o "${RESULT}" = "y" ] && return 0 || return 1 |
| 206 | } |
280 | } |
| 207 | |
281 | |
| 208 | # @FUNCTION: linux_chkconfig_module |
282 | # @FUNCTION: linux_chkconfig_module |
| 209 | # @USAGE: option |
283 | # @USAGE: option |
| 210 | # @RETURN: true or false |
284 | # @RETURN: true or false |
| 211 | # @DESCRIPTION: |
285 | # @DESCRIPTION: |
| 212 | # It checks that CONFIG_<option>=m is present in the current kernel .config |
286 | # It checks that CONFIG_<option>=m is present in the current kernel .config |
|
|
287 | # If linux_config_exists returns false, the results of this are UNDEFINED. You |
|
|
288 | # MUST call linux_config_exists first. |
| 213 | linux_chkconfig_module() { |
289 | linux_chkconfig_module() { |
| 214 | local RESULT |
290 | local RESULT |
| 215 | require_configured_kernel |
291 | [ -z "${I_KNOW_WHAT_I_AM_DOING}" ] && require_configured_kernel |
|
|
292 | local config |
|
|
293 | config="${KV_OUT_DIR}/.config" |
|
|
294 | [ ! -f "${config}" ] && config="/proc/config.gz" |
| 216 | RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)" |
295 | RESULT="$(getfilevar_noexec CONFIG_${1} "${config}")" |
| 217 | [ "${RESULT}" = "m" ] && return 0 || return 1 |
296 | [ "${RESULT}" = "m" ] && return 0 || return 1 |
| 218 | } |
297 | } |
| 219 | |
298 | |
| 220 | # @FUNCTION: linux_chkconfig_builtin |
299 | # @FUNCTION: linux_chkconfig_builtin |
| 221 | # @USAGE: option |
300 | # @USAGE: option |
| 222 | # @RETURN: true or false |
301 | # @RETURN: true or false |
| 223 | # @DESCRIPTION: |
302 | # @DESCRIPTION: |
| 224 | # It checks that CONFIG_<option>=y is present in the current kernel .config |
303 | # It checks that CONFIG_<option>=y is present in the current kernel .config |
|
|
304 | # If linux_config_exists returns false, the results of this are UNDEFINED. You |
|
|
305 | # MUST call linux_config_exists first. |
| 225 | linux_chkconfig_builtin() { |
306 | linux_chkconfig_builtin() { |
| 226 | local RESULT |
307 | local RESULT |
| 227 | require_configured_kernel |
308 | [ -z "${I_KNOW_WHAT_I_AM_DOING}" ] && require_configured_kernel |
|
|
309 | local config |
|
|
310 | config="${KV_OUT_DIR}/.config" |
|
|
311 | [ ! -f "${config}" ] && config="/proc/config.gz" |
| 228 | RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)" |
312 | RESULT="$(getfilevar_noexec CONFIG_${1} "${config}")" |
| 229 | [ "${RESULT}" = "y" ] && return 0 || return 1 |
313 | [ "${RESULT}" = "y" ] && return 0 || return 1 |
| 230 | } |
314 | } |
| 231 | |
315 | |
| 232 | # @FUNCTION: linux_chkconfig_string |
316 | # @FUNCTION: linux_chkconfig_string |
| 233 | # @USAGE: option |
317 | # @USAGE: option |
| 234 | # @RETURN: CONFIG_<option> |
318 | # @RETURN: CONFIG_<option> |
| 235 | # @DESCRIPTION: |
319 | # @DESCRIPTION: |
| 236 | # It prints the CONFIG_<option> value of the current kernel .config (it requires a configured kernel). |
320 | # It prints the CONFIG_<option> value of the current kernel .config (it requires a configured kernel). |
|
|
321 | # If linux_config_exists returns false, the results of this are UNDEFINED. You |
|
|
322 | # MUST call linux_config_exists first. |
| 237 | linux_chkconfig_string() { |
323 | linux_chkconfig_string() { |
| 238 | require_configured_kernel |
324 | [ -z "${I_KNOW_WHAT_I_AM_DOING}" ] && require_configured_kernel |
|
|
325 | local config |
|
|
326 | config="${KV_OUT_DIR}/.config" |
|
|
327 | [ ! -f "${config}" ] && config="/proc/config.gz" |
| 239 | getfilevar "CONFIG_${1}" "${KV_OUT_DIR}/.config" |
328 | getfilevar_noexec "CONFIG_${1}" "${config}" |
| 240 | } |
329 | } |
| 241 | |
330 | |
| 242 | # Versioning Functions |
331 | # Versioning Functions |
| 243 | # --------------------------------------- |
332 | # --------------------------------------- |
| 244 | |
333 | |
| … | |
… | |
| 287 | 3) for((y=0; y<$((3 - ${#KV_PATCH})); y++)); do test="${test}0"; done; |
376 | 3) for((y=0; y<$((3 - ${#KV_PATCH})); y++)); do test="${test}0"; done; |
| 288 | test="${test}${KV_PATCH}";; |
377 | test="${test}${KV_PATCH}";; |
| 289 | *) die "Error in kernel-2_kernel_is(): Too many parameters.";; |
378 | *) die "Error in kernel-2_kernel_is(): Too many parameters.";; |
| 290 | esac |
379 | esac |
| 291 | done |
380 | done |
| 292 | |
381 | |
| 293 | [ ${test} ${operator} ${value} ] && return 0 || return 1 |
382 | [ ${test} ${operator} ${value} ] && return 0 || return 1 |
| 294 | } |
383 | } |
| 295 | |
384 | |
| 296 | get_localversion() { |
385 | get_localversion() { |
| 297 | local lv_list i x |
386 | local lv_list i x |
| … | |
… | |
| 363 | # so we better find it eh? |
452 | # so we better find it eh? |
| 364 | # do we pass KBUILD_OUTPUT on the CLI? |
453 | # do we pass KBUILD_OUTPUT on the CLI? |
| 365 | OUTPUT_DIR="${OUTPUT_DIR:-${KBUILD_OUTPUT}}" |
454 | OUTPUT_DIR="${OUTPUT_DIR:-${KBUILD_OUTPUT}}" |
| 366 | |
455 | |
| 367 | # And if we didn't pass it, we can take a nosey in the Makefile |
456 | # And if we didn't pass it, we can take a nosey in the Makefile |
| 368 | kbuild_output="$(getfilevar KBUILD_OUTPUT ${KV_DIR}/Makefile)" |
457 | kbuild_output="$(getfilevar_noexec KBUILD_OUTPUT ${KV_DIR}/Makefile)" |
| 369 | OUTPUT_DIR="${OUTPUT_DIR:-${kbuild_output}}" |
458 | OUTPUT_DIR="${OUTPUT_DIR:-${kbuild_output}}" |
| 370 | |
459 | |
| 371 | # And contrary to existing functions I feel we shouldn't trust the |
460 | # And contrary to existing functions I feel we shouldn't trust the |
| 372 | # directory name to find version information as this seems insane. |
461 | # directory name to find version information as this seems insane. |
| 373 | # so we parse ${KV_DIR}/Makefile |
462 | # so we parse ${KV_DIR}/Makefile |
| 374 | KV_MAJOR="$(getfilevar VERSION ${KV_DIR}/Makefile)" |
463 | KV_MAJOR="$(getfilevar_noexec VERSION ${KV_DIR}/Makefile)" |
| 375 | KV_MINOR="$(getfilevar PATCHLEVEL ${KV_DIR}/Makefile)" |
464 | KV_MINOR="$(getfilevar_noexec PATCHLEVEL ${KV_DIR}/Makefile)" |
| 376 | KV_PATCH="$(getfilevar SUBLEVEL ${KV_DIR}/Makefile)" |
465 | KV_PATCH="$(getfilevar_noexec SUBLEVEL ${KV_DIR}/Makefile)" |
| 377 | KV_EXTRA="$(getfilevar EXTRAVERSION ${KV_DIR}/Makefile)" |
466 | KV_EXTRA="$(getfilevar_noexec EXTRAVERSION ${KV_DIR}/Makefile)" |
| 378 | |
467 | |
| 379 | if [ -z "${KV_MAJOR}" -o -z "${KV_MINOR}" -o -z "${KV_PATCH}" ] |
468 | if [ -z "${KV_MAJOR}" -o -z "${KV_MINOR}" -o -z "${KV_PATCH}" ] |
| 380 | then |
469 | then |
| 381 | qeerror "Could not detect kernel version." |
470 | qeerror "Could not detect kernel version." |
| 382 | qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources." |
471 | qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources." |
| … | |
… | |
| 518 | if [[ ${config_required} == 0 ]]; then |
607 | if [[ ${config_required} == 0 ]]; then |
| 519 | # In the case where we don't require a .config, we can now bail out |
608 | # In the case where we don't require a .config, we can now bail out |
| 520 | # if the user has no .config as there is nothing to do. Otherwise |
609 | # if the user has no .config as there is nothing to do. Otherwise |
| 521 | # code later will cause a failure due to missing .config. |
610 | # code later will cause a failure due to missing .config. |
| 522 | if ! linux_config_exists; then |
611 | if ! linux_config_exists; then |
|
|
612 | ewarn "Unable to check for the following kernel config options due" |
|
|
613 | ewarn "to absence of any configured kernel sources:" |
|
|
614 | for config in ${CONFIG_CHECK}; do |
|
|
615 | ewarn " - ${config#\~}" |
|
|
616 | done |
|
|
617 | ewarn "You're on your own to make sure they are set if needed." |
| 523 | return 0 |
618 | return 0 |
| 524 | fi |
619 | fi |
| 525 | else |
620 | else |
| 526 | require_configured_kernel |
621 | require_configured_kernel |
| 527 | fi |
622 | fi |
| … | |
… | |
| 633 | local DEFLATE |
728 | local DEFLATE |
| 634 | |
729 | |
| 635 | einfo "Determining the usability of ZLIB_INFLATE support in your kernel" |
730 | einfo "Determining the usability of ZLIB_INFLATE support in your kernel" |
| 636 | |
731 | |
| 637 | ebegin "checking ZLIB_INFLATE" |
732 | ebegin "checking ZLIB_INFLATE" |
| 638 | getfilevar_isbuiltin CONFIG_ZLIB_INFLATE ${KV_DIR}/.config |
733 | linux_chkconfig_builtin CONFIG_ZLIB_INFLATE |
| 639 | eend $? |
734 | eend $? |
| 640 | [ "$?" != 0 ] && die |
735 | [ "$?" != 0 ] && die |
| 641 | |
736 | |
| 642 | ebegin "checking ZLIB_DEFLATE" |
737 | ebegin "checking ZLIB_DEFLATE" |
| 643 | getfilevar_isbuiltin CONFIG_ZLIB_DEFLATE ${KV_DIR}/.config |
738 | linux_chkconfig_builtin CONFIG_ZLIB_DEFLATE |
| 644 | eend $? |
739 | eend $? |
| 645 | [ "$?" != 0 ] && die |
740 | [ "$?" != 0 ] && die |
| 646 | |
741 | |
| 647 | local LINENO_START |
742 | local LINENO_START |
| 648 | local LINENO_END |
743 | local LINENO_END |
| … | |
… | |
| 691 | # @FUNCTION: linux-info_pkg_setup |
786 | # @FUNCTION: linux-info_pkg_setup |
| 692 | # @DESCRIPTION: |
787 | # @DESCRIPTION: |
| 693 | # Force a get_version() call when inherited from linux-mod.eclass and then check if the kernel is configured |
788 | # Force a get_version() call when inherited from linux-mod.eclass and then check if the kernel is configured |
| 694 | # to support the options specified in CONFIG_CHECK (if not null) |
789 | # to support the options specified in CONFIG_CHECK (if not null) |
| 695 | linux-info_pkg_setup() { |
790 | linux-info_pkg_setup() { |
| 696 | get_version || die "Unable to calculate Linux Kernel version" |
791 | get_version |
|
|
792 | if [[ $rc -ne 0 ]]; then |
|
|
793 | ewarn "Unable to calculate Linux Kernel version for build, attempting to use running version" |
|
|
794 | get_running_version |
|
|
795 | fi |
| 697 | |
796 | |
| 698 | if kernel_is 2 4; then |
797 | if kernel_is 2 4; then |
| 699 | if [ "$( gcc-major-version )" -eq "4" ] ; then |
798 | if [ "$( gcc-major-version )" -eq "4" ] ; then |
| 700 | echo |
799 | echo |
| 701 | ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with" |
800 | ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with" |