From 7e38a40b51a0d5118964e1841a2d1eeb8fdcf41c Mon Sep 17 00:00:00 2001 From: "S. Davilla" Date: Tue, 8 Mar 2011 17:07:02 -0500 Subject: [ios] prep, add atv2/ios deb packaging scripts --- tools/osx/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh | 97 +++++++++++++++++++++ tools/osx/packaging/xbmc-icon/mirrors.xbmc.org.png | Bin 0 -> 5927 bytes .../osx/packaging/xbmc-icon/mkdeb-xbmc-iconpack.sh | 59 +++++++++++++ tools/osx/packaging/xbmc-ios/mkdeb-xbmc-ios.sh | 87 ++++++++++++++++++ .../12313417e3afeba6531255af58cb5283.patch | Bin 0 -> 423 bytes .../5a28620a15c15d41e1ae836dd1f95f8d.patch | Bin 0 -> 432 bytes .../mkdeb-xbmc-seatbeltunlock.sh | 88 +++++++++++++++++++ .../xbmc-startuptweeks/mkdeb-xbmc-startuptweeks.sh | 84 ++++++++++++++++++ 8 files changed, 415 insertions(+) create mode 100755 tools/osx/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh create mode 100644 tools/osx/packaging/xbmc-icon/mirrors.xbmc.org.png create mode 100755 tools/osx/packaging/xbmc-icon/mkdeb-xbmc-iconpack.sh create mode 100755 tools/osx/packaging/xbmc-ios/mkdeb-xbmc-ios.sh create mode 100644 tools/osx/packaging/xbmc-seatbeltunlock/12313417e3afeba6531255af58cb5283.patch create mode 100644 tools/osx/packaging/xbmc-seatbeltunlock/5a28620a15c15d41e1ae836dd1f95f8d.patch create mode 100755 tools/osx/packaging/xbmc-seatbeltunlock/mkdeb-xbmc-seatbeltunlock.sh create mode 100755 tools/osx/packaging/xbmc-startuptweeks/mkdeb-xbmc-startuptweeks.sh diff --git a/tools/osx/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh b/tools/osx/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh new file mode 100755 index 0000000000..bc11198700 --- /dev/null +++ b/tools/osx/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh @@ -0,0 +1,97 @@ +#!/bin/sh +# usage: ./mkdeb-xbmc-atv2.sh release/debug (case insensitive) + +SWITCH=`echo $1 | tr [A-Z] [a-z]` + +if [ $SWITCH = "debug" ]; then + echo "Packaging Debug target for ATV2" + XBMC="../../../../build/Debug-iphoneos/XBMC.frappliance" +elif [ $SWITCH = "release" ]; then + echo "Packaging Release target for ATV2" + XBMC="../../../../build/Release-iphoneos/XBMC.frappliance" +else + echo "You need to specify the build target" + exit 1 +fi + +if [ ! -d $XBMC ]; then + echo "XBMC.frappliance not found! are you sure you built $1 target?" + exit 1 +fi +if [ -f "/usr/bin/sudo" ]; then + SUDO="/usr/bin/sudo" +fi +if [ -f "/Users/Shared/xbmc-depends/ios-4.2_arm7/bin/dpkg-deb" ]; then + # make sure we pickup our tar, gnutar will fail when dpkg -i + bin_path=$(cd /Users/Shared/xbmc-depends/ios-4.2_arm7/bin; pwd) + export PATH=${bin_path}:${PATH} +fi + +PACKAGE=org.xbmc.xbmc-atv2 + +VERSION=10.0 +REVISION=7 +ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb + +echo Creating $PACKAGE package version $VERSION revision $REVISION +${SUDO} rm -rf $PACKAGE +${SUDO} rm -rf $ARCHIVE + +# create debian control file. +mkdir -p $PACKAGE/DEBIAN +echo "Package: $PACKAGE" > $PACKAGE/DEBIAN/control +echo "Priority: Extra" >> $PACKAGE/DEBIAN/control +echo "Name: XBMC-ATV2" >> $PACKAGE/DEBIAN/control +echo "Depends: curl, org.awkwardtv.whitelist, org.xbmc.xbmc-seatbeltunlock" >> $PACKAGE/DEBIAN/control +echo "Version: $VERSION-$REVISION" >> $PACKAGE/DEBIAN/control +echo "Architecture: iphoneos-arm" >> $PACKAGE/DEBIAN/control +echo "Description: XBMC Multimedia Center for AppleTV 2" >> $PACKAGE/DEBIAN/control +echo "Homepage: http://xbmc.org/" >> $PACKAGE/DEBIAN/control +echo "Maintainer: Scott Davilla, Edgar Hucek" >> $PACKAGE/DEBIAN/control +echo "Author: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Section: Multimedia" >> $PACKAGE/DEBIAN/control + +# prerm: called on remove and upgrade - get rid of existing bits. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/prerm +echo "rm -rf /Applications/XBMC.frappliance" >> $PACKAGE/DEBIAN/prerm +echo "if [ \"\`uname -r\`\" = \"10.3.1\" ]; then" >> $PACKAGE/DEBIAN/prerm +echo " rm -rf /Applications/Lowtide.app/Appliances/XBMC.frappliance" >> $PACKAGE/DEBIAN/prerm +echo "else" >> $PACKAGE/DEBIAN/prerm +echo " rm -rf /Applications/AppleTV.app/Appliances/XBMC.frappliance" >> $PACKAGE/DEBIAN/prerm +echo "fi" >> $PACKAGE/DEBIAN/prerm +chmod +x $PACKAGE/DEBIAN/prerm + +# postinst: symlink XBMC.frappliance into correct location and reload Lowtide/AppleTV. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/postinst +echo "if [ \"\`uname -r\`\" = \"10.3.1\" ]; then" >> $PACKAGE/DEBIAN/postinst +echo " ln -sf /Applications/XBMC.frappliance /Applications/Lowtide.app/Appliances/XBMC.frappliance" >> $PACKAGE/DEBIAN/postinst +echo " killall Lowtide" >> $PACKAGE/DEBIAN/postinst +echo "else" >> $PACKAGE/DEBIAN/postinst +echo " ln -sf /Applications/XBMC.frappliance /Applications/AppleTV.app/Appliances/XBMC.frappliance" >> $PACKAGE/DEBIAN/postinst +echo " killall AppleTV" >> $PACKAGE/DEBIAN/postinst +echo "fi" >> $PACKAGE/DEBIAN/postinst +chmod +x $PACKAGE/DEBIAN/postinst + +# prep XBMC.frappliance +mkdir -p $PACKAGE/Applications +cp -r $XBMC $PACKAGE/Applications/ +find $PACKAGE/Applications/ -name '.svn' -exec rm -rf {} \; +find $PACKAGE/Applications/ -name '.gitignore' -exec rm -rf {} \; +find $PACKAGE/Applications/ -name '.DS_Store' -exec rm -rf {} \; + +# set ownership to root:root +${SUDO} chown -R 0:0 $PACKAGE + +echo Packaging $PACKAGE +# Tell tar, pax, etc. on Mac OS X 10.4+ not to archive +# extended attributes (e.g. resource forks) to ._* archive members. +# Also allows archiving and extracting actual ._* files. +export COPYFILE_DISABLE=true +export COPY_EXTENDED_ATTRIBUTES_DISABLE=true +# +dpkg-deb -b $PACKAGE $ARCHIVE +dpkg-deb --info $ARCHIVE +dpkg-deb --contents $ARCHIVE + +# clean up by removing package dir +${SUDO} rm -rf $PACKAGE diff --git a/tools/osx/packaging/xbmc-icon/mirrors.xbmc.org.png b/tools/osx/packaging/xbmc-icon/mirrors.xbmc.org.png new file mode 100644 index 0000000000..9d860f5c24 Binary files /dev/null and b/tools/osx/packaging/xbmc-icon/mirrors.xbmc.org.png differ diff --git a/tools/osx/packaging/xbmc-icon/mkdeb-xbmc-iconpack.sh b/tools/osx/packaging/xbmc-icon/mkdeb-xbmc-iconpack.sh new file mode 100755 index 0000000000..b24ffc47d4 --- /dev/null +++ b/tools/osx/packaging/xbmc-icon/mkdeb-xbmc-iconpack.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +if [ -f "/usr/bin/sudo" ]; then + SUDO="/usr/bin/sudo" +fi + +PACKAGE=org.xbmc.xbmc-iconpack + +VERSION=1.0 +REVISION=0 +ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb + +echo Creating $PACKAGE package version $VERSION revision $REVISION +${SUDO} rm -rf $PACKAGE +${SUDO} rm -rf $ARCHIVE + +# create debian control file. +mkdir -p $PACKAGE/DEBIAN +echo "Package: $PACKAGE" > $PACKAGE/DEBIAN/control +echo "Priority: Extra" >> $PACKAGE/DEBIAN/control +echo "Name: XBMC-IconPack" >> $PACKAGE/DEBIAN/control +echo "Version: $VERSION-$REVISION" >> $PACKAGE/DEBIAN/control +echo "Architecture: iphoneos-arm" >> $PACKAGE/DEBIAN/control +echo "Description: XBMC Icon Pack" >> $PACKAGE/DEBIAN/control +echo "Homepage: http://xbmc.org/" >> $PACKAGE/DEBIAN/control +echo "Maintainer: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Author: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Section: Multimedia" >> $PACKAGE/DEBIAN/control +echo "Icon: file:///Applications/Cydia.app/Sources/mirrors.xbmc.org.png" >> $PACKAGE/DEBIAN/control + +# prerm: called on remove and upgrade - get rid of existing bits. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/prerm +echo "rm -f /Applications/Cydia.app/Sources/mirrors.xbmc.org.png">> $PACKAGE/DEBIAN/prerm +chmod +x $PACKAGE/DEBIAN/prerm + +# postinst: nothing for now. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/postinst +chmod +x $PACKAGE/DEBIAN/postinst + +# create the patch directory and copy in patch +mkdir -p $PACKAGE/Applications/Cydia.app/Sources +cp mirrors.xbmc.org.png $PACKAGE/Applications/Cydia.app/Sources/ + +# set ownership to root:root +${SUDO} chown -R 0:0 $PACKAGE + +echo Packaging $PACKAGE +# Tell tar, pax, etc. on Mac OS X 10.4+ not to archive +# extended attributes (e.g. resource forks) to ._* archive members. +# Also allows archiving and extracting actual ._* files. +export COPYFILE_DISABLE=true +export COPY_EXTENDED_ATTRIBUTES_DISABLE=true +# +../../ios-depends/build/bin/dpkg-deb -b $PACKAGE $ARCHIVE +../../ios-depends/build/bin/dpkg-deb --info $ARCHIVE +../../ios-depends/build/bin/dpkg-deb --contents $ARCHIVE + +# clean up by removing package dir +${SUDO} rm -rf $PACKAGE diff --git a/tools/osx/packaging/xbmc-ios/mkdeb-xbmc-ios.sh b/tools/osx/packaging/xbmc-ios/mkdeb-xbmc-ios.sh new file mode 100755 index 0000000000..bbbb81abb2 --- /dev/null +++ b/tools/osx/packaging/xbmc-ios/mkdeb-xbmc-ios.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +# usage: ./mkdeb-xbmc-ios.sh release/debug (case insensitive) + +SWITCH=`echo $1 | tr [A-Z] [a-z]` + +if [ $SWITCH = "debug" ]; then + echo "Packaging Debug target for iOS" + XBMC="../../../../build/Debug-iphoneos/XBMC.app" +elif [ $SWITCH = "release" ]; then + echo "Packaging Release target for iOS" + XBMC="../../../../build/Release-iphoneos/XBMC.app" +else + echo "You need to specify the build target" + exit 1 +fi + +if [ ! -d $XBMC ]; then + echo "XBMC.app not found! are you sure you built $1 target?" + exit 1 +fi +if [ -f "/usr/bin/sudo" ]; then + SUDO="/usr/bin/sudo" +fi +if [ -f "/Users/Shared/xbmc-depends/ios-4.2_arm7/bin/dpkg-deb" ]; then + # make sure we pickup our tar, gnutar will fail when dpkg -i + bin_path=$(cd /Users/Shared/xbmc-depends/ios-4.2_arm7/bin; pwd) + export PATH=${bin_path}:${PATH} +fi + +PACKAGE=org.xbmc.xbmc-ios + +VERSION=10.0 +REVISION=7 +ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb + +echo Creating $PACKAGE package version $VERSION revision $REVISION +${SUDO} rm -rf $PACKAGE +${SUDO} rm -rf $ARCHIVE + +# create debian control file. +mkdir -p $PACKAGE/DEBIAN +echo "Package: $PACKAGE" > $PACKAGE/DEBIAN/control +echo "Priority: Extra" >> $PACKAGE/DEBIAN/control +echo "Name: XBMC-iOS" >> $PACKAGE/DEBIAN/control +echo "Depends: firmware (>= 4.1), curl, org.xbmc.xbmc-iconpack" >> $PACKAGE/DEBIAN/control +echo "Version: $VERSION-$REVISION" >> $PACKAGE/DEBIAN/control +echo "Architecture: iphoneos-arm" >> $PACKAGE/DEBIAN/control +echo "Description: XBMC Multimedia Center for 4.x iOS" >> $PACKAGE/DEBIAN/control +echo "Homepage: http://xbmc.org/" >> $PACKAGE/DEBIAN/control +echo "Maintainer: Scott Davilla, Edgar Hucek" >> $PACKAGE/DEBIAN/control +echo "Author: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Section: Multimedia" >> $PACKAGE/DEBIAN/control +echo "Icon: file:///Applications/Cydia.app/Sources/mirrors.xbmc.org.png" >> $PACKAGE/DEBIAN/control + +# prerm: called on remove and upgrade - get rid of existing bits. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/prerm +echo "rm -rf /Applications/XBMC.app" >> $PACKAGE/DEBIAN/prerm +chmod +x $PACKAGE/DEBIAN/prerm + +# postinst: nothing for now. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/postinst +chmod +x $PACKAGE/DEBIAN/postinst + +# prep XBMC.app +mkdir -p $PACKAGE/Applications +cp -r $XBMC $PACKAGE/Applications/ +find $PACKAGE/Applications/ -name '.svn' -exec rm -rf {} \; +find $PACKAGE/Applications/ -name '.gitignore' -exec rm -rf {} \; +find $PACKAGE/Applications/ -name '.DS_Store' -exec rm -rf {} \; + +# set ownership to root:root +${SUDO} chown -R 0:0 $PACKAGE + +echo Packaging $PACKAGE +# Tell tar, pax, etc. on Mac OS X 10.4+ not to archive +# extended attributes (e.g. resource forks) to ._* archive members. +# Also allows archiving and extracting actual ._* files. +export COPYFILE_DISABLE=true +export COPY_EXTENDED_ATTRIBUTES_DISABLE=true +# +dpkg-deb -b $PACKAGE $ARCHIVE +dpkg-deb --info $ARCHIVE +dpkg-deb --contents $ARCHIVE + +# clean up by removing package dir +${SUDO} rm -rf $PACKAGE diff --git a/tools/osx/packaging/xbmc-seatbeltunlock/12313417e3afeba6531255af58cb5283.patch b/tools/osx/packaging/xbmc-seatbeltunlock/12313417e3afeba6531255af58cb5283.patch new file mode 100644 index 0000000000..960edae2d2 Binary files /dev/null and b/tools/osx/packaging/xbmc-seatbeltunlock/12313417e3afeba6531255af58cb5283.patch differ diff --git a/tools/osx/packaging/xbmc-seatbeltunlock/5a28620a15c15d41e1ae836dd1f95f8d.patch b/tools/osx/packaging/xbmc-seatbeltunlock/5a28620a15c15d41e1ae836dd1f95f8d.patch new file mode 100644 index 0000000000..12ea6fc9b1 Binary files /dev/null and b/tools/osx/packaging/xbmc-seatbeltunlock/5a28620a15c15d41e1ae836dd1f95f8d.patch differ diff --git a/tools/osx/packaging/xbmc-seatbeltunlock/mkdeb-xbmc-seatbeltunlock.sh b/tools/osx/packaging/xbmc-seatbeltunlock/mkdeb-xbmc-seatbeltunlock.sh new file mode 100755 index 0000000000..8afcbc4730 --- /dev/null +++ b/tools/osx/packaging/xbmc-seatbeltunlock/mkdeb-xbmc-seatbeltunlock.sh @@ -0,0 +1,88 @@ +#!/bin/sh + +if [ -f "/usr/bin/sudo" ]; then + SUDO="/usr/bin/sudo" +fi +if [ -f "../../ios-depends/build/bin/dpkg-deb" ]; then + DPKGDEB="../../ios-depends/build/bin/dpkg-deb" +else + DPKGDEB="dpkg-deb" +fi + +PACKAGE=org.xbmc.xbmc-seatbeltunlock + +VERSION=1.0 +REVISION=1 +ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb + +echo Creating $PACKAGE package version $VERSION revision $REVISION +${SUDO} rm -rf $PACKAGE +${SUDO} rm -rf $ARCHIVE + +# create debian control file +mkdir -p $PACKAGE/DEBIAN +echo "Package: $PACKAGE" > $PACKAGE/DEBIAN/control +echo "Priority: Extra" >> $PACKAGE/DEBIAN/control +echo "Depends: coreutils, bsdiff, gawk" >> $PACKAGE/DEBIAN/control +echo "Name: XBMC seatbelt unlock for AppleTV 2" >> $PACKAGE/DEBIAN/control +echo "Version: $VERSION-$REVISION" >> $PACKAGE/DEBIAN/control +echo "Architecture: iphoneos-arm" >> $PACKAGE/DEBIAN/control +echo "Description: XBMC tweeks, removes seatbelt" >> $PACKAGE/DEBIAN/control +echo "Homepage: http://xbmc.org/" >> $PACKAGE/DEBIAN/control +echo "Maintainer: Scott Davilla" >> $PACKAGE/DEBIAN/control +echo "Author: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Section: Tweaks" >> $PACKAGE/DEBIAN/control + +# postinst: find lowtide/appletv, binary patch out seatbelt-profile key, +# rm/mv replace lowtide/appletv. Last step is critical as profiles are +# vnode based and there might be an existing file vnode profile. +echo "#!/bin/sh" > $PACKAGE/DEBIAN/postinst +echo "if [ \"\`uname -r\`\" = \"10.3.1\" ]; then" >> $PACKAGE/DEBIAN/postinst +echo " BINPATH=/Applications/Lowtide.app/Lowtide" >> $PACKAGE/DEBIAN/postinst +echo " echo \"Found ATV2 running ios 4.1/Lowtide\"" >> $PACKAGE/DEBIAN/postinst +echo "else" >> $PACKAGE/DEBIAN/postinst +echo " BINPATH=/Applications/AppleTV.app/AppleTV" >> $PACKAGE/DEBIAN/postinst +echo " echo \"Found ATV2 running ios 4.2+/AppleTV\"" >> $PACKAGE/DEBIAN/postinst +echo "fi" >> $PACKAGE/DEBIAN/postinst +echo "case \`md5sum \$BINPATH | awk '{print \$1}'\` in" >> $PACKAGE/DEBIAN/postinst +echo " 12313417e3afeba6531255af58cb5283 )" >> $PACKAGE/DEBIAN/postinst +echo " echo \"Found 4.1 :Removing seatbelt profile key from Lowtide\"" >> $PACKAGE/DEBIAN/postinst +echo " bspatch /Applications/Lowtide.app/Lowtide /var/tmp/Lowtide-nosb /var/tmp/12313417e3afeba6531255af58cb5283.patch" >> $PACKAGE/DEBIAN/postinst +echo " rm /var/tmp/12313417e3afeba6531255af58cb5283.patch" >> $PACKAGE/DEBIAN/postinst +echo " chmod 755 /var/tmp/Lowtide-nosb" >> $PACKAGE/DEBIAN/postinst +echo " mv -f /Applications/Lowtide.app/Lowtide /Applications/Lowtide.app/Lowtide_org" >> $PACKAGE/DEBIAN/postinst +echo " mv /var/tmp/Lowtide-nosb /Applications/Lowtide.app/Lowtide" >> $PACKAGE/DEBIAN/postinst +echo " killall Lowtide ;;" >> $PACKAGE/DEBIAN/postinst +echo " 5a28620a15c15d41e1ae836dd1f95f8d )" >> $PACKAGE/DEBIAN/postinst +echo " echo \"Found 4.2.1:Removing seatbelt profile key from AppleTV\"" >> $PACKAGE/DEBIAN/postinst +echo " bspatch /Applications/AppleTV.app/AppleTV /var/tmp/AppleTV-nosb /var/tmp/5a28620a15c15d41e1ae836dd1f95f8d.patch" >> $PACKAGE/DEBIAN/postinst +echo " rm /var/tmp/5a28620a15c15d41e1ae836dd1f95f8d.patch" >> $PACKAGE/DEBIAN/postinst +echo " chmod 755 /var/tmp/AppleTV-nosb" >> $PACKAGE/DEBIAN/postinst +echo " mv -f /Applications/AppleTV.app/AppleTV /Applications/AppleTV.app/AppleTV_org" >> $PACKAGE/DEBIAN/postinst +echo " mv /var/tmp/AppleTV-nosb /Applications/AppleTV.app/AppleTV" >> $PACKAGE/DEBIAN/postinst +echo " killall AppleTV ;;" >> $PACKAGE/DEBIAN/postinst +echo " * )" >> $PACKAGE/DEBIAN/postinst +echo " echo \"Frontrow app md5sum is unknown, not patching\" ;;" >> $PACKAGE/DEBIAN/postinst +echo "esac" >> $PACKAGE/DEBIAN/postinst +chmod +x $PACKAGE/DEBIAN/postinst + +# create the patch directory and copy in patch +mkdir -p $PACKAGE/var/tmp +cp 12313417e3afeba6531255af58cb5283.patch $PACKAGE/var/tmp/ +cp 5a28620a15c15d41e1ae836dd1f95f8d.patch $PACKAGE/var/tmp/ + +# set ownership to root:root +${SUDO} chown -R 0:0 $PACKAGE + +echo Packaging $PACKAGE +# Tell tar, pax, etc. on Mac OS X 10.4+ not to archive +# extended attributes (e.g. resource forks) to ._* archive members. +# Also allows archiving and extracting actual ._* files. +export COPYFILE_DISABLE=true +export COPY_EXTENDED_ATTRIBUTES_DISABLE=true +${DPKGDEB} -b $PACKAGE $ARCHIVE +${DPKGDEB} --info $ARCHIVE +${DPKGDEB} --contents $ARCHIVE + +# clean up by removing package dir +${SUDO} rm -rf $PACKAGE diff --git a/tools/osx/packaging/xbmc-startuptweeks/mkdeb-xbmc-startuptweeks.sh b/tools/osx/packaging/xbmc-startuptweeks/mkdeb-xbmc-startuptweeks.sh new file mode 100755 index 0000000000..1dd17e3922 --- /dev/null +++ b/tools/osx/packaging/xbmc-startuptweeks/mkdeb-xbmc-startuptweeks.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +if [ -f "/usr/bin/sudo" ]; then + SUDO="/usr/bin/sudo" +fi + +PACKAGE=com.xbmc.xbmc-startuptweeks + +VERSION=1.0 +REVISION=0 +ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_iphoneos-arm.deb + +echo Creating $PACKAGE package version $VERSION revision $REVISION +${SUDO} rm -rf $PACKAGE +${SUDO} rm -rf $ARCHIVE + +# create debian control file +mkdir -p $PACKAGE/DEBIAN +echo "Package: $PACKAGE" > $PACKAGE/DEBIAN/control +echo "Priority: Extra" >> $PACKAGE/DEBIAN/control +echo "Name: XBMC startup tweeks (seatbelt)" >> $PACKAGE/DEBIAN/control +echo "Version: $VERSION-$REVISION" >> $PACKAGE/DEBIAN/control +echo "Architecture: iphoneos-arm" >> $PACKAGE/DEBIAN/control +echo "Description: XBMC startup tweeks, removes seatbelt" >> $PACKAGE/DEBIAN/control +echo "Homepage: http://xbmc.org/" >> $PACKAGE/DEBIAN/control +echo "Maintainer: Scott Davilla" >> $PACKAGE/DEBIAN/control +echo "Author: TeamXBMC" >> $PACKAGE/DEBIAN/control +echo "Section: Multimedia" >> $PACKAGE/DEBIAN/control + +# prerm: called on remove and upgrade - get rid of existing bits +echo "#!/bin/sh" > $PACKAGE/DEBIAN/prerm +echo "rm -f /usr/libexec/xbmc/startup" >> $PACKAGE/DEBIAN/prerm +echo "rm -f /System/Library/LaunchDaemons/com.xbmc.xbmc.startup.plist" >> $PACKAGE/DEBIAN/prerm +chmod +x $PACKAGE/DEBIAN/prerm + +# postinst: startup our daemon plist +echo "#!/bin/sh" > $PACKAGE/DEBIAN/postinst +echo "/bin/launchctl load /System/Library/LaunchDaemons/com.xbmc.xbmc.startup.plist 2&> /dev/null" >> $PACKAGE/DEBIAN/postinst +chmod +x $PACKAGE/DEBIAN/postinst + +# create ios launch daemon that runs at boot +DEST=System/Library/LaunchDaemons +mkdir -p $PACKAGE/$DEST +echo "" > $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo "" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo "" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo "" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " Label" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " com.xbmc.xbmc.startup" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " Program" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " /usr/libexec/xbmc/startup" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " RunAtLoad" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo " " >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo "" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +echo "" >> $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist +${SUDO} chmod 644 $PACKAGE/$DEST/com.xbmc.xbmc.startup.plist + +# create startup file that is run by our launch daemon +DEST=usr/libexec/xbmc +mkdir -p $PACKAGE/$DEST +echo "#!/bin/sh" > $PACKAGE/$DEST/startup +echo "#remove sandbox/seatbelt restrictions" >> $PACKAGE/$DEST/startup +echo "if echo \`sysctl hw.machine\` | grep AppleTV2,1 > /dev/null; then" >> $PACKAGE/$DEST/startup +echo " sysctl -w security.mac.proc_enforce=0" >> $PACKAGE/$DEST/startup +echo "fi" >> $PACKAGE/$DEST/startup +echo "sysctl -w security.mac.vnode_enforce=0" >> $PACKAGE/$DEST/startup +echo "exit 0" >> $PACKAGE/$DEST/startup +${SUDO} chmod 755 $PACKAGE/$DEST/startup + +# set ownership to root:root +${SUDO} chown -R 0:0 $PACKAGE + +echo Packaging $PACKAGE +# Tell tar, pax, etc. on Mac OS X 10.4+ not to archive +# extended attributes (e.g. resource forks) to ._* archive members. +# Also allows archiving and extracting actual ._* files. +export COPYFILE_DISABLE=true +export COPY_EXTENDED_ATTRIBUTES_DISABLE=true +../../ios-depends/build/bin/dpkg-deb -b $PACKAGE $ARCHIVE +../../ios-depends/build/bin/dpkg-deb --info $ARCHIVE +../../ios-depends/build/bin/dpkg-deb --contents $ARCHIVE + +# clean up by removing package dir +${SUDO} rm -rf $PACKAGE -- cgit v1.2.3