/[gentoo-x86]/eclass/linux-info.eclass
Gentoo

Contents of /eclass/linux-info.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.37 - (hide annotations) (download)
Sat Jan 14 00:15:07 2006 UTC (8 years, 8 months ago) by vapier
Branch: MAIN
Changes since 1.36: +3 -2 lines
document ~ in CONFIG_CHECK

1 vapier 1.37 # Copyright 1999-2006 Gentoo Foundation
2 johnm 1.1 # Distributed under the terms of the GNU General Public License v2
3 vapier 1.37 # $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.36 2006/01/01 01:14:59 swegener Exp $
4 johnm 1.1 #
5 johnm 1.10 # Description: This eclass is used as a central eclass for accessing kernel
6     # related information for sources already installed.
7     # It is vital for linux-mod to function correctly, and is split
8     # out so that any ebuild behaviour "templates" are abstracted out
9     # using additional eclasses.
10 johnm 1.1 #
11 johnm 1.10 # Maintainer: John Mylchreest <johnm@gentoo.org>
12     # Copyright 2004 Gentoo Linux
13     #
14     # Please direct your bugs to the current eclass maintainer :)
15    
16     # A Couple of env vars are available to effect usage of this eclass
17     # These are as follows:
18 swegener 1.29 #
19 johnm 1.21 # Env Var Option Description
20 johnm 1.10 # KERNEL_DIR <string> The directory containing kernel the target kernel
21 johnm 1.21 # sources.
22 johnm 1.10 # CONFIG_CHECK <string> a list of .config options to check for before
23 johnm 1.21 # proceeding with the install. ie: CONFIG_CHECK="MTRR"
24 swegener 1.29 # You can also check that an option doesn't exist by
25 johnm 1.21 # prepending it with an exclamation mark (!).
26     # ie: CONFIG_CHECK="!MTRR"
27 vapier 1.37 # To simply warn about a missing option, prepend a '~'.
28 johnm 1.21 # ERROR_CFG <string> The error message to display when the above check
29     # fails. <CFG> should reference the appropriate option
30 johnm 1.25 # as above. ie: ERROR_MTRR="MTRR exists in the .config
31 johnm 1.21 # but shouldn't!!"
32 johnm 1.10 # KBUILD_OUTPUT <string> This is passed on commandline, or can be set from
33 johnm 1.21 # the kernel makefile. This contains the directory
34     # which is to be used as the kernel object directory.
35 johnm 1.10
36     # There are also a couple of variables which are set by this, and shouldn't be
37     # set by hand. These are as follows:
38 swegener 1.29 #
39 johnm 1.10 # Env Var Option Description
40     # KV_FULL <string> The full kernel version. ie: 2.6.9-gentoo-johnm-r1
41     # KV_MAJOR <integer> The kernel major version. ie: 2
42     # KV_MINOR <integer> The kernel minor version. ie: 6
43     # KV_PATCH <integer> The kernel patch version. ie: 9
44     # KV_EXTRA <string> The kernel EXTRAVERSION. ie: -gentoo
45     # KV_LOCAL <string> The kernel LOCALVERSION concatenation. ie: -johnm
46     # KV_DIR <string> The kernel source directory, will be null if
47 johnm 1.21 # KERNEL_DIR is invalid.
48     # KV_OUT_DIR <string> The kernel object directory. will be KV_DIR unless
49     # koutput is used. This should be used for referencing
50     # .config.
51 johnm 1.10
52 johnm 1.21 # And to ensure all the weirdness with crosscompile
53 johnm 1.23 inherit toolchain-funcs versionator
54 johnm 1.1
55 johnm 1.8 EXPORT_FUNCTIONS pkg_setup
56 johnm 1.1
57     # Overwritable environment Var's
58     # ---------------------------------------
59 johnm 1.21 KERNEL_DIR="${KERNEL_DIR:-${ROOT}usr/src/linux}"
60 johnm 1.1
61 johnm 1.7
62 johnm 1.16 # Bug fixes
63     # fix to bug #75034
64     case ${ARCH} in
65 swegener 1.29 ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
66     ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
67 johnm 1.16 esac
68    
69 johnm 1.21 # These are legacy wrappers for toolchain-funcs.
70     # I dont like them here, but oh well.
71 johnm 1.22 set_arch_to_kernel() { export ARCH="$(tc-arch-kernel)"; }
72     set_arch_to_portage() { export ARCH="$(tc-arch)"; }
73 johnm 1.11
74     # qeinfo "Message"
75     # -------------------
76 johnm 1.21 # qeinfo is a quiet einfo call when EBUILD_PHASE
77 johnm 1.11 # should not have visible output.
78 johnm 1.21 qout() {
79     local outputmsg type
80     type=${1}
81     shift
82     outputmsg="${@}"
83 wolf31o2 1.26 case "${EBUILD_PHASE}" in
84     depend) unset outputmsg;;
85     clean) unset outputmsg;;
86     preinst) unset outputmsg;;
87     esac
88     [ -n "${outputmsg}" ] && ${type} "${outputmsg}"
89 johnm 1.11 }
90    
91 johnm 1.21 qeinfo() { qout einfo "${@}" ; }
92     qeerror() { qout eerror "${@}" ; }
93 johnm 1.11
94 johnm 1.1 # File Functions
95     # ---------------------------------------
96    
97     # getfilevar accepts 2 vars as follows:
98     # getfilevar <VARIABLE> <CONFIGFILE>
99    
100     getfilevar() {
101 johnm 1.21 local ERROR workingdir basefname basedname myARCH="${ARCH}"
102 johnm 1.1 ERROR=0
103 johnm 1.16
104 johnm 1.1 [ -z "${1}" ] && ERROR=1
105     [ ! -f "${2}" ] && ERROR=1
106    
107     if [ "${ERROR}" = 1 ]
108     then
109 johnm 1.6 echo -e "\n"
110 johnm 1.1 eerror "getfilevar requires 2 variables, with the second a valid file."
111     eerror " getfilevar <VARIABLE> <CONFIGFILE>"
112     else
113 johnm 1.34 workingdir="${PWD}"
114     basefname="$(basename ${2})"
115     basedname="$(dirname ${2})"
116 johnm 1.6 unset ARCH
117 johnm 1.21
118 johnm 1.34 cd "${basedname}"
119 johnm 1.7 echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" | \
120 johnm 1.24 make ${BUILD_FIXES} -s -f - e 2>/dev/null
121 johnm 1.34 cd "${workingdir}"
122 johnm 1.21
123     ARCH=${myARCH}
124 johnm 1.1 fi
125     }
126    
127 johnm 1.7 linux_chkconfig_present() {
128 johnm 1.1 local RESULT
129 johnm 1.7 RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)"
130 johnm 1.1 [ "${RESULT}" = "m" -o "${RESULT}" = "y" ] && return 0 || return 1
131     }
132    
133 johnm 1.7 linux_chkconfig_module() {
134 johnm 1.1 local RESULT
135 johnm 1.7 RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)"
136 johnm 1.1 [ "${RESULT}" = "m" ] && return 0 || return 1
137     }
138    
139 johnm 1.7 linux_chkconfig_builtin() {
140 johnm 1.1 local RESULT
141 johnm 1.7 RESULT="$(getfilevar CONFIG_${1} ${KV_OUT_DIR}/.config)"
142 johnm 1.1 [ "${RESULT}" = "y" ] && return 0 || return 1
143     }
144    
145 johnm 1.7 linux_chkconfig_string() {
146     getfilevar "CONFIG_${1}" "${KV_OUT_DIR}/.config"
147     }
148    
149 johnm 1.1 # Versioning Functions
150     # ---------------------------------------
151    
152     # kernel_is returns true when the version is the same as the passed version
153     #
154     # For Example where KV = 2.6.9
155     # kernel_is 2 4 returns false
156     # kernel_is 2 returns true
157     # kernel_is 2 6 returns true
158     # kernel_is 2 6 8 returns false
159     # kernel_is 2 6 9 returns true
160 johnm 1.3 #
161 johnm 1.1 # got the jist yet?
162    
163     kernel_is() {
164     # if we haven't determined the version yet, we need too.
165     get_version;
166 johnm 1.23 local operator test value x=0 y=0 z=0
167    
168     case ${1} in
169     lt) operator="-lt"; shift;;
170     gt) operator="-gt"; shift;;
171     le) operator="-le"; shift;;
172     ge) operator="-ge"; shift;;
173     eq) operator="-eq"; shift;;
174     *) operator="-eq";;
175     esac
176    
177     for x in ${@}; do
178     for((y=0; y<$((3 - ${#x})); y++)); do value="${value}0"; done
179     value="${value}${x}"
180     z=$((${z} + 1))
181    
182     case ${z} in
183     1) for((y=0; y<$((3 - ${#KV_MAJOR})); y++)); do test="${test}0"; done;
184     test="${test}${KV_MAJOR}";;
185     2) for((y=0; y<$((3 - ${#KV_MINOR})); y++)); do test="${test}0"; done;
186     test="${test}${KV_MINOR}";;
187     3) for((y=0; y<$((3 - ${#KV_PATCH})); y++)); do test="${test}0"; done;
188     test="${test}${KV_PATCH}";;
189     *) die "Error in kernel-2_kernel_is(): Too many parameters.";;
190     esac
191     done
192 johnm 1.12
193 swegener 1.29 [ ${test} ${operator} ${value} ] && return 0 || return 1
194 johnm 1.1 }
195    
196 johnm 1.30 get_localversion() {
197     local lv_list i x
198    
199     # ignore files with ~ in it.
200     for i in $(ls ${1}/localversion* 2>/dev/null); do
201     [[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}"
202     done
203    
204     for i in ${lv_list}; do
205     x="${x}$(<${i})"
206     done
207     x=${x/ /}
208     echo ${x}
209     }
210    
211 johnm 1.1 get_version() {
212 johnm 1.4 local kbuild_output
213 swegener 1.29
214 johnm 1.1 # no need to execute this twice assuming KV_FULL is populated.
215     # we can force by unsetting KV_FULL
216 johnm 1.19 [ -n "${KV_FULL}" ] && return 0
217 johnm 1.1
218     # if we dont know KV_FULL, then we need too.
219     # make sure KV_DIR isnt set since we need to work it out via KERNEL_DIR
220     unset KV_DIR
221    
222     # KV_DIR will contain the full path to the sources directory we should use
223 johnm 1.11 qeinfo "Determining the location of the kernel source code"
224 johnm 1.1 [ -h "${KERNEL_DIR}" ] && KV_DIR="$(readlink -f ${KERNEL_DIR})"
225     [ -d "${KERNEL_DIR}" ] && KV_DIR="${KERNEL_DIR}"
226 swegener 1.29
227 johnm 1.1 if [ -z "${KV_DIR}" ]
228     then
229 johnm 1.11 qeerror "Unable to find kernel sources at ${KERNEL_DIR}"
230     qeinfo "This package requires Linux sources."
231 johnm 1.7 if [ "${KERNEL_DIR}" == "/usr/src/linux" ] ; then
232 johnm 1.11 qeinfo "Please make sure that ${KERNEL_DIR} points at your running kernel, "
233     qeinfo "(or the kernel you wish to build against)."
234     qeinfo "Alternatively, set the KERNEL_DIR environment variable to the kernel sources location"
235 johnm 1.7 else
236 johnm 1.11 qeinfo "Please ensure that the KERNEL_DIR environment variable points at full Linux sources of the kernel you wish to compile against."
237 johnm 1.7 fi
238 johnm 1.19 return 1
239 johnm 1.7 fi
240    
241 johnm 1.11 qeinfo "Found kernel source directory:"
242     qeinfo " ${KV_DIR}"
243 johnm 1.7
244     if [ ! -s "${KV_DIR}/Makefile" ]
245     then
246 johnm 1.11 qeerror "Could not find a Makefile in the kernel source directory."
247     qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources"
248 johnm 1.19 return 1
249 johnm 1.7 fi
250 swegener 1.29
251 johnm 1.4 # OK so now we know our sources directory, but they might be using
252     # KBUILD_OUTPUT, and we need this for .config and localversions-*
253     # so we better find it eh?
254     # do we pass KBUILD_OUTPUT on the CLI?
255     OUTPUT_DIR="${OUTPUT_DIR:-${KBUILD_OUTPUT}}"
256 swegener 1.29
257 johnm 1.6 # And if we didn't pass it, we can take a nosey in the Makefile
258 johnm 1.4 kbuild_output="$(getfilevar KBUILD_OUTPUT ${KV_DIR}/Makefile)"
259     OUTPUT_DIR="${OUTPUT_DIR:-${kbuild_output}}"
260 swegener 1.29
261 johnm 1.1 # And contrary to existing functions I feel we shouldn't trust the
262     # directory name to find version information as this seems insane.
263     # so we parse ${KV_DIR}/Makefile
264     KV_MAJOR="$(getfilevar VERSION ${KV_DIR}/Makefile)"
265     KV_MINOR="$(getfilevar PATCHLEVEL ${KV_DIR}/Makefile)"
266     KV_PATCH="$(getfilevar SUBLEVEL ${KV_DIR}/Makefile)"
267     KV_EXTRA="$(getfilevar EXTRAVERSION ${KV_DIR}/Makefile)"
268 swegener 1.29
269 johnm 1.7 if [ -z "${KV_MAJOR}" -o -z "${KV_MINOR}" -o -z "${KV_PATCH}" ]
270     then
271 johnm 1.11 qeerror "Could not detect kernel version."
272 johnm 1.19 qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources."
273     return 1
274 johnm 1.7 fi
275 swegener 1.29
276 johnm 1.1 # and in newer versions we can also pull LOCALVERSION if it is set.
277 johnm 1.4 # but before we do this, we need to find if we use a different object directory.
278     # This *WILL* break if the user is using localversions, but we assume it was
279     # caught before this if they are.
280     [ "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${KV_EXTRA}" == "$(uname -r)" ] && \
281 johnm 1.7 OUTPUT_DIR="${OUTPUT_DIR:-/lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${KV_EXTRA}/build}"
282 johnm 1.4
283     [ -h "${OUTPUT_DIR}" ] && KV_OUT_DIR="$(readlink -f ${OUTPUT_DIR})"
284     [ -d "${OUTPUT_DIR}" ] && KV_OUT_DIR="${OUTPUT_DIR}"
285     if [ -n "${KV_OUT_DIR}" ];
286     then
287 johnm 1.11 qeinfo "Found kernel object directory:"
288     qeinfo " ${KV_OUT_DIR}"
289 swegener 1.29
290 johnm 1.30 KV_LOCAL="$(get_localversion ${KV_OUT_DIR})"
291 johnm 1.4 fi
292     # and if we STILL haven't got it, then we better just set it to KV_DIR
293     KV_OUT_DIR="${KV_OUT_DIR:-${KV_DIR}}"
294 johnm 1.21
295 johnm 1.33 KV_LOCAL="${KV_LOCAL}$(get_localversion ${KV_DIR})"
296 johnm 1.7 KV_LOCAL="${KV_LOCAL}$(linux_chkconfig_string LOCALVERSION)"
297     KV_LOCAL="${KV_LOCAL//\"/}"
298 johnm 1.21
299 johnm 1.1 # And we should set KV_FULL to the full expanded version
300     KV_FULL="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}"
301 johnm 1.21
302 johnm 1.11 qeinfo "Found sources for kernel version:"
303     qeinfo " ${KV_FULL}"
304 johnm 1.21
305 johnm 1.9 if [ ! -s "${KV_OUT_DIR}/.config" ]
306     then
307 johnm 1.11 qeerror "Could not find a usable .config in the kernel source directory."
308 johnm 1.12 qeerror "Please ensure that ${KERNEL_DIR} points to a configured set of Linux sources."
309     qeerror "If you are using KBUILD_OUTPUT, please set the environment var so that"
310     qeerror "it points to the necessary object directory so that it might find .config."
311 johnm 1.19 return 1
312 johnm 1.9 fi
313 johnm 1.21
314 johnm 1.19 return 0
315 johnm 1.1 }
316    
317 johnm 1.23 get_running_version() {
318     KV_FULL=$(uname -r)
319 johnm 1.1
320 johnm 1.23 if [[ -f ${ROOT}/lib/modules/${KV_FULL}/source/Makefile ]]; then
321     KERNEL_DIR=$(readlink -f ${ROOT}/lib/modules/${KV_FULL}/source)
322     unset KV_FULL
323     get_version
324     return $?
325     elif [[ -f ${ROOT}/lib/modules/${KV_FULL}/build/Makefile ]]; then
326     KERNEL_DIR=$(readlink -f ${ROOT}/lib/modules/${KV_FULL}/build)
327     unset KV_FULL
328     get_version
329     return $?
330     else
331     KV_MAJOR=$(get_version_component_range 1 ${KV_FULL})
332     KV_MINOR=$(get_version_component_range 2 ${KV_FULL})
333     KV_PATCH=$(get_version_component_range 3- ${KV_FULL})
334     KV_PATCH=${KV_PATCH//-*}
335     [[ -n ${KV_FULL#*-} ]] && [[ -n ${KV_FULL//${KV_FULL#*-}} ]] \
336     && KV_EXTRA="-${KV_FULL#*-}"
337     fi
338     return 0
339     }
340 johnm 1.1
341    
342     # ebuild check functions
343     # ---------------------------------------
344    
345     check_kernel_built() {
346     # if we haven't determined the version yet, we need too.
347     get_version;
348 swegener 1.29
349 johnm 1.16 if [ ! -f "${KV_OUT_DIR}/include/linux/version.h" ]
350 johnm 1.1 then
351 johnm 1.16 eerror "These sources have not yet been prepared."
352     eerror "We cannot build against an unprepared tree."
353 johnm 1.1 eerror "To resolve this, please type the following:"
354     eerror
355     eerror "# cd ${KV_DIR}"
356     eerror "# make oldconfig"
357 johnm 1.16 eerror "# make modules_prepare"
358 johnm 1.1 eerror
359     eerror "Then please try merging this module again."
360     die "Kernel sources need compiling first"
361     fi
362     }
363    
364     check_modules_supported() {
365     # if we haven't determined the version yet, we need too.
366     get_version;
367 swegener 1.29
368 johnm 1.7 if ! linux_chkconfig_builtin "MODULES"
369 johnm 1.1 then
370     eerror "These sources do not support loading external modules."
371     eerror "to be able to use this module please enable \"Loadable modules support\""
372     eerror "in your kernel, recompile and then try merging this module again."
373 johnm 1.7 die "No support for external modules in ${KV_FULL} config"
374 johnm 1.3 fi
375     }
376    
377     check_extra_config() {
378 swegener 1.32 local config negate error local_error i n
379 johnm 1.31 local temp_config die reworkmodulenames
380 johnm 1.3
381     # if we haven't determined the version yet, we need too.
382     get_version;
383    
384 johnm 1.31 einfo "Checking for suitable kernel configuration options:"
385 johnm 1.3 for config in ${CONFIG_CHECK}
386     do
387 johnm 1.31 # if we specify any fatal, ensure we honor them
388     die=1
389     error=0
390     negate=0
391     reworkmodulenames=0
392    
393     if [[ -z ${config//\!*} ]]; then
394     negate=1
395     config=${config:1}
396     fi
397     if [[ -z ${config/\@*} ]]; then
398     die=2
399     reworkmodulenames=1
400     config=${config:1}
401     fi
402     if [[ -z ${config/\~*} ]]; then
403     die=0
404     config=${config:1}
405     fi
406 johnm 1.17
407 johnm 1.31 if [[ ${negate} == 1 ]]; then
408     linux_chkconfig_present ${config} && error=2
409     elif [[ ${reworkmodulenames} == 1 ]]; then
410 johnm 1.17 temp_config="${config//*:}"
411     config="${config//:*}"
412 johnm 1.31 if linux_chkconfig_present ${config}; then
413     for i in ${MODULE_NAMES}; do
414 johnm 1.17 n="${i//${temp_config}}"
415 johnm 1.31 [[ -z ${n//(*} ]] && \
416     MODULE_IGNORE="${MODULE_IGNORE} ${temp_config}"
417 johnm 1.17 done
418 johnm 1.31 error=2
419 johnm 1.17 fi
420 johnm 1.3 else
421 johnm 1.31 linux_chkconfig_present ${config} || error=1
422     fi
423    
424     if [[ ${die} == 0 ]]; then
425     ebegin "CONFIG_${config}"
426     eend ${error}
427     else
428     if [[ ${error} > 0 ]]; then
429 johnm 1.35 local_error="ERROR_${config}"
430 johnm 1.7 local_error="${!local_error}"
431 swegener 1.36
432 johnm 1.35 if [[ -z "${local_error}" ]]; then
433     # using old, deprecated format.
434     local_error="${config}_ERROR"
435     local_error="${!local_error}"
436     fi
437 swegener 1.36
438 johnm 1.31 if [[ -z "${local_error}" ]]; then
439     [[ ${error} == 1 ]] \
440     && local_error="is not set when it should be." \
441     || local_error="should not be set. But it is."
442     local_error="CONFIG_${config}:\t ${local_error}"
443 johnm 1.21 fi
444 johnm 1.31 eerror " ${local_error}"
445 johnm 1.3 fi
446     fi
447     done
448    
449 johnm 1.31 if [[ ${error} > 0 ]]; then
450 johnm 1.3 eerror "Please check to make sure these options are set correctly."
451 johnm 1.31 eerror "Failure to do so may cause unexpected problems."
452     if [[ ${die} == 1 ]]; then
453     eerror "Once you have satisfied these options, please try merging"
454     eerror "this package again."
455     die "Incorrect kernel configuration options"
456     fi
457 johnm 1.1 fi
458     }
459    
460     check_zlibinflate() {
461     # if we haven't determined the version yet, we need too.
462     get_version;
463 swegener 1.29
464 johnm 1.1 # although I restructured this code - I really really really dont support it!
465    
466     # bug #27882 - zlib routines are only linked into the kernel
467     # if something compiled into the kernel calls them
468     #
469     # plus, for the cloop module, it appears that there's no way
470     # to get cloop.o to include a static zlib if CONFIG_MODVERSIONS
471     # is on
472 swegener 1.29
473     local INFLATE
474     local DEFLATE
475 johnm 1.1
476     einfo "Determining the usability of ZLIB_INFLATE support in your kernel"
477 swegener 1.29
478 johnm 1.1 ebegin "checking ZLIB_INFLATE"
479     getfilevar_isbuiltin CONFIG_ZLIB_INFLATE ${KV_DIR}/.config
480     eend $?
481     [ "$?" != 0 ] && die
482 swegener 1.29
483 johnm 1.1 ebegin "checking ZLIB_DEFLATE"
484     getfilevar_isbuiltin CONFIG_ZLIB_DEFLATE ${KV_DIR}/.config
485     eend $?
486     [ "$?" != 0 ] && die
487 swegener 1.29
488 johnm 1.1 local LINENO_START
489     local LINENO_END
490     local SYMBOLS
491     local x
492 swegener 1.29
493 johnm 1.1 LINENO_END="$(grep -n 'CONFIG_ZLIB_INFLATE y' ${KV_DIR}/lib/Config.in | cut -d : -f 1)"
494     LINENO_START="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | grep -n 'if \[' | tail -n 1 | cut -d : -f 1)"
495     (( LINENO_AMOUNT = $LINENO_END - $LINENO_START ))
496     (( LINENO_END = $LINENO_END - 1 ))
497 johnm 1.4 SYMBOLS="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | tail -n $LINENO_AMOUNT | sed -e 's/^.*\(CONFIG_[^\" ]*\).*/\1/g;')"
498 johnm 1.1
499     # okay, now we have a list of symbols
500     # we need to check each one in turn, to see whether it is set or not
501     for x in $SYMBOLS ; do
502     if [ "${!x}" = "y" ]; then
503     # we have a winner!
504     einfo "${x} ensures zlib is linked into your kernel - excellent"
505     return 0
506     fi
507     done
508 swegener 1.29
509 johnm 1.1 eerror
510     eerror "This kernel module requires ZLIB library support."
511     eerror "You have enabled zlib support in your kernel, but haven't enabled"
512     eerror "enabled any option that will ensure that zlib is linked into your"
513     eerror "kernel."
514     eerror
515     eerror "Please ensure that you enable at least one of these options:"
516     eerror
517    
518     for x in $SYMBOLS ; do
519     eerror " * $x"
520     done
521    
522     eerror
523     eerror "Please remember to recompile and install your kernel, and reboot"
524     eerror "into your new kernel before attempting to load this kernel module."
525    
526     die "Kernel doesn't include zlib support"
527     }
528 johnm 1.8
529     ################################
530     # Default pkg_setup
531     # Also used when inheriting linux-mod to force a get_version call
532    
533     linux-info_pkg_setup() {
534 johnm 1.19 get_version || die "Unable to calculate Linux Kernel version"
535 johnm 1.10 [ -n "${CONFIG_CHECK}" ] && check_extra_config;
536 johnm 1.8 }

  ViewVC Help
Powered by ViewVC 1.1.20