Merge pull request #3735 from xhaggi/confluence-epg-timeline
[vuplus_xbmc] / tools / darwin / packaging / xbmc-ios / mkdeb-xbmc-ios.sh
1 #!/bin/sh
2
3 # usage: ./mkdeb-xbmc-ios.sh release/debug (case insensitive)
4 # Allows us to run mkdeb-xbmc-ios.sh from anywhere in the three, rather than the tools/darwin/packaging/xbmc-ios folder only
5 SWITCH=`echo $1 | tr [A-Z] [a-z]`
6 DIRNAME=`dirname $0`
7 DSYM_TARGET_DIR=/Users/Shared/xbmc-depends/dSyms
8 DSYM_FILENAME=XBMC.app.dSYM
9
10 if [ ${SWITCH:-""} = "debug" ]; then
11   echo "Packaging Debug target for iOS"
12   XBMC="$DIRNAME/../../../../build/Debug-iphoneos/XBMC.app"
13   DSYM="$DIRNAME/../../../../build/Debug-iphoneos/$DSYM_FILENAME"  
14 elif [ ${SWITCH:-""} = "release" ]; then
15   echo "Packaging Release target for iOS"
16   XBMC="$DIRNAME/../../../../build/Release-iphoneos/XBMC.app"
17   DSYM="$DIRNAME/../../../../build/Release-iphoneos/$DSYM_FILENAME"   
18 else
19   echo "You need to specify the build target"
20   exit 1 
21 fi  
22
23 #copy bzip2 of dsym to xbmc-depends install dir
24 if [ -d $DSYM ]; then
25   if [ -d $DSYM_TARGET_DIR ]; then
26     tar -C $DSYM/.. -c $DSYM_FILENAME/ | bzip2 > $DSYM_TARGET_DIR/`$DIRNAME/../../../buildbot/gitrev-posix`-${DSYM_FILENAME}.tar.bz2
27   fi
28 fi
29
30
31 if [ ! -d $XBMC ]; then
32   echo "XBMC.app not found! are you sure you built $1 target?"
33   exit 1
34 fi
35 if [ -f "/usr/libexec/fauxsu/libfauxsu.dylib" ]; then
36   export DYLD_INSERT_LIBRARIES=/usr/libexec/fauxsu/libfauxsu.dylib
37 elif [ -f "/usr/bin/sudo" ]; then
38   SUDO="/usr/bin/sudo"
39 fi
40 if [ -f "/Users/Shared/xbmc-depends/buildtools-native/bin/dpkg-deb" ]; then
41   # make sure we pickup our tar, gnutar will fail when dpkg -i
42   bin_path=$(cd /Users/Shared/xbmc-depends/buildtools-native/bin; pwd)
43   export PATH=${bin_path}:${PATH}
44 fi
45
46 PACKAGE=org.xbmc.xbmc-ios
47
48 VERSION=13.0
49 REVISION=0~alpha11
50 ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb
51
52 echo Creating $PACKAGE package version $VERSION revision $REVISION
53 ${SUDO} rm -rf $DIRNAME/$PACKAGE
54 ${SUDO} rm -rf $DIRNAME/$ARCHIVE
55
56 # create debian control file.
57 mkdir -p $DIRNAME/$PACKAGE/DEBIAN
58 echo "Package: $PACKAGE"                          >  $DIRNAME/$PACKAGE/DEBIAN/control
59 echo "Priority: Extra"                            >> $DIRNAME/$PACKAGE/DEBIAN/control
60 echo "Name: XBMC-iOS"                             >> $DIRNAME/$PACKAGE/DEBIAN/control
61 echo "Depends: firmware (>= 4.1), curl, org.xbmc.xbmc-iconpack" >> $DIRNAME/$PACKAGE/DEBIAN/control
62 echo "Version: $VERSION-$REVISION"                >> $DIRNAME/$PACKAGE/DEBIAN/control
63 echo "Architecture: iphoneos-arm"                 >> $DIRNAME/$PACKAGE/DEBIAN/control
64 echo "Description: XBMC Multimedia Center for 4.x iOS" >> $DIRNAME/$PACKAGE/DEBIAN/control
65 echo "Homepage: http://xbmc.org/"                 >> $DIRNAME/$PACKAGE/DEBIAN/control
66 echo "Maintainer: Scott Davilla, Edgar Hucek"     >> $DIRNAME/$PACKAGE/DEBIAN/control
67 echo "Author: TeamXBMC"                           >> $DIRNAME/$PACKAGE/DEBIAN/control
68 echo "Section: Multimedia"                        >> $DIRNAME/$PACKAGE/DEBIAN/control
69 echo "Icon: file:///Applications/Cydia.app/Sources/mirrors.xbmc.org.png" >> $DIRNAME/$PACKAGE/DEBIAN/control
70
71 # prerm: called on remove and upgrade - get rid of existing bits.
72 echo "#!/bin/sh"                                  >  $DIRNAME/$PACKAGE/DEBIAN/prerm
73 echo "find /Applications/XBMC.app -delete"        >> $DIRNAME/$PACKAGE/DEBIAN/prerm
74 chmod +x $DIRNAME/$PACKAGE/DEBIAN/prerm
75
76 # postinst: nothing for now.
77 echo "#!/bin/sh"                                  >  $DIRNAME/$PACKAGE/DEBIAN/postinst
78 echo "chown -R mobile:mobile /Applications/XBMC.app" >> $DIRNAME/$PACKAGE/DEBIAN/postinst
79 chmod +x $DIRNAME/$PACKAGE/DEBIAN/postinst
80
81 # prep XBMC.app
82 mkdir -p $DIRNAME/$PACKAGE/Applications
83 cp -r $XBMC $DIRNAME/$PACKAGE/Applications/
84 find $DIRNAME/$PACKAGE/Applications/ -name '.svn' -exec rm -rf {} \;
85 find $DIRNAME/$PACKAGE/Applications/ -name '.gitignore' -exec rm -rf {} \;
86 find $DIRNAME/$PACKAGE/Applications/ -name '.DS_Store'  -exec rm -rf {} \;
87
88 # set ownership to root:root
89 ${SUDO} chown -R 0:0 $DIRNAME/$PACKAGE
90
91 echo Packaging $PACKAGE
92 # Tell tar, pax, etc. on Mac OS X 10.4+ not to archive
93 # extended attributes (e.g. resource forks) to ._* archive members.
94 # Also allows archiving and extracting actual ._* files.
95 export COPYFILE_DISABLE=true
96 export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
97 #
98 dpkg-deb -b $DIRNAME/$PACKAGE $DIRNAME/$ARCHIVE
99 dpkg-deb --info $DIRNAME/$ARCHIVE
100 dpkg-deb --contents $DIRNAME/$ARCHIVE
101
102 # clean up by removing package dir
103 ${SUDO} rm -rf $DIRNAME/$PACKAGE