Contents of /alx-src/branches/alxconf-060/plugins/usbip/plugin.sh
Parent Directory | 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)
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 |