--- alx-src/trunk/tinyalxconfig-ng/functions/config_modules.sh 2008/06/05 19:15:05 458 +++ alx-src/trunk/tinyalxconfig-ng/functions/config_modules.sh 2008/06/05 19:40:18 459 @@ -1,36 +1,7 @@ -# $Header: /home/cvsd/alx-cvs/alx-src/tinyalxconfig-ng/functions/config_modules.sh,v 1.3 2008-06-04 23:39:01 niro Exp $ +# $Header: /home/cvsd/alx-cvs/alx-src/tinyalxconfig-ng/functions/config_modules.sh,v 1.4 2008-06-05 19:40:18 niro Exp $ # configures printing on the host via mysql db settings # Note must be the first configure script which will be startet -get_modules_settings() -{ - local i count mod_ids settings - - # first get all module names - mod_ids=$(mysqldo "select id from cfg_modules where serial='${ALX_SERIAL}'") - - # set counter equal to numbers of printers - declare -i count=0 - for i in ${mod_ids} - do - # now get the other settings und put them in arrays - ALX_MODULES[${count}]=$(mysqldo "select module from cfg_modules where id=${i};") - (( count++ )) - done - - # get network module - ALX_NETWORK_MODULE=$(mysqldo "select module from cfg_network where serial=${ALX_SERIAL};") - - ## fixes needed to satisfy some deps - ALX_GFX_MODULE=$(mysqldo "select module from cfg_graphic where serial=${ALX_SERIAL};") - - # export all settings - export ALX_COUNT=${count} - export ALX_NETWORK_MODULE - export ALX_GFX_MODULE - export ALX_MODULES -} - add_modules() { local modules="$@" @@ -46,11 +17,8 @@ config_modules() { - local i local modfile - - # first of all get the vars - get_modules_settings + local modules_list # location of the modules.autoload file modfile="/etc/modules.autoload" @@ -61,22 +29,19 @@ # needed for printing: add_modules lp parport parport_pc - if [[ -n ${ALX_NETWORK_MODULE} ]] && [[ ${ALX_NETWORK_MODULE} != auto ]] - then - add_modules "${ALX_NETWORK_MODULE}" - fi - - # intel i810 needs intel-agp module to work probably - [[ ${ALX_GFX_MODULE} = i810 ]] && add_modules intel-agp - - for ((i=0; i <= ALX_COUNT; i++)) - do - [[ -n ${ALX_MODULES[${i}]} ]] && \ - add_modules "${ALX_MODULES[${i}]}" - done - - unset ALX_COUNT - unset ALX_MODULES - unset ALX_NETWORK_MODULE - unset ALX_GFX_MODULE + # get all available modules-ids + modules_list=$(mysqldo "select module from cfg_modules where serial='${ALX_SERIAL}'") + [[ ! -z ${modules_list} ]] && add_modules ${modules_list} + + # network modules - but exclude "auto" modules + modules_list=$(mysqldo "select module from cfg_interfaces where serial='${ALX_SERIAL}' and not module='auto'") + [[ ! -z ${modules_list} ]] && add_modules ${modules_list} + + # fixme: does udev handle this already?? i think so! + # special agp and drm modules needed by some graphic drivers + evaluate_table cfg_graphic + case ${cfg_grafic_module} in + # intel i810 needs intel-agp module to work probably + i810) add_modules intel-agp ;; + esac }