gapps.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #!/bin/bash
  2. # (c) Joey Rizzoli, 2015
  3. # (c) Paul Keith, 2017
  4. # Released under GPL v2 License
  5. ##
  6. # var
  7. #
  8. DATE=$(date -u +%Y%m%d_%H%M%S)
  9. export GAPPS_TOP=$(realpath .)
  10. ANDROIDV=15.0.0
  11. SDKV=35
  12. GARCH=$1
  13. CPUARCH=$GARCH
  14. [ ! -z "$2" ] && CPUARCH=$2
  15. OUT=$GAPPS_TOP/out
  16. BUILD=$GAPPS_TOP/build
  17. METAINF=$BUILD/meta
  18. COMMON=$GAPPS_TOP/common/proprietary
  19. export GLOG=$GAPPS_TOP/gapps_log
  20. ADDOND=$GAPPS_TOP/addond.sh
  21. SIGNAPK=$GAPPS_TOP/build/sign/signapk.jar
  22. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GAPPS_TOP/build/sign
  23. ZIP_KEY_PK8=$GAPPS_TOP/build/sign/testkey.pk8
  24. ZIP_KEY_PEM=$GAPPS_TOP/build/sign/testkey.x509.pem
  25. ##
  26. # functions
  27. #
  28. function clean() {
  29. echo "Cleaning up..."
  30. rm -r $OUT/$GARCH
  31. rm /tmp/$BUILDZIP
  32. return $?
  33. }
  34. function failed() {
  35. echo "Build failed, check $GLOG"
  36. exit 1
  37. }
  38. function create() {
  39. test -f $GLOG && rm -f $GLOG
  40. echo "Starting GApps compilation" > $GLOG
  41. echo "ARCH= $GARCH" >> $GLOG
  42. echo "OS= $(uname -s -r)" >> $GLOG
  43. echo "NAME= $(whoami) at $(uname -n)" >> $GLOG
  44. PREBUILT=$GAPPS_TOP/$GARCH/proprietary
  45. test -d $OUT || mkdir $OUT;
  46. test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH
  47. test -d $OUT/$GARCH/system || mkdir -p $OUT/$GARCH/system
  48. echo "Build directories are now ready" >> $GLOG
  49. echo "Compiling RROs"
  50. $GAPPS_TOP/overlay/build_overlays.sh $GARCH $OUT/$GARCH
  51. echo "Getting prebuilts..."
  52. echo "Copying stuff" >> $GLOG
  53. cp $GAPPS_TOP/toybox-$GARCH $OUT/$GARCH/toybox >> $GLOG
  54. cp -r $PREBUILT/* $OUT/$GARCH/system >> $GLOG
  55. cp -r $COMMON/* $OUT/$GARCH/system >> $GLOG
  56. echo "Generating addon.d script" >> $GLOG
  57. test -d $OUT/$GARCH/system/addon.d || mkdir -p $OUT/$GARCH/system/addon.d
  58. cp -f addond_head $OUT/$GARCH/system/addon.d
  59. cp -f addond_tail $OUT/$GARCH/system/addon.d
  60. echo "Writing build props..."
  61. echo "arch=$CPUARCH" > $OUT/$GARCH/build.prop
  62. echo "version=$SDKV" >> $OUT/$GARCH/build.prop
  63. echo "version_nice=$ANDROIDV" >> $OUT/$GARCH/build.prop
  64. }
  65. function zipit() {
  66. BUILDZIP=MindTheGapps-$ANDROIDV-$GARCH-$DATE.zip
  67. echo "Importing installation scripts..."
  68. test -d $OUT/$GARCH/META-INF || mkdir $OUT/$GARCH/META-INF;
  69. cp -r $METAINF/* $OUT/$GARCH/META-INF/ && echo "Meta copied" >> $GLOG
  70. echo "Creating package..."
  71. cd $OUT/$GARCH
  72. zip -r /tmp/$BUILDZIP . >> $GLOG
  73. rm -rf $OUT/tmp >> $GLOG
  74. cd $GAPPS_TOP
  75. if [ -f /tmp/$BUILDZIP ]; then
  76. echo "Signing zip..."
  77. java -Xmx2048m -jar $SIGNAPK -w $ZIP_KEY_PEM $ZIP_KEY_PK8 /tmp/$BUILDZIP $OUT/$BUILDZIP >> $GLOG
  78. else
  79. echo "Couldn't zip files!"
  80. echo "Couldn't find unsigned zip file, aborting" >> $GLOG
  81. return 1
  82. fi
  83. }
  84. function getmd5() {
  85. if [ -x $(which md5sum) ]; then
  86. echo "md5sum is installed, getting md5..." >> $GLOG
  87. echo "Getting md5sum..."
  88. GMD5=$(md5sum $OUT/$BUILDZIP)
  89. echo -e "$GMD5" > $OUT/$BUILDZIP.md5sum
  90. echo "md5 exported at $OUT/$BUILDZIP.md5sum"
  91. return 0
  92. else
  93. echo "md5sum is not installed, aborting" >> $GLOG
  94. return 1
  95. fi
  96. }
  97. ##
  98. # main
  99. #
  100. if [ -x $(which realpath) ]; then
  101. echo "Realpath found!" >> $GLOG
  102. else
  103. GAPPS_TOP=$(cd . && pwd) # some darwin love
  104. echo "No realpath found!" >> $GLOG
  105. fi
  106. for func in create zipit getmd5 clean; do
  107. $func
  108. ret=$?
  109. if [ "$ret" == 0 ]; then
  110. continue
  111. else
  112. failed
  113. fi
  114. done
  115. echo "Done!" >> $GLOG
  116. echo "Build completed: $GMD5"
  117. exit 0