vendor_gapps/build/gapps.sh

151 lines
3.8 KiB
Bash
Raw Normal View History

2015-04-20 22:22:46 +09:00
#!/bin/bash
# (c) Joey Rizzoli, 2015
# (c) Paul Keith, 2017
2015-04-20 22:22:46 +09:00
# Released under GPL v2 License
##
# var
#
DATE=$(date +%F-%H-%M)
2015-04-20 22:22:46 +09:00
TOP=$(realpath .)
ANDROIDV=7.1.2
2015-04-20 22:22:46 +09:00
OUT=$TOP/out
BUILD=$TOP/build
METAINF=$BUILD/meta
COMMON=$TOP/common/proprietary
GLOG=/tmp/gapps_log
ADDOND=$TOP/addond.sh
2015-04-20 22:22:46 +09:00
##
# functions
#
function printerr() {
2015-04-20 22:22:46 +09:00
echo "$(tput setaf 1)$1$(tput sgr 0)"
}
function printdone() {
2015-04-20 22:22:46 +09:00
echo "$(tput setaf 2)$1$(tput sgr 0)"
}
function clean() {
echo "Cleaning up..."
rm -r $OUT/$GARCH
rm /tmp/$BUILDZIP
return $?
}
function Gfailed() {
printerr "Build failed, check $GLOG"
exit 1
}
function create() {
test -f $GLOG && rm -f $GLOG
echo "Starting GApps compilation" > $GLOG
echo "ARCH= $GARCH" >> $GLOG
echo "OS= $(uname -s -r)" >> $GLOG
echo "NAME= $(whoami) at $(uname -n)" >> $GLOG
PREBUILT=$TOP/$GARCH/proprietary
test -d $OUT || mkdir $OUT;
test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH
test -d $OUT/$GARCH/system || mkdir -p $OUT/$GARCH/system
echo "Build directories are now ready" >> $GLOG
echo "Getting prebuilts..."
echo "Copying stuff" >> $GLOG
cp -r $PREBUILT/* $OUT/$GARCH/system >> $GLOG
cp -r $COMMON/* $OUT/$GARCH/system >> $GLOG
echo "Generating addon.d script" >> $GLOG
test -d $OUT/$GARCH/system/addon.d || mkdir -p $OUT/$GARCH/system/addon.d
test -f $ADDOND && rm -f $ADDOND
cat $TOP/addond_head > $ADDOND
for txt_file in proprietary-files-common proprietary-files-$GARCH
do
cat $TOP/$txt_file.txt | while read l
do
if [ "$l" != "" ]; then
line=$(echo "$l" | sed 's/^-//g')
line=${line%%|*}
line=${line%%:*}
echo "$line" >> $ADDOND.tmp
fi
done
done
cat $ADDOND.tmp | LC_ALL=C sort | uniq >> $ADDOND
rm $ADDOND.tmp
cat $TOP/addond_tail >> $ADDOND
chmod 755 $ADDOND
mv $ADDOND $OUT/$GARCH/system/addon.d/30-gapps.sh
2015-04-20 22:22:46 +09:00
}
function zipit() {
BUILDZIP=gapps-$ANDROIDV-$GARCH-$DATE.zip
echo "Importing installation scripts..."
test -d $OUT/$GARCH/META-INF || mkdir $OUT/$GARCH/META-INF;
cp -r $METAINF/* $OUT/$GARCH/META-INF/ && echo "Meta copied" >> $GLOG
echo "Creating package..."
cd $OUT/$GARCH
zip -r /tmp/$BUILDZIP . >> $GLOG
rm -rf $OUT/tmp >> $GLOG
cd $TOP
if [ -f /tmp/$BUILDZIP ]; then
echo "Signing zip..."
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
2015-04-20 22:22:46 +09:00
else
printerr "Couldn't zip files!"
echo "Couldn't find unsigned zip file, aborting" >> $GLOG
2015-04-20 22:22:46 +09:00
return 1
fi
}
function getmd5() {
if [ -x $(which md5sum) ]; then
echo "md5sum is installed, getting md5..." >> $GLOG
echo "Getting md5sum..."
GMD5=$(md5sum $OUT/$BUILDZIP)
echo -e "$GMD5" > $OUT/gapps-$ANDROIDV-$GARCH-$DATE.zip.md5sum
echo "md5 exported at $OUT/gapps-$ANDROIDV-$GARCH-$DATE.zip.md5sum"
return 0
else
echo "md5sum is not installed, aborting" >> $GLOG
return 1
fi
}
2015-04-20 22:22:46 +09:00
##
# main
#
GARCH=$1
2015-04-20 22:22:46 +09:00
create
LASTRETURN=$?
if [ -x $(which realpath) ]; then
echo "Realpath found!" >> $GLOG
else
TOP=$(cd . && pwd) # some darwin love
echo "No realpath found!" >> $GLOG
fi
2015-04-20 22:22:46 +09:00
if [ "$LASTRETURN" == 0 ]; then
zipit
LASTRETURN=$?
if [ "$LASTRETURN" == 0 ]; then
getmd5
LASTRETURN=$?
if [ "$LASTRETURN" == 0 ]; then
clean
LASTRETURN=$?
if [ "$LASTRETURN" == 0 ]; then
echo "Done!" >> $GLOG
printdone "Build completed: $GMD5"
exit 0
else
Gfailed
fi
else
Gfailed
fi
else
Gfailed
fi
2015-04-20 22:22:46 +09:00
else
Gfailed
2015-04-20 22:22:46 +09:00
fi