Contents of /mcore-src/trunk/mcore-tools/src/modules/mage/mage.client.class.in
Parent Directory | Revision Log
Revision 2503 -
(show annotations)
(download)
Fri Sep 11 09:40:21 2015 UTC (9 years ago) by niro
File size: 4066 byte(s)
Fri Sep 11 09:40:21 2015 UTC (9 years ago) by niro
File size: 4066 byte(s)
-removed *_mage_iventory() functions and provide a full featured mage_query() function instead
1 | # $Id$ |
2 | |
3 | provide mage |
4 | |
5 | help_mage_update() |
6 | { |
7 | mecho "set mage.update [rsync|tarball]" |
8 | mecho " fetches updates of the package database." |
9 | } |
10 | |
11 | set_mage_update() |
12 | { |
13 | local method |
14 | case $1 in |
15 | tarball) method="update-tarball" ;; |
16 | rsync) method="update" ;; |
17 | *) method="update" ;; |
18 | esac |
19 | |
20 | mage "${method}" && mecho "done" || mecho "failed" |
21 | } |
22 | |
23 | get_mage_upgrade() |
24 | { |
25 | mage uppretend && mecho "done" || mecho "failed" |
26 | } |
27 | |
28 | help_mage_upgrade() |
29 | { |
30 | mecho "get mage.upgrade" |
31 | mecho " shows possible updates missing on this system." |
32 | mecho "or" |
33 | mecho "set mage.upgrade" |
34 | mecho " upgrades the whole system." |
35 | } |
36 | |
37 | set_mage_upgrade() |
38 | { |
39 | mage upgrade && mecho "done" || mecho "failed" |
40 | } |
41 | |
42 | help_mage_package() |
43 | { |
44 | mecho "set mage.package [method] [package]" |
45 | mecho " package install operations on this system" |
46 | mecho " methods:" |
47 | mecho " install - installs given package" |
48 | mecho " uninstall - uninstalls given package" |
49 | mecho "or" |
50 | mecho "get mage.package [method] [package]" |
51 | mecho " package information operations" |
52 | mecho " methods:" |
53 | mecho " pretend - pretend dependencies of given package" |
54 | mecho " search - searches the database for matching packages" |
55 | } |
56 | |
57 | set_mage_package() |
58 | { |
59 | local method="${CLASS_ARGV[0]}" |
60 | local package="${CLASS_ARGV[1]}" |
61 | [[ -z ${method} ]] && help_mage_package && return 1 |
62 | [[ -z ${package} ]] && help_mage_package && return 1 |
63 | |
64 | case ${method} in |
65 | install|uninstall) mage "${method}" "${package}" && mecho "done" || mecho "failed" ;; |
66 | *) help_mage_package && return 1 ;; |
67 | esac |
68 | } |
69 | |
70 | get_mage_package() |
71 | { |
72 | local method="${CLASS_ARGV[0]}" |
73 | local package="${CLASS_ARGV[1]}" |
74 | [[ -z ${method} ]] && help_mage_package && return 1 |
75 | [[ -z ${package} ]] && help_mage_package && return 1 |
76 | |
77 | case ${method} in |
78 | pretend|search) mage "${method}" "${package}" && mecho "done" || mecho "failed" ;; |
79 | *) help_mage_package && return 1 ;; |
80 | esac |
81 | } |
82 | |
83 | help_mage_clean() |
84 | { |
85 | mecho "set mage.clean" |
86 | mecho " deletes all downloaded packages from the system" |
87 | } |
88 | |
89 | set_mage_clean() |
90 | { |
91 | mage clean && mecho "done" || mecho "failed" |
92 | } |
93 | |
94 | help_mage_query() |
95 | { |
96 | mecho "get mage.query [method] [arguments]" |
97 | mecho " queries the mage install database for packages and files" |
98 | mecho " methods:" |
99 | mecho " package - search an installed package" |
100 | mecho " get mage.query package [name]" |
101 | mecho " get mage.query package [name] [version]" |
102 | mecho " get mage.query package [name] [version] [build]" |
103 | mecho " category - search for all packages of a category" |
104 | mecho " get mage.query category [category]" |
105 | mecho " inventory - prints the whole inventory of all installed packages" |
106 | mecho " file - searches for a package which owns file name" |
107 | mecho " get mage.query file [filename]" |
108 | mecho " path - search for a package which owns an exact path to a file" |
109 | mecho " get mage.query path [path_to_file]" |
110 | } |
111 | |
112 | get_mage_query() |
113 | { |
114 | local method="${CLASS_ARGV[0]}" |
115 | local value="${CLASS_ARGV[1]}" |
116 | local pname |
117 | local pver |
118 | local pbuild |
119 | local cmd |
120 | local retval |
121 | |
122 | cmd="magequery" |
123 | |
124 | case "${method}" in |
125 | package) |
126 | pname="${CLASS_ARGV[1]}" |
127 | pver="${CLASS_ARGV[2]}" |
128 | pbuild="${CLASS_ARGV[3]}" |
129 | if [[ -z ${pname} ]] |
130 | then |
131 | echo "at least a package name must be given with method package" |
132 | return 1 |
133 | else |
134 | cmd+=" -n ${pname}" |
135 | fi |
136 | [[ -n ${pver} ]] && cmd+=" -v ${pver}" |
137 | [[ -n ${pbuild} ]] && cmd+=" -b ${pbuild}" |
138 | ;; |
139 | |
140 | category) |
141 | if [[ -z ${value} ]] |
142 | then |
143 | eecho "a category name must be given with method category" |
144 | return 1 |
145 | else |
146 | cmd+="-c ${value}" |
147 | fi |
148 | ;; |
149 | |
150 | inventory) cmd+="-i" ;; |
151 | |
152 | file) |
153 | if [[ -z ${value} ]] |
154 | then |
155 | eecho "a filename must be given with method file" |
156 | return 1 |
157 | else |
158 | cmd+="-f ${file}" |
159 | fi |
160 | ;; |
161 | |
162 | path) |
163 | if [[ -z ${value} ]] |
164 | then |
165 | eecho "a path must be given with method path" |
166 | return 1 |
167 | else |
168 | cmd+="-e ${path}" |
169 | fi |
170 | ;; |
171 | |
172 | *) |
173 | eecho "Unknown method '${method}'" |
174 | return 1 |
175 | ;; |
176 | esac |
177 | |
178 | retval="$(${cmd})" |
179 | if [[ $? = 0 ]] |
180 | then |
181 | rvecho "${retval}" |
182 | fi |
183 | } |