upload tizen1.0 source
[pkgs/n/native-installer.git] / frontend / extract_manifest.sh
1 #!/bin/sh
2 # extract metainfo/manifest to /var/pkgmgr/packagename/metainfo/manifest
3
4 E_WRONG_ARGS=5
5 E_FILE_NOT_FOUND=6
6 E_NO_MANIFEST=7
7 E_NOT_VALID_ARCHIVE=8
8 echo "package path is "$1"" > /tmp/nativescriptlog
9
10 CURDIR=`pwd`
11 echo "current dir is $CURDIR" >> /tmp/nativescriptlog
12
13 debug () {
14         echo ">>$DEBUG" >> /tmp/nativescriptlog
15 }
16
17 if [ $# -ne 1 ];then
18         DEBUG="Usage: extract_manifest.sh PKG_FILE";debug
19         exit $E_WRONG_ARGS
20 fi
21
22 if [ ! -f "$1" ];then
23         DEBUG="File not found";debug
24         exit $E_FILE_NOT_FOUND
25 fi
26
27 PKGFILEPATH="$1"
28 PKGFILENAME="${PKGFILEPATH##*/}"
29 CURDIR=`pwd`
30
31 TEMPDIR=/opt/ums/nativeinstaller/"$PKGFILENAME"-temp
32 echo "$TEMPDIR" >> /tmp/nativescriptlog
33
34 mkdir -p "$TEMPDIR"
35 echo "pkg file path = "$PKGFILEPATH"" >> /tmp/nativescriptlog
36 cp "$PKGFILEPATH" "$TEMPDIR"/
37 cd "$TEMPDIR"
38
39 filename=`ls`
40 echo "filename = "$filename"" >> /tmp/nativescriptlog
41
42 ar -x "$filename"
43 retval=$?
44 echo "retval = $retval" >> /tmp/nativescriptlog
45
46 if [ $retval -ne 0 ];then
47         DEBUG="archive Not correct";debug
48         cd $CURDIR
49         #rm -rf $TEMPDIR
50         exit $E_NOT_VALID_ARCHIVE
51 fi
52
53 CHECK_MANIFEST=`tar -tf control.tar.gz | grep control/*`
54 echo $CHECK_MANIFEST >> /tmp/nativescriptlog
55 if [ $? -ne 0 ];then
56         DEBUG="No manifest";debug
57         cd $CURDIR
58         rm -rf "$TEMPDIR"
59         exit $E_NO_MANIFEST
60 fi
61
62 mkdir -p /var/pkgmgr/"$PKGFILENAME"/metainfo
63 tar -zxf control.tar.gz $CHECK_MANIFEST 
64 mv $CHECK_MANIFEST /var/pkgmgr/"$PKGFILENAME"/metainfo
65 cd $CURDIR
66 rm -rf "$TEMPDIR"