2015-04-20 22:22:46 +09:00
|
|
|
#!/bin/bash
|
|
|
|
# (c) Joey Rizzoli, 2015
|
2017-04-07 01:09:36 +09:00
|
|
|
# (c) Paul Keith, 2017
|
2015-04-20 22:22:46 +09:00
|
|
|
# Released under GPL v2 License
|
|
|
|
|
|
|
|
##
|
|
|
|
# var
|
|
|
|
#
|
2015-06-02 22:24:07 +09:00
|
|
|
DATE=$(date +%F-%H-%M)
|
2015-04-20 22:22:46 +09:00
|
|
|
TOP=$(realpath .)
|
2017-04-07 06:40:13 +09:00
|
|
|
ANDROIDV=7.1.2
|
2015-04-20 22:22:46 +09:00
|
|
|
OUT=$TOP/out
|
2015-04-21 03:09:24 +09:00
|
|
|
BUILD=$TOP/build
|
|
|
|
METAINF=$BUILD/meta
|
2017-04-07 02:58:57 +09:00
|
|
|
COMMON=$TOP/common/proprietary
|
2015-06-12 00:24:59 +09:00
|
|
|
GLOG=/tmp/gapps_log
|
2017-04-07 11:42:46 +09:00
|
|
|
ADDOND=$TOP/addond.sh
|
2015-04-20 22:22:46 +09:00
|
|
|
|
|
|
|
##
|
|
|
|
# functions
|
|
|
|
#
|
2017-04-07 02:26:57 +09:00
|
|
|
function printerr() {
|
2015-04-20 22:22:46 +09:00
|
|
|
echo "$(tput setaf 1)$1$(tput sgr 0)"
|
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function printdone() {
|
2015-04-20 22:22:46 +09:00
|
|
|
echo "$(tput setaf 2)$1$(tput sgr 0)"
|
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function clean() {
|
2015-07-09 22:01:58 +09:00
|
|
|
echo "Cleaning up..."
|
|
|
|
rm -r $OUT/$GARCH
|
|
|
|
rm /tmp/$BUILDZIP
|
|
|
|
return $?
|
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function Gfailed() {
|
2015-07-09 22:01:58 +09:00
|
|
|
printerr "Build failed, check $GLOG"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function create() {
|
2015-07-09 22:01:58 +09:00
|
|
|
test -f $GLOG && rm -f $GLOG
|
2015-06-12 00:24:59 +09:00
|
|
|
echo "Starting GApps compilation" > $GLOG
|
|
|
|
echo "ARCH= $GARCH" >> $GLOG
|
|
|
|
echo "OS= $(uname -s -r)" >> $GLOG
|
|
|
|
echo "NAME= $(whoami) at $(uname -n)" >> $GLOG
|
2017-04-07 02:58:57 +09:00
|
|
|
PREBUILT=$TOP/$GARCH/proprietary
|
2015-07-09 22:01:58 +09:00
|
|
|
test -d $OUT || mkdir $OUT;
|
|
|
|
test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH
|
2017-04-07 06:29:53 +09:00
|
|
|
test -d $OUT/$GARCH/system || mkdir -p $OUT/$GARCH/system
|
2015-07-09 22:01:58 +09:00
|
|
|
echo "Build directories are now ready" >> $GLOG
|
2015-04-21 03:09:24 +09:00
|
|
|
echo "Getting prebuilts..."
|
2017-04-07 02:58:57 +09:00
|
|
|
echo "Copying stuff" >> $GLOG
|
2017-04-07 06:29:53 +09:00
|
|
|
cp -r $PREBUILT/* $OUT/$GARCH/system >> $GLOG
|
|
|
|
cp -r $COMMON/* $OUT/$GARCH/system >> $GLOG
|
2017-04-07 11:42:46 +09:00
|
|
|
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
|
2017-04-07 12:16:19 +09:00
|
|
|
for txt_file in proprietary-files-common proprietary-files-$GARCH
|
2017-04-07 11:42:46 +09:00
|
|
|
do
|
|
|
|
cat $TOP/$txt_file.txt | while read l
|
|
|
|
do
|
|
|
|
if [ "$l" != "" ]; then
|
|
|
|
line=$(echo "$l" | sed 's/^-//g')
|
2017-04-08 05:46:15 +09:00
|
|
|
line=${line%%|*}
|
2017-04-07 11:42:46 +09:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function zipit() {
|
2015-07-09 22:01:58 +09:00
|
|
|
BUILDZIP=gapps-$ANDROIDV-$GARCH-$DATE.zip
|
2015-06-12 00:24:59 +09:00
|
|
|
echo "Importing installation scripts..."
|
2017-04-07 02:58:57 +09:00
|
|
|
test -d $OUT/$GARCH/META-INF || mkdir $OUT/$GARCH/META-INF;
|
|
|
|
cp -r $METAINF/* $OUT/$GARCH/META-INF/ && echo "Meta copied" >> $GLOG
|
2015-06-12 00:24:59 +09:00
|
|
|
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..."
|
2015-07-09 22:01:58 +09:00
|
|
|
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
|
2015-06-12 00:24:59 +09:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2017-04-07 02:26:57 +09:00
|
|
|
function getmd5() {
|
2015-06-12 00:24:59 +09:00
|
|
|
if [ -x $(which md5sum) ]; then
|
|
|
|
echo "md5sum is installed, getting md5..." >> $GLOG
|
|
|
|
echo "Getting md5sum..."
|
2015-07-09 22:01:58 +09:00
|
|
|
GMD5=$(md5sum $OUT/$BUILDZIP)
|
2017-04-07 10:06:07 +09:00
|
|
|
echo -e "$GMD5" > $OUT/gapps-$ANDROIDV-$GARCH-$DATE.zip.md5sum
|
|
|
|
echo "md5 exported at $OUT/gapps-$ANDROIDV-$GARCH-$DATE.zip.md5sum"
|
2015-06-12 00:24:59 +09:00
|
|
|
return 0
|
|
|
|
else
|
|
|
|
echo "md5sum is not installed, aborting" >> $GLOG
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
}
|
2015-04-20 22:22:46 +09:00
|
|
|
|
|
|
|
##
|
|
|
|
# main
|
|
|
|
#
|
2015-04-21 03:09:24 +09:00
|
|
|
GARCH=$1
|
2015-04-20 22:22:46 +09:00
|
|
|
create
|
|
|
|
LASTRETURN=$?
|
2015-07-09 22:01:58 +09:00
|
|
|
if [ -x $(which realpath) ]; then
|
|
|
|
echo "Realpath found!" >> $GLOG
|
|
|
|
else
|
2017-04-07 01:09:36 +09:00
|
|
|
TOP=$(cd . && pwd) # some darwin love
|
2015-07-09 22:01:58 +09:00
|
|
|
echo "No realpath found!" >> $GLOG
|
|
|
|
fi
|
2015-04-20 22:22:46 +09:00
|
|
|
if [ "$LASTRETURN" == 0 ]; then
|
2015-06-12 00:24:59 +09:00
|
|
|
zipit
|
|
|
|
LASTRETURN=$?
|
|
|
|
if [ "$LASTRETURN" == 0 ]; then
|
|
|
|
getmd5
|
|
|
|
LASTRETURN=$?
|
|
|
|
if [ "$LASTRETURN" == 0 ]; then
|
2015-07-09 22:01:58 +09:00
|
|
|
clean
|
|
|
|
LASTRETURN=$?
|
|
|
|
if [ "$LASTRETURN" == 0 ]; then
|
|
|
|
echo "Done!" >> $GLOG
|
|
|
|
printdone "Build completed: $GMD5"
|
|
|
|
exit 0
|
|
|
|
else
|
|
|
|
Gfailed
|
|
|
|
fi
|
2015-06-12 00:24:59 +09:00
|
|
|
else
|
2015-07-09 22:01:58 +09:00
|
|
|
Gfailed
|
2015-06-12 00:24:59 +09:00
|
|
|
fi
|
|
|
|
else
|
2015-07-09 22:01:58 +09:00
|
|
|
Gfailed
|
2015-06-12 00:24:59 +09:00
|
|
|
fi
|
2015-04-20 22:22:46 +09:00
|
|
|
else
|
2015-07-09 22:01:58 +09:00
|
|
|
Gfailed
|
2015-04-20 22:22:46 +09:00
|
|
|
fi
|