diff options
Diffstat (limited to 'app/misc')
-rw-r--r-- | app/misc/build-native.bat | 22 | ||||
-rwxr-xr-x | app/misc/build-native.sh | 54 | ||||
-rwxr-xr-x | app/misc/fetchtranslations.sh | 38 | ||||
-rwxr-xr-x | app/misc/genFAQ.py | 118 | ||||
-rwxr-xr-x | app/misc/prepareovpn3.sh | 3 |
5 files changed, 235 insertions, 0 deletions
diff --git a/app/misc/build-native.bat b/app/misc/build-native.bat new file mode 100644 index 00000000..73a19a00 --- /dev/null +++ b/app/misc/build-native.bat @@ -0,0 +1,22 @@ + +@echo on +echo Currently broken, feel free to fix and send me a patch, see .sh file +exit 1 + +call ndk-build APP_API=all -j 8 + + +cd libs +mkdir ..\assets +mkdir ..\build\ + +for /D %%f in (*) do ( + copy %%f\minivpn ..\assets\minivpn.%%f + del %%f\libcrypto.so + del %%f\libssl.so + + mkdir ..\build\native-libs\%%f\ + copy %%f\*.so ..\build\native-libs\%%f\ +) + +cd .. diff --git a/app/misc/build-native.sh b/app/misc/build-native.sh new file mode 100755 index 00000000..f27384cd --- /dev/null +++ b/app/misc/build-native.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Exit on errors +set -e + +# Generate git config if the openvpn directory is checked out from git +if [ -d openvpn/.git ]; then + GIT=git + cd openvpn + CONFIGURE_GIT_CHFILES=$($GIT diff-files --name-status -r --ignore-submodules --quiet -- || echo "+") + CONFIGURE_GIT_UNCOMMITTED=$($GIT diff-index --cached --quiet --ignore-submodules HEAD || echo "*") + CONFIGURE_GIT_REVISION=$($GIT rev-parse --symbolic-full-name HEAD | cut -d/ -f3)-$($GIT rev-parse --short=16 HEAD) + echo "#define CONFIGURE_GIT_REVISION \"${CONFIGURE_GIT_REVISION}\"" > config-version.h.tmp; \ + echo "#define CONFIGURE_GIT_FLAGS \"${CONFIGURE_GIT_CHFILES}${CONFIGURE_GIT_UNCOMMITTED}\"" >> config-version.h.tmp + + if ! [ -f config-version.h ] || ! cmp -s config-version.h.tmp config-version.h; then \ + echo "replacing config-version.h" + mv config-version.h.tmp config-version.h + else + rm -f config-version.h.tmp + fi + cd .. +fi + +if [ "x$1" = "x" ]; then + ndk-build APP_API=all -j 8 +else + ndk-build $@ +fi + +if [ $? = 0 ]; then + rm -rf ovpnlibs/ + + cd libs + mkdir -p ../ovpnlibs/assets + for i in * + do + cp -v $i/nopievpn ../ovpnlibs/assets/nopievpn.$i + cp -v $i/pievpn ../ovpnlibs/assets/pievpn.$i + done + # Removed compiled openssl libs, will use platform so libs + # Reduces size of apk + # + rm -v */libcrypto.so */libssl.so + + for arch in * + do + builddir=../ovpnlibs/jniLibs/$arch + mkdir -p $builddir + cp -v $arch/*.so $builddir + done +else + exit $? +fi diff --git a/app/misc/fetchtranslations.sh b/app/misc/fetchtranslations.sh new file mode 100755 index 00000000..d92c24b5 --- /dev/null +++ b/app/misc/fetchtranslations.sh @@ -0,0 +1,38 @@ +#! /bin/sh + + +if [ "$ICSCROWDAPIKEY" != "" ] +then + echo "Generating new translation archives" + fetch -q -1 -o - http://api.crowdin.net/api/project/ics-openvpn/export?key=$ICSCROWDAPIKEY +fi + +echo "Fetch translation archive" +fetch -q http://crowdin.net/download/project/ics-openvpn.zip + +langtoinclude="ca cs de es et fr id it ja ko no nl pl ro ru sv tr uk" + +for lang in $langtoinclude +do + tar -xvf ics-openvpn.zip -C src/main res/values-$lang/ +done + +# Chinese language require zh-CN and zh-TW + +for lang in zh-CN zh-TW id +do + if [ $lang = "zh-CN" ] ; then + rlang="zh-rCN" + elif [ $lang = "zh-TW" ] ; then + rlang="zh-rTW" + elif [ $lang = "id" ] ; then + rlang="id" + fi + + echo "Fetch archive for $lang" + fetch http://crowdin.net/download/project/ics-openvpn/$lang.zip + tar -xv -C src/main/res/values-$rlang/ --strip-components 3 -f $lang.zip + rm $lang.zip +done + +rm -v ics-openvpn.zip diff --git a/app/misc/genFAQ.py b/app/misc/genFAQ.py new file mode 100755 index 00000000..b1506420 --- /dev/null +++ b/app/misc/genFAQ.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python +# Quick and dirty script to generate googlecode wiki pages + +import codecs +import xml.dom.minidom as dom +import os.path + +faqpath = "/Users/arne/oss/ics-openvpn.wiki" + +header=""" +<wiki:comment> +This page is autogenerated. Do not edit +</wiki:comment> + += Frequently aksed questions = +""" + +def getString(strid,lang): + ostr="" + if strid in strres[lang]: + ostr=strres[lang][strid] + else: + ostr=strres["default"][strid] + + ostr = ostr.replace("<","<") + ostr = ostr.replace(">",">") + ostr = ostr.replace("\\\"","\"") + ostr = ostr.replace("\\'","'") + ostr = ostr.replace("\\n","<p>") + return ostr + +def genPage(faqdom,lang): + out ="" + + #out+="#summary %s\n" % getString("faq_summary",lang) + out+= header + + for xmld in faqdom.firstChild.childNodes: + for xmle in xmld.childNodes: + if xmle.nodeName == "TextView": + style = xmle.getAttribute("style") + + textstyle = None + if style == "@style/faqhead": + textstyle = "== %s ==\n" + elif style == "@style/faqitem": + textstyle = "%s\n" + + atext = xmle.getAttribute("android:text") + aid = xmle.getAttribute("android:id") + if atext: + atextid = atext.replace("@string/","") + else: + atextid = aid.replace("@+id/","") + + out += textstyle % getString(atextid,lang) + + return out + + +strres={} + +def loadstrres(filename,lang): + xmlstr = dom.parse(filename) + strres[lang]={} + for xmld in xmlstr.childNodes: + for xmle in xmld.childNodes: + if xmle.nodeName == "string": + strname= xmle.getAttribute("name") + strdata = xmle.firstChild.data + strres[lang][strname]=strdata + + +def main(): + + loadstrres("src/main/res/values/strings.xml","default") + + faqdom = dom.parse("src/main/res/layout/faq.xml") + faq= genPage(faqdom,"default") + + open(faqpath + "/FAQ.wiki","w").write(faq) + + for directory in os.listdir("src/main/res"): + if directory.startswith("values-") and directory.find("-sw")==-1: + lang = directory.split("-",1)[1] + print lang + loadstrres("src/main/res/values-%s/strings.xml" % lang,lang) + + langdir= "%s/%s" %(faqpath,lang) + if lang=="zh-rCN": + langdir= "%s/%s" %(faqpath,"zh-Hans") + elif lang=="zh-rTW": + langdir= "%s/%s" %(faqpath,"zh-Hant") + + + if not os.path.exists(langdir): + os.mkdir(langdir) + + faq= genPage(faqdom,lang) + open("%s/FAQ.wiki" % langdir,"w").write(faq.encode("utf-8")) + + checkFormatString(lang) + +def checkFormatString(lang): + for strid in strres["default"]: + ostr = getString(strid,"default") + tstr = getString(strid,lang) + + + for f in ["%s", "%d", "%f"] + ["%%%d$s" % d for d in range(0,10)] + ["%%%d$d" % d for d in range(0,10)]: + ino = ostr.find(f)==-1 + int = tstr.find(f)==-1 + + if ino != int: + print "Mismatch",strid,f,ostr,tstr + +if __name__=="__main__": + main() diff --git a/app/misc/prepareovpn3.sh b/app/misc/prepareovpn3.sh new file mode 100755 index 00000000..15982727 --- /dev/null +++ b/app/misc/prepareovpn3.sh @@ -0,0 +1,3 @@ +export O3=$PWD/openvpn3 +mkdir -p src/ovpn3/java/net/openvpn/ovpn3 +swig -outdir src/ovpn3/java/net/openvpn/ovpn3/ -c++ -java -package net.openvpn.ovpn3 -I$O3/client -I$O3 $O3/javacli/ovpncli.i
\ No newline at end of file |