gapps.sh 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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 +%F-%H-%M)
  9. TOP=$(realpath .)
  10. ANDROIDV=7.1.1
  11. OUT=$TOP/out
  12. BUILD=$TOP/build
  13. METAINF=$BUILD/meta
  14. COMMON=$TOP/common/proprietary/
  15. GLOG=/tmp/gapps_log
  16. ##
  17. # functions
  18. #
  19. function printerr(){
  20. echo "$(tput setaf 1)$1$(tput sgr 0)"
  21. }
  22. function printdone(){
  23. echo "$(tput setaf 2)$1$(tput sgr 0)"
  24. }
  25. function clean(){
  26. echo "Cleaning up..."
  27. rm -r $OUT/$GARCH
  28. rm /tmp/$BUILDZIP
  29. return $?
  30. }
  31. function Gfailed(){
  32. printerr "Build failed, check $GLOG"
  33. exit 1
  34. }
  35. function create(){
  36. test -f $GLOG && rm -f $GLOG
  37. echo "Starting GApps compilation" > $GLOG
  38. echo "ARCH= $GARCH" >> $GLOG
  39. echo "OS= $(uname -s -r)" >> $GLOG
  40. echo "NAME= $(whoami) at $(uname -n)" >> $GLOG
  41. PREBUILT=$TOP/$GARCH/proprietary/
  42. test -d $OUT || mkdir $OUT;
  43. test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH
  44. echo "Build directories are now ready" >> $GLOG
  45. echo "Getting prebuilts..."
  46. echo "Copying stuffs" >> $GLOG
  47. cp -r $PREBUILT $OUT/$GARCH >> $GLOG
  48. mv $OUT/$GARCH/$GARCH $OUT/$GARCH/arch >> $GLOG
  49. cp -r $COMMON $OUT/$GARCH >> $GLOG
  50. }
  51. function zipit(){
  52. BUILDZIP=gapps-$ANDROIDV-$GARCH-$DATE.zip
  53. echo "Importing installation scripts..."
  54. cp -r $METAINF $OUT/$GARCH/META-INF && echo "Meta copied" >> $GLOG
  55. echo "Creating package..."
  56. cd $OUT/$GARCH
  57. zip -r /tmp/$BUILDZIP . >> $GLOG
  58. rm -rf $OUT/tmp >> $GLOG
  59. cd $TOP
  60. if [ -f /tmp/$BUILDZIP ]; then
  61. echo "Signing zip..."
  62. java -Xmx2048m -jar $TOP/build/sign/signapk.jar -w $TOP/build/sign/testkey.x509.pem $TOP/build/sign/testkey.pk8 /tmp/$BUILDZIP $OUT/$BUILDZIP >> $GLOG
  63. else
  64. printerr "Couldn't zip files!"
  65. echo "Couldn't find unsigned zip file, aborting" >> $GLOG
  66. return 1
  67. fi
  68. }
  69. function getmd5(){
  70. if [ -x $(which md5sum) ]; then
  71. echo "md5sum is installed, getting md5..." >> $GLOG
  72. echo "Getting md5sum..."
  73. GMD5=$(md5sum $OUT/$BUILDZIP)
  74. echo -e "$GMD5" > $OUT/gapps-$ANDROIDV-$GARCH-$DATE.md5
  75. echo "md5 exported at $OUT/gapps-$ANDROIDV-$GARCH-$DATE.md5"
  76. return 0
  77. else
  78. echo "md5sum is not installed, aborting" >> $GLOG
  79. return 1
  80. fi
  81. }
  82. ##
  83. # main
  84. #
  85. GARCH=$1
  86. create
  87. LASTRETURN=$?
  88. if [ -x $(which realpath) ]; then
  89. echo "Realpath found!" >> $GLOG
  90. else
  91. TOP=$(cd . && pwd) # some darwin love
  92. echo "No realpath found!" >> $GLOG
  93. fi
  94. if [ "$LASTRETURN" == 0 ]; then
  95. zipit
  96. LASTRETURN=$?
  97. if [ "$LASTRETURN" == 0 ]; then
  98. getmd5
  99. LASTRETURN=$?
  100. if [ "$LASTRETURN" == 0 ]; then
  101. clean
  102. LASTRETURN=$?
  103. if [ "$LASTRETURN" == 0 ]; then
  104. echo "Done!" >> $GLOG
  105. printdone "Build completed: $GMD5"
  106. exit 0
  107. else
  108. Gfailed
  109. fi
  110. else
  111. Gfailed
  112. fi
  113. else
  114. Gfailed
  115. fi
  116. else
  117. Gfailed
  118. fi