upload tizen1.0 source
[pkgs/n/native-installer.git] / frontend / install_spk.sh
1 #!/bin/sh
2
3 E_WRONG_ARGS=5
4 E_FILE_NOT_FOUND=6
5 E_NO_MANIFEST=7
6 E_DPKG_ERROR=8
7
8 PKG_LOG_DIR=/var/pkgmgr/native
9
10
11 debug () {
12         echo ">>$DEBUG" >> /tmp/nativescriptlog
13 }
14
15 NOARG=$#
16 #echo "No of Arguments = $NOARG"
17
18 if [ $NOARG -lt 1 ] || [ $NOARG -gt 4 ] ; then
19         DEBUG="Usage: install.sh PKG_FILE";debug
20         exit $E_WRONG_ARGS
21 elif [ $NOARG -eq 2 ] ; then
22         OPTIONS_FLAGS=$2
23 elif [ $NOARG -eq 3 ] ; then
24         STATUS_OPTIONS=$2
25         STATUS_FD=$3
26 elif [ $NOARG -eq 4 ] ; then
27         OPTIONS_FLAGS=$2
28         STATUS_OPTIONS=$3
29         STATUS_FD=$4
30 fi
31 PKGFILE_PATH="$1"
32
33 if [ ! -f "$1" ];then
34         DEBUG="File not found";debug
35         exit $E_FILE_NOT_FOUND
36 fi
37
38 if [ ! -d $PKG_LOG_DIR ];then
39         DEBUG="$PKG_LOG_DIR not exist -> mkdir(ok)";debug
40         mkdir -p $PKG_LOG_DIR
41 fi
42
43 PKGFILENAME="${PKGFILE_PATH##*/}"
44 ###############
45 #PKGNAME=${PKGFILENAME%-[0-9]*.*} <- NG(PKGName can be different with PkgFileName)
46 /usr/bin/extract_manifest.sh "$PKGFILE_PATH"
47 PKGNAME=`grep -i Package: /var/pkgmgr/"$PKGFILENAME"/metainfo/control | awk -F: '{print $2}' | sed 's/^[ ]*//'`
48 rm -rf /var/pkgmgr/"$PKGFILENAME"
49 ###############
50
51 touch $PKG_LOG_DIR/$PKGNAME.install
52 echo "$PKGFILE_PATH" > $PKG_LOG_DIR/$PKGNAME.install
53
54 #echo "pkg name = $PKGFILENAME"
55 #echo "Options = $OPTIONS_FLAGS"
56 #echo "Status Fd options = $STATUS_OPTIONS"
57 #echo "Status Fd = $STATUS_FD"
58 dpkg $OPTIONS_FLAGS $STATUS_OPTIONS $STATUS_FD --install "$PKGFILE_PATH"
59 dpkgretval=$?
60 if [ $dpkgretval -ne 0 ]; then                                                                               
61         DEBUG="dpkg returned error ";debug                                                                   
62         exit $E_DPKG_ERROR                                                                                   
63 else                                                                                                         
64         DEBUG="dpkg success ";debug                                                                          
65 fi
66
67 #DAC
68 USERNAME=`echo $PKGNAME | tr '.' '_'`
69 GROUPNAME=$USERNAME
70 #INHOUSEGROUPNAME=`id -nG inhouse|tr ' ' ','`
71 INHOUSEGROUPNAME=`id -nG inhouse`
72 PKGFOLDERNAME=/opt/apps/$PKGNAME
73
74 if [ -d $PKGFOLDERNAME ];then
75         DEBUG="home Folder exist";debug
76 else
77         DEBUG="home Folder not exist; creating";debug
78         mkdir -p $PKGFOLDERNAME
79 fi
80
81 #deluser $USERNAME
82 #addgroup $GROUPNAME
83
84 #i=10000
85 #while [ $i -le 64999 ]
86 #do
87 #       adduser -G $GROUPNAME -h $PKGFOLDERNAME/home -u $i -D $USERNAME 
88 #       if [ $? -eq 0 ]
89 #       then
90 #               break
91 #       else
92 #               i=`expr $i + 1`
93 #       fi
94 #done
95
96
97 #for grp in $INHOUSEGROUPNAME
98 #do
99 #       addgroup $USERNAME $grp
100 #done
101
102