Magellan Linux

Diff of /mcore-src/trunk/mcore-tools/src/modules/hwinfo/hardware.control.class.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2488 by niro, Thu Sep 10 13:16:57 2015 UTC revision 2617 by niro, Fri Sep 25 07:28:51 2015 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2    
3    provide hardware
4  require hwdetection  require hwdetection
5  require mysql  require mysql
6    
7  set_hardware_detect()  run_hardware_detect()
8  {  {
9   local serial="${CLASS_ARGV[0]}"   local serial="$1"
10    
11   local cmd   local cmd
12   local netcard_driver   local netcard_driver
13     local networking
14     local hostname
15     local domain
16   local graphic_driver   local graphic_driver
17   local monitor_info   local monitor_info
18   local monitor_resolution   local monitor_resolution
19     local keymap
20     local hwdetected
21     local auth
22     local i
23    
24     if [[ -z ${serial} ]]
25     then
26     decho "No serial given"
27     return 1
28     fi
29    
30     # first check if hardware detect was already done
31     hwdetected=$(mysqldo "select hwdetected from client_serials where serial=${serial};")
32     if [[ ${hwdetected} = 1 ]]
33     then
34     decho "hardware detection already run, aborting"
35     return 0
36     else
37     decho "running hardware detection"
38     fi
39    
40   nsslsay_queue_init   nsslsay_queue_init
41   nsslsay_queue_add "nocolors"   nsslsay_queue_add "nocolors"
42   nsslsay_queue_add "get hardware.detect driver netcard"   #nsslsay_queue_add "get hardware.detect driver netcard"
43     nsslsay_queue_add "get hardware.detect driver connected-iface"
44   netcard_driver=$(control_client "${serial}" run-queue)   netcard_driver=$(control_client "${serial}" run-queue)
45   if [[ -n ${netcard_driver} ]]   if [[ -n ${netcard_driver} ]]
46   then   then
47   decho "netcard_driver='${netcard_driver}'"   decho "netcard_driver='${netcard_driver}'"
48   import_resource cfg_network "${serial}" module "${netcard_driver}"   import_resource cfg_network "${serial}" module "${netcard_driver}"
49   else   else
50   decho "no netcard_driver found"   decho "no netcard_driver found"
51   fi   fi
52   if [[ -z $(mysqldo "select networking from cfg_network where serial=${serial};") ]]   networking=$(mysqldo "select networking from cfg_network where serial=${serial};")
53     if [[ -z ${networking} ]] || [[ ${networking} = NULL ]]
54   then   then
55   # set network to dhcp   # set network to dhcp
56     decho "networking='dhcp'"
57   import_resource cfg_network "${serial}" networking "dhcp"   import_resource cfg_network "${serial}" networking "dhcp"
58   fi   fi
59   if [[ -z $(mysqldo "select hostname from cfg_network where serial=${serial};") ]]   hostname=$(mysqldo "select hostname from cfg_network where serial=${serial};")
60     if [[ -z ${hostname} ]] || [[ ${hostname} = NULL ]]
61   then   then
62   # set hostname to MCORE_DEFAULT_HOSTNAME   # set hostname to MCORE_DEFAULT_HOSTNAME
63     decho "hostname='${MCORE_DEFAULT_HOSTNAME}'"
64   import_resource cfg_network "${serial}" hostname "${MCORE_DEFAULT_HOSTNAME}"   import_resource cfg_network "${serial}" hostname "${MCORE_DEFAULT_HOSTNAME}"
65   fi   fi
66     domain=$(mysqldo "select domain from cfg_network where serial=${serial};")
67     if [[ -z ${domain} ]] || [[ ${domain} = NULL ]]
68     then
69     # set domain to MCORE_DEFAULT_DOMAIN
70     decho "hostname='${MCORE_DEFAULT_DOMAIN}'"
71     import_resource cfg_network "${serial}" domain "${MCORE_DEFAULT_DOMAIN}"
72     fi
73    
74   nsslsay_queue_init   nsslsay_queue_init
75   nsslsay_queue_add "nocolors"   nsslsay_queue_add "nocolors"
# Line 49  set_hardware_detect() Line 85  set_hardware_detect()
85    
86   nsslsay_queue_init   nsslsay_queue_init
87   nsslsay_queue_add "nocolors"   nsslsay_queue_add "nocolors"
88   nsslsay_queue_add "get hardware.detect info minitor"   nsslsay_queue_add "get hardware.detect info monitor"
89   monitor_info=$(control_client "${serial}" run-queue)   monitor_info=$(control_client "${serial}" run-queue)
90   monitor_resolution="${monitor_info##*;}"   monitor_resolution="${monitor_info##*;}"
91   if [[ -n ${monitor_resolution} ]]   if [[ -n ${monitor_resolution} ]]
# Line 59  set_hardware_detect() Line 95  set_hardware_detect()
95   else   else
96   decho "no monitor_resolution found"   decho "no monitor_resolution found"
97   fi   fi
98    
99     keymap=$(mysqldo "select keymap from cfg_input where serial=${serial};")
100     if [[ -z ${keymap} ]] || [[ ${keymap} = NULL ]]
101     then
102     # set keymap to MCORE_DEFAULT_KEYMAP
103     decho "keymap='${MCORE_DEFAULT_KEYMAP}'"
104     import_resource cfg_input "${serial}" keymap "${MCORE_DEFAULT_KEYMAP}"
105     fi
106    
107     # now setup some empty database entries if the does not exist
108     for i in user root vnc
109     do
110     auth=$(mysqldo "select ${i} from client_auth where serial=${serial};")
111     if [[ -z ${auth} ]] || [[ ${auth} = NULL ]]
112     then
113     decho "set empty ${i} pass"
114     import_resource client_auth "${serial}" "${i}" ""
115     fi
116     done
117    
118     # create an empty screensaver entry
119     decho "set empty screensaver"
120     import_resource cfg_screensaver "${serial}" "screensaver" ""
121    
122     # create an vnc entry with the database defaults
123     decho "set vnc to database defaults"
124     import_resource cfg_vnc "${serial}" "service" ""
125    
126     # update the hwdetected flags
127     import_resource client_serials "${serial}" hwdetected 1
128    }
129    
130    set_hardware_detect()
131    {
132     local serial="${CLASS_ARGV[0]}"
133    
134     local cmd
135     local netcard_driver
136     local networking
137     local hostname
138     local domain
139     local graphic_driver
140     local monitor_info
141     local monitor_resolution
142     local hwdetected
143    
144     if [[ -z ${serial} ]]
145     then
146     eecho "No serial given"
147     return 1
148     fi
149    
150     run_hardware_detect "${serial}"
151  }  }

Legend:
Removed from v.2488  
changed lines
  Added in v.2617