Magellan Linux

Contents of /alx-src/trunk/alxinstall-ng/functions/generic.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6831 - (show annotations) (download) (as text)
Thu Jul 23 12:04:49 2015 UTC (8 years, 9 months ago) by niro
File MIME type: application/x-sh
File size: 1164 byte(s)
-introduce is_loc_mounted() function and set proper exit traps
1 #!/bin/bash
2 # $Id$
3
4 addconfig()
5 {
6 local opts
7
8 if [[ -z ${CONFIG} ]]
9 then
10 echo "You must define \$CONFIG varibale first!"
11 return 1
12 fi
13
14 if [[ ! -d $(dirname ${CONFIG}) ]]
15 then
16 install -d $(dirname ${CONFIG})
17 fi
18
19 # check for opts
20 case $1 in
21 -n) shift; opts=" -n" ;;
22 -e) shift; opts=" -e" ;;
23 esac
24
25 echo ${opts} "$@" >> ${CONFIG}
26 }
27
28 clearconfig()
29 {
30 if [[ -z ${CONFIG} ]]
31 then
32 echo "You must define \$CONFIG varibale first!"
33 return 1
34 fi
35
36 if [[ ! -d $(dirname ${CONFIG}) ]]
37 then
38 install -d $(dirname ${CONFIG})
39 fi
40 : > ${CONFIG}
41 }
42
43 is_loc_mounted()
44 {
45 local mountpoint
46 local i
47 mountpoint=$1
48
49 i="$(cat /proc/mounts | grep " ${mountpoint} " | cut -d ' ' -f2)"
50 [[ ${i} != ${mountpoint} ]] && return 1
51
52 return 0
53 }
54
55 trap_exit()
56 {
57 [[ -n ${SWAPHDD} ]] && swapoff ${SWAPHDD}
58 is_loc_mounted "${INSTALLPATH}/dev" && umount ${INSTALLPATH}/dev
59 is_loc_mounted "${INSTALLPATH}/proc" && umount ${INSTALLPATH}/proc
60 is_loc_mounted "${INSTALLPATH}/sys" && umount ${INSTALLPATH}/sys
61 is_loc_mounted "${INSTALLPATH}/boot" && umount ${INSTALLPATH}/boot
62 is_loc_mounted "${INSTALLPATH}" && umount ${INSTALLPATH}
63 echo "installation aborted"
64 exit 1
65 }