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