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

Contents of /eclass/linux-mod.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.68 - (hide annotations) (download)
Mon Oct 16 14:10:46 2006 UTC (7 years, 9 months ago) by genstef
Branch: MAIN
Changes since 1.67: +17 -4 lines
Add me as maintainer and commit kernel/userland ABI patch from bug 133382 thanks to robbat2

1 johnm 1.1 # Copyright 1999-2004 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 genstef 1.68 # $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.67 2006/07/24 20:18:09 genstef Exp $
4 johnm 1.1
5 johnm 1.10 # Description: This eclass is used to interface with linux-info in such a way
6     # to provide the functionality required and initial functions
7     # required to install external modules against a kernel source
8     # tree.
9     #
10 genstef 1.68 # Maintainer: John Mylchreest <johnm@gentoo.org>, Stefan Schweizer <genstef@gentoo.org>
11 johnm 1.10 # Copyright 2004 Gentoo Linux
12     #
13     # Please direct your bugs to the current eclass maintainer :)
14    
15     # A Couple of env vars are available to effect usage of this eclass
16     # These are as follows:
17 swegener 1.49 #
18 johnm 1.26 # Env Var Option Default Description
19     # KERNEL_DIR <string> /usr/src/linux The directory containing kernel
20     # the target kernel sources.
21     # ECONF_PARAMS <string> The parameters to pass to econf.
22     # If this is not set, then econf
23     # isn't run.
24     # BUILD_PARAMS <string> The parameters to pass to emake.
25     # BUILD_TARGETS <string> clean modules The build targets to pass to
26     # make.
27     # MODULE_NAMES <string> This is the modules which are
28 swegener 1.49 # to be built automatically using
29     # the default pkg_compile/install.
30     # They are explained properly
31     # below. It will only make
32 johnm 1.26 # BUILD_TARGETS once in any
33     # directory.
34 johnm 1.10
35     # MODULE_NAMES - Detailed Overview
36 swegener 1.49 #
37 johnm 1.10 # The structure of each MODULE_NAMES entry is as follows:
38 johnm 1.26 # modulename(libdir:srcdir:objdir)
39 johnm 1.10 # for example:
40 johnm 1.26 # MODULE_NAMES="module_pci(pci:${S}/pci:${S}) module_usb(usb:${S}/usb:${S})"
41 swegener 1.49 #
42 johnm 1.10 # what this would do is
43     # cd ${S}/pci
44     # make ${BUILD_PARAMS} ${BUILD_TARGETS}
45 johnm 1.26 # cd ${S}
46 johnm 1.10 # insinto /lib/modules/${KV_FULL}/pci
47     # doins module_pci.${KV_OBJ}
48     #
49     # cd ${S}/usb
50     # make ${BUILD_PARAMS} ${BUILD_TARGETS}
51 johnm 1.26 # cd ${S}
52 johnm 1.10 # insinto /lib/modules/${KV_FULL}/usb
53     # doins module_usb.${KV_OBJ}
54     #
55 johnm 1.26 # if the srcdir isnt specified, it assumes ${S}
56     # if the libdir isnt specified, it assumes misc.
57     # if the objdir isnt specified, it assumes srcdir
58    
59     # There is also support for automatyed modules.d file generation.
60     # This can be explicitly enabled by setting any of the following variables.
61     #
62     #
63     # MODULESD_${modulename}_ENABLED This enables the modules.d file
64     # generation even if we dont
65     # specify any additional info.
66     # MODULESD_${modulename}_EXAMPLES This is a bash array containing
67     # a list of examples which should
68     # be used. If you want us to try and
69     # take a guess. Set this to "guess"
70     # MODULESD_${modulename}_ALIASES This is a bash array containing
71     # a list of associated aliases.
72     # MODULESD_${modulename}_ADDITIONS This is a bash array containing
73     # A list of additional things to
74     # add to the bottom of the file.
75     # This can be absolutely anything.
76     # Each entry is a new line.
77     # MODULES_${modulename}_DOCS This is a string list which contains
78     # the full path to any associated
79     # documents for $modulename
80    
81 betelgeuse 1.61 # The order of these is important as both of linux-info and eutils contain
82     # set_arch_to_kernel and set_arch_to_portage functions and the ones in eutils
83     # are deprecated in favor of the ones in linux-info.
84     # See http://bugs.gentoo.org/show_bug.cgi?id=127506
85 johnm 1.1
86 blubb 1.62 inherit eutils linux-info multilib
87 genstef 1.65 EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm
88 johnm 1.1
89 genstef 1.67 IUSE="kernel_linux"
90 johnm 1.26 SLOT="0"
91 johnm 1.1 DESCRIPTION="Based on the $ECLASS eclass"
92 genstef 1.67 RDEPEND="kernel_linux? ( virtual/modutils )"
93 genstef 1.65 DEPEND="${RDEPEND}
94 vapier 1.66 sys-apps/sed"
95 johnm 1.26
96 johnm 1.1 # eclass utilities
97     # ----------------------------------
98    
99 johnm 1.53 check_vermagic() {
100     local curr_gcc_ver=$(gcc -dumpversion)
101     local tmpfile old_chost old_gcc_ver result=0
102    
103 johnm 1.54 tmpfile=`find ${KV_DIR}/ -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit`
104 johnm 1.53 tmpfile=${tmpfile//*usr/lib}
105     tmpfile=${tmpfile//\/include*}
106     old_chost=${tmpfile//*gcc\/}
107     old_chost=${old_chost//\/*}
108     old_gcc_ver=${tmpfile//*\/}
109    
110 johnm 1.54 if [[ -z ${old_gcc_ver} || -z ${old_chost} ]]; then
111     ewarn ""
112     ewarn "Unable to detect what version of GCC was used to compile"
113     ewarn "the kernel. Build will continue, but you may experience problems."
114     elif [[ ${curr_gcc_ver} != ${old_gcc_ver} ]]; then
115 johnm 1.53 ewarn ""
116     ewarn "The version of GCC you are using (${curr_gcc_ver}) does"
117     ewarn "not match the version of GCC used to compile the"
118     ewarn "kernel (${old_gcc_ver})."
119     result=1
120     elif [[ ${CHOST} != ${old_chost} ]]; then
121     ewarn ""
122     ewarn "The current CHOST (${CHOST}) does not match the chost"
123     ewarn "used when compiling the kernel (${old_chost})."
124     result=1
125     fi
126    
127     if [[ ${result} -gt 0 ]]; then
128     ewarn ""
129     ewarn "Build will not continue, because you will experience problems."
130     ewarn "To fix this either change the version of GCC you wish to use"
131     ewarn "to match the kernel, or recompile the kernel first."
132     die "GCC Version Mismatch."
133     fi
134     }
135    
136 johnm 1.1 use_m() {
137     # if we haven't determined the version yet, we need too.
138     get_version;
139 swegener 1.49
140 johnm 1.1 # if the kernel version is greater than 2.6.6 then we should use
141 johnm 1.8 # M= instead of SUBDIRS=
142 johnm 1.1 [ ${KV_MAJOR} -eq 2 -a ${KV_MINOR} -gt 5 -a ${KV_PATCH} -gt 5 ] && \
143     return 0 || return 1
144     }
145    
146     convert_to_m() {
147     if use_m
148     then
149 johnm 1.32 [ ! -f "${1}" ] && \
150     die "convert_to_m() requires a filename as an argument"
151 johnm 1.8 ebegin "Converting ${1/${WORKDIR}\//} to use M= instead of SUBDIRS="
152 johnm 1.1 sed -i 's:SUBDIRS=:M=:g' ${1}
153     eend $?
154     fi
155     }
156    
157     update_depmod() {
158     # if we haven't determined the version yet, we need too.
159     get_version;
160 swegener 1.49
161 johnm 1.1 ebegin "Updating module dependencies for ${KV_FULL}"
162 johnm 1.5 if [ -r ${KV_OUT_DIR}/System.map ]
163 johnm 1.1 then
164 johnm 1.5 depmod -ae -F ${KV_OUT_DIR}/System.map -b ${ROOT} -r ${KV_FULL}
165 johnm 1.18 eend $?
166 johnm 1.1 else
167     ewarn
168 johnm 1.5 ewarn "${KV_OUT_DIR}/System.map not found."
169 johnm 1.1 ewarn "You must manually update the kernel module dependencies using depmod."
170 johnm 1.18 eend 1
171 johnm 1.1 ewarn
172     fi
173     }
174    
175 johnm 1.3 update_modules() {
176 kingtaco 1.31 if [ -x /sbin/modules-update ] && \
177     grep -v -e "^#" -e "^$" ${D}/etc/modules.d/* >/dev/null 2>&1; then
178 johnm 1.3 ebegin "Updating modules.conf"
179     /sbin/modules-update
180     eend $?
181     fi
182     }
183    
184 johnm 1.41 move_old_moduledb() {
185     local OLDDIR=${ROOT}/usr/share/module-rebuild/
186     local NEWDIR=${ROOT}/var/lib/module-rebuild/
187 swegener 1.49
188 johnm 1.41 if [[ -f ${OLDDIR}/moduledb ]]; then
189     [[ ! -d ${NEWDIR} ]] && mkdir -p ${NEWDIR}
190 johnm 1.42 [[ ! -f ${NEWDIR}/moduledb ]] && \
191     mv ${OLDDIR}/moduledb ${NEWDIR}/moduledb
192     rm -f ${OLDDIR}/*
193 johnm 1.41 rmdir ${OLDDIR}
194     fi
195     }
196    
197 johnm 1.37 update_moduledb() {
198 johnm 1.40 local MODULEDB_DIR=${ROOT}/var/lib/module-rebuild/
199 johnm 1.41 move_old_moduledb
200 johnm 1.40
201     if [[ ! -f ${MODULEDB_DIR}/moduledb ]]; then
202     [[ ! -d ${MODULEDB_DIR} ]] && mkdir -p ${MODULEDB_DIR}
203     touch ${MODULEDB_DIR}/moduledb
204 johnm 1.37 fi
205 johnm 1.40 if [[ -z $(grep ${CATEGORY}/${PN}-${PVR} ${MODULEDB_DIR}/moduledb) ]]; then
206 johnm 1.37 einfo "Adding module to moduledb."
207 johnm 1.40 echo "a:1:${CATEGORY}/${PN}-${PVR}" >> ${MODULEDB_DIR}/moduledb
208 swegener 1.49 fi
209 johnm 1.37 }
210    
211     remove_moduledb() {
212 johnm 1.40 local MODULEDB_DIR=${ROOT}/var/lib/module-rebuild/
213 johnm 1.41 move_old_moduledb
214 johnm 1.40
215     if [[ -n $(grep ${CATEGORY}/${PN}-${PVR} ${MODULEDB_DIR}/moduledb) ]]; then
216 johnm 1.37 einfo "Removing ${CATEGORY}/${PN}-${PVR} from moduledb."
217 johnm 1.59 sed -ie "/.*${CATEGORY}\/${PN}-${PVR}.*/d" ${MODULEDB_DIR}/moduledb
218 johnm 1.37 fi
219     }
220    
221 johnm 1.1 set_kvobj() {
222     if kernel_is 2 6
223     then
224     KV_OBJ="ko"
225     else
226     KV_OBJ="o"
227     fi
228 johnm 1.26 # Do we really need to know this?
229     # Lets silence it.
230     # einfo "Using KV_OBJ=${KV_OBJ}"
231 johnm 1.1 }
232    
233 genstef 1.68 get-KERNEL_CC() {
234     local kernel_cc
235     if [ -n "${KERNEL_ABI}" ]; then
236     # In future, an arch might want to define CC_$ABI
237     #kernel_cc="$(get_abi_CC)"
238     #[ -z "${kernel_cc}" ] &&
239     kernel_cc="$(tc-getCC $(ABI=${KERNEL_ABI} get_abi_CHOST))"
240     else
241     kernel_cc=$(tc-getCC)
242     fi
243     echo "${kernel_cc}"
244     }
245    
246 johnm 1.11 generate_modulesd() {
247     # This function will generate the neccessary modules.d file from the
248     # information contained in the modules exported parms
249 johnm 1.26
250 johnm 1.54 local currm_path currm currm_t t myIFS myVAR
251 johnm 1.26 local module_docs module_enabled module_aliases \
252     module_additions module_examples module_modinfo module_opts
253    
254     for currm_path in ${@}
255 johnm 1.11 do
256 johnm 1.26 currm=${currm_path//*\/}
257     currm=$(echo ${currm} | tr '[:lower:]' '[:upper:]')
258 johnm 1.54 currm_t=${currm}
259     while [[ -z ${currm_t//*-*} ]]; do
260     currm_t=${currm_t/-/_}
261     done
262 johnm 1.26
263 johnm 1.54 module_docs="$(eval echo \${MODULESD_${currm_t}_DOCS})"
264     module_enabled="$(eval echo \${MODULESD_${currm_t}_ENABLED})"
265     module_aliases="$(eval echo \${#MODULESD_${currm_t}_ALIASES[*]})"
266     module_additions="$(eval echo \${#MODULESD_${currm_t}_ADDITIONS[*]})"
267     module_examples="$(eval echo \${#MODULESD_${currm_t}_EXAMPLES[*]})"
268 johnm 1.26
269 johnm 1.27 [[ ${module_aliases} -eq 0 ]] && unset module_aliases
270     [[ ${module_additions} -eq 0 ]] && unset module_additions
271     [[ ${module_examples} -eq 0 ]] && unset module_examples
272 johnm 1.26
273 swegener 1.49 # If we specify we dont want it, then lets exit, otherwise we assume
274 johnm 1.26 # that if its set, we do want it.
275     [[ ${module_enabled} == no ]] && return 0
276    
277     # unset any unwanted variables.
278     for t in ${!module_*}
279 johnm 1.11 do
280 johnm 1.26 [[ -z ${!t} ]] && unset ${t}
281 johnm 1.11 done
282    
283 johnm 1.26 [[ -z ${!module_*} ]] && return 0
284    
285     # OK so now if we have got this far, then we know we want to continue
286     # and generate the modules.d file.
287     module_modinfo="$(modinfo -p ${currm_path}.${KV_OBJ})"
288     module_config="${T}/modulesd-${currm}"
289    
290 johnm 1.11 ebegin "Preparing file for modules.d"
291 johnm 1.26 #-----------------------------------------------------------------------
292     echo "# modules.d configuration file for ${currm}" >> ${module_config}
293     #-----------------------------------------------------------------------
294     [[ -n ${module_docs} ]] && \
295     echo "# For more information please read:" >> ${module_config}
296     for t in ${module_docs}
297 johnm 1.11 do
298 johnm 1.26 echo "# ${t//*\/}" >> ${module_config}
299 johnm 1.11 done
300 johnm 1.26 echo >> ${module_config}
301 johnm 1.11
302 johnm 1.26 #-----------------------------------------------------------------------
303 johnm 1.27 if [[ ${module_aliases} -gt 0 ]]
304 johnm 1.11 then
305     echo "# Internal Aliases - Do not edit" >> ${module_config}
306     echo "# ------------------------------" >> ${module_config}
307 johnm 1.12
308 johnm 1.26 for((t=0; t<${module_aliases}; t++))
309 johnm 1.11 do
310 johnm 1.26 echo "alias $(eval echo \${MODULESD_${currm}_ALIASES[$t]})" \
311     >> ${module_config}
312 johnm 1.12 done
313 johnm 1.26 echo '' >> ${module_config}
314 johnm 1.11 fi
315    
316 johnm 1.26 #-----------------------------------------------------------------------
317     if [[ -n ${module_modinfo} ]]
318 johnm 1.11 then
319     echo >> ${module_config}
320     echo "# Configurable module parameters" >> ${module_config}
321     echo "# ------------------------------" >> ${module_config}
322 johnm 1.26 myIFS="${IFS}"
323 johnm 1.11 IFS="$(echo -en "\n\b")"
324 swegener 1.49
325 johnm 1.26 for t in ${module_modinfo}
326 johnm 1.11 do
327 johnm 1.26 myVAR="$(echo ${t#*:} | grep -e " [0-9][ =]" | sed "s:.*\([01][= ]\).*:\1:")"
328     if [[ -n ${myVAR} ]]
329 johnm 1.11 then
330 johnm 1.26 module_opts="${module_opts} ${t%%:*}:${myVAR}"
331 johnm 1.11 fi
332 johnm 1.26 echo -e "# ${t%%:*}:\t${t#*:}" >> ${module_config}
333 swegener 1.49 done
334 johnm 1.26 IFS="${myIFS}"
335     echo '' >> ${module_config}
336     fi
337    
338     #-----------------------------------------------------------------------
339     if [[ $(eval echo \${MODULESD_${currm}_ALIASES[0]}) == guess ]]
340     then
341     # So lets do some guesswork eh?
342     if [[ -n ${module_opts} ]]
343     then
344     echo "# For Example..." >> ${module_config}
345     echo "# --------------" >> ${module_config}
346     for t in ${module_opts}
347     do
348     echo "# options ${currm} ${t//:*}=${t//*:}" >> ${module_config}
349     done
350     echo '' >> ${module_config}
351     fi
352 johnm 1.27 elif [[ ${module_examples} -gt 0 ]]
353 johnm 1.26 then
354     echo "# For Example..." >> ${module_config}
355     echo "# --------------" >> ${module_config}
356     for((t=0; t<${module_examples}; t++))
357     do
358     echo "options $(eval echo \${MODULESD_${currm}_EXAMPLES[$t]})" \
359     >> ${module_config}
360 johnm 1.11 done
361 johnm 1.26 echo '' >> ${module_config}
362 johnm 1.11 fi
363 johnm 1.26
364     #-----------------------------------------------------------------------
365 johnm 1.27 if [[ ${module_additions} -gt 0 ]]
366 johnm 1.11 then
367 johnm 1.26 for((t=0; t<${module_additions}; t++))
368 johnm 1.11 do
369 johnm 1.26 echo "$(eval echo \${MODULESD_${currm}_ADDITIONS[$t]})" \
370     >> ${module_config}
371 johnm 1.11 done
372 johnm 1.26 echo '' >> ${module_config}
373 johnm 1.11 fi
374 swegener 1.49
375 johnm 1.26 #-----------------------------------------------------------------------
376    
377 johnm 1.12 # then we install it
378 johnm 1.11 insinto /etc/modules.d
379 johnm 1.27 newins ${module_config} ${currm_path//*\/}
380    
381 johnm 1.12 # and install any documentation we might have.
382 johnm 1.26 [[ -n ${module_docs} ]] && dodoc ${module_docs}
383 johnm 1.11 done
384     eend 0
385 johnm 1.26 return 0
386 johnm 1.11 }
387    
388 johnm 1.18 find_module_params() {
389     local matched_offset=0 matched_opts=0 test="${@}" temp_var result
390     local i=0 y=0 z=0
391 swegener 1.49
392 johnm 1.18 for((i=0; i<=${#test}; i++))
393     do
394     case ${test:${i}:1} in
395     \() matched_offset[0]=${i};;
396     \:) matched_opts=$((${matched_opts} + 1));
397     matched_offset[${matched_opts}]="${i}";;
398     \)) matched_opts=$((${matched_opts} + 1));
399     matched_offset[${matched_opts}]="${i}";;
400     esac
401     done
402 swegener 1.49
403 johnm 1.18 for((i=0; i<=${matched_opts}; i++))
404     do
405     # i = offset were working on
406     # y = last offset
407     # z = current offset - last offset
408     # temp_var = temporary name
409     case ${i} in
410     0) tempvar=${test:0:${matched_offset[0]}};;
411     *) y=$((${matched_offset[$((${i} - 1))]} + 1))
412     z=$((${matched_offset[${i}]} - ${matched_offset[$((${i} - 1))]}));
413     z=$((${z} - 1))
414     tempvar=${test:${y}:${z}};;
415     esac
416 swegener 1.49
417 johnm 1.18 case ${i} in
418     0) result="${result} modulename:${tempvar}";;
419     1) result="${result} libdir:${tempvar}";;
420     2) result="${result} srcdir:${tempvar}";;
421     3) result="${result} objdir:${tempvar}";;
422     esac
423     done
424 swegener 1.49
425 johnm 1.18 echo ${result}
426     }
427    
428 johnm 1.1 # default ebuild functions
429     # --------------------------------
430    
431     linux-mod_pkg_setup() {
432 johnm 1.6 linux-info_pkg_setup;
433     check_kernel_built;
434 johnm 1.63 strip_modulenames;
435     [[ -n ${MODULE_NAMES} ]] && check_modules_supported
436 johnm 1.1 set_kvobj;
437 weeve 1.55 # Commented out with permission from johnm until a fixed version for arches
438     # who intentionally use different kernel and userland compilers can be
439     # introduced - Jason Wever <weeve@gentoo.org>, 23 Oct 2005
440     #check_vermagic;
441 johnm 1.1 }
442    
443 johnm 1.63 strip_modulenames() {
444     local i
445     for i in ${MODULE_IGNORE}; do
446     MODULE_NAMES=${MODULE_NAMES//${i}(*}
447     done
448     }
449    
450 johnm 1.1 linux-mod_src_compile() {
451 blubb 1.62 local modulename libdir srcdir objdir i n myARCH="${ARCH}" myABI="${ABI}"
452 johnm 1.52 ARCH="$(tc-arch-kernel)"
453 blubb 1.62 ABI="${KERNEL_ABI}"
454 johnm 1.64 CC_HOSTCC=$(tc-getBUILD_CC)
455 genstef 1.68 CC_CC=$(get-KERNEL_CC)
456 johnm 1.26
457 johnm 1.16 BUILD_TARGETS=${BUILD_TARGETS:-clean module}
458 johnm 1.63 strip_modulenames;
459 johnm 1.9 for i in ${MODULE_NAMES}
460 johnm 1.1 do
461 johnm 1.23 unset libdir srcdir objdir
462 johnm 1.18 for n in $(find_module_params ${i})
463     do
464     eval ${n/:*}=${n/*:/}
465     done
466     libdir=${libdir:-misc}
467     srcdir=${srcdir:-${S}}
468     objdir=${objdir:-${srcdir}}
469 swegener 1.49
470 johnm 1.18 if [ ! -f "${srcdir}/.built" ];
471 johnm 1.16 then
472 johnm 1.18 cd ${srcdir}
473 johnm 1.16 einfo "Preparing ${modulename} module"
474 johnm 1.22 if [[ -n ${ECONF_PARAMS} ]]
475     then
476     econf ${ECONF_PARAMS} || \
477     die "Unable to run econf ${ECONF_PARAMS}"
478     fi
479    
480 genstef 1.68 emake HOSTCC=${CC_HOSTCC} CC=${CC_CC} LDFLAGS="$(get_abi_LDFLAGS)" \
481 johnm 1.64 ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \
482 vapier 1.66 || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."
483 johnm 1.18 touch ${srcdir}/.built
484 johnm 1.16 cd ${OLDPWD}
485     fi
486 johnm 1.1 done
487 johnm 1.26
488     ARCH="${myARCH}"
489 blubb 1.62 ABI="${myABI}"
490 johnm 1.1 }
491    
492     linux-mod_src_install() {
493 johnm 1.18 local modulename libdir srcdir objdir i n
494 swegener 1.49
495 johnm 1.63 strip_modulenames;
496 johnm 1.9 for i in ${MODULE_NAMES}
497 johnm 1.1 do
498 johnm 1.23 unset libdir srcdir objdir
499 johnm 1.18 for n in $(find_module_params ${i})
500     do
501     eval ${n/:*}=${n/*:/}
502     done
503     libdir=${libdir:-misc}
504     srcdir=${srcdir:-${S}}
505     objdir=${objdir:-${srcdir}}
506 johnm 1.1
507     einfo "Installing ${modulename} module"
508 vapier 1.56 cd ${objdir} || die "${objdir} does not exist"
509 brix 1.57 insinto /lib/modules/${KV_FULL}/${libdir}
510 vapier 1.56 doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
511 johnm 1.16 cd ${OLDPWD}
512 swegener 1.49
513 johnm 1.26 generate_modulesd ${objdir}/${modulename}
514 johnm 1.1 done
515     }
516    
517 genstef 1.65 linux-mod_pkg_preinst() {
518     [ -d ${IMAGE}/lib/modules ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
519     [ -d ${IMAGE}/etc/modules.d ] && UPDATE_MODULES=true || UPDATE_MODULES=false
520     [ -d ${IMAGE}/lib/modules ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
521     }
522    
523 johnm 1.1 linux-mod_pkg_postinst() {
524 genstef 1.65 ${UPDATE_DEPMOD} && update_depmod;
525     ${UPDATE_MODULES} && update_modules;
526     ${UPDATE_MODULEDB} && update_moduledb;
527 johnm 1.1 }
528 johnm 1.37
529     linux-mod_pkg_postrm() {
530     remove_moduledb;
531     }

  ViewVC Help
Powered by ViewVC 1.1.20