Magellan Linux

Annotation of /alx-src/trunk/tinyalxconfig-ng/functions/config_modules.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 386 - (hide annotations) (download) (as text)
Wed Jun 4 16:47:56 2008 UTC (15 years, 11 months ago) by niro
File MIME type: application/x-sh
File size: 2075 byte(s)
-initial import

1 niro 386 # $Header: /home/cvsd/alx-cvs/alx-src/tinyalxconfig-ng/functions/config_modules.sh,v 1.1 2008-06-04 16:47:56 niro Exp $
2     # configures printing on the host via mysql db settings
3     # Note must be the first configure script which will be startet
4    
5     kernel_major_version()
6     {
7     local KV
8     KV="$(uname -r | cut -d. -f1-2)"
9     echo "${KV}"
10     }
11    
12     get_modules_settings()
13     {
14     local i count mod_ids settings
15    
16     # first get all module names
17     mod_ids=$(mysqldo "select id from cfg_modules where serial='${ALX_SERIAL}'")
18    
19     # set counter equal to numbers of printers
20     declare -i count=0
21     for i in ${mod_ids}
22     do
23     # now get the other settings und put them in arrays
24     ALX_MODULES[${count}]=$(mysqldo "select module from cfg_modules where id=${i};")
25     (( count++ ))
26     done
27    
28     # get network module
29     ALX_NETWORK_MODULE=$(mysqldo "select module from cfg_network where serial=${ALX_SERIAL};")
30    
31     ## fixes needed to satisfy some deps
32     ALX_GFX_MODULE=$(mysqldo "select module from cfg_graphic where serial=${ALX_SERIAL};")
33    
34     # export all settings
35     export ALX_COUNT=${count}
36     export ALX_NETWORK_MODULE
37     export ALX_GFX_MODULE
38     export ALX_MODULES
39     }
40    
41     add_modules()
42     {
43     local modules="$@"
44     local modfile="/etc/modules.autoload.d/kernel-$(kernel_major_version)"
45     local mod
46    
47     for mod in ${modules}
48     do
49     [ -n "$(find /lib/modules/$(uname -r) -name ${mod}.[o,k]*)" ] && \
50     echo "${mod}" >> ${modfile}
51     done
52     }
53    
54     config_modules()
55     {
56     local i
57     local modfile
58    
59     # first of all get the vars
60     get_modules_settings
61    
62     # location of the modules.autoload file
63     modfile="/etc/modules.autoload.d/kernel-$(kernel_major_version)"
64    
65     # clear the old one
66     :> ${modfile}
67    
68     # needed for printing:
69     add_modules lp parport parport_pc
70    
71     [ -n "${ALX_NETWORK_MODULE}" ] && \
72     echo "${ALX_NETWORK_MODULE}" >> ${modfile}
73    
74     # intel i810 needs intel-agp module to work probably
75     [[ ${ALX_GFX_MODULE} = i810 ]] && add_modules intel-agp
76    
77     for ((i=0; i <= ALX_COUNT; i++))
78     do
79     [ -n "${ALX_MODULES[${i}]}" ] && \
80     echo "${ALX_MODULES[${i}]}" >> ${modfile}
81     done
82    
83     unset ALX_COUNT
84     unset ALX_MODULES
85     unset ALX_NETWORK_MODULE
86     unset ALX_GFX_MODULE
87     }