Magellan Linux

Contents of /alx-src/branches/alxconf-060/plugins/usbip/plugin.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3523 - (show annotations) (download) (as text)
Mon Apr 23 07:30:59 2012 UTC (12 years ago) by niro
File MIME type: application/x-sh
File size: 2313 byte(s)
-configure plugins via sql database
1 # this script gets included by config_sessions
2
3 PLUGIN_NAME="usbip"
4 PLUGIN_MENUITEM_NAME=""
5 PLUGIN_MENUITEM_EXEC=""
6 PLUGIN_MENUITEM_PARAM=""
7 PLUGIN_MENUITEM_WORKDIR=""
8 PLUGIN_MENUITEM_ICON=""
9
10 PLUGIN_AUTOSTART=0
11
12 PLUGIN_PACKAGES="sysfsutils usbip"
13
14 # include alx functions
15 source /etc/alxconfig-ng/config.rc
16 source /etc/alxconfig-ng/serial
17 source ${ALX_FUNCTIONS}/common
18 source ${ALX_FUNCTIONS}/mysqlfunctions
19 # missing colors
20 COLRED="\033[1;6m\033[31m"
21 COLDEFAULT="\033[0m"
22
23 die()
24 {
25 echo "Error: $@"
26 echo -e "${COLRED}Plugin \"${PLUGIN_NAME}\" will be disabled.${COLDEFAULT}"
27 # disable services
28 rc-config del usbipd > /dev/null
29 rc-config del usbipdevd > /dev/null
30 exit 1
31 }
32
33 install_plugin()
34 {
35 local i
36 for i in ${PLUGIN_PACKAGES}
37 do
38 if [[ -z $(magequery -n ${i}) ]]
39 then
40 MAGE_BOOTSTRAP=true mage install ${i}
41 mage clean
42 fi
43 done
44 }
45
46 setup_plugin()
47 {
48 evaluate_table plugin_usbip
49
50 # sanitize variables
51 [[ -z ${plugin_usbip_device_id} ]] && die "device_id variable is empty"
52 [[ -z ${plugin_usbip_polling_time} ]] && die "polling_time variable is empty"
53
54 [[ ! -d /etc/conf.d ]] && install /etc/conf.d
55 local CONFIG="/etc/conf.d/usbipdevd"
56 addconfig "USBIP_DEVICE_ID=\"${plugin_usbip_device_id}\""
57 addconfig "USBIP_POLLING_TIME=\"${plugin_usbip_polling_time}\""
58
59 # add to runlevels
60 rc-config add usbipd > /dev/null
61 rc-config add usbipdevd > /dev/null
62 }
63
64 # create desktop buttons
65 create_menuitem()
66 {
67 # don't touch these echo, define variables above
68 echo "PLUGIN_MENUITEM_NAME=\"${PLUGIN_MENUITEM_NAME}\""
69 echo "PLUGIN_MENUITEM_EXEC=\"${PLUGIN_MENUITEM_EXEC}\""
70 echo "PLUGIN_MENUITEM_PARAM=\"${PLUGIN_MENUITEM_PARAM}\""
71 echo "PLUGIN_MENUITEM_WORKDIR=\"${PLUGIN_MENUITEM_WORKDIR}\""
72 echo "PLUGIN_MENUITEM_ICON=\"${PLUGIN_MENUITEM_ICON}\""
73 }
74
75 autostart_plugin()
76 {
77 echo "PLUGIN_AUTOSTART=\"${PLUGIN_AUTOSTART}\""
78 echo "PLUGIN_MENUITEM_NAME=\"${PLUGIN_MENUITEM_NAME}\""
79 }
80
81 uninstall_plugin()
82 {
83 local i
84 for i in ${PLUGIN_PACKAGES}
85 do
86 if [[ -n $(magequery -n ${i}) ]]
87 then
88 MAGE_BOOTSTRAP=true mage uninstall ${i}
89 mage clean
90 fi
91 done
92
93 mage clean
94 }
95
96 case $1 in
97 install) install_plugin ;;
98 setup) setup_plugin ;;
99 menuitem) create_menuitem ;;
100 autostart) autostart_plugin ;;
101 uninstall) uninstall_plugin ;;
102 *) echo "PLUGIN '${PLUGIN_NAME}': unkown operation '$1'" ;;
103 esac