Annotation of /branches/R11-stable/include/mtools.sminc
Parent Directory | Revision Log
Revision 19668 -
(hide annotations)
(download)
Wed Oct 9 13:09:29 2013 UTC (10 years, 11 months ago) by niro
Original Path: trunk/include/mtools.sminc
File size: 12519 byte(s)
Wed Oct 9 13:09:29 2013 UTC (10 years, 11 months ago) by niro
Original Path: trunk/include/mtools.sminc
File size: 12519 byte(s)
-split udev, hal, systemd and sysvinit functions into seperate includes and use pkgconfig if possible
1 | niro | 14029 | # $Id$ |
2 | niro | 2 | # some special build tools |
3 | |||
4 | niro | 19668 | # get the pname right with split-packages |
5 | niro | 4804 | mpname() |
6 | { | ||
7 | local pname="${PNAME}" | ||
8 | niro | 4807 | [[ ! -z ${SPLIT_PACKAGE_BASE} ]] && pname="${SPLIT_PACKAGE_BASE}" |
9 | niro | 4804 | |
10 | echo "${pname}" | ||
11 | } | ||
12 | |||
13 | niro | 2 | # installs environment files |
14 | # minstallenv /path/to/envdfile {destfilename} | ||
15 | minstallenv() | ||
16 | { | ||
17 | local envdfile | ||
18 | local file | ||
19 | |||
20 | [[ -z "$1" ]] && die "No envd file given" | ||
21 | |||
22 | # if no fullpath given use file from sourcedir | ||
23 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
24 | then | ||
25 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
26 | niro | 2 | else |
27 | file="$1" | ||
28 | fi | ||
29 | |||
30 | if [[ -n "$2" ]] | ||
31 | then | ||
32 | envdfile="$2" | ||
33 | else | ||
34 | envdfile="$(basename ${file})" | ||
35 | fi | ||
36 | |||
37 | # needed directory | ||
38 | install -d ${BINDIR}/etc/env.d || die | ||
39 | |||
40 | # install our envfile | ||
41 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/env.d/${envdfile} || die |
42 | niro | 2 | } |
43 | |||
44 | # installs system configuration files | ||
45 | # minstallconf /path/to/confdfile {destfilename} | ||
46 | minstallconf() | ||
47 | { | ||
48 | local confdfile | ||
49 | local file | ||
50 | |||
51 | [[ -z "$1" ]] && die "No confd file given" | ||
52 | |||
53 | # if no fullpath given use file from sourcedir | ||
54 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
55 | then | ||
56 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
57 | niro | 2 | else |
58 | file="$1" | ||
59 | fi | ||
60 | |||
61 | if [[ -n "$2" ]] | ||
62 | then | ||
63 | confdfile="$2" | ||
64 | else | ||
65 | confdfile="$(basename ${file})" | ||
66 | fi | ||
67 | |||
68 | # needed directory | ||
69 | install -d ${BINDIR}/etc/conf.d || die | ||
70 | |||
71 | # install our configfile | ||
72 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/conf.d/${confdfile} || die |
73 | niro | 2 | } |
74 | |||
75 | # installs system configuration files to etc | ||
76 | # minstalletc /path/to/etcfile {destfilename} {destdir path} | ||
77 | minstalletc() | ||
78 | { | ||
79 | local etcfile | ||
80 | local file | ||
81 | local destdir | ||
82 | |||
83 | [[ -z "$1" ]] && die "No etc file given" | ||
84 | |||
85 | # if no fullpath given use file from sourcedir | ||
86 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
87 | then | ||
88 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
89 | niro | 2 | else |
90 | file="$1" | ||
91 | fi | ||
92 | |||
93 | if [[ -n "$2" ]] | ||
94 | then | ||
95 | etcfile="$2" | ||
96 | else | ||
97 | etcfile="$(basename ${file})" | ||
98 | fi | ||
99 | |||
100 | if [[ -n "$3" ]] | ||
101 | then | ||
102 | destdir="$3" | ||
103 | else | ||
104 | destdir="/etc" | ||
105 | fi | ||
106 | |||
107 | # needed directory | ||
108 | install -d ${BINDIR}/${destdir} || die | ||
109 | |||
110 | # install our configfile | ||
111 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${etcfile} || die |
112 | niro | 2 | } |
113 | |||
114 | # install man files to appropiate dirs | ||
115 | # minstallman /path/to/manfile.foo | ||
116 | minstallman() | ||
117 | { | ||
118 | local manfile | ||
119 | local mandir | ||
120 | local file | ||
121 | |||
122 | [[ -z "$@" ]] && die "No man file given" | ||
123 | |||
124 | for file in $@ | ||
125 | do | ||
126 | manfile="$(basename ${file})" | ||
127 | mandir="man${manfile##*.}" | ||
128 | |||
129 | install -d ${BINDIR}/usr/share/man/${mandir} || die | ||
130 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die |
131 | niro | 2 | done |
132 | } | ||
133 | |||
134 | # install info files to appropiate dirs | ||
135 | # minstallinfo /path/to/infofile.foo | ||
136 | minstallinfo() | ||
137 | { | ||
138 | local file | ||
139 | |||
140 | [[ -z "$@" ]] && die "No info file given" | ||
141 | |||
142 | for file in $@ | ||
143 | do | ||
144 | install -d ${BINDIR}/usr/share/info || die | ||
145 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die |
146 | niro | 2 | done |
147 | } | ||
148 | |||
149 | # install html files to appropiate dirs | ||
150 | # minstallhtml /path/to/infofile.foo | ||
151 | minstallhtml() | ||
152 | { | ||
153 | local file | ||
154 | local subfile | ||
155 | local prefix | ||
156 | local subprefix | ||
157 | |||
158 | # handle prefix | ||
159 | case "$1" in | ||
160 | --prefix|-p) shift; prefix="$1"; shift ;; | ||
161 | esac | ||
162 | |||
163 | [[ -z "$@" ]] && die "No html file given" | ||
164 | |||
165 | for file in $@ | ||
166 | do | ||
167 | install -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html${prefix} || die | ||
168 | |||
169 | if [[ -d ${file} ]] | ||
170 | then | ||
171 | for subfile in ${file}/* | ||
172 | do | ||
173 | subprefix="$(dirname ${subfile/$(dirname ${file})/})" | ||
174 | subprefix="${prefix}${subprefix}/" | ||
175 | |||
176 | minstallhtml --prefix ${subprefix} ${subfile} || die | ||
177 | done | ||
178 | else | ||
179 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die |
180 | niro | 2 | fi |
181 | done | ||
182 | } | ||
183 | |||
184 | # install pixmaps to appropiate dirs | ||
185 | # minstallpixmap srcname destname {/path/to} | ||
186 | minstallpixmap() | ||
187 | { | ||
188 | local file | ||
189 | local destdir | ||
190 | local destfile | ||
191 | |||
192 | [[ -z "$1" ]] && die "No pixmap given" | ||
193 | |||
194 | # if no fullpath given use file from sourcedir | ||
195 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
196 | then | ||
197 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
198 | niro | 2 | else |
199 | file="$1" | ||
200 | fi | ||
201 | |||
202 | if [[ -n "$2" ]] | ||
203 | then | ||
204 | destfile="$2" | ||
205 | else | ||
206 | destfile="$(basename ${file})" | ||
207 | fi | ||
208 | |||
209 | if [[ -n "$3" ]] | ||
210 | then | ||
211 | destdir="$3" | ||
212 | else | ||
213 | destdir="/usr/share/pixmaps" | ||
214 | fi | ||
215 | |||
216 | # needed directory | ||
217 | install -d ${BINDIR}/${destdir} || die | ||
218 | |||
219 | # install our pixmap | ||
220 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${destfile} || die |
221 | niro | 2 | } |
222 | |||
223 | # installs pam configuration files | ||
224 | # minstallpam /path/to/pamfile {destfilename} | ||
225 | minstallpam() | ||
226 | { | ||
227 | local pamfile | ||
228 | local file | ||
229 | |||
230 | [[ -z "$1" ]] && die "No pam file given" | ||
231 | |||
232 | # if no fullpath given use file from sourcedir | ||
233 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
234 | then | ||
235 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
236 | niro | 2 | else |
237 | file="$1" | ||
238 | fi | ||
239 | |||
240 | if [[ -n "$2" ]] | ||
241 | then | ||
242 | pamfile="$2" | ||
243 | else | ||
244 | pamfile="$(basename ${file})" | ||
245 | fi | ||
246 | |||
247 | # needed directory | ||
248 | install -d ${BINDIR}/etc/pam.d || die | ||
249 | |||
250 | # install our configfile | ||
251 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/pam.d/${pamfile} || die |
252 | niro | 2 | } |
253 | |||
254 | # installs cronjobs | ||
255 | # minstallcron [hourly|daily|weekly|monthly] /path/to/cronfile {destfilename} | ||
256 | minstallcron() | ||
257 | { | ||
258 | local cronfile | ||
259 | local loop | ||
260 | local file | ||
261 | |||
262 | [[ -z "$1" ]] && die "No loop rythem given [hourly|daily|weekly|monthly]" | ||
263 | [[ -z "$2" ]] && die "No cronfile given" | ||
264 | |||
265 | loop="$1" | ||
266 | |||
267 | # if no fullpath given use file from sourcedir | ||
268 | if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]] | ||
269 | then | ||
270 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
271 | niro | 2 | else |
272 | file="$2" | ||
273 | fi | ||
274 | |||
275 | if [[ -n "$3" ]] | ||
276 | then | ||
277 | cronfile="$3" | ||
278 | else | ||
279 | cronfile="$(basename ${file})" | ||
280 | fi | ||
281 | |||
282 | # needed directory | ||
283 | install -m0750 -d ${BINDIR}/etc/cron.${loop} || die | ||
284 | |||
285 | # install our cronfile | ||
286 | niro | 1113 | install -v -m 0750 -o root -g root ${file} ${BINDIR}/etc/cron.${loop}/${cronfile} || die |
287 | niro | 2 | } |
288 | |||
289 | |||
290 | # installs logrotate configuration files | ||
291 | niro | 8809 | # minstalllog /path/to/logrotatefile {destfilename} |
292 | niro | 2 | minstalllog() |
293 | { | ||
294 | local logfile | ||
295 | local file | ||
296 | |||
297 | [[ -z "$1" ]] && die "No logrotate file given" | ||
298 | |||
299 | # if no fullpath given use file from sourcedir | ||
300 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
301 | then | ||
302 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
303 | niro | 2 | else |
304 | file="$1" | ||
305 | fi | ||
306 | |||
307 | if [[ -n "$2" ]] | ||
308 | then | ||
309 | logfile="$2" | ||
310 | else | ||
311 | logfile="$(basename ${file})" | ||
312 | fi | ||
313 | |||
314 | # needed directory | ||
315 | install -d ${BINDIR}/etc/logrotate.d || die | ||
316 | |||
317 | # install our configfile | ||
318 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/logrotate.d/${logfile} || die |
319 | niro | 2 | } |
320 | |||
321 | |||
322 | # installs given directories | ||
323 | # minstalldir /path/to/dest/dir {/path/to/dest/dirN} | ||
324 | minstalldir() | ||
325 | { | ||
326 | local argv="$@" | ||
327 | local dest | ||
328 | |||
329 | [[ -z ${argv} ]] && die "No dest dir given" | ||
330 | for dest in ${argv} | ||
331 | do | ||
332 | [[ -d ${BINDIR}${dest} ]] && continue | ||
333 | niro | 1113 | install -v -d ${BINDIR}/${dest} || die |
334 | niro | 2 | done |
335 | } | ||
336 | |||
337 | |||
338 | # install files to given path (defaults to /usr/bin) | ||
339 | # minstallfile {-s} /path/to/file {/path/to/dest} | ||
340 | minstallfile() | ||
341 | { | ||
342 | local file | ||
343 | local dest | ||
344 | |||
345 | [[ -z $1 ]] && die "No etc file given" | ||
346 | |||
347 | if [[ $1 = -s ]] | ||
348 | then | ||
349 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
350 | niro | 2 | dest="$3" |
351 | if [[ -z $3 ]] | ||
352 | then | ||
353 | dest=/usr/bin | ||
354 | install -d ${BINDIR}/${dest} || die | ||
355 | fi | ||
356 | else | ||
357 | file="$1" | ||
358 | dest="$2" | ||
359 | if [[ -z $2 ]] | ||
360 | then | ||
361 | dest=/usr/bin | ||
362 | install -d ${BINDIR}/${dest} || die | ||
363 | fi | ||
364 | fi | ||
365 | |||
366 | # install our configfile | ||
367 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die |
368 | niro | 2 | } |
369 | |||
370 | # installs executables to given path | ||
371 | # minstallexec {-s} /path/to/exec {/path/to/dest} | ||
372 | minstallexec() | ||
373 | { | ||
374 | local file | ||
375 | local dest | ||
376 | |||
377 | [[ -z $1 ]] && die "No file given" | ||
378 | |||
379 | if [[ $1 = -s ]] | ||
380 | then | ||
381 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
382 | niro | 2 | dest="$3" |
383 | if [[ -z $3 ]] | ||
384 | then | ||
385 | dest=/usr/bin | ||
386 | install -d ${BINDIR}/${dest} || die | ||
387 | fi | ||
388 | else | ||
389 | file="$1" | ||
390 | dest="$2" | ||
391 | if [[ -z $2 ]] | ||
392 | then | ||
393 | dest=/usr/bin | ||
394 | install -d ${BINDIR}/${dest} || die | ||
395 | fi | ||
396 | fi | ||
397 | |||
398 | # install our configfile | ||
399 | niro | 1113 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die |
400 | niro | 2 | } |
401 | |||
402 | # installs executables to given path | ||
403 | # minstalllib {-s} /path/to/exec {/path/to/dest} | ||
404 | minstalllib() | ||
405 | { | ||
406 | local file | ||
407 | local dest | ||
408 | niro | 4806 | local verbose="-v" |
409 | niro | 2 | |
410 | niro | 14029 | # check for busybox as it doesn't support 'ln -v' |
411 | niro | 4806 | [[ $(readlink $(which ln)) = */busybox ]] && verbose="" |
412 | |||
413 | niro | 2 | [[ -z $1 ]] && die "No file given" |
414 | |||
415 | if [[ $1 = -s ]] | ||
416 | then | ||
417 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
418 | niro | 2 | dest="$3" |
419 | if [[ -z $3 ]] | ||
420 | then | ||
421 | dest=/usr/$(mlibdir) | ||
422 | install -d ${BINDIR}/${dest} || die | ||
423 | fi | ||
424 | else | ||
425 | file="$1" | ||
426 | dest="$2" | ||
427 | if [[ -z $2 ]] | ||
428 | then | ||
429 | dest=/usr/$(mlibdir) | ||
430 | install -d ${BINDIR}/${dest} || die | ||
431 | fi | ||
432 | fi | ||
433 | |||
434 | # install our library | ||
435 | niro | 1113 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die |
436 | niro | 2 | |
437 | niro | 14029 | # prefer scanelf |
438 | if [[ -x $(type -P scanelf) ]] | ||
439 | niro | 2 | then |
440 | niro | 14481 | local soname="$(scanelf -qBF '%S#p' ${file})" |
441 | niro | 14029 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/${soname} || die |
442 | else | ||
443 | echo -e "${COLYELLOW}minstalllib(): Warning: scanelf not found, using fallback symlink method${COLDEFAULT}" | ||
444 | |||
445 | # create libtool symlinks | ||
446 | # 1. - library.so.1.0.0 -> library.so.1.0 | ||
447 | if [ "${file%.*}" != *.so ] | ||
448 | then | ||
449 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*}) || die | ||
450 | fi | ||
451 | # 2. - library.so.1.0.0 -> library.so.1 | ||
452 | if [ "${file%.*.*}" != *.so ] | ||
453 | then | ||
454 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*}) || die | ||
455 | fi | ||
456 | # 3. - library.so.1.0.0.0 -> library.so.1 | ||
457 | if [ "${file%.*.*.*}" != *.so ] | ||
458 | then | ||
459 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*.*}) || die | ||
460 | fi | ||
461 | niro | 2 | fi |
462 | } | ||
463 | |||
464 | niro | 2166 | mcopy() |
465 | { | ||
466 | local source="$1" | ||
467 | local dest="$2" | ||
468 | local opts | ||
469 | |||
470 | # recursive | ||
471 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
472 | then | ||
473 | niro | 11761 | opts="-R" |
474 | niro | 2166 | source="$2" |
475 | dest="$3" | ||
476 | fi | ||
477 | |||
478 | # recursive | ||
479 | if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] | ||
480 | then | ||
481 | niro | 11761 | opts="-R -f" |
482 | niro | 2166 | source="$2" |
483 | dest="$3" | ||
484 | fi | ||
485 | |||
486 | niro | 9862 | if [[ $1 = -a ]] |
487 | then | ||
488 | niro | 11761 | opts="-a" |
489 | niro | 9862 | source="$2" |
490 | dest="$3" | ||
491 | fi | ||
492 | |||
493 | niro | 2166 | [[ -z ${source} ]] && die "No source given." |
494 | [[ -z ${dest} ]] && die "No dest given." | ||
495 | |||
496 | cp -v ${opts} ${source} ${BINDIR}/${dest} || die | ||
497 | } | ||
498 | |||
499 | niro | 12652 | mdelete() |
500 | { | ||
501 | local dest="$1" | ||
502 | local opts | ||
503 | |||
504 | niro | 17041 | # enforce |
505 | if [[ $1 = -f ]] | ||
506 | then | ||
507 | opts="-f" | ||
508 | dest="$2" | ||
509 | fi | ||
510 | |||
511 | niro | 12652 | # recursive |
512 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
513 | then | ||
514 | opts="-r" | ||
515 | dest="$2" | ||
516 | fi | ||
517 | |||
518 | # recursive | ||
519 | if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] | ||
520 | then | ||
521 | opts="-r -f" | ||
522 | dest="$2" | ||
523 | fi | ||
524 | |||
525 | [[ -z ${dest} ]] && die "No dest given." | ||
526 | niro | 14484 | [[ ! -e ${BINDIR}/${dest} ]] && die "${BINDIR}/${dest} does not exist." |
527 | niro | 12652 | |
528 | rm -v ${opts} ${BINDIR}/${dest} || die | ||
529 | } | ||
530 | |||
531 | niro | 2166 | mmove() |
532 | { | ||
533 | local source="$1" | ||
534 | local dest="$2" | ||
535 | local opts | ||
536 | |||
537 | # force | ||
538 | if [[ $1 = -f ]] | ||
539 | then | ||
540 | niro | 11761 | opts="-f" |
541 | niro | 2166 | source="$2" |
542 | dest="$3" | ||
543 | fi | ||
544 | |||
545 | [[ -z ${source} ]] && die "No source given." | ||
546 | [[ -z ${dest} ]] && die "No dest given." | ||
547 | |||
548 | mv -v ${opts} ${source} ${BINDIR}/${dest} || die | ||
549 | } | ||
550 | |||
551 | # mark directories undeletable | ||
552 | niro | 2 | mkeepdir() |
553 | { | ||
554 | local keepdir | ||
555 | [[ -z "$1" ]] && die "No directory given" | ||
556 | |||
557 | keepdir="$1" | ||
558 | niro | 1113 | install -v -d ${BINDIR}/${keepdir} || die |
559 | niro | 2 | touch ${BINDIR}/${keepdir}/.keep || die |
560 | } | ||
561 | |||
562 | # creates empty files | ||
563 | memptyfile() | ||
564 | { | ||
565 | local file | ||
566 | local path | ||
567 | |||
568 | [[ -z "$1" ]] && die "No file given" | ||
569 | |||
570 | file="$1" | ||
571 | path="$(dirname ${file})" | ||
572 | |||
573 | install -d ${BINDIR}/${path} || die | ||
574 | touch ${BINDIR}/${file} || die | ||
575 | } | ||
576 | |||
577 | mchown() | ||
578 | { | ||
579 | local owner="$1" | ||
580 | local path="$2" | ||
581 | local recursive | ||
582 | |||
583 | # recursive | ||
584 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
585 | then | ||
586 | niro | 11761 | local recursive="-R" |
587 | niro | 2 | local owner="$2" |
588 | local path="$3" | ||
589 | fi | ||
590 | |||
591 | [[ -z ${owner} ]] && die "No owner given." | ||
592 | [[ -z ${path} ]] && die "No path given." | ||
593 | |||
594 | niro | 1113 | chown -v ${recursive} ${owner} ${BINDIR}/${path} || die |
595 | niro | 2 | } |
596 | |||
597 | mchmod() | ||
598 | { | ||
599 | local posix="$1" | ||
600 | local path="$2" | ||
601 | local recursive | ||
602 | |||
603 | # recursive | ||
604 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
605 | then | ||
606 | niro | 11761 | local recursive="-R" |
607 | niro | 2 | local posix="$2" |
608 | local path="$3" | ||
609 | fi | ||
610 | |||
611 | [[ -z ${posix} ]] && die "No posix given." | ||
612 | [[ -z ${path} ]] && die "No path given." | ||
613 | |||
614 | niro | 1113 | chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die |
615 | niro | 2 | } |
616 | |||
617 | mlink() | ||
618 | { | ||
619 | local symlink="$1" | ||
620 | local pathto="$2" | ||
621 | niro | 4806 | local verbose="-v" |
622 | niro | 2 | |
623 | niro | 4806 | # check for busybox as it doesn'tz support 'ln -v' |
624 | [[ $(readlink $(which ln)) = */busybox ]] && verbose="" | ||
625 | |||
626 | niro | 2 | [[ -z ${symlink} ]] && die "No symlink given." |
627 | [[ -z ${pathto} ]] && die "No path given." | ||
628 | |||
629 | niro | 4806 | ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die |
630 | niro | 2 | } |
631 | niro | 7874 | |
632 | niro | 8469 | mclearconfig() |
633 | { | ||
634 | local confdir | ||
635 | local prefix="${BINDIR}" | ||
636 | [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!" | ||
637 | |||
638 | # no bindir prefix if requested | ||
639 | case $1 in | ||
640 | -b|--no-bindir) prefix="";; | ||
641 | esac | ||
642 | |||
643 | confdir="$(dirname ${MCONFIG})" | ||
644 | if [[ ! -d ${prefix}/${confdir} ]] | ||
645 | then | ||
646 | install -d ${prefix}/${confdir} || die | ||
647 | fi | ||
648 | : > ${prefix}/${MCONFIG} | ||
649 | } | ||
650 | |||
651 | maddconfig() | ||
652 | { | ||
653 | local argv="$1" | ||
654 | local confdir | ||
655 | local prefix="${BINDIR}" | ||
656 | |||
657 | [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!" | ||
658 | |||
659 | # no bindir prefix if requested | ||
660 | case $1 in | ||
661 | -b|--no-bindir) prefix=""; argv="$2" ;; | ||
662 | esac | ||
663 | |||
664 | niro | 16994 | #[[ -z ${argv} ]] && die "No argument given!" |
665 | niro | 8469 | |
666 | confdir="$(dirname ${MCONFIG})" | ||
667 | if [[ ! -d ${prefix}/${confdir} ]] | ||
668 | then | ||
669 | install -d ${prefix}/${confdir} || die | ||
670 | fi | ||
671 | echo "${argv}" >> ${prefix}/${MCONFIG} || die | ||
672 | } |