From 4b5bf0cbceebc4823c444617d19cd6dd9d6b2e02 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 18 Feb 2011 18:21:15 +0800 Subject: Say hello, to Ministro ! Qt, system wide shared libraries provider. --- Ministro/AndroidManifest.xml | 22 + Ministro/jni/Android.mk | 10 + Ministro/jni/chmode.c | 27 ++ Ministro/res/drawable-hdpi/icon.png | Bin 0 -> 3347 bytes Ministro/res/drawable-ldpi/icon.png | Bin 0 -> 3347 bytes Ministro/res/drawable-mdpi/icon.png | Bin 0 -> 3347 bytes Ministro/res/layout/main.xml | 10 + Ministro/res/values/strings.xml | 4 + .../eu/licentia/necessitas/ministro/IMinistro.aidl | 47 +++ .../necessitas/ministro/IMinistroCallback.aidl | 45 ++ .../eu/licentia/necessitas/ministro/Library.java | 143 +++++++ .../necessitas/ministro/MinistroActivity.java | 466 +++++++++++++++++++++ .../necessitas/ministro/MinistroService.java | 334 +++++++++++++++ 13 files changed, 1108 insertions(+) create mode 100644 Ministro/AndroidManifest.xml create mode 100644 Ministro/jni/Android.mk create mode 100644 Ministro/jni/chmode.c create mode 100644 Ministro/res/drawable-hdpi/icon.png create mode 100644 Ministro/res/drawable-ldpi/icon.png create mode 100644 Ministro/res/drawable-mdpi/icon.png create mode 100644 Ministro/res/layout/main.xml create mode 100644 Ministro/res/values/strings.xml create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/Library.java create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml new file mode 100644 index 0000000..2d9c162 --- /dev/null +++ b/Ministro/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/Ministro/jni/Android.mk b/Ministro/jni/Android.mk new file mode 100644 index 0000000..6e20fda --- /dev/null +++ b/Ministro/jni/Android.mk @@ -0,0 +1,10 @@ +LOCAL_PATH:= $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := libchmode +LOCAL_CFLAGS := -Werror +LOCAL_SRC_FILES := chmode.c +#LOCAL_LDLIBS := -llog + +include $(BUILD_SHARED_LIBRARY) diff --git a/Ministro/jni/chmode.c b/Ministro/jni/chmode.c new file mode 100644 index 0000000..9e175fb --- /dev/null +++ b/Ministro/jni/chmode.c @@ -0,0 +1,27 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include + +jint Java_eu_licentia_necessitas_ministro_MinistroActivity_nativeChmode(JNIEnv * env, jobject obj, jstring filePath, jint mode) +{ + const char *file = (*env)->GetStringUTFChars(env, filePath, 0); + int res = chmod(file, mode); + (*env)->ReleaseStringUTFChars(env, filePath, file); + return res; +} diff --git a/Ministro/res/drawable-hdpi/icon.png b/Ministro/res/drawable-hdpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/Ministro/res/drawable-hdpi/icon.png differ diff --git a/Ministro/res/drawable-ldpi/icon.png b/Ministro/res/drawable-ldpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/Ministro/res/drawable-ldpi/icon.png differ diff --git a/Ministro/res/drawable-mdpi/icon.png b/Ministro/res/drawable-mdpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/Ministro/res/drawable-mdpi/icon.png differ diff --git a/Ministro/res/layout/main.xml b/Ministro/res/layout/main.xml new file mode 100644 index 0000000..440a65c --- /dev/null +++ b/Ministro/res/layout/main.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml new file mode 100644 index 0000000..8debf7a --- /dev/null +++ b/Ministro/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Ministro + diff --git a/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl b/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl new file mode 100644 index 0000000..ec6a240 --- /dev/null +++ b/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl @@ -0,0 +1,47 @@ +/* + Copyright (c) 2011, BogDan Vatra + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the BogDan Vatra nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY BogDan Vatra ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package eu.licentia.necessitas.ministro; + +import eu.licentia.necessitas.ministro.IMinistroCallback; + +interface IMinistro +{ + /** + * Check/download required libs to run the application + * + * param callback - interface used by the service to notify the client when it has the libs + * param modules - Qt modules you want to check + * param appName - Application name, used to show more informations to user + * param ministroApiLevel - Ministro api level, used to check ministro service compatibility. + * Current API Level is 1 !!! + * param mecessitasApiLevel - Necessitas api level, used to download the right platform plugin. + * Current API Level is 1 !!! + */ + + void checkModules(in IMinistroCallback callback, in String[] modules, in String appName, in int ministroApiLevel, in int necessitasApiLevel); +} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl b/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl new file mode 100644 index 0000000..076736a --- /dev/null +++ b/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl @@ -0,0 +1,45 @@ +/* + Copyright (c) 2011, BogDan Vatra + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the BogDan Vatra nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY BogDan Vatra ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package eu.licentia.necessitas.ministro; + +oneway interface IMinistroCallback { + /** + * This method is called back by the Ministro service + * + * param in - libs, you have to load before load the application + * param in - evnVars, tab separated environment variables + * param in - params, tab separated paras which should be passed to the application + * param in - errorCode, the error number, the application should check the error code before starts + * - 0 no error + * - 1 no qt libs found + * - xxx + * param in - errorMessage, the error message (where available, translated into phone language). + */ + + void libs(in String[] libs,in String environmentVariables, in String applicationParams, in int errorCode, in String errorMessage); +} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/Library.java b/Ministro/src/eu/licentia/necessitas/ministro/Library.java new file mode 100644 index 0000000..91e4d9e --- /dev/null +++ b/Ministro/src/eu/licentia/necessitas/ministro/Library.java @@ -0,0 +1,143 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.necessitas.ministro; + +import java.util.ArrayList; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + + +class Library +{ + public String name = null; + public String filePath = null; + public String[] depends = null; + public String[] replaces = null; + public NeedsStruct[] needs = null; + public int level=0; + public long size = 0; + public String sha1 = null; + public String url; + + public static String[] getLibNames(Element libNode) + { + if (libNode == null) + return null; + NodeList list=libNode.getElementsByTagName("lib"); + ArrayList libs = new ArrayList(); + for (int i=0;i needs = new ArrayList(); + + for (int i=0;i + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.necessitas.ministro; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.http.client.ClientProtocolException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.ProgressDialog; +import android.content.ComponentName; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.ServiceConnection; +import android.os.AsyncTask; +import android.os.Bundle; +import android.os.IBinder; + +public class MinistroActivity extends Activity { + + private native int nativeChmode(String filepath, int mode); + + private static final String DOMAIN_NAME="ministro.licentia.eu"; + + private String[] m_modules; + private int m_id=-1; + private String m_qtLibsRootPath; + + private ServiceConnection m_ministroConnection=new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + if (getIntent().hasExtra("id") && getIntent().hasExtra("modules")) + { + m_id=getIntent().getExtras().getInt("id"); + m_modules=getIntent().getExtras().getStringArray("modules"); + AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); + builder.setMessage(getIntent().getExtras().getString("name")+ + " needs extra libraries to run.\nDo you want to download them now?") + .setCancelable(false) + .setPositiveButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + new CheckLibraries().execute(false); + } + }) + .setNegativeButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + finishMe(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + else + new CheckLibraries().execute(true); + } + + @Override + public void onServiceDisconnected(ComponentName name) { + m_ministroConnection = null; + } + }; + + void finishMe() + { + if (-1 != m_id && null != MinistroService.instance()) + MinistroService.instance().activityFinished(m_id); + finish(); + } + + private static URL getVersionUrl() throws MalformedURLException + { + return new URL("http://"+DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); + } + + private static URL getLibsXmlUrl(double version) throws MalformedURLException + { + return new URL("http://"+DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); + } + + public static double downloadVersionXmlFile() + { + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + URLConnection connection = getVersionUrl().openConnection(); + dom = builder.parse(connection.getInputStream()); + root = dom.getDocumentElement(); + root.normalize(); + double version = Double.valueOf(root.getAttribute("latest")); + if ( MinistroService.instance().getVersion() >= version ) + return MinistroService.instance().getVersion(); + + connection = getLibsXmlUrl(version).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + File file= new File(MinistroService.instance().getVersionXmlFile()); + file.delete(); + FileOutputStream outstream = new FileOutputStream(MinistroService.instance().getVersionXmlFile()); + InputStream instream = connection.getInputStream(); + byte[] tmp = new byte[2048]; + int downloaded; + while ((downloaded = instream.read(tmp)) != -1) { + outstream.write(tmp, 0, downloaded); + } + outstream.flush(); + outstream.close(); + return version; + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (ParserConfigurationException e) { + e.printStackTrace(); + } catch (IllegalStateException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + return -1; + } + private static String convertToHex(byte[] data) + { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < data.length; i++) + { + int halfbyte = (data[i] >>> 4) & 0x0F; + int two_halfs = 0; + do + { + if ((0 <= halfbyte) && (halfbyte <= 9)) + buf.append((char) ('0' + halfbyte)); + else + buf.append((char) ('a' + (halfbyte - 10))); + halfbyte = data[i] & 0x0F; + } while(two_halfs++ < 1); + } + return buf.toString(); + } + + private class DownloadManager extends AsyncTask { + + private ProgressDialog m_dialog = null; + private String m_status = "Start downloading ..."; + private int m_totalSize=0, m_totalProgressSize=0; + + @Override + protected void onPreExecute() { + m_dialog = new ProgressDialog(MinistroActivity.this); + m_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + m_dialog.setTitle("Downloading Qt libraries"); + m_dialog.setMessage(m_status); + m_dialog.setCancelable(true); + m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ + @Override + public void onCancel(DialogInterface dialog) { + DownloadManager.this.cancel(false); + } + }); + m_dialog.show(); + super.onPreExecute(); + } + + private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException + { + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + URLConnection connection = new URL(url).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + String[] paths=file.split("/"); + String path = ""; + for (int pit=0;pit { + + private ProgressDialog dialog = null; + private ArrayList newLibs = new ArrayList(); + + @Override + protected void onPreExecute() { + dialog = ProgressDialog.show(MinistroActivity.this, "", + "Checking libraries. Please wait...", true, true); + super.onPreExecute(); + } + + @Override + protected Double doInBackground(Boolean... update) { + double version=0.0; + try { + ArrayList libraries = MinistroService.instance().getAvailableLibraries(); + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + + if (update[0] || MinistroService.instance().getVersion()<0) + version = downloadVersionXmlFile(); + else + version = MinistroService.instance().getVersion(); + + dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); + + factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + root = dom.getDocumentElement(); + root.normalize(); + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, true); + if (update[0]) + { // check for updates + for (int j=0;j0 && result>0) + { + MinistroService.instance().refreshLibraries(); + Library[] libs = new Library[newLibs.size()]; + libs = newLibs.toArray(libs); + new DownloadManager().execute(libs); + } + else + finishMe(); + super.onPostExecute(result); + } + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; + File dir=new File(m_qtLibsRootPath); + dir.mkdirs(); + nativeChmode(m_qtLibsRootPath, 0755); + bindService(new Intent("eu.licentia.necessitas.ministro.IMinistro"), m_ministroConnection, Context.BIND_AUTO_CREATE); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unbindService(m_ministroConnection); + } + + static { + System.loadLibrary("chmode"); + } +} \ No newline at end of file diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java new file mode 100644 index 0000000..fedb727 --- /dev/null +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -0,0 +1,334 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.necessitas.ministro; + +import java.io.File; +import java.io.FileInputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import android.app.Service; +import android.content.Intent; +import android.os.IBinder; +import android.os.RemoteException; + +public class MinistroService extends Service { + // used to check Ministro Service compatibility + private static final int MINISTRO_MIN_API_LEVEL=1; + private static final int MINISTRO_MAX_API_LEVEL=1; + + // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) + private static MinistroService m_instance = null; + private String m_environmentVariables = null; + private String m_applicationParams = null; + public static MinistroService instance() + { + return m_instance; + } + public MinistroService() { + m_instance = this; + } + + private int m_actionId=0; // last actions id + + + // current downloaded libraries + private ArrayList m_downloadedLibraries = new ArrayList(); + + ArrayList getDownloadedLibraries() + { + synchronized (this) { + return m_downloadedLibraries; + } + } + + // current available libraries + private ArrayList m_availableLibraries = new ArrayList(); + ArrayList getAvailableLibraries() + { + synchronized (this) { + return m_availableLibraries; + } + } + + + // this method reload all downloaded libraries + ArrayList refreshLibraries() + { + synchronized (this) { + try { + m_downloadedLibraries.clear(); + m_availableLibraries.clear(); + if (! (new File(m_versionXmlFile)).exists()) + MinistroActivity.downloadVersionXmlFile(); + DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); + Document dom = documentBuilder.parse(new FileInputStream(m_versionXmlFile)); + Element root = dom.getDocumentElement(); + m_version = Double.valueOf(root.getAttribute("version")); + m_applicationParams=root.getAttribute("applicationParameters"); + m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + m_environmentVariables=root.getAttribute("environmentVariables"); + m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + root.normalize(); + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, false); + if ((new File(m_qtLibsRootPath + lib.filePath)).exists()) + m_downloadedLibraries.add(lib); + m_availableLibraries.add(lib); + } + // Workaround for an unbelievable bug !!! + try { + node = node.getNextSibling(); + } catch (Exception e) { + e.printStackTrace(); + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return m_downloadedLibraries; + } + + // version xml file + private String m_versionXmlFile; + public String getVersionXmlFile() + { + return m_versionXmlFile; + } + + private String m_qtLibsRootPath; + public String getQtLibsRootPath() + { + return m_qtLibsRootPath; + } + + private double m_version = -1; + public double getVersion() + { + return m_version; + } + + // class used to fire an action, this class is used + // to start an activity when user needs more libraries to start its application + class ActionStruct + { + ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) + { + id=++m_actionId; + callback = cb; + modules = m; + Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + intent.putExtra("id", id); + String[] libs = new String[notFoundMoules.size()]; + libs = notFoundMoules.toArray(libs); + intent.putExtra("modules", libs); + intent.putExtra("name", appName); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try + { + MinistroService.this.startActivity(intent); + } + catch(Exception e) + { + e.printStackTrace(); + } + } + public int id; + public IMinistroCallback callback; + public String[] modules; + } + + // we can have more then one action + ArrayList m_actions = new ArrayList(); + + @Override + public void onCreate() { + m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; + m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; + refreshLibraries(); + super.onCreate(); + } + + public void activityFinished(int id) + { + for (int i=0;i libraries = new ArrayList(); + Collections.addAll(libraries, action.modules); + boolean res = checkModules(libraries, null); + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + if (res) + action.callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); + else + action.callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); + } catch (RemoteException e) { + e.printStackTrace(); + } + m_actions.remove(i); + break; + } + } + if (m_actions.size() == 0) + m_actionId = 0; + } + + @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent){ + return new IMinistro.Stub() { + @Override + public void checkModules(IMinistroCallback callback, + String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { + + if (ministroApiLevelMINISTRO_MAX_API_LEVEL) + { + // panic !!! Ministro service is not compatible, user should upgrade Ministro package + return; + } + + // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning + // and they will deploying apps to Android Market, so let's try to give them a chance. + + // this method is called by the activity client who needs modules. + ArrayList notFoundModules = new ArrayList(); + ArrayList libraries = new ArrayList(); + Collections.addAll(libraries, modules); + if (MinistroService.this.checkModules(libraries, notFoundModules)) + { + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. + } + else + m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. + } + }; + } + + // check/add all modules. Returns true if all modules are found. + @SuppressWarnings("unchecked") + private boolean checkModules(Object lbs, Object notFoundModules) + { + ArrayList modules= new ArrayList(); + ArrayList libs = (ArrayList) lbs; + boolean res=true; + for (int i=0;i modules = (ArrayList) modulesObject; + ArrayList notFoundModules = (ArrayList) notFoundModulesObject; + if (modules == null) + return false; // we are in deep shit if this happens + + for (int i=0;i { + @Override + public int compare(Module a, Module b) { + return a.level-b.level; + } +} + +// extra class used to manipulate libraries, it is ~ the same as Library class, but it has less fields +class Module +{ + String path; + String name; + int level; +} -- cgit v1.2.3 From 10cd3ea938803dcfc586f16cce9f86939a8b9d81 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 3 Mar 2011 12:02:36 +0800 Subject: Add server xml files --- www/qt/android/armeabi-v7a | 1 + www/qt/android/armeabi/android-10 | 1 + www/qt/android/armeabi/android-11 | 1 + www/qt/android/armeabi/android-4/libs-0.1.xml | 122 ++++++++++++++++++++++++++ www/qt/android/armeabi/android-4/versions.xml | 3 + www/qt/android/armeabi/android-5/libs-0.1.xml | 122 ++++++++++++++++++++++++++ www/qt/android/armeabi/android-5/versions.xml | 3 + www/qt/android/armeabi/android-6 | 1 + www/qt/android/armeabi/android-7 | 1 + www/qt/android/armeabi/android-8/libs-0.1.xml | 122 ++++++++++++++++++++++++++ www/qt/android/armeabi/android-8/versions.xml | 3 + www/qt/android/armeabi/android-9 | 1 + 12 files changed, 381 insertions(+) create mode 120000 www/qt/android/armeabi-v7a create mode 120000 www/qt/android/armeabi/android-10 create mode 120000 www/qt/android/armeabi/android-11 create mode 100644 www/qt/android/armeabi/android-4/libs-0.1.xml create mode 100644 www/qt/android/armeabi/android-4/versions.xml create mode 100644 www/qt/android/armeabi/android-5/libs-0.1.xml create mode 100644 www/qt/android/armeabi/android-5/versions.xml create mode 120000 www/qt/android/armeabi/android-6 create mode 120000 www/qt/android/armeabi/android-7 create mode 100644 www/qt/android/armeabi/android-8/libs-0.1.xml create mode 100644 www/qt/android/armeabi/android-8/versions.xml create mode 120000 www/qt/android/armeabi/android-9 diff --git a/www/qt/android/armeabi-v7a b/www/qt/android/armeabi-v7a new file mode 120000 index 0000000..fb2068a --- /dev/null +++ b/www/qt/android/armeabi-v7a @@ -0,0 +1 @@ +armeabi \ No newline at end of file diff --git a/www/qt/android/armeabi/android-10 b/www/qt/android/armeabi/android-10 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi/android-10 @@ -0,0 +1 @@ +android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-11 b/www/qt/android/armeabi/android-11 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi/android-11 @@ -0,0 +1 @@ +android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-4/libs-0.1.xml b/www/qt/android/armeabi/android-4/libs-0.1.xml new file mode 100644 index 0000000..c613d41 --- /dev/null +++ b/www/qt/android/armeabi/android-4/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi/android-4/versions.xml b/www/qt/android/armeabi/android-4/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi/android-4/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi/android-5/libs-0.1.xml b/www/qt/android/armeabi/android-5/libs-0.1.xml new file mode 100644 index 0000000..d1e62c8 --- /dev/null +++ b/www/qt/android/armeabi/android-5/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi/android-5/versions.xml b/www/qt/android/armeabi/android-5/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi/android-5/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi/android-6 b/www/qt/android/armeabi/android-6 new file mode 120000 index 0000000..509a4b0 --- /dev/null +++ b/www/qt/android/armeabi/android-6 @@ -0,0 +1 @@ +android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-7 b/www/qt/android/armeabi/android-7 new file mode 120000 index 0000000..509a4b0 --- /dev/null +++ b/www/qt/android/armeabi/android-7 @@ -0,0 +1 @@ +android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-8/libs-0.1.xml b/www/qt/android/armeabi/android-8/libs-0.1.xml new file mode 100644 index 0000000..10ada0f --- /dev/null +++ b/www/qt/android/armeabi/android-8/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi/android-8/versions.xml b/www/qt/android/armeabi/android-8/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi/android-8/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi/android-9 b/www/qt/android/armeabi/android-9 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi/android-9 @@ -0,0 +1 @@ +android-8 \ No newline at end of file -- cgit v1.2.3 From f1866d39eda86ece63bf502217d9b519a9a78b62 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 11 Apr 2011 22:07:25 +0200 Subject: First installer script files used to create next Necessitas SDK. --- Necessitas_SDK/build_sdk.sh | 211 ++++++++++++++++++ Necessitas_SDK/config/config.xml | 21 ++ Necessitas_SDK/config/license.txt | 1 + Necessitas_SDK/config/logo.png | Bin 0 -> 1592 bytes Necessitas_SDK/config/qticon.icns | Bin 0 -> 162568 bytes Necessitas_SDK/config/qticon.ico | Bin 0 -> 355574 bytes Necessitas_SDK/config/qticon.png | Bin 0 -> 2109 bytes Necessitas_SDK/config/watermark.png | Bin 0 -> 14462 bytes .../meta/installscript.qs | 58 +++++ .../meta/package.xml | 12 + .../org.kde.necessitas.misc.ndk/meta/package.xml | 8 + .../meta/installscript.qs | 46 ++++ .../meta/package.xml | 9 + .../org.kde.necessitas.misc.sdk/meta/package.xml | 8 + .../org.kde.necessitas.misc/meta/package.xml | 9 + .../meta/installscript.qs | 148 +++++++++++++ .../meta/package.xml | 12 + .../org.kde.necessitas.tools/meta/package.xml | 9 + .../org.kde.necessitas/meta/installscript.qs | 246 +++++++++++++++++++++ .../packages/org.kde.necessitas/meta/package.xml | 10 + 20 files changed, 808 insertions(+) create mode 100755 Necessitas_SDK/build_sdk.sh create mode 100644 Necessitas_SDK/config/config.xml create mode 100644 Necessitas_SDK/config/license.txt create mode 100644 Necessitas_SDK/config/logo.png create mode 100644 Necessitas_SDK/config/qticon.icns create mode 100644 Necessitas_SDK/config/qticon.ico create mode 100644 Necessitas_SDK/config/qticon.png create mode 100644 Necessitas_SDK/config/watermark.png create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh new file mode 100755 index 0000000..e6c276f --- /dev/null +++ b/Necessitas_SDK/build_sdk.sh @@ -0,0 +1,211 @@ +#!/bin/bash + +REPO_SRC_DIR=$PWD +TEMP_PATH=/tmp/necessitas +mkdir -p $TEMP_PATH +pushd $TEMP_PATH + +HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 +STATIC_QT_PATH="" +SHARED_QT_PATH="" +SDK_TOOLS_PATH="" + +function error_msg +{ + echo $1 >&2 + exit 1 +} + +function removeAndExit +{ + rm -fr $1 && error_msg "Can't download $1" +} + +function downloadIfNotExits +{ + if [ ! -f $1 ] + then + wget $2 || removeAndExit $1 + fi +} + +function prepareHostQt +{ + # download compile & compile qt, it is used to compile the installer + downloadIfNotExits $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz + + if [ ! -d $HOST_QT_VERSION ] + then + tar xvfz $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" + fi + + #build qt statically, needed by Sdk installer + mkdir build-$HOST_QT_VERSION-static + pushd build-$HOST_QT_VERSION-static + STATIC_QT_PATH=$PWD + if [ ! -f all_done ] + then + rm -fr * + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + make -j4 || error_msg "Can't compile $HOST_QT_VERSION" + echo "all done">all_done + fi + popd + + #build qt shared, needed by QtCreator + mkdir build-$HOST_QT_VERSION-shared + pushd build-$HOST_QT_VERSION-shared + SHARED_QT_PATH=$PWD + if [ ! -f all_done ] + then + rm -fr * + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + make -j4 || error_msg "Can't compile $HOST_QT_VERSION" + echo "all done">all_done + fi + popd + +} + +function perpareSdkInstallerTools +{ + # get installer source code + if [ ! -d necessitas-installer-framework ] + then + git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git || error_msg "Can't clone necessitas-installer-framework" + fi + + pushd necessitas-installer-framework/installerbuilder + SDK_TOOLS_PATH=$PWD/bin + + if [ ! -f all_done ] + then + git checkout master + $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" + make -j4 || error_msg "Can't compile necessitas-installer-framework" + echo "all done">all_done + fi + popd +} + + +function perpareNecessitasQtCreator +{ + # get installer source code + if [ ! -d android-qt-creator ] + then + git clone git://gitorious.org/~taipan/qt-creator/android-qt-creator.git || error_msg "Can't clone android-qt-creator" + fi + + pushd android-qt-creator + + if [ ! -f all_done ] + then + git checkout testing + $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" + make -j4 || error_msg "Can't compile android-qt-creator" + echo "all done">all_done + fi + INSTALL_ROOT=$PWD/QtCreator make install + cp -a $SHARED_QT_PATH/lib $PWD/QtCreator/lib + cp -a $SHARED_QT_PATH/imports $PWD/QtCreator/imports + cp -a bin/necessitas $PWD/QtCreator/bin/ + mkdir $PWD/QtCreator/images + cp -a bin/necessitas*.png $PWD/QtCreator/images/ + $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-linux-x86.7z + mv qtcreator-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z + popd +} + + +function perpareNDKs +{ + # repack linux-x86 NDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + then + downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z + mv android-ndk-r5b-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z + rm -fr android-ndk-r5b + fi + + # repack windows NDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + then + downloadIfNotExits android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip + if [ ! -d android-ndk-r5b ] + then + unzip android-ndk-r5b-windows.zip + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z + mv android-ndk-r5b-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z + rm -fr android-ndk-r5b + fi + + # repack mac NDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + then + downloadIfNotExits android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z + mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z + rm -fr android-ndk-r5b + fi +} + +function perpareSDKs +{ + # prepare linux-x86 SDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + then + downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z + mv android-ndk-r5b-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z + rm -fr android-ndk-r5b + fi + + # prepare windows SDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + then + downloadIfNotExits android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip + if [ ! -d android-ndk-r5b ] + then + unzip android-ndk-r5b-windows.zip + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z + mv android-ndk-r5b-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z + rm -fr android-ndk-r5b + fi + + # repack mac NDK + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + then + downloadIfNotExits android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z + mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z + rm -fr android-ndk-r5b + fi +} + + +prepareHostQt +perpareSdkInstallerTools +perpareNecessitasQtCreator +perpareNDKs +popd + diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml new file mode 100644 index 0000000..73f17c3 --- /dev/null +++ b/Necessitas_SDK/config/config.xml @@ -0,0 +1,21 @@ + + + Necessitas Qt SDK + 1.0.0 + Necessitas Qt SDK + Necessitas Qt SDK + KDE.org + http://necessitas.kde.org + license.txt + qticon + watermark.png + SDKMaintain + + + http://localhost/necessitas + true + + + + @homeDir@/necessitas + diff --git a/Necessitas_SDK/config/license.txt b/Necessitas_SDK/config/license.txt new file mode 100644 index 0000000..8da8489 --- /dev/null +++ b/Necessitas_SDK/config/license.txt @@ -0,0 +1 @@ +license diff --git a/Necessitas_SDK/config/logo.png b/Necessitas_SDK/config/logo.png new file mode 100644 index 0000000..8a95626 Binary files /dev/null and b/Necessitas_SDK/config/logo.png differ diff --git a/Necessitas_SDK/config/qticon.icns b/Necessitas_SDK/config/qticon.icns new file mode 100644 index 0000000..6291dd3 Binary files /dev/null and b/Necessitas_SDK/config/qticon.icns differ diff --git a/Necessitas_SDK/config/qticon.ico b/Necessitas_SDK/config/qticon.ico new file mode 100644 index 0000000..9e1b83f Binary files /dev/null and b/Necessitas_SDK/config/qticon.ico differ diff --git a/Necessitas_SDK/config/qticon.png b/Necessitas_SDK/config/qticon.png new file mode 100644 index 0000000..d68b205 Binary files /dev/null and b/Necessitas_SDK/config/qticon.png differ diff --git a/Necessitas_SDK/config/watermark.png b/Necessitas_SDK/config/watermark.png new file mode 100644 index 0000000..b07780d Binary files /dev/null and b/Necessitas_SDK/config/watermark.png differ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs new file mode 100644 index 0000000..b6491a7 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs @@ -0,0 +1,58 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-ndk-r5b-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-ndk-r5b-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-ndk-r5b-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set NDK Location + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKLocation", + "@TargetDir@/android-ndk-r5b" ); + // set NDK toolchain version + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKToolchainVersion", + "arm-linux-androideabi-4.4.3" ); + + // set DEFAULT gdb location + var gdbPath = "@TargetDir@/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + if (installer.value("os") == "x11") + { + gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; + } + else if (installer.value("os") == "win") + { + gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; + } + else if (installer.value("os") == "mac") + { + gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml new file mode 100644 index 0000000..fc4fe73 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml @@ -0,0 +1,12 @@ + + + Android NDK-r5b + Android NDK-r5b + 5.0.0-b + 2011-04-09 + org.kde.necessitas.misc.ndk.r5b + + org.kde.necessitas.tools.qtcreator + 90 + 90 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml new file mode 100644 index 0000000..7ce9c98 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml @@ -0,0 +1,8 @@ + + + Android NDK + Android NDK. + 1.0.0 + 2011-04-09 + org.kde.necessitas.misc.ndk + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs new file mode 100644 index 0000000..b767756 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs @@ -0,0 +1,46 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-sdk-linux_x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-sdk-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-sdk-mac_x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location + + var gdbPath; + if (installer.value("os") == "x11") + { + gdbPath="@TargetDir@/android-sdk-linux_x86"; + } + else if (installer.value("os") == "win") + { + gdbPath="@TargetDir@/android-sdk-windows"; + } + else if (installer.value("os") == "mac") + { + gdbPath="@TargetDir@/android-sdk-mac_x86"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "SDKLocation", + sdkPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml new file mode 100644 index 0000000..c66972b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -0,0 +1,9 @@ + + + Android SDK + Android SDK + 10.0.0 + 2011-04-09 + org.kde.necessitas.misc.sdk.base + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml new file mode 100644 index 0000000..686544d --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml @@ -0,0 +1,8 @@ + + + Android SDK + Android SDK. + 1.0.0 + 2011-04-09 + org.kde.necessitas.misc.sdk + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml new file mode 100644 index 0000000..c8fa0d1 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml @@ -0,0 +1,9 @@ + + + Miscellaneous + Tools and Applications to ease development. + 1.0.0 + 2011-04-09 + org.kde.necessitas.misc + 90 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs new file mode 100644 index 0000000..6644d30 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -0,0 +1,148 @@ +// constructor +function Component() +{ + installer.installationFinished.connect( this, Component.prototype.installationFinished ); + if (installer.value("os") == "win") + { + component.selectedChanged.connect( this, checkWhetherStopProcessIsNeeded ); + //it can't be unselected so we need to check it manually + checkWhetherStopProcessIsNeeded(); + } + + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "QtCreator.7z" ); +// component.addDownloadableArchive( "qtcreator-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtcreator-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "qtcreator-darwin-x86.7z" ); + } + } +} + +checkWhetherStopProcessIsNeeded = function() +{ + if (installer.value("os") != "win") + return; + if (component.installationRequested() || component.uninstallationRequested()) + { + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qtcreator.exe", true); + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/linguist.exe", true); + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qmlviewer.exe", true); + } + else + { + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qtcreator.exe", false); + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/linguist.exe", false); + component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qmlviewer.exe", false); + } + +} + + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); + if ( installer.value("os") == "x11" ) + { +// component.addOperation( "SetPluginPathOnQtCore", +// "@TargetDir@/QtCreator/lib/qtcreator", +// "@TargetDir@/QtCreator/lib/qtcreator/plugins"); + + component.addOperation( "InstallIcons", "@TargetDir@/QtCreator/icons" ); + component.addOperation( "CreateDesktopEntry", + "Necessitas-qtcreator.desktop", + "Type=Application\nExec=@TargetDir@/QtCreator/bin/necessitas\nPath=@homeDir@\nName=Necessitas Qt Creator\nGenericName=The IDE of choice for development on Android devices.\nIcon=necessitas\nTerminal=false\nCategories=Development;IDE;Qt;\nMimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;" + ); + } + if ( installer.value("os") == "win" ) + { + component.addOperation( "SetPluginPathOnQtCore", + "@TargetDir@/QtCreator/bin", + "@TargetDir@/QtCreator/plugins"); + component.addOperation( "CreateShortcut", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe", + "@StartMenuDir@/Qt Creator.lnk", + "workingDirectory=@homeDir@" ); + + var headerExtensions = new Array("h", "hh", "hxx", "h++", "hpp", "hpp"); + + for (var i = 0; i < headerExtensions.length; ++i) { + component.addOperation( "RegisterFileType", + headerExtensions[i], + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C++ Header file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,3"); + } + + var cppExtensions = new Array("cc", "cxx", "c++", "cp", "cpp"); + + for (var i = 0; i < cppExtensions.length; ++i) { + component.addOperation( "RegisterFileType", + cppExtensions[i], + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C++ Source file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,2"); + } + + component.addOperation( "RegisterFileType", + "c", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C Source file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,1"); + component.addOperation( "RegisterFileType", + "ui", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt UI file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,4"); + component.addOperation( "RegisterFileType", + "pro", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Project file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,5"); + component.addOperation( "RegisterFileType", + "pri", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Project Include file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); + + } +} + +Component.prototype.installationFinished = function() +{ + if (installer.isInstaller() && component.selected) + { + if (installer.value("os") == "win") + { + installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\necessitas.bat"); + print("installer.value(RunProgram)" + installer.value("RunProgram")); + installer.setValue("RunProgramDescription", "Launch Qt Creator"); + } + else if (installer.value("os") == "x11") + { + installer.setValue("RunProgram", installer.value("TargetDir") + "/QtCreator/bin/necessitas"); + installer.setValue("RunProgramDescription", "Launch Qt Creator"); + } + else if (installer.value("os") == "mac") + { + installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/Qt Creator.app/Contents/MacOS/Qt Creator\""); + installer.setValue("RunProgramDescription", "Launch Qt Creator"); + } + } +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml new file mode 100644 index 0000000..58540f1 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -0,0 +1,12 @@ + + + Necessitas Qt Creator Application + The IDE for Qt development on Android devices. + 2.1.81 + 2011-04-09 + org.kde.necessitas.tools.qtcreator + + true + 0 + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml new file mode 100644 index 0000000..26c1754 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml @@ -0,0 +1,9 @@ + + + Development Tools + Tools to develop Qt applications on Android devices. + 1.0.0 + 2011-04-09 + org.kde.necessitas.tools + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs new file mode 100644 index 0000000..14c5317 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs @@ -0,0 +1,246 @@ +// constructor +function Component() +{ + component.loaded.connect( this, Component.prototype.loaded ); + + if(installer.isInstaller()) { + //bugfix to get the value at the beginning - before the wizard is not shown, we can't use installer.setDefaultPageVisible + installer.currentPageChanged.connect( this, updateComponentSelectionPageNeedState ); + } + + if (installer.value("os") == "x11") { + compiler = installer.execute( "/usr/bin/which", new Array( "g++" ) )[0]; + if (!compiler) { + QMessageBox["warning"]( "compilerError", "No compiler!", "You need a C++ compiler. Please install it using the System Package Management tools." ); + } + } + + if (installer.value("os") == "mac") { + compiler = installer.execute( "/usr/bin/which", new Array( "g++" ) )[0]; + if (!compiler) { + QMessageBox["warning"]( "compilerError", "No compiler!", "You need a C++ compiler to be able install the Qt SDK. Please install the latest Xcode first before invoking this installer!" ); + } + } + + if (installer.value("os") == "win") { + refreshInstalledWindowsCompilerValues(); + } + + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "readme.7z" ); + } + installer.installationFinished.connect( this, Component.prototype.installationFinishedPageIsShown ); + installer.finishButtonClicked.connect( this, Component.prototype.installationFinished ); +} + +// called as soon as the component was loaded +Component.prototype.loaded = function() +{ + try + { + if(installer.isInstaller()) { + // preselect the complete component tree + component.selected = true; + + adjustToDefaultSelection(); + + installer.addWizardPageItem( component, "InstallationKindWidget", QInstaller.TargetDirectory ); + component.userInterface( "InstallationKindWidget" ).DefaultRadioButton['toggled(bool)'].connect(this, changeInstallationKind); + component.userInterface( "InstallationKindWidget" ).CustomRadioButton['toggled(bool)'].connect(this, updateComponentSelectionPageNeedState); + + if (installer.value("QtCreatorSettingsFile") != "") + installer.addWizardPageItem( component, "CreatorSettingsWidget", QInstaller.TargetDirectory ); + } + + installer.setValue("GlobalExamplesDir", "Examples"); + installer.setValue("GlobalDemosDir", "Demos"); + installer.setValue("QtVersionLabel", "Qt SDK"); + + } + catch( e ) + { + print( e ); + } +} + +refreshMinGWInstallerValue = function() +{ + if( typeof installer.componentByName("com.nokia.ndk.misc.mingw") == 'undefined' ) { + print("Warning: no MinGW package is available"); + installer.setSharedFlag("compilerMinGW", false); + } else { + installer.setSharedFlag("compilerMinGW", installer.componentByName("com.nokia.ndk.misc.mingw").selected); + } +} + +refreshInstalledWindowsCompilerValues = function() +{ + try + { + //Visual Studio 2008 check + if(installer.environmentVariable("VS90COMNTOOLS")) { + //print("Visual Studio 2008 environment is found") + installer.setSharedFlag("compilerVS90", true); + } else { + installer.setSharedFlag("compilerVS90", false); + } + + //Visual Studio 2005 check + if(installer.environmentVariable("VS80COMNTOOLS")) { + //print("Visual Studio 2005 environment is found") + installer.setSharedFlag("compilerVS80", true); + } else { + installer.setSharedFlag("compilerVS80", false); + } + + //MinGW check + refreshMinGWInstallerValue(); + if (typeof installer.componentByName("com.nokia.ndk.misc.mingw") != 'undefined') + { + installer.componentByName("com.nokia.ndk.misc.mingw").selectedChanged.connect( this, refreshMinGWInstallerValue ); + } + + installer.setSharedFlag("compilersInitialized", true); + } + catch( e ) + { + print( e ); + } +} + +updateComponentSelectionPageNeedState = function() +{ + installer.setDefaultPageVisible( QInstaller.ComponentSelection, component.userInterface( "InstallationKindWidget" ).CustomRadioButton.checked ); +} + + +changeInstallationKind = function() +{ + //if the DefaultRadioButton is choosen we have to select all components again + if( component.userInterface( "InstallationKindWidget" ).DefaultRadioButton.checked ) { + //reset all selections + component.selected = false; + //now set the full selection again(the change from unselected to selected results in calling the preselect functions in other scripts) + component.selected = true; + adjustToDefaultSelection(); + } +} + +adjustToDefaultSelection = function() +{ + //unselect all experimental things + if (installer.componentByName("com.nokia.ndk.experimental") != null + && installer.componentByName("com.nokia.ndk.experimental").selected) + { + installer.componentByName("com.nokia.ndk.experimental").selected = false; + } + + //remove sources + if (installer.componentByName("com.nokia.ndk.misc.qtsources") != null && + installer.componentByName("com.nokia.ndk.misc.qtsources").selected) + { + installer.componentByName("com.nokia.ndk.misc.qtsources").selected = false; + } + // deselect Desktop Qt 4.7.1 by default + if (installer.componentByName("com.nokia.ndk.tools.desktop.471") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.471").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.471").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.471.2005") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.471.2005").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.471.2005").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.471.2008") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.471.2008").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.471.2008").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw").selected = false; + } + // deselect Desktop Qt 4.7.2 by default + if (installer.componentByName("com.nokia.ndk.tools.desktop.472") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.472").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.472").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.472.2005") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.472.2005").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.472.2005").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.472.2008") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.472.2008").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.472.2008").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc").selected = false; + } + if (installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw") != null && + installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw").selected) + { + installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw").selected = false; + } +} + + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); + if (component.userInterface( "CreatorSettingsWidget" ).removeCheckBox.checked ) { + component.addOperation( "SimpleMoveFile", "@QtCreatorSettingsFile@", "@QtCreatorSettingsFile@_backup"); + } + if ( installer.value("os") == "win" ) + { + component.addOperation( "CreateShortcut", "@TargetDir@/readme/index.html", "@StartMenuDir@/Getting Started with the Qt SDK.lnk" ); + } +} + +Component.prototype.installationFinishedPageIsShown = function() +{ + try + { + if (installer.isInstaller() && installer.status == QInstaller.InstallerSucceeded) + { + installer.addWizardPageItem( component, "ReadMeCheckBoxForm", QInstaller.InstallationFinished ); + } + } + catch( e ) + { + print( e ); + } +} + +Component.prototype.installationFinished = function() +{ + try + { + if (installer.isInstaller() && installer.status == QInstaller.InstallerSucceeded) + { + var isReadMeCheckBoxChecked = component.userInterface( "ReadMeCheckBoxForm" ).readMeCheckBox.checked; + if (isReadMeCheckBoxChecked) + { + QDesktopServices.openUrl("file:///" + installer.value("TargetDir") + "/readme/index.html"); + } + } + } + catch( e ) + { + print( e ); + } +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml new file mode 100644 index 0000000..fbc9c60 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -0,0 +1,10 @@ + + + Necessitas Qt SDK + Meta package needed to install the SDK + 1.0.0 + 2011-04-09 + org.kde.necessitas + + 1 + -- cgit v1.2.3 From d617a2902fc40647f7035fcf75a315d5322617ee Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 14 Apr 2011 14:58:12 +0300 Subject: Complete NDKs, SDKs and NecessitasQt --- Necessitas_SDK/build_sdk.sh | 245 +++++++++++++++++++++++++++++++++----------- 1 file changed, 188 insertions(+), 57 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e6c276f..4a5eba0 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1,15 +1,17 @@ #!/bin/bash REPO_SRC_DIR=$PWD -TEMP_PATH=/tmp/necessitas +TEMP_PATH=/var/necessitas mkdir -p $TEMP_PATH pushd $TEMP_PATH HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 +NECESSITAS_QT_VERSION=4761 STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" + function error_msg { echo $1 >&2 @@ -91,48 +93,44 @@ function perpareSdkInstallerTools function perpareNecessitasQtCreator { - # get installer source code - if [ ! -d android-qt-creator ] + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z ] then - git clone git://gitorious.org/~taipan/qt-creator/android-qt-creator.git || error_msg "Can't clone android-qt-creator" - fi + if [ ! -d android-qt-creator ] + then + git clone git://anongit.kde.org/android-qt-creator.git android-qt-creator || error_msg "Can't clone android-qt-creator" + fi - pushd android-qt-creator + pushd android-qt-creator - if [ ! -f all_done ] - then - git checkout testing - $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" - make -j4 || error_msg "Can't compile android-qt-creator" - echo "all done">all_done + if [ ! -f all_done ] + then + git checkout testing + $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" + make -j4 || error_msg "Can't compile android-qt-creator" + echo "all done">all_done + fi + rm -fr QtCreator + INSTALL_ROOT=$PWD/QtCreator make install + mkdir -p $PWD/QtCreator/Qt/lib + mkdir -p $PWD/QtCreator/Qt/imports + cp -a $SHARED_QT_PATH/lib/* $PWD/QtCreator/Qt/lib/ + rm -fr $PWD/QtCreator/Qt/lib/pkgconfig + find $PWD/QtCreator/Qt -name *.la | xargs rm -fr + find $PWD/QtCreator/Qt -name *.prl | xargs rm -fr + cp -a $SHARED_QT_PATH/imports/* $PWD/QtCreator/Qt/imports/ + cp -a bin/necessitas $PWD/QtCreator/bin/ + mkdir $PWD/QtCreator/images + cp -a bin/necessitas*.png $PWD/QtCreator/images/ + $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-linux-x86.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data + mv qtcreator-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z + popd fi - INSTALL_ROOT=$PWD/QtCreator make install - cp -a $SHARED_QT_PATH/lib $PWD/QtCreator/lib - cp -a $SHARED_QT_PATH/imports $PWD/QtCreator/imports - cp -a bin/necessitas $PWD/QtCreator/bin/ - mkdir $PWD/QtCreator/images - cp -a bin/necessitas*.png $PWD/QtCreator/images/ - $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-linux-x86.7z - mv qtcreator-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z - popd } function perpareNDKs { - # repack linux-x86 NDK - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] - then - downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] - then - tar xvfa android-ndk-r5b-linux-x86.tar.bz2 - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z - mv android-ndk-r5b-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z - rm -fr android-ndk-r5b - fi - # repack windows NDK if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] then @@ -142,6 +140,7 @@ function perpareNDKs unzip android-ndk-r5b-windows.zip fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data mv android-ndk-r5b-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z rm -fr android-ndk-r5b fi @@ -155,14 +154,12 @@ function perpareNDKs tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z rm -fr android-ndk-r5b fi -} -function perpareSDKs -{ - # prepare linux-x86 SDK + # repack linux-x86 NDK, it must be the last one because we need it to build qt if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] then downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 @@ -171,41 +168,175 @@ function perpareSDKs tar xvfa android-ndk-r5b-linux-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data mv android-ndk-r5b-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z - rm -fr android-ndk-r5b fi +} - # prepare windows SDK - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] +function repackSDK +{ + package_name=${3//-/_} # replace - with _ + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z ] then - downloadIfNotExits android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip - if [ ! -d android-ndk-r5b ] + downloadIfNotExits $1.zip http://dl.google.com/android/repository/$1.zip + unzip $1.zip + mkdir -p $2 + mv $1 $2/$3 + $SDK_TOOLS_PATH/archivegen $2 $1.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data + mv $1.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z + rm -fr $2 + fi +} + +function perpareSDKs +{ + echo "prepare SDKs" + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] + then + downloadIfNotExits android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz + if [ ! -d android-sdk-linux_x86 ] then - unzip android-ndk-r5b-windows.zip + tar xvfa android-sdk_r10-linux_x86.tgz fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z - mv android-ndk-r5b-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z - rm -fr android-ndk-r5b + $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_r10-linux_x86.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-linux_x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z + rm -fr android-sdk-linux_x86 fi - # repack mac NDK - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] then - downloadIfNotExits android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] + downloadIfNotExits android-sdk_r10-mac_x86.zip http://dl.google.com/android/android-sdk_r10-mac_x86.zip + if [ ! -d android-sdk-mac_x86 ] then - tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + unzip android-sdk_r10-mac_x86.zip fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z - mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z - rm -fr android-ndk-r5b + $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_r10-mac_x86.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-mac_x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z + rm -fr android-sdk-mac_x86 fi + + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] + then + downloadIfNotExits android-sdk_r10-windows.zip http://dl.google.com/android/android-sdk_r10-windows.zip + if [ ! -d android-sdk-windows ] + then + unzip android-sdk_r10-windows.zip + fi + $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_r10-windows.7z + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z + rm -fr android-sdk-windows + fi + + # repack platform-tools + repackSDK platform-tools_r03-linux android-sdk-linux_x86 platform-tools + repackSDK platform-tools_r03-macosx android-sdk-mac_x86 platform-tools +# should we also include ant binary for windows ? + repackSDK platform-tools_r03-windows android-sdk-windows platform-tools + + # repack api-4 + repackSDK android-1.6_r03-linux android-sdk-linux_x86/platforms android-4 + repackSDK android-1.6_r03-macosx android-sdk-mac_x86/platforms android-4 + repackSDK android-1.6_r03-windows android-sdk-windows/platforms android-4 + + # repack api-5 + repackSDK android-2.0_r01-linux android-sdk-linux_x86/platforms android-5 + repackSDK android-2.0_r01-macosx android-sdk-mac_x86/platforms android-5 + repackSDK android-2.0_r01-windows android-sdk-windows/platforms android-5 + + # repack api-6 + repackSDK android-2.0.1_r01-linux android-sdk-linux_x86/platforms android-6 + repackSDK android-2.0.1_r01-macosx android-sdk-mac_x86/platforms android-6 + repackSDK android-2.0.1_r01-windows android-sdk-windows/platforms android-6 + + # repack api-7 + repackSDK android-2.1_r02-linux android-sdk-linux_x86/platforms android-7 + repackSDK android-2.1_r02-macosx android-sdk-mac_x86/platforms android-7 + repackSDK android-2.1_r02-windows android-sdk-windows/platforms android-7 + + # repack api-8 + repackSDK android-2.2_r02-linux android-sdk-linux_x86/platforms android-8 + repackSDK android-2.2_r02-macosx android-sdk-mac_x86/platforms android-8 + repackSDK android-2.2_r02-windows android-sdk-windows/platforms android-8 + + # repack api-9 + repackSDK android-2.3.1_r02-linux android-sdk-linux_x86/platforms android-9 + repackSDK android-2.3.1_r02-linux android-sdk-mac_x86/platforms android-9 + repackSDK android-2.3.1_r02-linux android-sdk-windows/platforms android-9 + + # repack api-10 + repackSDK android-2.3.3_r01-linux android-sdk-linux_x86/platforms android-10 + repackSDK android-2.3.3_r01-linux android-sdk-mac_x86/platforms android-10 + repackSDK android-2.3.3_r01-linux android-sdk-windows/platforms android-10 + + # repack api-11 + repackSDK android-3.0_r01-linux android-sdk-linux_x86/platforms android-11 + repackSDK android-3.0_r01-linux android-sdk-mac_x86/platforms android-11 + repackSDK android-3.0_r01-linux android-sdk-windows/platforms android-11 } +function compileNecessitasQt +{ + if [ ! -f all_done ] + then + git checkout testing + ../qt-src/androidconfigbuild.sh -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt-creator" + echo "all done">all_done + fi + package_name=${1//-/_} # replace - with _ + rm -fr data + INSTALL_ROOT=$PWD make install + mkdir -p $2/$1 + mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 + $SDK_TOOLS_PATH/archivegen Android qt-tools-linux-x86.7z + rm -fr $2/$1/bin + mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data + mv qt-tools-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data/qt-tools-linux-x86.7z + mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + $SDK_TOOLS_PATH/archivegen Android qt-farmework.7z + mv qt-farmework.7z $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data/qt-farmework.7z +} + + +function perpareNecessitasQt +{ + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION + pushd Android/Qt/$NECESSITAS_QT_VERSION + if [ ! -d qt-src ] + then + git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt-creator" + pushd qt-src + git checkout testing + popd + fi + + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.armeabi/data/qt-tools-linux-x86.7z ] + then + mkdir build-armeabi + pushd build-armeabi + compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION + popd #build-armeabi + fi + + if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.armeabi_v7a/data/qt-tools-linux-x86.7z ] + then + mkdir build-armeabi-v7a + pushd build-armeabi-v7a + compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + popd #build-armeabi-v7a + fi + popd #Android/Qt/$NECESSITAS_QT_VERSION +} + +perpareNDKs +perpareSDKs prepareHostQt perpareSdkInstallerTools perpareNecessitasQtCreator -perpareNDKs -popd +perpareNecessitasQt +popd -- cgit v1.2.3 From 5e48d0810d62fd889e3d83a325a5f3fd512925db Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 18 Apr 2011 19:55:11 +0300 Subject: Avoid activity from being destroyed/created --- Ministro/AndroidManifest.xml | 13 +++++++------ .../eu/licentia/necessitas/ministro/MinistroActivity.java | 15 +++++++++++---- .../eu/licentia/necessitas/ministro/MinistroService.java | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 2d9c162..73f013d 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -5,17 +5,18 @@ android:versionName="1.0"> + android:label="@string/app_name" + android:configChanges="orientation|locale|fontScale|keyboard|keyboardHidden" > - - - - - + + + + + diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 5db1ea5..1602248 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -46,6 +46,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.ServiceConnection; +import android.content.res.Configuration; import android.os.AsyncTask; import android.os.Bundle; import android.os.IBinder; @@ -54,7 +55,7 @@ public class MinistroActivity extends Activity { private native int nativeChmode(String filepath, int mode); - private static final String DOMAIN_NAME="ministro.licentia.eu"; + private static final String DOMAIN_NAME="http://ministro.licentia.eu"; private String[] m_modules; private int m_id=-1; @@ -105,12 +106,12 @@ public class MinistroActivity extends Activity { private static URL getVersionUrl() throws MalformedURLException { - return new URL("http://"+DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); + return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); } private static URL getLibsXmlUrl(double version) throws MalformedURLException { - return new URL("http://"+DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); + return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); } public static double downloadVersionXmlFile() @@ -459,7 +460,13 @@ public class MinistroActivity extends Activity { super.onDestroy(); unbindService(m_ministroConnection); } - + + @Override + public void onConfigurationChanged(Configuration newConfig) { + //Avoid activity from being destroyed/created + super.onConfigurationChanged(newConfig); + } + static { System.loadLibrary("chmode"); } diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index fedb727..0886d06 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -178,7 +178,7 @@ public class MinistroService extends Service { refreshLibraries(); super.onCreate(); } - + public void activityFinished(int id) { for (int i=0;i Date: Mon, 18 Apr 2011 22:46:57 +0200 Subject: Extrast device ssl certificates to MINISTRO_SSL_CERTS_PATH --- .../eu/licentia/necessitas/ministro/Library.java | 285 ++++--- .../necessitas/ministro/MinistroActivity.java | 842 +++++++++++---------- .../necessitas/ministro/MinistroService.java | 572 +++++++------- 3 files changed, 908 insertions(+), 791 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/Library.java b/Ministro/src/eu/licentia/necessitas/ministro/Library.java index 91e4d9e..899b797 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/Library.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/Library.java @@ -17,6 +17,11 @@ package eu.licentia.necessitas.ministro; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import org.w3c.dom.Element; @@ -26,118 +31,180 @@ import org.w3c.dom.NodeList; class Library { - public String name = null; - public String filePath = null; - public String[] depends = null; - public String[] replaces = null; - public NeedsStruct[] needs = null; - public int level=0; - public long size = 0; - public String sha1 = null; - public String url; - - public static String[] getLibNames(Element libNode) - { - if (libNode == null) - return null; - NodeList list=libNode.getElementsByTagName("lib"); - ArrayList libs = new ArrayList(); - for (int i=0;i needs = new ArrayList(); - - for (int i=0;i libs = new ArrayList(); + for (int i=0;i needs = new ArrayList(); + + for (int i=0;i>> 4) & 0x0F; + int two_halfs = 0; + do + { + if ((0 <= halfbyte) && (halfbyte <= 9)) + buf.append((char) ('0' + halfbyte)); + else + buf.append((char) ('a' + (halfbyte - 10))); + halfbyte = data[i] & 0x0F; + } while(two_halfs++ < 1); + } + return buf.toString(); + } + + public static boolean checkCRC(String fileName, String sha1) throws IOException + { + try { + byte[] tmp = new byte[2048]; + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + int downloaded; + FileInputStream inFile = new FileInputStream(new File(fileName)); + while ((downloaded = inFile.read(tmp)) != -1) + { + digester.update(tmp, 0, downloaded); + } + return sha1.equalsIgnoreCase(convertToHex(digester.digest())); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + return false; + } + + public static String mkdirParents(String rootPath, String filePath, int skip) + { + String[] paths=filePath.split("/"); + String path = ""; + for (int pit=0;pit= version ) - return MinistroService.instance().getVersion(); - - connection = getLibsXmlUrl(version).openConnection(); - connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); - File file= new File(MinistroService.instance().getVersionXmlFile()); - file.delete(); - FileOutputStream outstream = new FileOutputStream(MinistroService.instance().getVersionXmlFile()); - InputStream instream = connection.getInputStream(); - byte[] tmp = new byte[2048]; - int downloaded; - while ((downloaded = instream.read(tmp)) != -1) { - outstream.write(tmp, 0, downloaded); - } - outstream.flush(); - outstream.close(); - return version; - } catch (ClientProtocolException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (ParserConfigurationException e) { - e.printStackTrace(); - } catch (IllegalStateException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return -1; - } - private static String convertToHex(byte[] data) - { - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < data.length; i++) - { - int halfbyte = (data[i] >>> 4) & 0x0F; - int two_halfs = 0; - do - { - if ((0 <= halfbyte) && (halfbyte <= 9)) - buf.append((char) ('0' + halfbyte)); - else - buf.append((char) ('a' + (halfbyte - 10))); - halfbyte = data[i] & 0x0F; - } while(two_halfs++ < 1); - } - return buf.toString(); - } - - private class DownloadManager extends AsyncTask { - - private ProgressDialog m_dialog = null; - private String m_status = "Start downloading ..."; - private int m_totalSize=0, m_totalProgressSize=0; - - @Override - protected void onPreExecute() { - m_dialog = new ProgressDialog(MinistroActivity.this); - m_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); - m_dialog.setTitle("Downloading Qt libraries"); - m_dialog.setMessage(m_status); - m_dialog.setCancelable(true); - m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ - @Override - public void onCancel(DialogInterface dialog) { - DownloadManager.this.cancel(false); - } - }); - m_dialog.show(); - super.onPreExecute(); - } - - private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException - { - MessageDigest digester = MessageDigest.getInstance("SHA-1"); - URLConnection connection = new URL(url).openConnection(); - connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); - String[] paths=file.split("/"); - String path = ""; - for (int pit=0;pit { - - private ProgressDialog dialog = null; - private ArrayList newLibs = new ArrayList(); - - @Override - protected void onPreExecute() { - dialog = ProgressDialog.show(MinistroActivity.this, "", - "Checking libraries. Please wait...", true, true); - super.onPreExecute(); - } - - @Override - protected Double doInBackground(Boolean... update) { - double version=0.0; - try { - ArrayList libraries = MinistroService.instance().getAvailableLibraries(); - - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document dom = null; - Element root = null; - - if (update[0] || MinistroService.instance().getVersion()<0) - version = downloadVersionXmlFile(); - else - version = MinistroService.instance().getVersion(); - - dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); - - factory = DocumentBuilderFactory.newInstance(); - builder = factory.newDocumentBuilder(); - root = dom.getDocumentElement(); - root.normalize(); - Node node = root.getFirstChild(); - while(node != null) - { - if (node.getNodeType() == Node.ELEMENT_NODE) - { - Library lib= Library.getLibrary((Element)node, true); - if (update[0]) - { // check for updates - for (int j=0;j0 && result>0) - { - MinistroService.instance().refreshLibraries(); - Library[] libs = new Library[newLibs.size()]; - libs = newLibs.toArray(libs); - new DownloadManager().execute(libs); - } - else - finishMe(); - super.onPostExecute(result); - } - } + public native static int nativeChmode(String filepath, int mode); + + private static final String DOMAIN_NAME="http://ministro.licentia.eu"; + + private String[] m_modules; + private int m_id=-1; + private String m_qtLibsRootPath; + + private ServiceConnection m_ministroConnection=new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + if (getIntent().hasExtra("id") && getIntent().hasExtra("modules")) + { + m_id=getIntent().getExtras().getInt("id"); + m_modules=getIntent().getExtras().getStringArray("modules"); + AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); + builder.setMessage(getIntent().getExtras().getString("name")+ + " needs extra libraries to run.\nDo you want to download them now?") + .setCancelable(false) + .setPositiveButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + new CheckLibraries().execute(false); + } + }) + .setNegativeButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + finishMe(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + else + new CheckLibraries().execute(true); + } + + @Override + public void onServiceDisconnected(ComponentName name) { + m_ministroConnection = null; + } + }; + + void finishMe() + { + if (-1 != m_id && null != MinistroService.instance()) + MinistroService.instance().activityFinished(m_id); + finish(); + } + + private static URL getVersionUrl() throws MalformedURLException + { + return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); + } + + private static URL getLibsXmlUrl(double version) throws MalformedURLException + { + return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); + } + + public static double downloadVersionXmlFile() + { + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + URLConnection connection = getVersionUrl().openConnection(); + dom = builder.parse(connection.getInputStream()); + root = dom.getDocumentElement(); + root.normalize(); + double version = Double.valueOf(root.getAttribute("latest")); + if ( MinistroService.instance().getVersion() >= version ) + return MinistroService.instance().getVersion(); + + connection = getLibsXmlUrl(version).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + File file= new File(MinistroService.instance().getVersionXmlFile()); + file.delete(); + FileOutputStream outstream = new FileOutputStream(MinistroService.instance().getVersionXmlFile()); + InputStream instream = connection.getInputStream(); + byte[] tmp = new byte[2048]; + int downloaded; + while ((downloaded = instream.read(tmp)) != -1) { + outstream.write(tmp, 0, downloaded); + } + outstream.flush(); + outstream.close(); + return version; + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (ParserConfigurationException e) { + e.printStackTrace(); + } catch (IllegalStateException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + return -1; + } + + private class DownloadManager extends AsyncTask { + private ProgressDialog m_dialog = null; + private String m_status = "Start downloading ..."; + private int m_totalSize=0, m_totalProgressSize=0; + + @Override + protected void onPreExecute() { + m_dialog = new ProgressDialog(MinistroActivity.this); + m_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + m_dialog.setTitle("Downloading Qt libraries"); + m_dialog.setMessage(m_status); + m_dialog.setCancelable(true); + m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ + @Override + public void onCancel(DialogInterface dialog) { + DownloadManager.this.cancel(false); + } + }); + m_dialog.show(); + super.onPreExecute(); + } + + private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException + { + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + URLConnection connection = new URL(url).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + Library.mkdirParents(m_qtLibsRootPath, file, 1); + String filePath=m_qtLibsRootPath+file; + int progressSize=0; + try + { + FileOutputStream outstream = new FileOutputStream(filePath); + InputStream instream = connection.getInputStream(); + int downloaded; + byte[] tmp = new byte[2048]; + int oldProgress=-1; + while ((downloaded = instream.read(tmp)) != -1) { + if (isCancelled()) + break; + progressSize+=downloaded; + m_totalProgressSize+=downloaded; + digester.update(tmp, 0, downloaded); + outstream.write(tmp, 0, downloaded); + int progress=(int)(progressSize*100/size); + if (progress!=oldProgress) + { + publishProgress(progress + , m_totalProgressSize); + oldProgress = progress; + } + } + String sha1 = Library.convertToHex(digester.digest()); + if (sha1.equalsIgnoreCase(fileSha1)) + { + outstream.flush(); + outstream.close(); + nativeChmode(filePath, 0644); + return true; + } + outstream.close(); + File f = new File(filePath); + f.delete(); + } catch (Exception e) { + e.printStackTrace(); + File f = new File(filePath); + f.delete(); + } + m_totalProgressSize-=progressSize; + return false; + } + @Override + protected Long doInBackground(Library... params) { + try { + for (int i=0;i { + + private ProgressDialog dialog = null; + private ArrayList newLibs = new ArrayList(); + + @Override + protected void onPreExecute() { + dialog = ProgressDialog.show(MinistroActivity.this, "", + "Checking libraries. Please wait...", true, true); + super.onPreExecute(); + } + + @Override + protected Double doInBackground(Boolean... update) { + double version=0.0; + try { + ArrayList libraries = MinistroService.instance().getAvailableLibraries(); + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + + if (update[0] || MinistroService.instance().getVersion()<0) + version = downloadVersionXmlFile(); + else + version = MinistroService.instance().getVersion(); + + dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); + + factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + root = dom.getDocumentElement(); + root.normalize(); + SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); + if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || + !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || + !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) + { + String environmentVariables=root.getAttribute("environmentVariables"); + environmentVariables=environmentVariables.replaceAll("MINISTRO_PATH", ""); + String environmentVariablesList[]=environmentVariables.split("\t"); + for (int i=0;i aliases = ks.aliases(); aliases.hasMoreElements(); ) { + String aName = aliases.nextElement(); + try{ + X509Certificate cert=(X509Certificate) ks.getCertificate(aName); + if (null==cert) + continue; + String filePath=path+"/"+cert.getType()+"_"+cert.hashCode()+".der"; + FileOutputStream outstream = new FileOutputStream(new File(filePath)); + byte buff[]=cert.getEncoded(); + outstream.write(buff, 0, buff.length); + outstream.close(); + nativeChmode(filePath, 0644); + } + catch(KeyStoreException e) + { + e.printStackTrace(); + } + catch(Exception e) + { + e.printStackTrace(); + } + } + } catch (KeyStoreException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (CertificateException e) { + e.printStackTrace(); + } + SharedPreferences.Editor editor= preferences.edit(); + editor.putString("CODENAME",android.os.Build.VERSION.CODENAME); + editor.putString("INCREMENTAL", android.os.Build.VERSION.INCREMENTAL); + editor.putString("RELEASE", android.os.Build.VERSION.RELEASE); + editor.commit(); + break; + } + } + } + + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, true); + if (update[0]) + { // check for updates + for (int j=0;j0 && result>0) + { + MinistroService.instance().refreshLibraries(); + Library[] libs = new Library[newLibs.size()]; + libs = newLibs.toArray(libs); + new DownloadManager().execute(libs); + } + else + finishMe(); + super.onPostExecute(result); + } + } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; - File dir=new File(m_qtLibsRootPath); - dir.mkdirs(); - nativeChmode(m_qtLibsRootPath, 0755); + File dir=new File(m_qtLibsRootPath); + dir.mkdirs(); + nativeChmode(m_qtLibsRootPath, 0755); bindService(new Intent("eu.licentia.necessitas.ministro.IMinistro"), m_ministroConnection, Context.BIND_AUTO_CREATE); } @Override - protected void onDestroy() { - super.onDestroy(); - unbindService(m_ministroConnection); - } + protected void onDestroy() { + super.onDestroy(); + unbindService(m_ministroConnection); + } @Override public void onConfigurationChanged(Configuration newConfig) { - //Avoid activity from being destroyed/created - super.onConfigurationChanged(newConfig); + //Avoid activity from being destroyed/created + super.onConfigurationChanged(newConfig); } static { diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 0886d06..413c8b3 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -36,299 +36,305 @@ import android.os.IBinder; import android.os.RemoteException; public class MinistroService extends Service { - // used to check Ministro Service compatibility - private static final int MINISTRO_MIN_API_LEVEL=1; - private static final int MINISTRO_MAX_API_LEVEL=1; - - // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) - private static MinistroService m_instance = null; - private String m_environmentVariables = null; - private String m_applicationParams = null; - public static MinistroService instance() - { - return m_instance; - } - public MinistroService() { - m_instance = this; - } - - private int m_actionId=0; // last actions id - - - // current downloaded libraries - private ArrayList m_downloadedLibraries = new ArrayList(); - - ArrayList getDownloadedLibraries() - { - synchronized (this) { - return m_downloadedLibraries; - } - } - - // current available libraries - private ArrayList m_availableLibraries = new ArrayList(); - ArrayList getAvailableLibraries() - { - synchronized (this) { - return m_availableLibraries; - } - } - - - // this method reload all downloaded libraries - ArrayList refreshLibraries() - { - synchronized (this) { - try { - m_downloadedLibraries.clear(); - m_availableLibraries.clear(); - if (! (new File(m_versionXmlFile)).exists()) - MinistroActivity.downloadVersionXmlFile(); - DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); - Document dom = documentBuilder.parse(new FileInputStream(m_versionXmlFile)); - Element root = dom.getDocumentElement(); - m_version = Double.valueOf(root.getAttribute("version")); - m_applicationParams=root.getAttribute("applicationParameters"); - m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); - m_environmentVariables=root.getAttribute("environmentVariables"); - m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); - root.normalize(); - Node node = root.getFirstChild(); - while(node != null) - { - if (node.getNodeType() == Node.ELEMENT_NODE) - { - Library lib= Library.getLibrary((Element)node, false); - if ((new File(m_qtLibsRootPath + lib.filePath)).exists()) - m_downloadedLibraries.add(lib); - m_availableLibraries.add(lib); - } - // Workaround for an unbelievable bug !!! - try { - node = node.getNextSibling(); - } catch (Exception e) { - e.printStackTrace(); - break; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - return m_downloadedLibraries; - } - - // version xml file - private String m_versionXmlFile; - public String getVersionXmlFile() - { - return m_versionXmlFile; - } - - private String m_qtLibsRootPath; - public String getQtLibsRootPath() - { - return m_qtLibsRootPath; - } - - private double m_version = -1; - public double getVersion() - { - return m_version; - } - - // class used to fire an action, this class is used - // to start an activity when user needs more libraries to start its application - class ActionStruct - { - ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) - { - id=++m_actionId; - callback = cb; - modules = m; - Intent intent = new Intent(MinistroService.this, MinistroActivity.class); - intent.putExtra("id", id); - String[] libs = new String[notFoundMoules.size()]; - libs = notFoundMoules.toArray(libs); - intent.putExtra("modules", libs); - intent.putExtra("name", appName); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - try - { - MinistroService.this.startActivity(intent); - } - catch(Exception e) - { - e.printStackTrace(); - } - } - public int id; - public IMinistroCallback callback; - public String[] modules; - } - - // we can have more then one action - ArrayList m_actions = new ArrayList(); - - @Override - public void onCreate() { + // used to check Ministro Service compatibility + private static final int MINISTRO_MIN_API_LEVEL=1; + private static final int MINISTRO_MAX_API_LEVEL=1; + + // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) + private static MinistroService m_instance = null; + private String m_environmentVariables = null; + private String m_applicationParams = null; + public static MinistroService instance() + { + return m_instance; + } + public MinistroService() { + m_instance = this; + } + + private int m_actionId=0; // last actions id + + + // current downloaded libraries + private ArrayList m_downloadedLibraries = new ArrayList(); + + ArrayList getDownloadedLibraries() + { + synchronized (this) { + return m_downloadedLibraries; + } + } + + // current available libraries + private ArrayList m_availableLibraries = new ArrayList(); + ArrayList getAvailableLibraries() + { + synchronized (this) { + return m_availableLibraries; + } + } + + + // this method reload all downloaded libraries + ArrayList refreshLibraries() + { + synchronized (this) { + try { + m_downloadedLibraries.clear(); + m_availableLibraries.clear(); + if (! (new File(m_versionXmlFile)).exists()) + return m_downloadedLibraries; + DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); + Document dom = documentBuilder.parse(new FileInputStream(m_versionXmlFile)); + Element root = dom.getDocumentElement(); + m_version = Double.valueOf(root.getAttribute("version")); + m_applicationParams=root.getAttribute("applicationParameters"); + m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + m_environmentVariables=root.getAttribute("environmentVariables"); + m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + root.normalize(); + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, false); + File file=new File(m_qtLibsRootPath + lib.filePath); + if ((file).exists()) + { + if (!Library.checkCRC(file.getAbsolutePath(), lib.sha1)) + file.delete(); + else + m_downloadedLibraries.add(lib); + } + m_availableLibraries.add(lib); + } + // Workaround for an unbelievable bug !!! + try { + node = node.getNextSibling(); + } catch (Exception e) { + e.printStackTrace(); + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return m_downloadedLibraries; + } + + // version xml file + private String m_versionXmlFile; + public String getVersionXmlFile() + { + return m_versionXmlFile; + } + + private String m_qtLibsRootPath; + public String getQtLibsRootPath() + { + return m_qtLibsRootPath; + } + + private double m_version = -1; + public double getVersion() + { + return m_version; + } + + // class used to fire an action, this class is used + // to start an activity when user needs more libraries to start its application + class ActionStruct + { + ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) + { + id=++m_actionId; + callback = cb; + modules = m; + Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + intent.putExtra("id", id); + String[] libs = new String[notFoundMoules.size()]; + libs = notFoundMoules.toArray(libs); + intent.putExtra("modules", libs); + intent.putExtra("name", appName); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try + { + MinistroService.this.startActivity(intent); + } + catch(Exception e) + { + e.printStackTrace(); + } + } + public int id; + public IMinistroCallback callback; + public String[] modules; + } + + // we can have more then one action + ArrayList m_actions = new ArrayList(); + + @Override + public void onCreate() { m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; refreshLibraries(); - super.onCreate(); - } - - public void activityFinished(int id) - { - for (int i=0;i libraries = new ArrayList(); - Collections.addAll(libraries, action.modules); - boolean res = checkModules(libraries, null); - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - if (res) - action.callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); - else - action.callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); - } catch (RemoteException e) { - e.printStackTrace(); - } - m_actions.remove(i); - break; - } - } - if (m_actions.size() == 0) - m_actionId = 0; - } - - @Override - public void onDestroy() { - super.onDestroy(); - } - - @Override - public IBinder onBind(Intent intent){ - return new IMinistro.Stub() { - @Override - public void checkModules(IMinistroCallback callback, - String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { - - if (ministroApiLevelMINISTRO_MAX_API_LEVEL) - { - // panic !!! Ministro service is not compatible, user should upgrade Ministro package - return; - } - - // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning - // and they will deploying apps to Android Market, so let's try to give them a chance. - - // this method is called by the activity client who needs modules. - ArrayList notFoundModules = new ArrayList(); - ArrayList libraries = new ArrayList(); - Collections.addAll(libraries, modules); - if (MinistroService.this.checkModules(libraries, notFoundModules)) - { - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. - } - else - m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. - } - }; - } - - // check/add all modules. Returns true if all modules are found. - @SuppressWarnings("unchecked") - private boolean checkModules(Object lbs, Object notFoundModules) - { - ArrayList modules= new ArrayList(); - ArrayList libs = (ArrayList) lbs; - boolean res=true; - for (int i=0;i modules = (ArrayList) modulesObject; - ArrayList notFoundModules = (ArrayList) notFoundModulesObject; - if (modules == null) - return false; // we are in deep shit if this happens - - for (int i=0;i libraries = new ArrayList(); + Collections.addAll(libraries, action.modules); + boolean res = checkModules(libraries, null); + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + if (res) + action.callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); + else + action.callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); + } catch (RemoteException e) { + e.printStackTrace(); + } + m_actions.remove(i); + break; + } + } + if (m_actions.size() == 0) + m_actionId = 0; + } + + @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent){ + return new IMinistro.Stub() { + @Override + public void checkModules(IMinistroCallback callback, + String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { + + if (ministroApiLevelMINISTRO_MAX_API_LEVEL) + { + // panic !!! Ministro service is not compatible, user should upgrade Ministro package + return; + } + + // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning + // and they will deploying apps to Android Market, so let's try to give them a chance. + + // this method is called by the activity client who needs modules. + ArrayList notFoundModules = new ArrayList(); + ArrayList libraries = new ArrayList(); + Collections.addAll(libraries, modules); + if (MinistroService.this.checkModules(libraries, notFoundModules)) + { + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. + } + else + m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. + } + }; + } + + // check/add all modules. Returns true if all modules are found. + @SuppressWarnings("unchecked") + private boolean checkModules(Object lbs, Object notFoundModules) + { + ArrayList modules= new ArrayList(); + ArrayList libs = (ArrayList) lbs; + boolean res=true; + for (int i=0;i modules = (ArrayList) modulesObject; + ArrayList notFoundModules = (ArrayList) notFoundModulesObject; + if (modules == null) + return false; // we are in deep shit if this happens + + for (int i=0;i { - @Override - public int compare(Module a, Module b) { - return a.level-b.level; - } + @Override + public int compare(Module a, Module b) { + return a.level-b.level; + } } // extra class used to manipulate libraries, it is ~ the same as Library class, but it has less fields class Module { - String path; - String name; - int level; + String path; + String name; + int level; } -- cgit v1.2.3 From 9b0a579a8a996f1db08f1f9864efc86cb805dfdd Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 23 Apr 2011 23:00:55 +0300 Subject: Handle correctly the dependencies --- Ministro/res/drawable-hdpi/logo.jpg | Bin 0 -> 49742 bytes Ministro/res/drawable-ldpi/logo.jpg | Bin 0 -> 49742 bytes Ministro/res/drawable-mdpi/logo.jpg | Bin 0 -> 49742 bytes Ministro/res/layout/main.xml | 2 +- .../necessitas/ministro/MinistroActivity.java | 26 +++++--- .../necessitas/ministro/MinistroService.java | 4 +- www/qt/android/armeabi/android-4/libs-0.1.xml | 66 ++++++++++----------- www/qt/android/armeabi/android-5/libs-0.1.xml | 66 ++++++++++----------- www/qt/android/armeabi/android-8/libs-0.1.xml | 66 ++++++++++----------- 9 files changed, 120 insertions(+), 110 deletions(-) create mode 100644 Ministro/res/drawable-hdpi/logo.jpg create mode 100644 Ministro/res/drawable-ldpi/logo.jpg create mode 100644 Ministro/res/drawable-mdpi/logo.jpg diff --git a/Ministro/res/drawable-hdpi/logo.jpg b/Ministro/res/drawable-hdpi/logo.jpg new file mode 100644 index 0000000..a729ad3 Binary files /dev/null and b/Ministro/res/drawable-hdpi/logo.jpg differ diff --git a/Ministro/res/drawable-ldpi/logo.jpg b/Ministro/res/drawable-ldpi/logo.jpg new file mode 100644 index 0000000..a729ad3 Binary files /dev/null and b/Ministro/res/drawable-ldpi/logo.jpg differ diff --git a/Ministro/res/drawable-mdpi/logo.jpg b/Ministro/res/drawable-mdpi/logo.jpg new file mode 100644 index 0000000..a729ad3 Binary files /dev/null and b/Ministro/res/drawable-mdpi/logo.jpg differ diff --git a/Ministro/res/layout/main.xml b/Ministro/res/layout/main.xml index 440a65c..09e59c7 100644 --- a/Ministro/res/layout/main.xml +++ b/Ministro/res/layout/main.xml @@ -5,6 +5,6 @@ android:layout_height="fill_parent" > - + diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 4fac46a..5c4a366 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -32,6 +32,7 @@ import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import javax.xml.parsers.DocumentBuilder; @@ -147,8 +148,8 @@ public class MinistroActivity extends Activity { while ((downloaded = instream.read(tmp)) != -1) { outstream.write(tmp, 0, downloaded); } - outstream.flush(); outstream.close(); + MinistroService.instance().refreshLibraries(); return version; } catch (ClientProtocolException e) { e.printStackTrace(); @@ -180,6 +181,7 @@ public class MinistroActivity extends Activity { @Override public void onCancel(DialogInterface dialog) { DownloadManager.this.cancel(false); + finishMe(); } }); m_dialog.show(); @@ -219,7 +221,6 @@ public class MinistroActivity extends Activity { String sha1 = Library.convertToHex(digester.digest()); if (sha1.equalsIgnoreCase(fileSha1)) { - outstream.flush(); outstream.close(); nativeChmode(filePath, 0644); return true; @@ -295,7 +296,6 @@ public class MinistroActivity extends Activity { } catch (Exception e) { e.printStackTrace(); } - return null; } @@ -325,7 +325,7 @@ public class MinistroActivity extends Activity { private ProgressDialog dialog = null; private ArrayList newLibs = new ArrayList(); - + private String m_message; @Override protected void onPreExecute() { dialog = ProgressDialog.show(MinistroActivity.this, "", @@ -348,17 +348,28 @@ public class MinistroActivity extends Activity { else version = MinistroService.instance().getVersion(); + ArrayList notFoundModules = new ArrayList(); + if (m_modules!=null) + { + ArrayList requiredModules = new ArrayList(); + Collections.addAll(requiredModules, m_modules); + MinistroService.instance().checkModules(requiredModules, notFoundModules); + } dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); root = dom.getDocumentElement(); root.normalize(); + + // extract device root certificates SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) { + m_message = "Extracting SSL root certificates. Please wait..."; + publishProgress((Void[])null); String environmentVariables=root.getAttribute("environmentVariables"); environmentVariables=environmentVariables.replaceAll("MINISTRO_PATH", ""); String environmentVariablesList[]=environmentVariables.split("\t"); @@ -431,8 +442,8 @@ public class MinistroActivity extends Activity { } else {// download missing libraries - for (int j=0;j0 && result>0) { - MinistroService.instance().refreshLibraries(); Library[] libs = new Library[newLibs.size()]; libs = newLibs.toArray(libs); new DownloadManager().execute(libs); diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 413c8b3..59f0474 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -76,7 +76,7 @@ public class MinistroService extends Service { // this method reload all downloaded libraries - ArrayList refreshLibraries() + synchronized ArrayList refreshLibraries() { synchronized (this) { try { @@ -252,7 +252,7 @@ public class MinistroService extends Service { // check/add all modules. Returns true if all modules are found. @SuppressWarnings("unchecked") - private boolean checkModules(Object lbs, Object notFoundModules) + public boolean checkModules(Object lbs, Object notFoundModules) { ArrayList modules= new ArrayList(); ArrayList libs = (ArrayList) lbs; diff --git a/www/qt/android/armeabi/android-4/libs-0.1.xml b/www/qt/android/armeabi/android-4/libs-0.1.xml index c613d41..7ac29e9 100644 --- a/www/qt/android/armeabi/android-4/libs-0.1.xml +++ b/www/qt/android/armeabi/android-4/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + diff --git a/www/qt/android/armeabi/android-5/libs-0.1.xml b/www/qt/android/armeabi/android-5/libs-0.1.xml index d1e62c8..e9ce30c 100644 --- a/www/qt/android/armeabi/android-5/libs-0.1.xml +++ b/www/qt/android/armeabi/android-5/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + diff --git a/www/qt/android/armeabi/android-8/libs-0.1.xml b/www/qt/android/armeabi/android-8/libs-0.1.xml index 10ada0f..8ddc78b 100644 --- a/www/qt/android/armeabi/android-8/libs-0.1.xml +++ b/www/qt/android/armeabi/android-8/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + -- cgit v1.2.3 From e8139669c71b81ad9f4f4a9a2438ce9d12bf6789 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Apr 2011 16:37:01 +0300 Subject: Switch to kde infrastructure Check for updates once pre day --- Ministro/AndroidManifest.xml | 2 +- .../necessitas/ministro/MinistroActivity.java | 21 +++++-- .../necessitas/ministro/MinistroService.java | 63 ++++++++++++++++++++- www/qt/android/armeabi/android-4/libs-0.1.xml | 66 +++++++++++----------- www/qt/android/armeabi/android-5/libs-0.1.xml | 66 +++++++++++----------- www/qt/android/armeabi/android-8/libs-0.1.xml | 66 +++++++++++----------- 6 files changed, 175 insertions(+), 109 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 73f013d..aeeba91 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -9,7 +9,7 @@ android:configChanges="orientation|locale|fontScale|keyboard|keyboardHidden" > - + diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 5c4a366..35923f5 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -46,6 +46,7 @@ import org.w3c.dom.Node; import android.app.Activity; import android.app.AlertDialog; +import android.app.NotificationManager; import android.app.ProgressDialog; import android.content.ComponentName; import android.content.Context; @@ -62,7 +63,7 @@ public class MinistroActivity extends Activity { public native static int nativeChmode(String filepath, int mode); - private static final String DOMAIN_NAME="http://ministro.licentia.eu"; + private static final String DOMAIN_NAME="http://files.kde.org/necessitas"; private String[] m_modules; private int m_id=-1; @@ -108,6 +109,11 @@ public class MinistroActivity extends Activity { { if (-1 != m_id && null != MinistroService.instance()) MinistroService.instance().activityFinished(m_id); + else + { + NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + nm.cancelAll(); + } finish(); } @@ -121,7 +127,7 @@ public class MinistroActivity extends Activity { return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); } - public static double downloadVersionXmlFile() + public static double downloadVersionXmlFile(boolean checkOnly) { try { @@ -137,6 +143,9 @@ public class MinistroActivity extends Activity { if ( MinistroService.instance().getVersion() >= version ) return MinistroService.instance().getVersion(); + if (checkOnly) + return version; + connection = getLibsXmlUrl(version).openConnection(); connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); File file= new File(MinistroService.instance().getVersionXmlFile()); @@ -149,7 +158,7 @@ public class MinistroActivity extends Activity { outstream.write(tmp, 0, downloaded); } outstream.close(); - MinistroService.instance().refreshLibraries(); + MinistroService.instance().refreshLibraries(false); return version; } catch (ClientProtocolException e) { e.printStackTrace(); @@ -223,6 +232,7 @@ public class MinistroActivity extends Activity { { outstream.close(); nativeChmode(filePath, 0644); + MinistroService.instance().refreshLibraries(false); return true; } outstream.close(); @@ -316,7 +326,6 @@ public class MinistroActivity extends Activity { m_dialog.dismiss(); m_dialog = null; } - MinistroService.instance().refreshLibraries(); finishMe(); } } @@ -337,17 +346,17 @@ public class MinistroActivity extends Activity { protected Double doInBackground(Boolean... update) { double version=0.0; try { - ArrayList libraries = MinistroService.instance().getAvailableLibraries(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = null; Element root = null; if (update[0] || MinistroService.instance().getVersion()<0) - version = downloadVersionXmlFile(); + version = downloadVersionXmlFile(false); else version = MinistroService.instance().getVersion(); + ArrayList libraries = MinistroService.instance().getAvailableLibraries(); ArrayList notFoundModules = new ArrayList(); if (m_modules!=null) { diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 59f0474..c418e1f 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -30,8 +30,14 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; import android.app.Service; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.os.AsyncTask; import android.os.IBinder; import android.os.RemoteException; @@ -44,6 +50,7 @@ public class MinistroService extends Service { private static MinistroService m_instance = null; private String m_environmentVariables = null; private String m_applicationParams = null; + public static MinistroService instance() { return m_instance; @@ -74,9 +81,50 @@ public class MinistroService extends Service { } } + class CheckForUpdates extends AsyncTask + { + + @Override + protected void onPreExecute() { + if (m_version refreshLibraries() + synchronized ArrayList refreshLibraries(boolean checkCrc) { synchronized (this) { try { @@ -103,7 +151,7 @@ public class MinistroService extends Service { File file=new File(m_qtLibsRootPath + lib.filePath); if ((file).exists()) { - if (!Library.checkCRC(file.getAbsolutePath(), lib.sha1)) + if (checkCrc && !Library.checkCRC(file.getAbsolutePath(), lib.sha1)) file.delete(); else m_downloadedLibraries.add(lib); @@ -181,7 +229,16 @@ public class MinistroService extends Service { public void onCreate() { m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; - refreshLibraries(); + refreshLibraries(true); + SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); + long lastCheck = preferences.getLong("LASTCHECK",0); + if (System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day + { + SharedPreferences.Editor editor= preferences.edit(); + editor.putLong("LASTCHECK",System.currentTimeMillis()); + editor.commit(); + new CheckForUpdates().execute((Void[])null); + } super.onCreate(); } diff --git a/www/qt/android/armeabi/android-4/libs-0.1.xml b/www/qt/android/armeabi/android-4/libs-0.1.xml index 7ac29e9..d412ff9 100644 --- a/www/qt/android/armeabi/android-4/libs-0.1.xml +++ b/www/qt/android/armeabi/android-4/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + diff --git a/www/qt/android/armeabi/android-5/libs-0.1.xml b/www/qt/android/armeabi/android-5/libs-0.1.xml index e9ce30c..3eddd9c 100644 --- a/www/qt/android/armeabi/android-5/libs-0.1.xml +++ b/www/qt/android/armeabi/android-5/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + diff --git a/www/qt/android/armeabi/android-8/libs-0.1.xml b/www/qt/android/armeabi/android-8/libs-0.1.xml index 8ddc78b..ea2f4cd 100644 --- a/www/qt/android/armeabi/android-8/libs-0.1.xml +++ b/www/qt/android/armeabi/android-8/libs-0.1.xml @@ -1,99 +1,99 @@ - - + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - + @@ -103,18 +103,18 @@ - - - - - - - - + + + + + + + + - + -- cgit v1.2.3 From 648848032b35d2547b3277b04a29be341b2ce115 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Apr 2011 19:32:47 +0300 Subject: Add more SDk scripts. --- Necessitas_SDK/build_sdk.sh | 82 ++++++++++++++-------- Necessitas_SDK/config/config.xml | 4 +- .../meta/installscript.qs | 27 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 28 ++++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 15 ++++ .../meta/package.xml | 11 +++ .../org.kde.necessitas.android.qt/meta/package.xml | 9 +++ .../org.kde.necessitas.android/meta/package.xml | 9 +++ .../meta/installscript.qs | 15 ++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 15 ++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 15 ++++ .../meta/package.xml | 11 +++ .../meta/installscript.qs | 8 +-- .../meta/installscript.qs | 26 +++++++ .../meta/package.xml | 10 +++ .../meta/installscript.qs | 3 +- 30 files changed, 479 insertions(+), 38 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 4a5eba0..f6ba4ba 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1,7 +1,8 @@ #!/bin/bash -REPO_SRC_DIR=$PWD +REPO_SRC_PATH=$PWD TEMP_PATH=/var/necessitas +REPO_PATH=/var/www/necessitas/sdk mkdir -p $TEMP_PATH pushd $TEMP_PATH @@ -93,7 +94,7 @@ function perpareSdkInstallerTools function perpareNecessitasQtCreator { - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z ] then if [ ! -d android-qt-creator ] then @@ -122,8 +123,8 @@ function perpareNecessitasQtCreator mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-linux-x86.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data - mv qtcreator-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data + mv qtcreator-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z popd fi } @@ -132,7 +133,7 @@ function perpareNecessitasQtCreator function perpareNDKs { # repack windows NDK - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] then downloadIfNotExits android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip if [ ! -d android-ndk-r5b ] @@ -140,13 +141,13 @@ function perpareNDKs unzip android-ndk-r5b-windows.zip fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z rm -fr android-ndk-r5b fi # repack mac NDK - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] then downloadIfNotExits android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 if [ ! -d android-ndk-r5b ] @@ -154,13 +155,13 @@ function perpareNDKs tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z rm -fr android-ndk-r5b fi # repack linux-x86 NDK, it must be the last one because we need it to build qt - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] then downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 if [ ! -d android-ndk-r5b ] @@ -168,23 +169,23 @@ function perpareNDKs tar xvfa android-ndk-r5b-linux-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z fi } function repackSDK { package_name=${3//-/_} # replace - with _ - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z ] then downloadIfNotExits $1.zip http://dl.google.com/android/repository/$1.zip unzip $1.zip mkdir -p $2 mv $1 $2/$3 $SDK_TOOLS_PATH/archivegen $2 $1.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data - mv $1.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data + mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z rm -fr $2 fi } @@ -192,7 +193,7 @@ function repackSDK function perpareSDKs { echo "prepare SDKs" - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] then downloadIfNotExits android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] @@ -200,12 +201,12 @@ function perpareSDKs tar xvfa android-sdk_r10-linux_x86.tgz fi $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_r10-linux_x86.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-linux_x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-linux_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z rm -fr android-sdk-linux_x86 fi - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] then downloadIfNotExits android-sdk_r10-mac_x86.zip http://dl.google.com/android/android-sdk_r10-mac_x86.zip if [ ! -d android-sdk-mac_x86 ] @@ -213,12 +214,12 @@ function perpareSDKs unzip android-sdk_r10-mac_x86.zip fi $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_r10-mac_x86.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-mac_x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-mac_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z rm -fr android-sdk-mac_x86 fi - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] then downloadIfNotExits android-sdk_r10-windows.zip http://dl.google.com/android/android-sdk_r10-windows.zip if [ ! -d android-sdk-windows ] @@ -226,8 +227,8 @@ function perpareSDKs unzip android-sdk_r10-windows.zip fi $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_r10-windows.7z - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-windows.7z $REPO_SRC_DIR/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_r10-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z rm -fr android-sdk-windows fi @@ -294,11 +295,11 @@ function compileNecessitasQt mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-linux-x86.7z rm -fr $2/$1/bin - mkdir -p $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data - mv qt-tools-linux-x86.7z $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data/qt-tools-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data + mv qt-tools-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-linux-x86.7z mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-farmework.7z - mv qt-farmework.7z $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.$package_name/data/qt-farmework.7z + mv qt-farmework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-farmework.7z } @@ -314,7 +315,7 @@ function perpareNecessitasQt popd fi - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.armeabi/data/qt-tools-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-linux-x86.7z ] then mkdir build-armeabi pushd build-armeabi @@ -322,21 +323,42 @@ function perpareNecessitasQt popd #build-armeabi fi - if [ ! -f $REPO_SRC_DIR/packages/org.kde.necessitas.android.qt.$NECESSITAS_QT_VERSION.armeabi_v7a/data/qt-tools-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-linux-x86.7z ] then mkdir build-armeabi-v7a pushd build-armeabi-v7a compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION popd #build-armeabi-v7a fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z ] + then + mv qt-src/.git . + $SDK_TOOLS_PATH/archivegen qt-src qt-src.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data + mv qt-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z + mv .git qt-src/ + fi popd #Android/Qt/$NECESSITAS_QT_VERSION } +function prepareSDKBinary +{ + $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer org.kde.necessitas +} + +function prepareSDKRepository +{ + $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas +} + perpareNDKs perpareSDKs prepareHostQt perpareSdkInstallerTools perpareNecessitasQtCreator perpareNecessitasQt +prepareSDKBinary +prepareSDKRepository popd diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index 73f17c3..ff9700f 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -9,10 +9,10 @@ license.txt qticon watermark.png - SDKMaintain + SDKMaintainer - http://localhost/necessitas + http://localhost/necessitas/sdk true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs new file mode 100644 index 0000000..5a43bc4 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -0,0 +1,27 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qt-farmework.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qt-tools-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml new file mode 100644 index 0000000..006d593 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -0,0 +1,11 @@ + + + Android Qt + Development libraries for development applications on Android devices, armeabi architecture. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qt.armeabi + + 0 + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs new file mode 100644 index 0000000..ef76289 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -0,0 +1,28 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qt-farmework.7z" ); + + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qt-tools-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml new file mode 100644 index 0000000..f3d6d9c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -0,0 +1,11 @@ + + + Android Qt + Development libraries for development applications on Android devices, armeabi_v7a architecture. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qt.armeabi_v7a + + 0 + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs new file mode 100644 index 0000000..c3369e1 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qt-src.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml new file mode 100644 index 0000000..33ba852 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -0,0 +1,11 @@ + + + Android Qt + Development libraries for development applications on Android devices, source package. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qt.src + + 0 + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml new file mode 100644 index 0000000..a406b9c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml @@ -0,0 +1,9 @@ + + + Android Qt + Development libraries for development applications on Android devices. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qt + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml new file mode 100644 index 0000000..43bcd62 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml @@ -0,0 +1,9 @@ + + + Android Qt + Development libraries for development applications on Android devices. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs new file mode 100644 index 0000000..51387d0 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml new file mode 100644 index 0000000..39d93bb --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.3.3.1 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_10 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs new file mode 100644 index 0000000..afbc46e --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml new file mode 100644 index 0000000..15d6328 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 3.0.1 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_11 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs new file mode 100644 index 0000000..ca73ffd --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-1.6_r03-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-1.6_r03-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-1.6_r03-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml new file mode 100644 index 0000000..bf84cd4 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 1.6.3 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_4 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs new file mode 100644 index 0000000..0e24357 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.0_r01-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.0_r01-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.0_r01-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml new file mode 100644 index 0000000..bf33b03 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.0.1 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_5 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs new file mode 100644 index 0000000..5c6fac2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.0.1_r01-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.0.1_r01-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.0.1_r01-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml new file mode 100644 index 0000000..8c0d090 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.0.1.1 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_6 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs new file mode 100644 index 0000000..1f1c724 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.1_r02-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.1_r02-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.1_r02-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml new file mode 100644 index 0000000..b0d2a0f --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.1.2 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_7 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs new file mode 100644 index 0000000..733fbc2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.2_r02-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.2_r02-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.2_r02-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml new file mode 100644 index 0000000..6f65ded --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.2.2 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_8 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs new file mode 100644 index 0000000..56faf5a --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml new file mode 100644 index 0000000..a15cb35 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -0,0 +1,11 @@ + + + Android SDK + Android SDK + 2.3.1.2 + 2011-04-09 + org.kde.necessitas.misc.sdk.android_9 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs index b767756..0942876 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs @@ -24,18 +24,18 @@ Component.prototype.createOperations = function() component.createOperations(); // set SDK Location - var gdbPath; + var sdkPath; if (installer.value("os") == "x11") { - gdbPath="@TargetDir@/android-sdk-linux_x86"; + sdkPath="@TargetDir@/android-sdk-linux_x86"; } else if (installer.value("os") == "win") { - gdbPath="@TargetDir@/android-sdk-windows"; + sdkPath="@TargetDir@/android-sdk-windows"; } else if (installer.value("os") == "mac") { - gdbPath="@TargetDir@/android-sdk-mac_x86"; + sdkPath="@TargetDir@/android-sdk-mac_x86"; } component.addOperation( "SetQtCreatorValue", diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs new file mode 100644 index 0000000..5afb9e8 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -0,0 +1,26 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "platform-tools_r03-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "platform-tools_r03-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "platform-tools_r03-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set SDK Location +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml new file mode 100644 index 0000000..deaef7e --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -0,0 +1,10 @@ + + + Android SDK + Android SDK + 10.0.0 + 2011-04-09 + org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index 6644d30..5267f3c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -13,8 +13,7 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "QtCreator.7z" ); -// component.addDownloadableArchive( "qtcreator-linux-x86.7z" ); + component.addDownloadableArchive( "qtcreator-linux-x86.7z" ); } else if (installer.value("os") == "win") { -- cgit v1.2.3 From f41bc2fb66bd99d9da0635aac8a10ce9fe660e59 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Apr 2011 19:47:55 +0300 Subject: Rename some packages --- .../packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml | 2 +- .../org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android.qt.src/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android.qt/meta/package.xml | 6 +++--- Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml | 6 +++--- .../org.kde.necessitas.misc.sdk.android_10/meta/package.xml | 4 ++-- .../org.kde.necessitas.misc.sdk.android_11/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.sdk.base/meta/package.xml | 4 ++-- .../org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml | 4 ++-- 15 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index 006d593..d37afaa 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt + Android Qt 4.7.62-armeabi Development libraries for development applications on Android devices, armeabi architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index f3d6d9c..317410a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt + Android Qt 4.7.62-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 33ba852..3a28cb0 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt + Android Qt 4.7.62-src Development libraries for development applications on Android devices, source package. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml index a406b9c..075676f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml @@ -1,8 +1,8 @@ - Android Qt - Development libraries for development applications on Android devices. - 4.7.62 + Qt + Qt + 1.0 2011-04-09 org.kde.necessitas.android.qt 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml index 43bcd62..5b5aa1b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml @@ -1,8 +1,8 @@ - Android Qt - Development libraries for development applications on Android devices. - 4.7.62 + Android + Android + 1.0 2011-04-09 org.kde.necessitas.android 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 39d93bb..0ea497b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 10 + Android SDK API 10 (2.3.3-r01) 2.3.3.1 2011-04-09 org.kde.necessitas.misc.sdk.android_10 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index 15d6328..3f4d8fc 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 11 + Android SDK API 11 (3.0-r01) 3.0.1 2011-04-09 org.kde.necessitas.misc.sdk.android_11 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index bf84cd4..14b7a05 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 4 + Android SDK API 4 (1.6-r03) 1.6.3 2011-04-09 org.kde.necessitas.misc.sdk.android_4 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index bf33b03..f680623 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 5 + Android SDK API 5 (2.0-r01) 2.0.1 2011-04-09 org.kde.necessitas.misc.sdk.android_5 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 8c0d090..49b0167 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 6 + Android SDK API 6 (2.0.1-r01) 2.0.1.1 2011-04-09 org.kde.necessitas.misc.sdk.android_6 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index b0d2a0f..388cb1c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 7 + Android SDK API 7 (2.1-r02) 2.1.2 2011-04-09 org.kde.necessitas.misc.sdk.android_7 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index 6f65ded..80c9da6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 8 + Android SDK API 8 (2.2-r02) 2.2.2 2011-04-09 org.kde.necessitas.misc.sdk.android_8 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index a15cb35..aa496db 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK API 9 + Android SDK API 9 (2.3.1-r02) 2.3.1.2 2011-04-09 org.kde.necessitas.misc.sdk.android_9 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index c66972b..38a0856 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK base + Android SDK base package 10.0.0 2011-04-09 org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index deaef7e..2b32dd1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -1,7 +1,7 @@ - Android SDK - Android SDK + Android SDK platform tools + Android SDK platform tools package 10.0.0 2011-04-09 org.kde.necessitas.misc.sdk.platform_tools -- cgit v1.2.3 From 905be84e6c70f635904132aef9385ba97814bfbd Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Apr 2011 19:53:40 +0300 Subject: Separate armeabi from armeabi-v7a architecture --- www/qt/android/armeabi-v7a | 1 - www/qt/android/armeabi-v7a/android-10 | 1 + www/qt/android/armeabi-v7a/android-11 | 1 + www/qt/android/armeabi-v7a/android-4/libs-0.1.xml | 122 ++++++++++++++++++++++ www/qt/android/armeabi-v7a/android-4/versions.xml | 3 + www/qt/android/armeabi-v7a/android-5/libs-0.1.xml | 122 ++++++++++++++++++++++ www/qt/android/armeabi-v7a/android-5/versions.xml | 3 + www/qt/android/armeabi-v7a/android-6 | 1 + www/qt/android/armeabi-v7a/android-7 | 1 + www/qt/android/armeabi-v7a/android-8/libs-0.1.xml | 122 ++++++++++++++++++++++ www/qt/android/armeabi-v7a/android-8/versions.xml | 3 + www/qt/android/armeabi-v7a/android-9 | 1 + 12 files changed, 380 insertions(+), 1 deletion(-) delete mode 120000 www/qt/android/armeabi-v7a create mode 120000 www/qt/android/armeabi-v7a/android-10 create mode 120000 www/qt/android/armeabi-v7a/android-11 create mode 100644 www/qt/android/armeabi-v7a/android-4/libs-0.1.xml create mode 100644 www/qt/android/armeabi-v7a/android-4/versions.xml create mode 100644 www/qt/android/armeabi-v7a/android-5/libs-0.1.xml create mode 100644 www/qt/android/armeabi-v7a/android-5/versions.xml create mode 120000 www/qt/android/armeabi-v7a/android-6 create mode 120000 www/qt/android/armeabi-v7a/android-7 create mode 100644 www/qt/android/armeabi-v7a/android-8/libs-0.1.xml create mode 100644 www/qt/android/armeabi-v7a/android-8/versions.xml create mode 120000 www/qt/android/armeabi-v7a/android-9 diff --git a/www/qt/android/armeabi-v7a b/www/qt/android/armeabi-v7a deleted file mode 120000 index fb2068a..0000000 --- a/www/qt/android/armeabi-v7a +++ /dev/null @@ -1 +0,0 @@ -armeabi \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-10 b/www/qt/android/armeabi-v7a/android-10 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-10 @@ -0,0 +1 @@ +android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-11 b/www/qt/android/armeabi-v7a/android-11 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-11 @@ -0,0 +1 @@ +android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml new file mode 100644 index 0000000..d412ff9 --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi-v7a/android-4/versions.xml b/www/qt/android/armeabi-v7a/android-4/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-4/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml new file mode 100644 index 0000000..3eddd9c --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi-v7a/android-5/versions.xml b/www/qt/android/armeabi-v7a/android-5/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-5/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi-v7a/android-6 b/www/qt/android/armeabi-v7a/android-6 new file mode 120000 index 0000000..509a4b0 --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-6 @@ -0,0 +1 @@ +android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-7 b/www/qt/android/armeabi-v7a/android-7 new file mode 120000 index 0000000..509a4b0 --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-7 @@ -0,0 +1 @@ +android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml new file mode 100644 index 0000000..ea2f4cd --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/qt/android/armeabi-v7a/android-8/versions.xml b/www/qt/android/armeabi-v7a/android-8/versions.xml new file mode 100644 index 0000000..0d03aad --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-8/versions.xml @@ -0,0 +1,3 @@ + + Say hello to Qt system wide shared libs for andorid + diff --git a/www/qt/android/armeabi-v7a/android-9 b/www/qt/android/armeabi-v7a/android-9 new file mode 120000 index 0000000..051d95d --- /dev/null +++ b/www/qt/android/armeabi-v7a/android-9 @@ -0,0 +1 @@ +android-8 \ No newline at end of file -- cgit v1.2.3 From 9c4df13bcef5a419095452a5e70cf7d62b2cbf66 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Apr 2011 19:59:55 +0300 Subject: Rename qt and android sdk packages --- .../packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android.qt.src/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.sdk.base/meta/package.xml | 2 +- .../org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index d37afaa..3ea4a34 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt 4.7.62-armeabi + 4.7.62-armeabi Development libraries for development applications on Android devices, armeabi architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 317410a..02adaf7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt 4.7.62-armeabi_v7a + 4.7.62-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 3a28cb0..5fccc53 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,6 +1,6 @@ - Android Qt 4.7.62-src + 4.7.62-src Development libraries for development applications on Android devices, source package. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 0ea497b..15fe95c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 10 + API 10 Android SDK API 10 (2.3.3-r01) 2.3.3.1 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index 3f4d8fc..63898af 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 11 + API 11 Android SDK API 11 (3.0-r01) 3.0.1 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index 14b7a05..7c265b0 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 4 + API 4 Android SDK API 4 (1.6-r03) 1.6.3 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index f680623..8303a0f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 5 + API 5 Android SDK API 5 (2.0-r01) 2.0.1 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 49b0167..8d2ad16 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 6 + API 6 Android SDK API 6 (2.0.1-r01) 2.0.1.1 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index 388cb1c..58ad152 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 7 + API 7 Android SDK API 7 (2.1-r02) 2.1.2 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index 80c9da6..c107234 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 8 + API 8 Android SDK API 8 (2.2-r02) 2.2.2 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index aa496db..b8585a5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK API 9 + API 9 Android SDK API 9 (2.3.1-r02) 2.3.1.2 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index 38a0856..19c6830 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK base + Base package Android SDK base package 10.0.0 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index 2b32dd1..235c212 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -1,6 +1,6 @@ - Android SDK platform tools + Platform tools Android SDK platform tools package 10.0.0 2011-04-09 -- cgit v1.2.3 From bce4e4bddce9dca75058239deac11123a97369d2 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 1 May 2011 21:25:03 +0800 Subject: Add QtMobility and QtWebkit to SDK --- Necessitas_SDK/build_sdk.sh | 178 ++++++++++++++++++++- .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/package.xml | 9 ++ .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/installscript.qs | 15 ++ .../meta/package.xml | 11 ++ .../meta/package.xml | 9 ++ 15 files changed, 349 insertions(+), 3 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f6ba4ba..d8baa49 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -172,6 +172,7 @@ function perpareNDKs mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z fi + export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b } function repackSDK @@ -279,16 +280,36 @@ function perpareSDKs repackSDK android-3.0_r01-linux android-sdk-windows/platforms android-11 } +function patchQtFiles +{ + echo "bin/qmake" >files_to_patch + echo "bin/lrelease" >>files_to_patch + echo "%%" >>files_to_patch + find -name *.pc >>files_to_patch + find -name *.la >>files_to_patch + find -name *.prl >>files_to_patch + find -name *.prf >>files_to_patch + ../qt-src/qpatch files_to_patch /data/data/eu.licentia.necessitas.ministro/files/qt $PWD +} function compileNecessitasQt { if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt-creator" + ../qt-src/androidconfigbuild.sh -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi + package_name=${1//-/_} # replace - with _ + + if [ $package_name = "armeabi_v7a" ] + then + sed 's/= armeabi/= armeabi-v7a/g' -i mkspecs/default/qmake.conf + else + sed 's/= armeabi-v7a/= armeabi/g' -i mkspecs/default/qmake.conf + fi + rm -fr data INSTALL_ROOT=$PWD make install mkdir -p $2/$1 @@ -300,6 +321,7 @@ function compileNecessitasQt mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-farmework.7z mv qt-farmework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-farmework.7z + patchQtFiles } @@ -307,6 +329,7 @@ function perpareNecessitasQt { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION pushd Android/Qt/$NECESSITAS_QT_VERSION + if [ ! -d qt-src ] then git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt-creator" @@ -334,22 +357,169 @@ function perpareNecessitasQt if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z ] then mv qt-src/.git . + mv qt-src/src/3rdparty/webkit . $SDK_TOOLS_PATH/archivegen qt-src qt-src.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data mv qt-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z mv .git qt-src/ + mv webkit qt-src/src/3rdparty/ fi + popd #Android/Qt/$NECESSITAS_QT_VERSION } +function compileNecessitasQtMobility +{ + export ANDROID_TARGET_ARCH=$1 + if [ ! -f all_done ] + then + git checkout testing +# ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging multimedia systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" + make -j4 || error_msg "Can't compile android-qtmobility" + echo "all done">all_done + fi + package_name=${1//-/_} # replace - with _ + rm -fr data + INSTALL_ROOT=$PWD make install + mkdir -p $2/$1 + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data + mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 + rm -fr $PWD/$TEMP_PATH + $SDK_TOOLS_PATH/archivegen Android qtmobility.7z + mv qtmobility.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z + cp -a $2/$1/* ../build-$1 + pushd ../build-$1 + patchQtFiles + popd +} + + +function perpareNecessitasQtMobility +{ + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION + pushd Android/Qt/$NECESSITAS_QT_VERSION + + if [ ! -d qtmobility-src ] + then + git clone git://anongit.kde.org/android-qt-mobility.git qtmobility-src || error_msg "Can't clone android-qt-mobility" + pushd qtmobility-src + git checkout testing + popd + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility.7z ] + then + mkdir build-mobility-armeabi + pushd build-mobility-armeabi + compileNecessitasQtMobility armeabi Android/Qt/$NECESSITAS_QT_VERSION + popd #build-mobility-armeabi + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility.7z ] + then + mkdir build-mobility-armeabi-v7a + pushd build-mobility-armeabi-v7a + compileNecessitasQtMobility armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + popd #build-mobility-armeabi-v7a + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] + then + mv qtmobility-src/.git . + $SDK_TOOLS_PATH/archivegen qtmobility-src qtmobility-src.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data + mv qtmobility-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z + mv .git qtmobility-src/ + fi + popd #Android/Qt/$NECESSITAS_QT_VERSION +} + +function compileNecessitasQtWebkit +{ + export ANDROID_TARGET_ARCH=$1 + export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite + if [ ! -f all_done ] + then + git checkout stable + WEBKITOUTPUTDIR=$PWD ../qtwebkit-src/Tools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j4" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" + echo "all done">all_done + fi + package_name=${1//-/_} # replace - with _ + rm -fr $PWD/$TEMP_PATH + pushd Release + INSTALL_ROOT=$PWD/../ make install + popd + rm -fr $2 + mkdir -p $2/$1 + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data + mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 + pushd $2/$1 + qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 + qt_build_path=${qt_build_path//\//\\\/} + sed_cmd="s/$qt_build_path/\/data\/data\/eu.licentia.necessitas.ministro\/files\/qt/g" + find -name *.pc | xargs sed $sed_cmd -i + popd + rm -fr $PWD/$TEMP_PATH + $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z + mv qtwebkit.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z + cp -a $2/$1/* ../build-$1/ + pushd ../build-$1 + patchQtFiles + popd +} + +function perpareNecessitasQtWebkit +{ + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION + pushd Android/Qt/$NECESSITAS_QT_VERSION + + if [ ! -d qtwebkit-src ] + then + git clone git://gitorious.org/~taipan/webkit/android-qtwebkit.git qtwebkit-src || error_msg "Can't clone android-qtwebkit" + pushd qtwebkit-src + git checkout stable + popd + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit.7z ] + then + mkdir build-webkit-armeabi + pushd build-webkit-armeabi + compileNecessitasQtWebkit armeabi Android/Qt/$NECESSITAS_QT_VERSION + popd #build-webkit-armeabi + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit.7z ] + then + mkdir build-webkit-armeabi-v7a + pushd build-webkit-armeabi-v7a + compileNecessitasQtWebkit armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + popd #build-webkit-armeabi-v7a + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] + then + mv qtwebkit-src/.git . + $SDK_TOOLS_PATH/archivegen qtwebkit-src qtwebkit-src.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data + mv qtwebkit-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z + mv .git qtwebkit-src/ + fi + popd #Android/Qt/$NECESSITAS_QT_VERSION +} + + function prepareSDKBinary { - $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer org.kde.necessitas + $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer org.kde.necessitas } function prepareSDKRepository { - $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas + rm -fr $REPO_PATH + $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } perpareNDKs @@ -358,6 +528,8 @@ prepareHostQt perpareSdkInstallerTools perpareNecessitasQtCreator perpareNecessitasQt +perpareNecessitasQtMobility +perpareNecessitasQtWebkit prepareSDKBinary prepareSDKRepository diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs new file mode 100644 index 0000000..357c94d --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtmobility.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml new file mode 100644 index 0000000..4d3379b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -0,0 +1,11 @@ + + + 1.1.62-armeabi + Development libraries for development applications on Android devices, armeabi architecture. + 1.1.62 + 2011-04-09 + org.kde.necessitas.android.qtmobility + + 2 + 2 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs new file mode 100644 index 0000000..357c94d --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtmobility.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml new file mode 100644 index 0000000..a40a6fe --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -0,0 +1,11 @@ + + + 1.1.62-armeabi_v7a + Development libraries for development applications on Android devices, armeabi_v7a architecture. + 1.1.62 + 2011-04-09 + org.kde.necessitas.android.qtmobility.armeabi_v7a + + 2 + 2 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs new file mode 100644 index 0000000..0cba8a9 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtmobility-src.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml new file mode 100644 index 0000000..4b59f4f --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml @@ -0,0 +1,11 @@ + + + 1.1.62-src + Development libraries for development applications on Android devices, source package. + 1.1.62 + 2011-04-09 + org.kde.necessitas.android.qtmobility.src + + 2 + 2 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml new file mode 100644 index 0000000..80cbf76 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml @@ -0,0 +1,9 @@ + + + QtMobility + QtMobility + 1.0 + 2011-04-09 + org.kde.necessitas.android.qtmobility + 2 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs new file mode 100644 index 0000000..bd7f8ba --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtwebkit.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml new file mode 100644 index 0000000..cdd79fc --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -0,0 +1,11 @@ + + + 4.7.62-armeabi + Development libraries for development applications on Android devices, armeabi architecture. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qtwebkit + + 1 + 1 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs new file mode 100644 index 0000000..bd7f8ba --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtwebkit.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml new file mode 100644 index 0000000..d45d7bc --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -0,0 +1,11 @@ + + + 4.7.62-armeabi_v7a + Development libraries for development applications on Android devices, armeabi_v7a architecture. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qtwebkit.armeabi_v7a + + 1 + 1 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs new file mode 100644 index 0000000..08066dc --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -0,0 +1,15 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "qtwebkit-src.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); +} + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml new file mode 100644 index 0000000..32ecd5a --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -0,0 +1,11 @@ + + + 4.7.62-src + Development libraries for development applications on Android devices, source package. + 4.7.62 + 2011-04-09 + org.kde.necessitas.android.qtwebkit.src + + 1 + 1 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml new file mode 100644 index 0000000..91f69fd --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml @@ -0,0 +1,9 @@ + + + QtWebkit + QtWebkit + 1.0 + 2011-04-09 + org.kde.necessitas.android.qtwebkit + 1 + -- cgit v1.2.3 From 1905a2ea1340674f3d1428b149924b3a6013e1f8 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 4 May 2011 11:53:45 +0800 Subject: Fix order --- Necessitas_SDK/build_sdk.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d8baa49..67e0194 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -304,7 +304,7 @@ function compileNecessitasQt package_name=${1//-/_} # replace - with _ if [ $package_name = "armeabi_v7a" ] - then + then sed 's/= armeabi/= armeabi-v7a/g' -i mkspecs/default/qmake.conf else sed 's/= armeabi-v7a/= armeabi/g' -i mkspecs/default/qmake.conf @@ -381,6 +381,7 @@ function compileNecessitasQtMobility fi package_name=${1//-/_} # replace - with _ rm -fr data + rm -fr $2 INSTALL_ROOT=$PWD make install mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data @@ -459,7 +460,7 @@ function compileNecessitasQtWebkit qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 qt_build_path=${qt_build_path//\//\\\/} sed_cmd="s/$qt_build_path/\/data\/data\/eu.licentia.necessitas.ministro\/files\/qt/g" - find -name *.pc | xargs sed $sed_cmd -i + find -name *.pc | xargs sed $sed_cmd -i popd rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z @@ -522,10 +523,10 @@ function prepareSDKRepository $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } -perpareNDKs -perpareSDKs prepareHostQt perpareSdkInstallerTools +perpareNDKs +perpareSDKs perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtMobility -- cgit v1.2.3 From e164952f0e121c14d73f67f97f0353768f6586de Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 4 May 2011 23:49:42 +0800 Subject: Finish Ministro's repository generator, this is the final missing tool which almost completes the script which will automatically create the SDK. --- Necessitas_SDK/ministrorepogen/main.cpp | 212 +++++++++++++++++++++ Necessitas_SDK/ministrorepogen/ministrorepogen.pro | 25 +++ Necessitas_SDK/ministrorepogen/rules.xml | 78 ++++++++ Necessitas_SDK/ministrorepogen/sortlibs.cpp | 133 +++++++++++++ Necessitas_SDK/ministrorepogen/sortlibs.h | 54 ++++++ 5 files changed, 502 insertions(+) create mode 100644 Necessitas_SDK/ministrorepogen/main.cpp create mode 100644 Necessitas_SDK/ministrorepogen/ministrorepogen.pro create mode 100644 Necessitas_SDK/ministrorepogen/rules.xml create mode 100644 Necessitas_SDK/ministrorepogen/sortlibs.cpp create mode 100644 Necessitas_SDK/ministrorepogen/sortlibs.h diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp new file mode 100644 index 0000000..d74fc11 --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -0,0 +1,212 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License or (at your option) version 3 or any later version + accepted by the membership of KDE e.V. (or its successor approved + by the membership of KDE e.V.), which shall act as a proxy + defined in Section 14 of version 3 of the license. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include "sortlibs.h" +#include +#include +#include +#include +#include + +void printHelp() +{ + qDebug()<<"Usage:./ministrorepogen "; +} + + +void getFileInfo(const QString & filePath, qint64 & fileSize, QString & sha1) +{ + fileSize = -1; + QFile file(filePath); + if (!file.open(QIODevice::ReadOnly)) + return; + QCryptographicHash hash(QCryptographicHash::Sha1); + hash.addData(file.readAll()); + fileSize=file.size(); + sha1=hash.result().toHex(); +} + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + if (argc<7) + { + printHelp(); + return 1; + } + + const char * readelfPath=argv[1]; + QString libsPath(argv[2]); + const char * version=argv[3]; + const char * abiVersion=argv[4]; + const char * rulesFile=argv[5]; + const char * outputFolder=argv[6]; + + QDomDocument document("libs"); + QFile f(rulesFile); + if (!f.open(QIODevice::ReadOnly)) + return 1; + document.setContent(&f); + QDomElement root=document.documentElement(); + if (root.isNull()) + return 1; + + QDomElement element=root.firstChildElement("platforms"); + if (element.isNull()) + return 1; + + QMap >platforms; + element=element.firstChildElement("version"); + while(!element.isNull()) + { + if (element.hasAttribute("symlink")) + platforms[element.attribute("symlink", 0).toInt()].push_back(element.attribute("value", 0).toInt()); + else + platforms[element.attribute("value", 0).toInt()].clear(); + element = element.nextSiblingElement(); + } + + element=root.firstChildElement("libs"); + if (element.isNull()) + return 1; + + QStringList excludePaths=element.attribute("excludePaths").split(';'); + QString applicationParameters=element.attribute("applicationParameters"); + QString environmentVariables=element.attribute("environmentVariables"); + + element=element.firstChildElement("lib"); + librariesMap libs; + while(!element.isNull()) + { + if (!element.hasAttribute("file")) + { + element=element.nextSiblingElement(); + continue; + } + + const QString filePath=element.attribute("file"); + const QString libraryName=filePath.mid(filePath.lastIndexOf('/')+1); + libs[libraryName].relativePath=filePath; + + if (element.hasAttribute("name")) + libs[libraryName].name=element.attribute("name"); + + if (element.hasAttribute("platform")) + libs[libraryName].platform=element.attribute("platform").toInt(); + + if (element.hasAttribute("level")) + { + bool ok=false; + libs[libraryName].level=element.attribute("level").toInt(&ok); + if (!ok) + libs[libraryName].level=-1; + } + + QDomElement childs=element.firstChildElement("depends").firstChildElement("lib"); + while(!childs.isNull()) + { + libs[libraryName].dependencies<\n").arg(version).arg(applicationParameters).arg(environmentVariables).toUtf8()); + foreach (const QString & key, libs.keys()) + { + if (libs[key].platform && libs[key].platform != androdPlatform) + continue; + qDebug()<<"Generating "<\n\n"); + continue; + } + outXmlFile.write(">\n"); + if (libs[key].dependencies.size()) + { + outXmlFile.write("\t\t\n"); + foreach(const QString & libName, libs[key].dependencies) + outXmlFile.write(QString("\t\t\t\n").arg(libName).toUtf8()); + outXmlFile.write("\t\t\n"); + } + + + if (libs[key].needs.size()) + { + outXmlFile.write("\t\t\n"); + foreach(const NeedsStruct & needed, libs[key].needs) + { + qint64 fileSize; + QString sha1Hash; + getFileInfo(libsPath+"/"+needed.relativePath, fileSize, sha1Hash); + if (-1==fileSize) + { + qWarning()<<"Warning : Can't find \""<\n") + .arg(needed.name).arg(abiVersion).arg(version).arg(needed.relativePath).arg(fileSize).arg(sha1Hash).toUtf8()); + } + outXmlFile.write("\t\t\n"); + } + outXmlFile.write("\t\n\n"); + } + outXmlFile.write("\n"); + outXmlFile.close(); + } + return 0; +} diff --git a/Necessitas_SDK/ministrorepogen/ministrorepogen.pro b/Necessitas_SDK/ministrorepogen/ministrorepogen.pro new file mode 100644 index 0000000..171263c --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/ministrorepogen.pro @@ -0,0 +1,25 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2011-05-02T11:28:13 +# +#------------------------------------------------- + +QT += core xml + +QT -= gui + +TARGET = ministrorepogen +CONFIG += console +CONFIG -= app_bundle + +TEMPLATE = app + + +SOURCES += main.cpp \ + sortlibs.cpp + +HEADERS += \ + sortlibs.h + +OTHER_FILES += rules.xml + diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml new file mode 100644 index 0000000..d15ed55 --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Necessitas_SDK/ministrorepogen/sortlibs.cpp b/Necessitas_SDK/ministrorepogen/sortlibs.cpp new file mode 100644 index 0000000..3f71c6d --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/sortlibs.cpp @@ -0,0 +1,133 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License or (at your option) version 3 or any later version + accepted by the membership of KDE e.V. (or its successor approved + by the membership of KDE e.V.), which shall act as a proxy + defined in Section 14 of version 3 of the license. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "sortlibs.h" +#include +#include +#include + + +static QStringList getLibs(const QString & readelfPath, const QString & lib) +{ + QStringList libs; + + QProcess readelfProc; + readelfProc.start(readelfPath, QStringList()<<"-d"<<"-W"< lines=readelfProc.readAll().trimmed().split('\n'); + foreach(QByteArray line, lines) + { + if (line.contains("(NEEDED)") && line.contains("Shared library:") ) + { + const int pos=line.lastIndexOf('[')+1; + libs<0) + return maxlevel; + foreach (QString lib, mapLibs[library].dependencies) + { + foreach (const QString & key, mapLibs.keys()) + { + if (library == key) + continue; + if (key==lib) + { + int libLevel=mapLibs[key].level; + + if (libLevel<0) + libLevel=setLevel(key, mapLibs); + + if (libLevel>maxlevel) + maxlevel=libLevel; + break; + } + } + } + if (mapLibs[library].level<0) + mapLibs[library].level=maxlevel+1; + return maxlevel+1; +} + +void SortLibraries(librariesMap & mapLibs, const QString & readelfPath, const QString & path, const QStringList & excludePath) +{ + QDir libPath; + QDir relative; + relative.cd(path); + QDirIterator it(path, QStringList()<<"*.so", QDir::Files, QDirIterator::Subdirectories); + while (it.hasNext()) + { + libPath=it.next(); + const QString library=libPath.absolutePath().mid(libPath.absolutePath().lastIndexOf('/')+1); + const QString relativePath=relative.relativeFilePath(libPath.absolutePath()); + if (excludePath.contains(relativePath.left(relativePath.indexOf('/'))) && !mapLibs.contains(library)) + continue; + + if (!mapLibs[library].relativePath.length()) + mapLibs[library].relativePath=relativePath; + + if (!mapLibs[library].dependencies.size()) + mapLibs[library].dependencies=getLibs(readelfPath, libPath.absolutePath()); + } + + // clean dependencies + foreach (const QString & key, mapLibs.keys()) + { + int it=0; + while(it + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License or (at your option) version 3 or any later version + accepted by the membership of KDE e.V. (or its successor approved + by the membership of KDE e.V.), which shall act as a proxy + defined in Section 14 of version 3 of the license. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef SORTLIBS_H +#define SORTLIBS_H + +#include +#include +#include + + +struct NeedsStruct +{ + QString name; + QString relativePath; +}; + +struct Library +{ + Library() + { + level = -1; + platform = 0; + } + int level; + QString relativePath; + QStringList dependencies; + QVector needs; + QString name; + int platform; +}; + +typedef QMap librariesMap; + +void SortLibraries(librariesMap & libraries, const QString & readelfPath, const QString & path, const QStringList & excludePath); + +#endif // SORTLIBS_H -- cgit v1.2.3 From 63a396d82fc566eeeda8830c7230a383adf5ba22 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 4 May 2011 23:54:11 +0800 Subject: Check libraries validity only once per day. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index c418e1f..a2f1847 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -229,16 +229,18 @@ public class MinistroService extends Service { public void onCreate() { m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; - refreshLibraries(true); SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); long lastCheck = preferences.getLong("LASTCHECK",0); if (System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day { + refreshLibraries(true); SharedPreferences.Editor editor= preferences.edit(); editor.putLong("LASTCHECK",System.currentTimeMillis()); editor.commit(); new CheckForUpdates().execute((Void[])null); } + else + refreshLibraries(false); super.onCreate(); } -- cgit v1.2.3 From 0921c482eead21135a2a160aa6caa446b535ffb1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 4 May 2011 23:55:25 +0800 Subject: Add license --- Necessitas_SDK/build_sdk.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 67e0194..9c3f10c 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1,5 +1,24 @@ #!/bin/bash +# Copyright (c) 2011, BogDan Vatra +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License or (at your option) version 3 or any later version +# accepted by the membership of KDE e.V. (or its successor approved +# by the membership of KDE e.V.), which shall act as a proxy +# defined in Section 14 of version 3 of the license. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + REPO_SRC_PATH=$PWD TEMP_PATH=/var/necessitas REPO_PATH=/var/www/necessitas/sdk -- cgit v1.2.3 From b4c0719871d60fba9339057d9cf6aa22525e8723 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 7 May 2011 13:57:30 +0300 Subject: Windows fixes for build_sdk.sh TEMP_PATH=/usr/necessitas instead of /var/necessitas. Pass -platform to configure Add doMake which retrys for ever on Windows and Mac OS X. Use git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git on Windows and Mac OS X. Bodge around shared not being in mkspecs/win32-g++/qmake.conf after building shared host Qt. Reorder perpareNDKs and perpareSDKs to happen after perpareSdkInstallerTools Conflicts: Necessitas_SDK/build_sdk.sh --- Necessitas_SDK/build_sdk.sh | 74 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 17 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9c3f10c..32617b6 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -20,7 +20,7 @@ REPO_SRC_PATH=$PWD -TEMP_PATH=/var/necessitas +TEMP_PATH=/usr/necessitas REPO_PATH=/var/www/necessitas/sdk mkdir -p $TEMP_PATH pushd $TEMP_PATH @@ -31,6 +31,15 @@ STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" +if [ "$OSTYPE" = "msys" ] ; then + HOST_CFG_OPTIONS=" -platform win32-g++ " +else + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + HOST_CFG_OPTIONS=" -platform macx-g++ -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 " + else + HOST_CFG_OPTIONS=" -platform linux-g++ " + fi +fi function error_msg { @@ -51,14 +60,44 @@ function downloadIfNotExits fi } +function doMake +{ + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + MAKEDIR=`pwd -W` + MAKEFILE=$MAKEDIR/Makefile + make -f $MAKEFILE -j9 + while [ "$?" != "0" ] + do + if [ -f /usr/break-make ]; then + echo "Detected break-make" + rm -f /usr/break-make + error_msg $1 + fi + make -f $MAKEFILE -j9 + done + echo $2>all_done + else + make -j4 || error_msg $1 + echo $2>all_done + fi +} + function prepareHostQt { # download compile & compile qt, it is used to compile the installer - downloadIfNotExits $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz - - if [ ! -d $HOST_QT_VERSION ] + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then - tar xvfz $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" + if [ ! -d $HOST_QT_VERSION ] + then + git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_VERSION + fi + else + downloadIfNotExits $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz + + if [ ! -d $HOST_QT_VERSION ] + then + tar xvfz $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" + fi fi #build qt statically, needed by Sdk installer @@ -68,9 +107,8 @@ function prepareHostQt if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - make -j4 || error_msg "Can't compile $HOST_QT_VERSION" - echo "all done">all_done + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + doMake "Can't compile static $HOST_QT_VERSION" "all done" fi popd @@ -81,9 +119,14 @@ function prepareHostQt if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - make -j4 || error_msg "Can't compile $HOST_QT_VERSION" - echo "all done">all_done + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + doMake "Can't compile shared $HOST_QT_VERSION" "all done" + if [ "$OSTYPE" = "msys" ]; then + # Horrible, need to fix this properly. + sed 's/qt warn_on release /qt shared warn_on release /' mkspecs/win32-g++/qmake.conf > mkspecs/win32-g++/qmake.conf-fixed + rm mkspecs/win32-g++/qmake.conf + mv mkspecs/win32-g++/qmake.conf-fixed mkspecs/win32-g++/qmake.conf + fi fi popd @@ -104,8 +147,7 @@ function perpareSdkInstallerTools then git checkout master $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" - make -j4 || error_msg "Can't compile necessitas-installer-framework" - echo "all done">all_done + doMake "Can't compile necessitas-installer-framework" "all done" fi popd } @@ -126,8 +168,7 @@ function perpareNecessitasQtCreator then git checkout testing $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" - make -j4 || error_msg "Can't compile android-qt-creator" - echo "all done">all_done + doMake "Can't compile android-qt-creator" "all done" fi rm -fr QtCreator INSTALL_ROOT=$PWD/QtCreator make install @@ -395,8 +436,7 @@ function compileNecessitasQtMobility git checkout testing # ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging multimedia systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" - make -j4 || error_msg "Can't compile android-qtmobility" - echo "all done">all_done + doMake "Can't compile android-qtmobility" "all done" fi package_name=${1//-/_} # replace - with _ rm -fr data -- cgit v1.2.3 From cdce206e85dcd6da219c1ada87780e01f692984d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 6 May 2011 09:51:47 +0100 Subject: General fixes. build_sdk.sh :: Set SDK_TOOLS_PATH always (rather than in perpareSdkInstallerTools), so I can comment in/out function calls at the bottom. Make sure ANDROID_NDK_ROOT=$PWD/android-ndk-r5b contains the correct host NDK. --- Necessitas_SDK/build_sdk.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 32617b6..909202b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -141,7 +141,6 @@ function perpareSdkInstallerTools fi pushd necessitas-installer-framework/installerbuilder - SDK_TOOLS_PATH=$PWD/bin if [ ! -f all_done ] then @@ -231,7 +230,21 @@ function perpareNDKs $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z + rm -fr android-ndk-r5b + fi + + if [ "$HOST_OS"="msys" ]; then + unzip android-ndk-r5b-windows.zip + fi + + if [ "$HOST_OS"="darwin9.0" -o "$HOST_OS"="darwin10.0" ]; then + tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 fi + + if [ "$HOST_OS"="linux" ]; then + tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + fi + export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b } @@ -582,6 +595,10 @@ function prepareSDKRepository $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } +pushd necessitas-installer-framework/installerbuilder +SDK_TOOLS_PATH=$PWD/bin +popd + prepareHostQt perpareSdkInstallerTools perpareNDKs -- cgit v1.2.3 From fdefeb686c0e7909d6b5564aa60f324a00f97e32 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 6 May 2011 22:48:24 +0100 Subject: Fix unpacking of Google's official NDK (was using HOST_OS instead of OSTYPE). --- Necessitas_SDK/build_sdk.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 909202b..9a1bb77 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -233,15 +233,17 @@ function perpareNDKs rm -fr android-ndk-r5b fi - if [ "$HOST_OS"="msys" ]; then + rm -fr android-ndk-r5b + + if [ "$OSTYPE" = "msys" ]; then unzip android-ndk-r5b-windows.zip fi - if [ "$HOST_OS"="darwin9.0" -o "$HOST_OS"="darwin10.0" ]; then + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 fi - if [ "$HOST_OS"="linux" ]; then + if [ "$OSTYPE" = "linux" ]; then tar xvfa android-ndk-r5b-linux-x86.tar.bz2 fi @@ -309,7 +311,7 @@ function perpareSDKs # repack platform-tools repackSDK platform-tools_r03-linux android-sdk-linux_x86 platform-tools repackSDK platform-tools_r03-macosx android-sdk-mac_x86 platform-tools -# should we also include ant binary for windows ? + # should we also include ant binary for windows ? repackSDK platform-tools_r03-windows android-sdk-windows platform-tools # repack api-4 -- cgit v1.2.3 From 6aa10eb60cb36e93807fde394275f7f133b832ca Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 7 May 2011 08:41:26 +0100 Subject: DOS EOLs caused me so much hassle! --- Necessitas_SDK/build_ndk.sh | 157 ++++++++++++++++++++++++++++++++++++++++++++ Necessitas_SDK/build_sdk.sh | 74 ++++++++++++++------- 2 files changed, 208 insertions(+), 23 deletions(-) create mode 100644 Necessitas_SDK/build_ndk.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh new file mode 100644 index 0000000..e841508 --- /dev/null +++ b/Necessitas_SDK/build_ndk.sh @@ -0,0 +1,157 @@ + +#!/bin/bash + +# Copyright (c) 2011, Ray Donnelly +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License or (at your option) version 3 or any later version +# accepted by the membership of KDE e.V. (or its successor approved +# by the membership of KDE e.V.), which shall act as a proxy +# defined in Section 14 of version 3 of the license. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +TEMP_PATH=/usr/ndk-build + +REPO_SRC_PATH=$PWD +PYTHONVER=/usr +mkdir -p $TEMP_PATH +pushd $TEMP_PATH + +function error_msg +{ + echo $1 >&2 + exit 1 +} + +function removeAndExit +{ + rm -fr $1 && error_msg "Can't download $1" +} + +function downloadIfNotExists +{ + if [ ! -f $1 ] + then + wget $2 || removeAndExit $1 + fi +} + +function makeInstallMinGWBits +{ + wget -c http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz + rm -rf PDCurses-3.4 + tar -xvzf PDCurses-3.4.tar.gz + cd PDCurses-3.4/win32 + sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak + make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N + cp pdcurses.a /usr/lib/libcurses.a + cp pdcurses.a /usr/lib/libncurses.a + cp pdcurses.a /usr/lib/libpdcurses.a + cp ../curses.h /usr/include + cp ../panel.h /usr/include + cd ../.. + + wget -c http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz + rm -rf readline-6.2 + tar -xvzf readline-6.2.tar.gz + cd readline-6.2 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/usr CFLAGS=-O2 + make && make install + cd .. + + if [ ! -d python ] + then + git clone git@gitorious.org:mingw-python/mingw-python.git python + fi + cd python + ./build-python.sh + PYTHONVER=$PWD/install-python-mingw + # If successful, the build is packaged into /usr/src/others/python-mingw.7z + cp ../python-mingw.7z $REPO_SRC_PATH/ + cd .. + + rm -rf android-various + git clone git://gitorious.org:mingw-android-various/mingw-android-various.git android-various + mkdir -p android-various/make-3.82-build + cd android-various/make-3.82-build + ../make-3.82/build-mingw.sh + cp make.exe $REPO_SRC_PATH/ + cd ../.. + cd android-various/android-sdk + gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe + cp android.exe $REPO_SRC_PATH/ +} + +function makeNDK +{ + mkdir src && cd src + if [ ! -d mpfr ] + then + git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr + cd mpfr + downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 + cd .. + fi + if [ ! -d binutils ] + then + git clone git://android.git.kernel.org/toolchain/binutils.git binutils + fi + if [ ! -d gmp ] + then + git clone git://android.git.kernel.org/toolchain/gmp.git gmp + fi + if [ ! -d gold ] + then + git clone git://android.git.kernel.org/toolchain/gold.git gold + fi + if [ ! -d build ] + then + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build + fi + if [ ! -d gcc ] + then + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc + fi + if [ ! -d gdb ] + then + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb + fi + cd .. + mkdir ndk && cd ndk + git clone git://android.git.kernel.org/platform/development.git development + git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk + cd ndk && git checkout -b integration origin/integration && cd .. + export NDK=`pwd`/ndk + export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose + + ROOTDIR=`pwd` + RELEASE=`date +%Y%m%d` + NDK=`pwd`/ndk + ANDROID_NDK_ROOT=$NDK + + if [ "$OSTYPE" = "msys" ]; then + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-windows-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=$PYTHONVER --only-latest + else + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=/usr --only-latest + else + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=/usr --only-latest + fi + fi +} + +if [ "$OSTYPE" = "msys" ] ; then + makeInstallMinGWBits +fi +makeNDK + +popd diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9a1bb77..9ce4c94 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -33,11 +33,15 @@ SDK_TOOLS_PATH="" if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ " + HOST_TAG=windows-x86 + EXE_EXT=.exe else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then HOST_CFG_OPTIONS=" -platform macx-g++ -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 " + HOST_TAG=darwin-x86 else HOST_CFG_OPTIONS=" -platform linux-g++ " + HOST_TAG=linux-x86 fi fi @@ -52,7 +56,7 @@ function removeAndExit rm -fr $1 && error_msg "Can't download $1" } -function downloadIfNotExits +function downloadIfNotExists { if [ ! -f $1 ] then @@ -84,7 +88,28 @@ function doMake function prepareHostQt { - # download compile & compile qt, it is used to compile the installer + # download, compile & install qt, it is used to compile the installer + if [ "$OSTYPE" = "msys" ] + then + # Get a more recent sed, one that can do -i. + downloadIfNotExists sed-4.2.1-2-msys-1.0.13-bin.tar.lzma http://downloads.sourceforge.net/project/mingw/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma + rm -rf sed-4.2.1-2-msys-1.0.13-bin.tar + rm /usr/bin/sed.exe + 7za x sed-4.2.1-2-msys-1.0.13-bin.tar.lzma + tar -xvf sed-4.2.1-2-msys-1.0.13-bin.tar + mv bin/sed.exe /usr/bin + + # download, compile & install zlib to /usr + downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz + tar -xvzf zlib-1.2.5.tar.gz + cd zlib-1.2.5 + sed 's/usr\/local/usr/' win32/Makefile.gcc > win32/Makefile-fixed.gcc + make -f win32/Makefile-fixed.gcc + export INCLUDE_PATH=/usr/include && export LIBRARY_PATH=/usr/lib && make -f win32/Makefile-fixed.gcc install + rm -rf zlib-1.2.5 + cd .. + fi + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then if [ ! -d $HOST_QT_VERSION ] @@ -92,7 +117,7 @@ function prepareHostQt git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_VERSION fi else - downloadIfNotExits $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz + downloadIfNotExists $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz if [ ! -d $HOST_QT_VERSION ] then @@ -154,7 +179,7 @@ function perpareSdkInstallerTools function perpareNecessitasQtCreator { - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z ] then if [ ! -d android-qt-creator ] then @@ -178,12 +203,12 @@ function perpareNecessitasQtCreator find $PWD/QtCreator/Qt -name *.la | xargs rm -fr find $PWD/QtCreator/Qt -name *.prl | xargs rm -fr cp -a $SHARED_QT_PATH/imports/* $PWD/QtCreator/Qt/imports/ - cp -a bin/necessitas $PWD/QtCreator/bin/ + cp -a bin/necessitas$EXE_EXT $PWD/QtCreator/bin/ mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ - $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-linux-x86.7z + $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data - mv qtcreator-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-linux-x86.7z + mv qtcreator-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z popd fi } @@ -194,7 +219,7 @@ function perpareNDKs # repack windows NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] then - downloadIfNotExits android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip + downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip if [ ! -d android-ndk-r5b ] then unzip android-ndk-r5b-windows.zip @@ -208,7 +233,7 @@ function perpareNDKs # repack mac NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] then - downloadIfNotExits android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 + downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 if [ ! -d android-ndk-r5b ] then tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 @@ -222,7 +247,7 @@ function perpareNDKs # repack linux-x86 NDK, it must be the last one because we need it to build qt if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] then - downloadIfNotExits android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 + downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 if [ ! -d android-ndk-r5b ] then tar xvfa android-ndk-r5b-linux-x86.tar.bz2 @@ -255,7 +280,7 @@ function repackSDK package_name=${3//-/_} # replace - with _ if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z ] then - downloadIfNotExits $1.zip http://dl.google.com/android/repository/$1.zip + downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip unzip $1.zip mkdir -p $2 mv $1 $2/$3 @@ -271,7 +296,7 @@ function perpareSDKs echo "prepare SDKs" if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] then - downloadIfNotExits android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz + downloadIfNotExists android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] then tar xvfa android-sdk_r10-linux_x86.tgz @@ -284,7 +309,7 @@ function perpareSDKs if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] then - downloadIfNotExits android-sdk_r10-mac_x86.zip http://dl.google.com/android/android-sdk_r10-mac_x86.zip + downloadIfNotExists android-sdk_r10-mac_x86.zip http://dl.google.com/android/android-sdk_r10-mac_x86.zip if [ ! -d android-sdk-mac_x86 ] then unzip android-sdk_r10-mac_x86.zip @@ -297,7 +322,7 @@ function perpareSDKs if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] then - downloadIfNotExits android-sdk_r10-windows.zip http://dl.google.com/android/android-sdk_r10-windows.zip + downloadIfNotExists android-sdk_r10-windows.zip http://dl.google.com/android/android-sdk_r10-windows.zip if [ ! -d android-sdk-windows ] then unzip android-sdk_r10-windows.zip @@ -357,14 +382,17 @@ function perpareSDKs function patchQtFiles { - echo "bin/qmake" >files_to_patch - echo "bin/lrelease" >>files_to_patch + echo "bin/qmake$EXE_EXT" >files_to_patch + echo "bin/lrelease$EXE_EXT" >>files_to_patch echo "%%" >>files_to_patch find -name *.pc >>files_to_patch find -name *.la >>files_to_patch find -name *.prl >>files_to_patch find -name *.prf >>files_to_patch - ../qt-src/qpatch files_to_patch /data/data/eu.licentia.necessitas.ministro/files/qt $PWD + if [ "$OSTYPE" = "msys" ] ; then + cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ + fi + ../qt-src/qpatch$EXE_EXT files_to_patch /data/data/eu.licentia.necessitas.ministro/files/qt $PWD } function compileNecessitasQt @@ -380,19 +408,19 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then - sed 's/= armeabi/= armeabi-v7a/g' -i mkspecs/default/qmake.conf + sed 's/= armeabi/= armeabi-v7a/g' -i mkspecs/android-g++/qmake.conf else - sed 's/= armeabi-v7a/= armeabi/g' -i mkspecs/default/qmake.conf + sed 's/= armeabi-v7a/= armeabi/g' -i mkspecs/android-g++/qmake.conf fi rm -fr data INSTALL_ROOT=$PWD make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 - $SDK_TOOLS_PATH/archivegen Android qt-tools-linux-x86.7z + $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data - mv qt-tools-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-linux-x86.7z + mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-farmework.7z mv qt-farmework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-farmework.7z @@ -413,7 +441,7 @@ function perpareNecessitasQt popd fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi pushd build-armeabi @@ -421,7 +449,7 @@ function perpareNecessitasQt popd #build-armeabi fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi-v7a pushd build-armeabi-v7a -- cgit v1.2.3 From 7c184e3cba75370a16457e333f1763a59d76c8d4 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 7 May 2011 09:20:36 +0100 Subject: Fix repo url in build_ndk.sh --- Necessitas_SDK/build_ndk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index e841508..71dfbe4 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -75,12 +75,12 @@ function makeInstallMinGWBits cd python ./build-python.sh PYTHONVER=$PWD/install-python-mingw - # If successful, the build is packaged into /usr/src/others/python-mingw.7z + # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z cp ../python-mingw.7z $REPO_SRC_PATH/ cd .. rm -rf android-various - git clone git://gitorious.org:mingw-android-various/mingw-android-various.git android-various + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build cd android-various/make-3.82-build ../make-3.82/build-mingw.sh -- cgit v1.2.3 From 740c4ddd85b6abc6309fda99808c01b4b3f61e0a Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 7 May 2011 10:25:33 +0100 Subject: Added buildQPatch and changed patchQtFiles to work on MSYS. --- Necessitas_SDK/build_sdk.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9ce4c94..2669334 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -380,6 +380,21 @@ function perpareSDKs repackSDK android-3.0_r01-linux android-sdk-windows/platforms android-11 } +function buildQPatch +{ + mkdir qpatch-build + pushd qpatch-build + $STATIC_QT_PATH/bin/qmake "QT_CONFIG=release" -r ../android-qt-creator/src/tools/qpatch/qpatch.pro + if [ "$OSTYPE" = "msys" ]; then + make -f Makefile.Release + else + make + fi + echo release/qpatch${EXE_EXT} ../Android/Qt/$NECESSITAS_QT_VERSION/qt-src + cp release/qpatch${EXE_EXT} ../Android/Qt/$NECESSITAS_QT_VERSION/qt-src + popd +} + function patchQtFiles { echo "bin/qmake$EXE_EXT" >files_to_patch @@ -392,7 +407,11 @@ function patchQtFiles if [ "$OSTYPE" = "msys" ] ; then cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ fi - ../qt-src/qpatch$EXE_EXT files_to_patch /data/data/eu.licentia.necessitas.ministro/files/qt $PWD + echo files-to-patch > qpatch.cmdline + echo /data/data/eu.licentia.necessitas.ministro/files/qt >> qpatch.cmdline + echo $PWD >> qpatch.cmdline + echo . >> qpatch.cmdline + ../qt-src/qpatch$EXE_EXT @qpatch.cmdline } function compileNecessitasQt @@ -630,6 +649,7 @@ SDK_TOOLS_PATH=$PWD/bin popd prepareHostQt +buildQPatch perpareSdkInstallerTools perpareNDKs perpareSDKs -- cgit v1.2.3 From dc73a247010e9ec52c99cbba31e43912d7a80ad6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 7 May 2011 10:38:47 +0100 Subject: Mac OS X fixes. --- Necessitas_SDK/build_ndk.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 71dfbe4..5bcbeb6 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -19,7 +19,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -TEMP_PATH=/usr/ndk-build +if [ "$OSTYPE" = "msys" ]; then + TEMP_PATH=/usr/ndk-build +else + pushd ~ + TEMP_PATH=$PWD/ndk-build + popd +fi REPO_SRC_PATH=$PWD PYTHONVER=/usr @@ -80,7 +86,7 @@ function makeInstallMinGWBits cd .. rm -rf android-various - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various + git clone git://gitorious.org:mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build cd android-various/make-3.82-build ../make-3.82/build-mingw.sh @@ -125,10 +131,10 @@ function makeNDK then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb fi - cd .. - mkdir ndk && cd ndk + cd .. + mkdir ndk && cd ndk git clone git://android.git.kernel.org/platform/development.git development - git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk + git clone git@gitorious.org:mingw-android-ndk/mingw-android-ndk.git ndk cd ndk && git checkout -b integration origin/integration && cd .. export NDK=`pwd`/ndk export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose -- cgit v1.2.3 From 20ea8c44674e8983a419168d34a636cfda274ecc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 7 May 2011 14:02:35 +0300 Subject: Small fixes --- Necessitas_SDK/build_ndk.sh | 1 - Necessitas_SDK/build_sdk.sh | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) mode change 100644 => 100755 Necessitas_SDK/build_ndk.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh old mode 100644 new mode 100755 index 5bcbeb6..19c04fc --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -1,4 +1,3 @@ - #!/bin/bash # Copyright (c) 2011, Ray Donnelly diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2669334..3b0f87b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -20,7 +20,10 @@ REPO_SRC_PATH=$PWD -TEMP_PATH=/usr/necessitas +TEMP_PATH=/var/necessitas +if [ "$OSTYPE" = "msys" ] ; then + TEMP_PATH=/usr/necessitas +fi REPO_PATH=/var/www/necessitas/sdk mkdir -p $TEMP_PATH pushd $TEMP_PATH -- cgit v1.2.3 From 202f56a2e6995efa94b9d329aed09265f04a6058 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 7 May 2011 13:24:57 +0300 Subject: Add Qt path to QtCreator. --- Necessitas_SDK/build_sdk.sh | 11 ++++++++++- Necessitas_SDK/config/config.xml | 2 +- .../meta/installscript.qs | 17 ++++++++++++++--- .../meta/installscript.qs | 17 ++++++++++++++--- .../meta/installscript.qs | 11 ++++++++++- .../meta/package.xml | 3 ++- .../meta/installscript.qs | 11 ++++++++++- .../meta/package.xml | 1 + .../meta/installscript.qs | 11 ++++++++++- .../meta/package.xml | 3 ++- .../meta/installscript.qs | 11 ++++++++++- .../meta/package.xml | 1 + .../meta/installscript.qs | 14 ++++++++++++-- .../meta/installscript.qs | 14 ++++++++++++-- .../meta/installscript.qs | 1 - .../meta/installscript.qs | 1 - .../meta/installscript.qs | 13 ++++++++++++- www/qt/android/armeabi-v7a/android-4/versions.xml | 2 +- www/qt/android/armeabi/android-4/versions.xml | 2 +- www/qt/android/armeabi/android-5/versions.xml | 2 +- 20 files changed, 124 insertions(+), 24 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3b0f87b..6e5f858 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -29,7 +29,8 @@ mkdir -p $TEMP_PATH pushd $TEMP_PATH HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 -NECESSITAS_QT_VERSION=4761 +NECESSITAS_QT_VERSION=4762 +NECESSITAS_QT_VERSION_LONG="4.7.62" STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -635,6 +636,13 @@ function perpareNecessitasQtWebkit popd #Android/Qt/$NECESSITAS_QT_VERSION } +function patchPackages +{ + pushd $REPO_SRC_PATH/packages + find -name *.qs | xargs sed "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" -i + find -name *.qs | xargs sed "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" -i + popd +} function prepareSDKBinary { @@ -660,6 +668,7 @@ perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtMobility perpareNecessitasQtWebkit +patchPackages prepareSDKBinary prepareSDKRepository diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index ff9700f..7fcfbef 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -12,7 +12,7 @@ SDKMaintainer - http://localhost/necessitas/sdk + http://files.kde.org/necessitas/sdk true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index 5a43bc4..888908d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -21,7 +21,18 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + component.addOperation( "QtPatch", qtPath ); + component.addOperation( "RegisterQtInCreator", + "@TargetDir@", + "Necessitas Qt @@VERSION@@ for Android", + qtPath ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index ef76289..510c21a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -22,7 +22,18 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + component.addOperation( "QtPatch", qtPath ); + component.addOperation( "RegisterQtInCreator", + "@TargetDir@", + "Necessitas Qt @@VERSION@@ for Android", + qtPath ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 357c94d..a8c057d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -11,5 +11,14 @@ Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index 4d3379b..fbd1c6e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -4,7 +4,8 @@ Development libraries for development applications on Android devices, armeabi architecture. 1.1.62 2011-04-09 - org.kde.necessitas.android.qtmobility + org.kde.necessitas.android.qtmobility.armeabi + org.kde.necessitas.android.qt.armeabi 2 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index 357c94d..cfc56ad 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -11,5 +11,14 @@ Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index a40a6fe..8beffa1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -5,6 +5,7 @@ 1.1.62 2011-04-09 org.kde.necessitas.android.qtmobility.armeabi_v7a + org.kde.necessitas.android.qt.armeabi_v7a 2 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index bd7f8ba..afeb10f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -11,5 +11,14 @@ Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index cdd79fc..37e1ee6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -4,7 +4,8 @@ Development libraries for development applications on Android devices, armeabi architecture. 4.7.62 2011-04-09 - org.kde.necessitas.android.qtwebkit + org.kde.necessitas.android.qtwebkit.armeabi + org.kde.necessitas.android.qt.armeabi 1 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index bd7f8ba..aa26637 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -11,5 +11,14 @@ Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + } + catch( e ) + { + print( e ); + } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index d45d7bc..dea01ca 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -5,6 +5,7 @@ 4.7.62 2011-04-09 org.kde.necessitas.android.qtwebkit.armeabi_v7a + org.kde.necessitas.android.qt.armeabi_v7a 1 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index 51387d0..2358177 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -3,7 +3,18 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.3.3_r01-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.3.3_r01-macosx.7z" ); + } } } @@ -11,5 +22,4 @@ Component.prototype.createOperations = function() { // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index afbc46e..be17359 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -3,7 +3,18 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-3.0_r01-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-3.0_r01-macosx.7z" ); + } } } @@ -11,5 +22,4 @@ Component.prototype.createOperations = function() { // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs index 5c6fac2..c5fe3b1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -22,5 +22,4 @@ Component.prototype.createOperations = function() { // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index 733fbc2..c1b0941 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -22,5 +22,4 @@ Component.prototype.createOperations = function() { // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index 56faf5a..de4ef17 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -3,7 +3,18 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-2.3.1_r02-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-2.3.1_r02-macosx.7z" ); + } } } diff --git a/www/qt/android/armeabi-v7a/android-4/versions.xml b/www/qt/android/armeabi-v7a/android-4/versions.xml index 0d03aad..aea27d8 100644 --- a/www/qt/android/armeabi-v7a/android-4/versions.xml +++ b/www/qt/android/armeabi-v7a/android-4/versions.xml @@ -1,3 +1,3 @@ - Say hello to Qt system wide shared libs for andorid + Say hello to Qt system wide shared libs for andorid diff --git a/www/qt/android/armeabi/android-4/versions.xml b/www/qt/android/armeabi/android-4/versions.xml index 0d03aad..e51f0b9 100644 --- a/www/qt/android/armeabi/android-4/versions.xml +++ b/www/qt/android/armeabi/android-4/versions.xml @@ -1,3 +1,3 @@ - Say hello to Qt system wide shared libs for andorid + Say hello to Qt system wide shared libs for andorid diff --git a/www/qt/android/armeabi/android-5/versions.xml b/www/qt/android/armeabi/android-5/versions.xml index 0d03aad..e51f0b9 100644 --- a/www/qt/android/armeabi/android-5/versions.xml +++ b/www/qt/android/armeabi/android-5/versions.xml @@ -1,3 +1,3 @@ - Say hello to Qt system wide shared libs for andorid + Say hello to Qt system wide shared libs for andorid -- cgit v1.2.3 From c05804506e2ff12117a11cd7dee8bed0cf34bbcc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 8 May 2011 20:49:11 +0300 Subject: Fix sources packing, instalation. --- Necessitas_SDK/build_ndk.sh | 4 +- Necessitas_SDK/build_sdk.sh | 57 +++++++++++++++------- .../meta/installscript.qs | 12 ++++- .../meta/installscript.qs | 2 - .../meta/installscript.qs | 2 - .../meta/installscript.qs | 12 ++++- .../meta/installscript.qs | 2 - .../meta/installscript.qs | 2 - .../meta/installscript.qs | 12 ++++- 9 files changed, 71 insertions(+), 34 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 19c04fc..f254baa 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -75,7 +75,7 @@ function makeInstallMinGWBits if [ ! -d python ] then - git clone git@gitorious.org:mingw-python/mingw-python.git python + git clone git://gitorious.org:mingw-python/mingw-python.git python fi cd python ./build-python.sh @@ -133,7 +133,7 @@ function makeNDK cd .. mkdir ndk && cd ndk git clone git://android.git.kernel.org/platform/development.git development - git clone git@gitorious.org:mingw-android-ndk/mingw-android-ndk.git ndk + git clone git://gitorious.org:mingw-android-ndk/mingw-android-ndk.git ndk cd ndk && git checkout -b integration origin/integration && cd .. export NDK=`pwd`/ndk export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6e5f858..fb3b0f6 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -113,7 +113,7 @@ function prepareHostQt rm -rf zlib-1.2.5 cd .. fi - + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then if [ ! -d $HOST_QT_VERSION ] @@ -418,6 +418,31 @@ function patchQtFiles ../qt-src/qpatch$EXE_EXT @qpatch.cmdline } +function packSource +{ + package_name=${1//-/.} # replace - with . + rm -fr $TEMP_PATH/source_temp_path + mkdir -p $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION + mv $1/.git . + if [ $1 = "qt-src" ] + then + mv $1/src/3rdparty/webkit . + fi + mv $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION/ + pushd $TEMP_PATH/source_temp_path + $SDK_TOOLS_PATH/archivegen Android $1.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data + mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data/$1.7z + popd + mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION/$1 . + mv .git $1/ + if [ $1 = "qt-src" ] + then + mv webkit $1/src/3rdparty/ + fi + rm -fr $TEMP_PATH/source_temp_path +} + function compileNecessitasQt { if [ ! -f all_done ] @@ -482,13 +507,7 @@ function perpareNecessitasQt if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z ] then - mv qt-src/.git . - mv qt-src/src/3rdparty/webkit . - $SDK_TOOLS_PATH/archivegen qt-src qt-src.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data - mv qt-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z - mv .git qt-src/ - mv webkit qt-src/src/3rdparty/ + packSource qt-src fi popd #Android/Qt/$NECESSITAS_QT_VERSION @@ -553,11 +572,7 @@ function perpareNecessitasQtMobility if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] then - mv qtmobility-src/.git . - $SDK_TOOLS_PATH/archivegen qtmobility-src qtmobility-src.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data - mv qtmobility-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z - mv .git qtmobility-src/ + packSource qtmobility-src fi popd #Android/Qt/$NECESSITAS_QT_VERSION } @@ -627,11 +642,7 @@ function perpareNecessitasQtWebkit if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] then - mv qtwebkit-src/.git . - $SDK_TOOLS_PATH/archivegen qtwebkit-src qtwebkit-src.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data - mv qtwebkit-src.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z - mv .git qtwebkit-src/ + packSource qtwebkit-src fi popd #Android/Qt/$NECESSITAS_QT_VERSION } @@ -644,6 +655,14 @@ function patchPackages popd } +function revertPatchPackages +{ + pushd $REPO_SRC_PATH/packages + find -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" -i + find -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" -i + popd +} + function prepareSDKBinary { $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer org.kde.necessitas @@ -655,6 +674,7 @@ function prepareSDKRepository $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } + pushd necessitas-installer-framework/installerbuilder SDK_TOOLS_PATH=$PWD/bin popd @@ -671,5 +691,6 @@ perpareNecessitasQtWebkit patchPackages prepareSDKBinary prepareSDKRepository +revertPatchPackages popd diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index c3369e1..f63fba6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -9,7 +9,15 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + try + { + component.createOperations(); + var qtPath = ""; + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qt-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qt-src" ); + } + catch( e ) + { + print( e ); + } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index a8c057d..c18669a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -9,8 +9,6 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); try { component.createOperations(); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index cfc56ad..70bd7b6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -9,8 +9,6 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); try { component.createOperations(); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 0cba8a9..b63844b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -9,7 +9,15 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + try + { + component.createOperations(); + var qtPath = ""; + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src" ); + } + catch( e ) + { + print( e ); + } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index afeb10f..f045b7a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -9,8 +9,6 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); try { component.createOperations(); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index aa26637..384e2ef 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -9,8 +9,6 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); try { component.createOperations(); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 08066dc..b6e5587 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -9,7 +9,15 @@ function Component() Component.prototype.createOperations = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + try + { + component.createOperations(); + var qtPath = ""; + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src" ); + } + catch( e ) + { + print( e ); + } } -- cgit v1.2.3 From cc33a794193b8cb8a1a56bd77f4e097e1c8211c5 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 9 May 2011 18:33:31 +0800 Subject: Fix rules.xml Fix ministrorepogen --- Necessitas_SDK/ministrorepogen/main.cpp | 8 +++++--- Necessitas_SDK/ministrorepogen/rules.xml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index d74fc11..a5d8966 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -40,8 +40,8 @@ void getFileInfo(const QString & filePath, qint64 & fileSize, QString & sha1) return; QCryptographicHash hash(QCryptographicHash::Sha1); hash.addData(file.readAll()); - fileSize=file.size(); sha1=hash.result().toHex(); + fileSize=file.size(); } int main(int argc, char *argv[]) @@ -141,13 +141,15 @@ int main(int argc, char *argv[]) SortLibraries(libs, readelfPath, libsPath, excludePaths); QDir path; - QString xmlPath(outputFolder+QString("/qt/android/%1/").arg(abiVersion)); + QString xmlPath(outputFolder+QString("/android/%1/").arg(abiVersion)); path.mkpath(xmlPath); path.cd(xmlPath); chdir(path.absolutePath().toUtf8().constData()); foreach (int androdPlatform, platforms.keys()) { + qDebug()<<"============================================"; qDebug()<<"Generating repository for android platform :"<\n") diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index d15ed55..c5683cb 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -13,7 +13,7 @@ - + -- cgit v1.2.3 From 10bf4019cdce29c75b653712500cabe77ac960f1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 9 May 2011 13:49:06 +0300 Subject: Set gdbserver location --- .../packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs index b6491a7..ce98338 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs @@ -37,6 +37,7 @@ Component.prototype.createOperations = function() // set DEFAULT gdb location var gdbPath = "@TargetDir@/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; @@ -55,4 +56,9 @@ Component.prototype.createOperations = function() "AndroidConfigurations", "GdbLocation", gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); } -- cgit v1.2.3 From fd8aa04771b759710aad495998ce9860dd46e6b4 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 9 May 2011 13:49:48 +0300 Subject: Fix api-9 to api-11 SDKs, implement prepareMinistroRepository --- Necessitas_SDK/build_sdk.sh | 143 +++++++++++++++++++++++++++++++------------- 1 file changed, 100 insertions(+), 43 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index fb3b0f6..2942140 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -24,16 +24,22 @@ TEMP_PATH=/var/necessitas if [ "$OSTYPE" = "msys" ] ; then TEMP_PATH=/usr/necessitas fi -REPO_PATH=/var/www/necessitas/sdk + mkdir -p $TEMP_PATH pushd $TEMP_PATH -HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 NECESSITAS_QT_VERSION=4762 NECESSITAS_QT_VERSION_LONG="4.7.62" +MINISTRO_VERSION="0.2" +MINISTRO_REPO_PATH=/var/www/necessitas/qt +REPO_PATH=/var/www/necessitas/sdk +HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" +ANDROID_STRIP_BINARY="" +ANDROID_READELF_BINARY="" + if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ " @@ -262,39 +268,53 @@ function perpareNDKs rm -fr android-ndk-r5b fi - rm -fr android-ndk-r5b + export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b if [ "$OSTYPE" = "msys" ]; then - unzip android-ndk-r5b-windows.zip + if [ ! -d android-ndk-r5b ] + then + unzip android-ndk-r5b-windows.zip + fi + ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-strip.exe + ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-readelf.exe fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + fi + ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-strip + ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-readelf fi - if [ "$OSTYPE" = "linux" ]; then - tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + if [ "$OSTYPE" = "linux-gnu" ]; then + if [ ! -d android-ndk-r5b ] + then + tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + fi + ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip + ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-readelf fi - - export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b } function repackSDK { - package_name=${3//-/_} # replace - with _ - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z ] + package_name=${4//-/_} # replace - with _ + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] then downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip unzip $1.zip - mkdir -p $2 - mv $1 $2/$3 - $SDK_TOOLS_PATH/archivegen $2 $1.7z + mkdir -p $3 + mv $1 $3/$4 + $SDK_TOOLS_PATH/archivegen $3 $2.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data - mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$1.7z - rm -fr $2 + mv $2.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z + rm -fr $3 fi } + function perpareSDKs { echo "prepare SDKs" @@ -338,50 +358,50 @@ function perpareSDKs fi # repack platform-tools - repackSDK platform-tools_r03-linux android-sdk-linux_x86 platform-tools - repackSDK platform-tools_r03-macosx android-sdk-mac_x86 platform-tools + repackSDK platform-tools_r03-linux platform-tools_r03-linux android-sdk-linux_x86 platform-tools + repackSDK platform-tools_r03-macosx platform-tools_r03-macosx android-sdk-mac_x86 platform-tools # should we also include ant binary for windows ? - repackSDK platform-tools_r03-windows android-sdk-windows platform-tools + repackSDK platform-tools_r03-windows platform-tools_r03-windows android-sdk-windows platform-tools # repack api-4 - repackSDK android-1.6_r03-linux android-sdk-linux_x86/platforms android-4 - repackSDK android-1.6_r03-macosx android-sdk-mac_x86/platforms android-4 - repackSDK android-1.6_r03-windows android-sdk-windows/platforms android-4 + repackSDK android-1.6_r03-linux android-1.6_r03-linux android-sdk-linux_x86/platforms android-4 + repackSDK android-1.6_r03-macosx android-1.6_r03-macosx android-sdk-mac_x86/platforms android-4 + repackSDK android-1.6_r03-windows android-1.6_r03-windows android-sdk-windows/platforms android-4 # repack api-5 - repackSDK android-2.0_r01-linux android-sdk-linux_x86/platforms android-5 - repackSDK android-2.0_r01-macosx android-sdk-mac_x86/platforms android-5 - repackSDK android-2.0_r01-windows android-sdk-windows/platforms android-5 + repackSDK android-2.0_r01-linux android-2.0_r01-linux android-sdk-linux_x86/platforms android-5 + repackSDK android-2.0_r01-macosx android-2.0_r01-macosx android-sdk-mac_x86/platforms android-5 + repackSDK android-2.0_r01-windows android-2.0_r01-windows android-sdk-windows/platforms android-5 # repack api-6 - repackSDK android-2.0.1_r01-linux android-sdk-linux_x86/platforms android-6 - repackSDK android-2.0.1_r01-macosx android-sdk-mac_x86/platforms android-6 - repackSDK android-2.0.1_r01-windows android-sdk-windows/platforms android-6 + repackSDK android-2.0.1_r01-linux android-2.0.1_r01-linux android-sdk-linux_x86/platforms android-6 + repackSDK android-2.0.1_r01-macosx android-2.0.1_r01-macosx android-sdk-mac_x86/platforms android-6 + repackSDK android-2.0.1_r01-windows android-2.0.1_r01-windows android-sdk-windows/platforms android-6 # repack api-7 - repackSDK android-2.1_r02-linux android-sdk-linux_x86/platforms android-7 - repackSDK android-2.1_r02-macosx android-sdk-mac_x86/platforms android-7 - repackSDK android-2.1_r02-windows android-sdk-windows/platforms android-7 + repackSDK android-2.1_r02-linux android-2.1_r02-linux android-sdk-linux_x86/platforms android-7 + repackSDK android-2.1_r02-macosx android-2.1_r02-macosx android-sdk-mac_x86/platforms android-7 + repackSDK android-2.1_r02-windows android-2.1_r02-windows android-sdk-windows/platforms android-7 # repack api-8 - repackSDK android-2.2_r02-linux android-sdk-linux_x86/platforms android-8 - repackSDK android-2.2_r02-macosx android-sdk-mac_x86/platforms android-8 - repackSDK android-2.2_r02-windows android-sdk-windows/platforms android-8 + repackSDK android-2.2_r02-linux android-2.2_r02-linux android-sdk-linux_x86/platforms android-8 + repackSDK android-2.2_r02-macosx android-2.2_r02-macosx android-sdk-mac_x86/platforms android-8 + repackSDK android-2.2_r02-windows android-2.2_r02-windows android-sdk-windows/platforms android-8 # repack api-9 - repackSDK android-2.3.1_r02-linux android-sdk-linux_x86/platforms android-9 - repackSDK android-2.3.1_r02-linux android-sdk-mac_x86/platforms android-9 - repackSDK android-2.3.1_r02-linux android-sdk-windows/platforms android-9 + repackSDK android-2.3.1_r02-linux android-2.3.1_r02-linux android-sdk-linux_x86/platforms android-9 + repackSDK android-2.3.1_r02-linux android-2.3.1_r02-macosx android-sdk-mac_x86/platforms android-9 + repackSDK android-2.3.1_r02-linux android-2.3.1_r02-windows android-sdk-windows/platforms android-9 # repack api-10 - repackSDK android-2.3.3_r01-linux android-sdk-linux_x86/platforms android-10 - repackSDK android-2.3.3_r01-linux android-sdk-mac_x86/platforms android-10 - repackSDK android-2.3.3_r01-linux android-sdk-windows/platforms android-10 + repackSDK android-2.3.3_r01-linux android-2.3.3_r01-linux android-sdk-linux_x86/platforms android-10 + repackSDK android-2.3.3_r01-linux android-2.3.3_r01-macosx android-sdk-mac_x86/platforms android-10 + repackSDK android-2.3.3_r01-linux android-2.3.3_r01-windows android-sdk-windows/platforms android-10 # repack api-11 - repackSDK android-3.0_r01-linux android-sdk-linux_x86/platforms android-11 - repackSDK android-3.0_r01-linux android-sdk-mac_x86/platforms android-11 - repackSDK android-3.0_r01-linux android-sdk-windows/platforms android-11 + repackSDK android-3.0_r01-linux android-3.0_r01-linux android-sdk-linux_x86/platforms android-11 + repackSDK android-3.0_r01-linux android-3.0_r01-macosx android-sdk-mac_x86/platforms android-11 + repackSDK android-3.0_r01-linux android-3.0_r01-windows android-sdk-windows/platforms android-11 } function buildQPatch @@ -674,6 +694,39 @@ function prepareSDKRepository $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } +function prepareMinistroRepository +{ + pushd $REPO_SRC_PATH/ministrorepogen + if [ ! -f all_done ] + then + $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure ministrorepogen" + doMake "Can't compile ministrorepogen" "all done" + fi + popd + for architecture in armeabi armeabi-v7a + do + rm -fr $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION + mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION + pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$architecture + rm -fr Android + for lib in `find -name *.so` + do + libDirname=`dirname $lib` + mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$libDirname + cp $lib $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$libDirname/ + $ANDROID_STRIP_BINARY --strip-unneeded $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$lib + done + + for qmldirfile in `find -name qmldir` + do + qmldirfileDirname=`dirname $qmldirfile` + cp $qmldirfile $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$qmldirfileDirname/ + done + + $REPO_SRC_PATH/ministrorepogen/ministrorepogen $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/ $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH + popd + done +} pushd necessitas-installer-framework/installerbuilder SDK_TOOLS_PATH=$PWD/bin @@ -688,6 +741,10 @@ perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtMobility perpareNecessitasQtWebkit +if [ "$OSTYPE" = "linux-gnu" ]; then + prepareMinistroRepository + echo $OSTYPE +fi patchPackages prepareSDKBinary prepareSDKRepository -- cgit v1.2.3 From 51e057a198bba8712fab1fb2e00ab566b3c2ce8d Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 9 May 2011 19:57:09 +0300 Subject: Fix build_sdk script --- Necessitas_SDK/build_sdk.sh | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2942140..802a346 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -85,7 +85,7 @@ function doMake if [ -f /usr/break-make ]; then echo "Detected break-make" rm -f /usr/break-make - error_msg $1 + error_msg $1 fi make -f $MAKEFILE -j9 done @@ -93,7 +93,7 @@ function doMake else make -j4 || error_msg $1 echo $2>all_done - fi + fi } function prepareHostQt @@ -183,6 +183,7 @@ function perpareSdkInstallerTools $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" fi + SDK_TOOLS_PATH=$PWD/bin popd } @@ -728,10 +729,6 @@ function prepareMinistroRepository done } -pushd necessitas-installer-framework/installerbuilder -SDK_TOOLS_PATH=$PWD/bin -popd - prepareHostQt buildQPatch perpareSdkInstallerTools @@ -739,8 +736,8 @@ perpareNDKs perpareSDKs perpareNecessitasQtCreator perpareNecessitasQt -perpareNecessitasQtMobility perpareNecessitasQtWebkit +perpareNecessitasQtMobility if [ "$OSTYPE" = "linux-gnu" ]; then prepareMinistroRepository echo $OSTYPE -- cgit v1.2.3 From e5eaec264e3e276dcaa298a0d7c5246226f9c1e1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 10 May 2011 12:28:55 +0300 Subject: Fix webkit packing --- Necessitas_SDK/build_sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 802a346..ecc825c 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -609,14 +609,14 @@ function compileNecessitasQtWebkit echo "all done">all_done fi package_name=${1//-/_} # replace - with _ - rm -fr $PWD/$TEMP_PATH + rm -fr data pushd Release INSTALL_ROOT=$PWD/../ make install popd rm -fr $2 mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data - mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 + mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 pushd $2/$1 qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 qt_build_path=${qt_build_path//\//\\\/} -- cgit v1.2.3 From d006bc6cde9ed725ff7b09a485eb4664d8c3aec9 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 11 May 2011 14:54:38 +0800 Subject: Fix qpatch build handling --- Necessitas_SDK/build_sdk.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ecc825c..ef0b944 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -39,7 +39,7 @@ SHARED_QT_PATH="" SDK_TOOLS_PATH="" ANDROID_STRIP_BINARY="" ANDROID_READELF_BINARY="" - +QPATCH_PATH="" if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ " @@ -222,6 +222,26 @@ function perpareNecessitasQtCreator mv qtcreator-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z popd fi + + mkdir qpatch-build + pushd qpatch-build + if [ ! -f all_done ] + then + $STATIC_QT_PATH/bin/qmake "QT_CONFIG=release" -r ../android-qt-creator/src/tools/qpatch/qpatch.pro + if [ "$OSTYPE" = "msys" ]; then + make -f Makefile.Release || error_msg "Can't compile qpatch" + else + make || error_msg "Can't compile qpatch" + fi + echo "all_done">all_done + fi + + if [ "$OSTYPE" = "msys" ]; then + QPATCH_PATH=$PWD/release/qpatch${EXE_EXT} + else + QPATCH_PATH=$PWD/qpatch + fi + popd } @@ -405,21 +425,6 @@ function perpareSDKs repackSDK android-3.0_r01-linux android-3.0_r01-windows android-sdk-windows/platforms android-11 } -function buildQPatch -{ - mkdir qpatch-build - pushd qpatch-build - $STATIC_QT_PATH/bin/qmake "QT_CONFIG=release" -r ../android-qt-creator/src/tools/qpatch/qpatch.pro - if [ "$OSTYPE" = "msys" ]; then - make -f Makefile.Release - else - make - fi - echo release/qpatch${EXE_EXT} ../Android/Qt/$NECESSITAS_QT_VERSION/qt-src - cp release/qpatch${EXE_EXT} ../Android/Qt/$NECESSITAS_QT_VERSION/qt-src - popd -} - function patchQtFiles { echo "bin/qmake$EXE_EXT" >files_to_patch @@ -432,11 +437,11 @@ function patchQtFiles if [ "$OSTYPE" = "msys" ] ; then cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ fi - echo files-to-patch > qpatch.cmdline + echo files_to_patch > qpatch.cmdline echo /data/data/eu.licentia.necessitas.ministro/files/qt >> qpatch.cmdline echo $PWD >> qpatch.cmdline echo . >> qpatch.cmdline - ../qt-src/qpatch$EXE_EXT @qpatch.cmdline + $QPATCH_PATH qpatch.cmdline } function packSource @@ -730,7 +735,6 @@ function prepareMinistroRepository } prepareHostQt -buildQPatch perpareSdkInstallerTools perpareNDKs perpareSDKs -- cgit v1.2.3 From 9d09f962bbfad7ce0a16e1ab0108ee4fbe73144d Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 11 May 2011 15:52:45 +0800 Subject: Fix qpatch call --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ef0b944..dc35ac3 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -441,7 +441,7 @@ function patchQtFiles echo /data/data/eu.licentia.necessitas.ministro/files/qt >> qpatch.cmdline echo $PWD >> qpatch.cmdline echo . >> qpatch.cmdline - $QPATCH_PATH qpatch.cmdline + $QPATCH_PATH @qpatch.cmdline } function packSource -- cgit v1.2.3 From 53c6fa648a36fb978222e27c7ae4211e8e6e1ddc Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 11 May 2011 23:37:35 +0100 Subject: Lots of Mac OS X (doSed added, tar xjvf instead of tar xvfa, find, no-reduce-exports for static host ver) and Windows fixes (no-qt3support, doMake added) --- Necessitas_SDK/build_sdk.sh | 194 ++++++++++++++++++++++++++------------------ 1 file changed, 116 insertions(+), 78 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index dc35ac3..b208d00 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -20,19 +20,22 @@ REPO_SRC_PATH=$PWD -TEMP_PATH=/var/necessitas -if [ "$OSTYPE" = "msys" ] ; then - TEMP_PATH=/usr/necessitas +TEMP_PATH_PREFIX=/var +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "msys" ]; then + pushd ~ >/dev/null + TEMP_PATH_PREFIX=$PWD + popd fi +TEMP_PATH=$TEMP_PATH_PREFIX/necessitas mkdir -p $TEMP_PATH pushd $TEMP_PATH NECESSITAS_QT_VERSION=4762 NECESSITAS_QT_VERSION_LONG="4.7.62" MINISTRO_VERSION="0.2" -MINISTRO_REPO_PATH=/var/www/necessitas/qt -REPO_PATH=/var/www/necessitas/sdk +MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt +REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 STATIC_QT_PATH="" SHARED_QT_PATH="" @@ -42,23 +45,32 @@ ANDROID_READELF_BINARY="" QPATCH_PATH="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ " - HOST_TAG=windows-x86 - EXE_EXT=.exe + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports " + HOST_TAG=windows-x86 + HOST_TAG_NDK=windows + EXE_EXT=.exe + JOBS=9 else - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - HOST_CFG_OPTIONS=" -platform macx-g++ -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 " - HOST_TAG=darwin-x86 - else - HOST_CFG_OPTIONS=" -platform linux-g++ " - HOST_TAG=linux-x86 - fi + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa " + # -reduce-exports doesn't work for static Mac OS X i386 build. + # (ld: bad codegen, pointer diff in fulltextsearch::clucene::QHelpSearchIndexReaderClucene::run() to global weak symbol vtable for QtSharedPointer::ExternalRefCountDatafor architecture i386) + HOST_CFG_OPTIONS_STATIC=" -no-reduce-exports " + HOST_TAG=darwin-x86 + HOST_TAG_NDK=darwin-x86 + JOBS=9 + else + HOST_CFG_OPTIONS=" -platform linux-g++ " + HOST_TAG=linux-x86 + HOST_TAG_NDK=linux-x86 + JOBS=4 + fi fi function error_msg { - echo $1 >&2 - exit 1 + echo $1 >&2 + exit 1 } function removeAndExit @@ -77,9 +89,13 @@ function downloadIfNotExists function doMake { if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - MAKEDIR=`pwd -W` + if [ "$OSTYPE" = "msys" ] ; then + MAKEDIR=`pwd -W` + else + MAKEDIR=`pwd` + fi MAKEFILE=$MAKEDIR/Makefile - make -f $MAKEFILE -j9 + make -f $MAKEFILE -j$JOBS while [ "$?" != "0" ] do if [ -f /usr/break-make ]; then @@ -87,15 +103,26 @@ function doMake rm -f /usr/break-make error_msg $1 fi - make -f $MAKEFILE -j9 + make -f $MAKEFILE -j$JOBS done echo $2>all_done else - make -j4 || error_msg $1 + make -j$JOBS || error_msg $1 echo $2>all_done fi } +function doSed +{ + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] + then + sed -i '.bak' "$1" $2 + rm ${2}.bak + else + sed "$1" -i $2 + fi +} + function prepareHostQt { # download, compile & install qt, it is used to compile the installer @@ -113,14 +140,14 @@ function prepareHostQt downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz tar -xvzf zlib-1.2.5.tar.gz cd zlib-1.2.5 - sed 's/usr\/local/usr/' win32/Makefile.gcc > win32/Makefile-fixed.gcc - make -f win32/Makefile-fixed.gcc - export INCLUDE_PATH=/usr/include && export LIBRARY_PATH=/usr/lib && make -f win32/Makefile-fixed.gcc install + doSed $"s/usr\/local/usr/" win32/Makefile.gcc + make -f win32/Makefile.gcc + export INCLUDE_PATH=/usr/include && export LIBRARY_PATH=/usr/lib && make -f win32/Makefile.gcc install rm -rf zlib-1.2.5 cd .. fi - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then if [ ! -d $HOST_QT_VERSION ] then @@ -141,8 +168,8 @@ function prepareHostQt STATIC_QT_PATH=$PWD if [ ! -f all_done ] then - rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + rm -fr * + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile static $HOST_QT_VERSION" "all done" fi popd @@ -154,13 +181,11 @@ function prepareHostQt if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile shared $HOST_QT_VERSION" "all done" if [ "$OSTYPE" = "msys" ]; then - # Horrible, need to fix this properly. - sed 's/qt warn_on release /qt shared warn_on release /' mkspecs/win32-g++/qmake.conf > mkspecs/win32-g++/qmake.conf-fixed - rm mkspecs/win32-g++/qmake.conf - mv mkspecs/win32-g++/qmake.conf-fixed mkspecs/win32-g++/qmake.conf + # Horrible; need to fix this properly. + doSed $"s/qt warn_on release /qt shared warn_on release /" mkspecs/win32-g++/qmake.conf fi fi popd @@ -183,7 +208,6 @@ function perpareSdkInstallerTools $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" fi - SDK_TOOLS_PATH=$PWD/bin popd } @@ -206,13 +230,13 @@ function perpareNecessitasQtCreator doMake "Can't compile android-qt-creator" "all done" fi rm -fr QtCreator - INSTALL_ROOT=$PWD/QtCreator make install + export INSTALL_ROOT=$PWD/QtCreator && make install mkdir -p $PWD/QtCreator/Qt/lib mkdir -p $PWD/QtCreator/Qt/imports cp -a $SHARED_QT_PATH/lib/* $PWD/QtCreator/Qt/lib/ rm -fr $PWD/QtCreator/Qt/lib/pkgconfig - find $PWD/QtCreator/Qt -name *.la | xargs rm -fr - find $PWD/QtCreator/Qt -name *.prl | xargs rm -fr + find . $PWD/QtCreator/Qt -name *.la | xargs rm -fr + find . $PWD/QtCreator/Qt -name *.prl | xargs rm -fr cp -a $SHARED_QT_PATH/imports/* $PWD/QtCreator/Qt/imports/ cp -a bin/necessitas$EXE_EXT $PWD/QtCreator/bin/ mkdir $PWD/QtCreator/images @@ -267,7 +291,7 @@ function perpareNDKs downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 if [ ! -d android-ndk-r5b ] then - tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data @@ -281,7 +305,7 @@ function perpareNDKs downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 if [ ! -d android-ndk-r5b ] then - tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + tar xjvf android-ndk-r5b-linux-x86.tar.bz2 fi $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data @@ -290,33 +314,24 @@ function perpareNDKs fi export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b + if [ ! -d android-ndk-r5b ]; then - if [ "$OSTYPE" = "msys" ]; then - if [ ! -d android-ndk-r5b ] - then + if [ "$OSTYPE" = "msys" ]; then unzip android-ndk-r5b-windows.zip fi - ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-strip.exe - ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-readelf.exe - fi - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - if [ ! -d android-ndk-r5b ] - then - tar xvfa android-ndk-r5b-darwin-x86.tar.bz2 + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 fi - ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-strip - ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-readelf - fi - if [ "$OSTYPE" = "linux-gnu" ]; then - if [ ! -d android-ndk-r5b ] - then - tar xvfa android-ndk-r5b-linux-x86.tar.bz2 + if [ "$OSTYPE" = "linux-gnu" ]; then + tar xjvf android-ndk-r5b-linux-x86.tar.bz2 fi - ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip - ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-readelf fi + + ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-strip$EXE_EXT + ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-readelf$EXE_EXT + } function repackSDK @@ -430,10 +445,10 @@ function patchQtFiles echo "bin/qmake$EXE_EXT" >files_to_patch echo "bin/lrelease$EXE_EXT" >>files_to_patch echo "%%" >>files_to_patch - find -name *.pc >>files_to_patch - find -name *.la >>files_to_patch - find -name *.prl >>files_to_patch - find -name *.prf >>files_to_patch + find . -name *.pc >>files_to_patch + find . -name *.la >>files_to_patch + find . -name *.prl >>files_to_patch + find . -name *.prf >>files_to_patch if [ "$OSTYPE" = "msys" ] ; then cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ fi @@ -474,7 +489,7 @@ function compileNecessitasQt if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi @@ -482,13 +497,13 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then - sed 's/= armeabi/= armeabi-v7a/g' -i mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf else - sed 's/= armeabi-v7a/= armeabi/g' -i mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf fi rm -fr data - INSTALL_ROOT=$PWD make install + export INSTALL_ROOT=$PWD && make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z @@ -509,7 +524,7 @@ function perpareNecessitasQt if [ ! -d qt-src ] then - git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt-creator" + git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" pushd qt-src git checkout testing popd @@ -547,12 +562,12 @@ function compileNecessitasQtMobility git checkout testing # ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging multimedia systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" - doMake "Can't compile android-qtmobility" "all done" + doMake "Can't compile android-qtmobility" "all done" fi package_name=${1//-/_} # replace - with _ rm -fr data rm -fr $2 - INSTALL_ROOT=$PWD make install + export INSTALL_ROOT=$PWD && make install mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 @@ -610,13 +625,13 @@ function compileNecessitasQtWebkit if [ ! -f all_done ] then git checkout stable - WEBKITOUTPUTDIR=$PWD ../qtwebkit-src/Tools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j4" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" + WEBKITOUTPUTDIR=$PWD ../qtwebkit-src/Tools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ rm -fr data pushd Release - INSTALL_ROOT=$PWD/../ make install + export INSTALL_ROOT=$PWD/../ && make install popd rm -fr $2 mkdir -p $2/$1 @@ -626,7 +641,12 @@ function compileNecessitasQtWebkit qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 qt_build_path=${qt_build_path//\//\\\/} sed_cmd="s/$qt_build_path/\/data\/data\/eu.licentia.necessitas.ministro\/files\/qt/g" - find -name *.pc | xargs sed $sed_cmd -i + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + find . -name *.pc | xargs sed -i '.bak' $sed_cmd + find . -name *.pc.bak | xargs rm -f + else + find . -name *.pc | xargs sed $sed_cmd -i + fi popd rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z @@ -676,16 +696,30 @@ function perpareNecessitasQtWebkit function patchPackages { pushd $REPO_SRC_PATH/packages - find -name *.qs | xargs sed "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" -i - find -name *.qs | xargs sed "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" -i + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + find . -name *.qs | xargs sed -i '.bak' "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" + find . -name *.qs.bak | xargs rm -f + find . -name *.qs | xargs sed -i '.bak' "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" + find . -name *.qs.bak | xargs rm -f + else + find . -name *.qs | xargs sed "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" -i + find . -name *.qs | xargs sed "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" -i + fi popd } function revertPatchPackages { pushd $REPO_SRC_PATH/packages - find -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" -i - find -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" -i + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + find . -name *.qs | xargs sed -i '.bak' "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" + find . -name *.qs.bak | xargs rm -f + find . -name *.qs | xargs sed -i '.bak' "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" + find . -name *.qs.bak | xargs rm -f + else + find . -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" -i + find . -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" -i + fi popd } @@ -734,6 +768,9 @@ function prepareMinistroRepository done } +# This is needed early. +SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin + prepareHostQt perpareSdkInstallerTools perpareNDKs @@ -742,10 +779,11 @@ perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtWebkit perpareNecessitasQtMobility -if [ "$OSTYPE" = "linux-gnu" ]; then +# Want to be able to do this on all hosts. +#if [ "$OSTYPE" = "linux-gnu" ]; then prepareMinistroRepository - echo $OSTYPE -fi +# echo $OSTYPE +#fi patchPackages prepareSDKBinary prepareSDKRepository -- cgit v1.2.3 From db9f1122d5e30ba5207cf9357e52a631e3030080 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 01:38:11 +0100 Subject: Set TEMP_PATH_PREFIX to /usr for msys. --- Necessitas_SDK/build_sdk.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b208d00..e53c334 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,10 +21,14 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/var -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "msys" ]; then +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then pushd ~ >/dev/null TEMP_PATH_PREFIX=$PWD popd +else + if [ "$OSTYPE" = "msys" ]; then + TEMP_PATH_PREFIX=/usr + fi fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -- cgit v1.2.3 From e0e6046bafabfe4f8fb888572e93a32b6e320d25 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 09:13:01 +0100 Subject: Build fix for Mac OS X, shorter build path --- Necessitas_SDK/build_sdk.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e53c334..d6c2ade 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,14 +21,9 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/var -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - pushd ~ >/dev/null - TEMP_PATH_PREFIX=$PWD - popd -else - if [ "$OSTYPE" = "msys" ]; then - TEMP_PATH_PREFIX=/usr - fi + +if [ "$OSTYPE" = "msys" ]; then + TEMP_PATH_PREFIX=/usr fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -- cgit v1.2.3 From b50de8e24208e5b44b5e7f3185202e514549329d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 19:16:37 +0100 Subject: Another Mac OS X change, tar xvfa to tar xjvf --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d6c2ade..1b8808b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -358,7 +358,7 @@ function perpareSDKs downloadIfNotExists android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] then - tar xvfa android-sdk_r10-linux_x86.tgz + tar xjvf android-sdk_r10-linux_x86.tgz fi $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_r10-linux_x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data -- cgit v1.2.3 From 30081b1fe793acce6d122654fe17e985f0004567 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 19:16:51 +0100 Subject: Revert "Fix webkit packing" This reverts commit e5eaec264e3e276dcaa298a0d7c5246226f9c1e1. --- Necessitas_SDK/build_sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1b8808b..515b45f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -628,14 +628,14 @@ function compileNecessitasQtWebkit echo "all done">all_done fi package_name=${1//-/_} # replace - with _ - rm -fr data + rm -fr $PWD/$TEMP_PATH pushd Release export INSTALL_ROOT=$PWD/../ && make install popd rm -fr $2 mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data - mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 pushd $2/$1 qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 qt_build_path=${qt_build_path//\//\\\/} -- cgit v1.2.3 From 8ebecd6b919da2274cba4476e902a64cbc5dd2af Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 19:36:31 +0100 Subject: Fixes for compileNecessitasQtWebkit on Windows --- Necessitas_SDK/build_sdk.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 515b45f..bfb61ae 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -623,8 +623,10 @@ function compileNecessitasQtWebkit export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite if [ ! -f all_done ] then + pushd ../qtwebkit-src git checkout stable - WEBKITOUTPUTDIR=$PWD ../qtwebkit-src/Tools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" + popd + export WEBKITOUTPUTDIR=$PWD && ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From d8158279c4099c21285d46c6e08d86fc8752240f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 22:19:58 +0100 Subject: Extra downloadIfNotExists for the official Google NDKs, to make it more robust if directories are cleaned or SDK build is restarted --- Necessitas_SDK/build_sdk.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index bfb61ae..079b60d 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -316,14 +316,17 @@ function perpareNDKs if [ ! -d android-ndk-r5b ]; then if [ "$OSTYPE" = "msys" ]; then + downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip unzip android-ndk-r5b-windows.zip fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 fi if [ "$OSTYPE" = "linux-gnu" ]; then + downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 tar xjvf android-ndk-r5b-linux-x86.tar.bz2 fi fi -- cgit v1.2.3 From 4ebeb1a37cec09e6494321f662a9446a7f88650f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 12 May 2011 23:05:39 +0100 Subject: Always clone android-qt-creator in prepareNecessitasQtCreator as we need it to build qpatch, again to make it more robust if directories are cleaned or SDK build is restarted --- Necessitas_SDK/build_sdk.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 079b60d..c89284a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -213,13 +213,13 @@ function perpareSdkInstallerTools function perpareNecessitasQtCreator { - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z ] + if [ ! -d android-qt-creator ] then - if [ ! -d android-qt-creator ] - then - git clone git://anongit.kde.org/android-qt-creator.git android-qt-creator || error_msg "Can't clone android-qt-creator" - fi + git clone git://anongit.kde.org/android-qt-creator.git android-qt-creator || error_msg "Can't clone android-qt-creator" + fi + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z ] + then pushd android-qt-creator if [ ! -f all_done ] -- cgit v1.2.3 From 4f300f18a11de757bc33cae2e34fec4970a5b63d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 13 May 2011 01:36:58 +0100 Subject: Give lots of access to /var/necessitas on Mac OS X, compile gprof on Windows, (disabled) replacing of perl with strawberry perl --- Necessitas_SDK/build_sdk.sh | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index c89284a..78041f2 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -27,7 +27,14 @@ if [ "$OSTYPE" = "msys" ]; then fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -mkdir -p $TEMP_PATH +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + # On Mac OS X, user accounts don't have write perms for /var + sudo mkdir -p $TEMP_PATH + sudo chmod 777 $TEMP_PATH +else + mkdir -p $TEMP_PATH +fi + pushd $TEMP_PATH NECESSITAS_QT_VERSION=4762 @@ -629,7 +636,20 @@ function compileNecessitasQtWebkit pushd ../qtwebkit-src git checkout stable popd - export WEBKITOUTPUTDIR=$PWD && ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake || error_msg "Can't configure android-qtwebkit" + if [ "$OSTYPE" = "msys" ] ; then + if [ ! -f `which gprof` ] ; then + wget -c http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz + rm -rf gperf-3.0.4 + tar -xvzf gperf-3.0.4.tar.gz + pushd gperf-3.0.4 + CFLAGS="-O2 -Wl,-enable-auto-import" LDFLAGS="-enable-auto-import" && ./configure --enable-static --disable-shared --prefix=/usr CFLAGS=-O2 LDFLAGS="-enable-auto-import" + make && make install + popd + fi + wget -c http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi + msiexec /i strawberry-perl-5.12.2.0.msi + fi + export WEBKITOUTPUTDIR=$PWD && ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From 03aa51ad33a92c8b2538c87c179ccc7caebf6d9b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 13 May 2011 02:09:06 +0100 Subject: Windows build fix for compileNecessitasQtWebkit, downloads, installs and sets PATH to strawberry-perl.5.12.2.0.msi --- Necessitas_SDK/build_sdk.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 78041f2..936eff1 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -642,12 +642,17 @@ function compileNecessitasQtWebkit rm -rf gperf-3.0.4 tar -xvzf gperf-3.0.4.tar.gz pushd gperf-3.0.4 - CFLAGS="-O2 -Wl,-enable-auto-import" LDFLAGS="-enable-auto-import" && ./configure --enable-static --disable-shared --prefix=/usr CFLAGS=-O2 LDFLAGS="-enable-auto-import" + CFLAGS=-O2 LDFLAGS="-enable-auto-import" && ./configure --enable-static --disable-shared --prefix=/usr CFLAGS=-O2 LDFLAGS="-enable-auto-import" make && make install popd fi wget -c http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi - msiexec /i strawberry-perl-5.12.2.0.msi + if [ ! -f /${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe ]; then + msiexec //i strawberry-perl-5.12.2.0.msi //q + fi + if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then + export PATH=/${SYSTEMDRIVE:0:1}/strawberry/perl/bin:$PATH + fi fi export WEBKITOUTPUTDIR=$PWD && ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" echo "all done">all_done -- cgit v1.2.3 From 4f544acb23478dae91c979a79768c38273080309 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 13 May 2011 18:29:27 +0800 Subject: Linux ++ --- Necessitas_SDK/build_sdk.sh | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 936eff1..ff14ed1 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1,6 +1,7 @@ #!/bin/bash # Copyright (c) 2011, BogDan Vatra +# Copyright (c) 2011, Ray Donnelly # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -148,7 +149,9 @@ function prepareHostQt cd zlib-1.2.5 doSed $"s/usr\/local/usr/" win32/Makefile.gcc make -f win32/Makefile.gcc - export INCLUDE_PATH=/usr/include && export LIBRARY_PATH=/usr/lib && make -f win32/Makefile.gcc install + export INCLUDE_PATH=/usr/include + export LIBRARY_PATH=/usr/lib + make -f win32/Makefile.gcc install rm -rf zlib-1.2.5 cd .. fi @@ -236,7 +239,8 @@ function perpareNecessitasQtCreator doMake "Can't compile android-qt-creator" "all done" fi rm -fr QtCreator - export INSTALL_ROOT=$PWD/QtCreator && make install + export INSTALL_ROOT=$PWD/QtCreator + make install mkdir -p $PWD/QtCreator/Qt/lib mkdir -p $PWD/QtCreator/Qt/imports cp -a $SHARED_QT_PATH/lib/* $PWD/QtCreator/Qt/lib/ @@ -512,7 +516,8 @@ function compileNecessitasQt fi rm -fr data - export INSTALL_ROOT=$PWD && make install + export INSTALL_ROOT=$PWD + make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z @@ -576,7 +581,8 @@ function compileNecessitasQtMobility package_name=${1//-/_} # replace - with _ rm -fr data rm -fr $2 - export INSTALL_ROOT=$PWD && make install + export INSTALL_ROOT=$PWD + make install mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 @@ -633,9 +639,6 @@ function compileNecessitasQtWebkit export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite if [ ! -f all_done ] then - pushd ../qtwebkit-src - git checkout stable - popd if [ "$OSTYPE" = "msys" ] ; then if [ ! -f `which gprof` ] ; then wget -c http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz @@ -648,19 +651,21 @@ function compileNecessitasQtWebkit fi wget -c http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi if [ ! -f /${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe ]; then - msiexec //i strawberry-perl-5.12.2.0.msi //q + msiexec //i strawberry-perl-5.12.2.0.msi //q fi if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then export PATH=/${SYSTEMDRIVE:0:1}/strawberry/perl/bin:$PATH fi fi - export WEBKITOUTPUTDIR=$PWD && ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --prefix=/data/data/eu.licentia.necessitas.ministro/files/qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" + export WEBKITOUTPUTDIR=$PWD + ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --no-xslt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ rm -fr $PWD/$TEMP_PATH pushd Release - export INSTALL_ROOT=$PWD/../ && make install + export INSTALL_ROOT=$PWD/../ + make install popd rm -fr $2 mkdir -p $2/$1 -- cgit v1.2.3 From 84952be269af97f726706c07991417c561ffd0e5 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 13 May 2011 20:02:21 +0800 Subject: turn off video --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ff14ed1..5735cba 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -658,7 +658,7 @@ function compileNecessitasQtWebkit fi fi export WEBKITOUTPUTDIR=$PWD - ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --no-xslt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" + ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --no-video --no-xslt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From eda4660a962a74d3cd3019234c9a8ad6e5ba813b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 13 May 2011 23:16:42 +0100 Subject: Use wget -c, fix and be consistent with tar args --- Necessitas_SDK/build_sdk.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 5735cba..6712870 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,7 +21,7 @@ REPO_SRC_PATH=$PWD -TEMP_PATH_PREFIX=/var +TEMP_PATH_PREFIX=/tmp if [ "$OSTYPE" = "msys" ]; then TEMP_PATH_PREFIX=/usr @@ -89,7 +89,7 @@ function downloadIfNotExists { if [ ! -f $1 ] then - wget $2 || removeAndExit $1 + wget -c $2 || removeAndExit $1 fi } @@ -145,7 +145,7 @@ function prepareHostQt # download, compile & install zlib to /usr downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz - tar -xvzf zlib-1.2.5.tar.gz + tar -xzvf zlib-1.2.5.tar.gz cd zlib-1.2.5 doSed $"s/usr\/local/usr/" win32/Makefile.gcc make -f win32/Makefile.gcc @@ -167,7 +167,7 @@ function prepareHostQt if [ ! -d $HOST_QT_VERSION ] then - tar xvfz $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" + tar -xzvf $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" fi fi @@ -372,7 +372,7 @@ function perpareSDKs downloadIfNotExists android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] then - tar xjvf android-sdk_r10-linux_x86.tgz + tar -xzvf android-sdk_r10-linux_x86.tgz fi $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_r10-linux_x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data @@ -643,7 +643,7 @@ function compileNecessitasQtWebkit if [ ! -f `which gprof` ] ; then wget -c http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz rm -rf gperf-3.0.4 - tar -xvzf gperf-3.0.4.tar.gz + tar -xzvf gperf-3.0.4.tar.gz pushd gperf-3.0.4 CFLAGS=-O2 LDFLAGS="-enable-auto-import" && ./configure --enable-static --disable-shared --prefix=/usr CFLAGS=-O2 LDFLAGS="-enable-auto-import" make && make install -- cgit v1.2.3 From 23a1297bc6c54eec3ce057c950ab8fd6b6875e62 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 08:10:09 +0100 Subject: Added script to setup an Ubuntu (11.04?) system to be able to compile Necessitas SDK --- .../setup_ubuntu_for_necessitas_build.sh | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh diff --git a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh new file mode 100755 index 0000000..9b00cd2 --- /dev/null +++ b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# Sets up an clean Ubuntu 11.04 install for using (or building) Necessitas SDK. + +# For Oracle's Java; see: +# http://www.ozmox.com/2011/04/30/installing-sun-oracle-java-6-jrejdk-on-ubuntu-11/ +sudo add-apt-repository ppa:ferramroberto/java + +sudo apt-get update + +sudo apt-get install aptitude + +sudo apt-get install p7zip-full + +# Dev tools. +sudo apt-get install git-core gitk git-gui git-doc curl + +# Needed for QtWebKit. +sudo apt-get install gperf + +# Dev libs. +sudo apt-get install zlib1g-dev + +# Oracle's Java6; select it when asked. +sudo apt-get install sun-java6-jdk sun-java6-jre +sudo update-alternatives --config java + +# Dev tools needed for compiling gcc. +sudo apt-get install flex bison autoconf texinfo build-essential + +# Libraries needed for compiling ??bit gcc (i.e. I might need to find 32 bit versions) +sudo apt-get install python2.7-dev xorg-dev + +# Libraries needed for compiling 32bit gcc. +sudo apt-get install lib32gmp3-dev lib32mpfr-dev lib32ncurses5-dev +# There's no 32bit versoin of this? libmpc-dev + +# Libraries needed for compiling 64bit gcc. +# sudo apt-get install libgmp3-dev libmpfr-dev libncurses5-dev + -- cgit v1.2.3 From a83fa639f1ab94ce7fc3aaebbc1019f942e605c7 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 08:36:13 +0100 Subject: Tidy up zlib compile for Windows --- Necessitas_SDK/build_sdk.sh | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6712870..7fae29b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -145,15 +145,17 @@ function prepareHostQt # download, compile & install zlib to /usr downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz - tar -xzvf zlib-1.2.5.tar.gz - cd zlib-1.2.5 - doSed $"s/usr\/local/usr/" win32/Makefile.gcc - make -f win32/Makefile.gcc - export INCLUDE_PATH=/usr/include - export LIBRARY_PATH=/usr/lib - make -f win32/Makefile.gcc install - rm -rf zlib-1.2.5 - cd .. + if [ ! -f /usr/lib/libz.a ] ; then + tar -xvzf zlib-1.2.5.tar.gz + cd zlib-1.2.5 + doSed $"s/usr\/local/usr/" win32/Makefile.gcc + make -f win32/Makefile.gcc + export INCLUDE_PATH=/usr/include + export LIBRARY_PATH=/usr/lib + make -f win32/Makefile.gcc install + rm -rf zlib-1.2.5 + cd .. + fi fi if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] @@ -540,7 +542,7 @@ function perpareNecessitasQt then git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" pushd qt-src - git checkout testing + git checkout experimental popd fi @@ -637,11 +639,12 @@ function compileNecessitasQtWebkit { export ANDROID_TARGET_ARCH=$1 export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite - if [ ! -f all_done ] +# if [ ! -f all_done ] + if [ "1" = "1" ] then if [ "$OSTYPE" = "msys" ] ; then if [ ! -f `which gprof` ] ; then - wget -c http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz + downloadIfNotExists gperf-3.0.4.tar.gz http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz rm -rf gperf-3.0.4 tar -xzvf gperf-3.0.4.tar.gz pushd gperf-3.0.4 @@ -649,16 +652,20 @@ function compileNecessitasQtWebkit make && make install popd fi - wget -c http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi + downloadIfNotExists strawberry-perl-5.12.2.0.msi http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi if [ ! -f /${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe ]; then msiexec //i strawberry-perl-5.12.2.0.msi //q fi if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then export PATH=/${SYSTEMDRIVE:0:1}/strawberry/perl/bin:$PATH fi + if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then + error_msg "Not using the correct perl" + fi fi export WEBKITOUTPUTDIR=$PWD - ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --no-video --no-xslt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT || error_msg "Can't configure android-qtwebkit" + echo "doing perl" + ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From 06173c50131ef520f5f5e1ef7cae938e3f1b87dc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 15 May 2011 20:11:32 +0800 Subject: QtMobility ++ --- Necessitas_SDK/build_sdk.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 7fae29b..1a09144 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -576,8 +576,7 @@ function compileNecessitasQtMobility if [ ! -f all_done ] then git checkout testing -# ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging multimedia systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" - ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -qmake-exec ../build-$1/bin/qmake -modules "bearer contacts gallery location messaging systeminfo sensors versit organizer feedback" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From 9292938a0d4a4a782ad6f5668fd06596512b21a5 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 15 May 2011 22:14:02 +0800 Subject: Switch from /var to /tmp Be more explicit. --- .../org.kde.necessitas.android.qt.armeabi/meta/installscript.qs | 2 +- .../packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml | 2 +- .../org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs | 2 +- .../org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android.qt.src/meta/installscript.qs | 2 +- .../packages/org.kde.necessitas.android.qt.src/meta/package.xml | 2 +- .../org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml | 4 ++-- .../meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qtmobility.src/meta/installscript.qs | 2 +- .../org.kde.necessitas.android.qtmobility.src/meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs | 2 +- .../packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml | 4 ++-- 14 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index 888908d..650acff 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -28,7 +28,7 @@ Component.prototype.createOperations = function() component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@VERSION@@ for Android", + "Necessitas Qt @@VERSION@@ for Android armv5", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index 3ea4a34..709cd7d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,6 +1,6 @@ - 4.7.62-armeabi + Qt 4.7.62-armeabi Development libraries for development applications on Android devices, armeabi architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index 510c21a..6f6b3b8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -29,7 +29,7 @@ Component.prototype.createOperations = function() component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@VERSION@@ for Android", + "Necessitas Qt @@VERSION@@ for Android armv7", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 02adaf7..d8dc2e6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,6 +1,6 @@ - 4.7.62-armeabi_v7a + Qt 4.7.62-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index f63fba6..1576321 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -13,7 +13,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qt-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qt-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qt-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 5fccc53..131f16a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,6 +1,6 @@ - 4.7.62-src + Qt 4.7.62-src Development libraries for development applications on Android devices, source package. 4.7.62 2011-04-09 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index fbd1c6e..3896c0c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,8 +1,8 @@ - 1.1.62-armeabi + QtMobility 1.2.0-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 1.1.62 + 1.2.0 2011-04-09 org.kde.necessitas.android.qtmobility.armeabi org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index 8beffa1..50b19d7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,8 +1,8 @@ - 1.1.62-armeabi_v7a + QtMobility 1.2.0-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 1.1.62 + 1.2.0 2011-04-09 org.kde.necessitas.android.qtmobility.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index b63844b..f00ac36 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -13,7 +13,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml index 4b59f4f..0359b4c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml @@ -1,8 +1,8 @@ - 1.1.62-src + QtMobility 1.2.0-src Development libraries for development applications on Android devices, source package. - 1.1.62 + 1.2.0 2011-04-09 org.kde.necessitas.android.qtmobility.src diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index 37e1ee6..0d831ba 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,8 +1,8 @@ - 4.7.62-armeabi + QtWebKit 2.1.0-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 4.7.62 + 2.1.0 2011-04-09 org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index dea01ca..b019784 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,8 +1,8 @@ - 4.7.62-armeabi_v7a + QtWebKit 2.1.0-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 4.7.62 + 2.1.0 2011-04-09 org.kde.necessitas.android.qtwebkit.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index b6e5587..eddb201 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -13,7 +13,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/var/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml index 32ecd5a..3c37c2b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -1,8 +1,8 @@ - 4.7.62-src + QtWebKit 2.1.0-src Development libraries for development applications on Android devices, source package. - 4.7.62 + 2.1.0 2011-04-09 org.kde.necessitas.android.qtwebkit.src -- cgit v1.2.3 From df17f3e1f206d6dcef51baa0ae8c37f4b24888a2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 18:05:46 +0100 Subject: Change to the src folder before switching branch in compileNecessitasQtMobility, and fix setup_ubuntu_for_necessitas_build.sh to be more (fully if run with sudo?) quiet --- Necessitas_SDK/build_sdk.sh | 4 +++- .../setup_ubuntu_for_necessitas_build.sh | 22 +++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1a09144..a1f1a7e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -575,7 +575,9 @@ function compileNecessitasQtMobility export ANDROID_TARGET_ARCH=$1 if [ ! -f all_done ] then - git checkout testing + pushd ../qtmobility-src + git checkout master + popd ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" fi diff --git a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh index 9b00cd2..6ce42bf 100755 --- a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh @@ -8,31 +8,35 @@ sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update -sudo apt-get install aptitude +sudo apt-get -q -y install ia32-libs -sudo apt-get install p7zip-full +sudo apt-get -q -y install gcc-multilib + +sudo apt-get -q -y install aptitude + +sudo apt-get -q -y install p7zip-full # Dev tools. -sudo apt-get install git-core gitk git-gui git-doc curl +sudo apt-get -q -y install git-core gitk git-gui git-doc curl # Needed for QtWebKit. -sudo apt-get install gperf +sudo apt-get -q -y install gperf # Dev libs. -sudo apt-get install zlib1g-dev +sudo apt-get -q -y install zlib1g-dev zlib1g # Oracle's Java6; select it when asked. -sudo apt-get install sun-java6-jdk sun-java6-jre +sudo apt-get -q -y install sun-java6-jdk sun-java6-jre sudo update-alternatives --config java # Dev tools needed for compiling gcc. -sudo apt-get install flex bison autoconf texinfo build-essential +sudo apt-get -q -y install flex bison autoconf texinfo build-essential # Libraries needed for compiling ??bit gcc (i.e. I might need to find 32 bit versions) -sudo apt-get install python2.7-dev xorg-dev +sudo apt-get -q -y install python2.7-dev xorg-dev # Libraries needed for compiling 32bit gcc. -sudo apt-get install lib32gmp3-dev lib32mpfr-dev lib32ncurses5-dev +sudo apt-get -q -y install lib32gmp3-dev lib32mpfr-dev lib32ncurses5-dev # There's no 32bit versoin of this? libmpc-dev # Libraries needed for compiling 64bit gcc. -- cgit v1.2.3 From e23a9eed61105a964cdb6097b7b3df50d45ce07d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 19:53:37 +0100 Subject: Fix build_ndk.sh for Linux --- Necessitas_SDK/build_ndk.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index f254baa..ff47e47 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -98,6 +98,9 @@ function makeInstallMinGWBits function makeNDK { +echo `pwd` +echo `pwd` +echo `pwd` mkdir src && cd src if [ ! -d mpfr ] then @@ -130,10 +133,11 @@ function makeNDK then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb fi + TCSRC=`pwd` cd .. mkdir ndk && cd ndk git clone git://android.git.kernel.org/platform/development.git development - git clone git://gitorious.org:mingw-android-ndk/mingw-android-ndk.git ndk + git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk cd ndk && git checkout -b integration origin/integration && cd .. export NDK=`pwd`/ndk export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose @@ -144,12 +148,12 @@ function makeNDK ANDROID_NDK_ROOT=$NDK if [ "$OSTYPE" = "msys" ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-windows-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=$PYTHONVER --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-windows-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=/usr --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=/usr --only-latest else - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=`pwd`/src --gdb-with-python=/usr --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=/usr --only-latest fi fi } -- cgit v1.2.3 From e50f3bcb45576ca82bc063dc071ef2b40ff4e19b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 21:42:19 +0100 Subject: Fix bug with chdir (need to include on Windows. --- Necessitas_SDK/ministrorepogen/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index a5d8966..23f7abc 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -26,6 +26,10 @@ #include #include +#if defined(__MINGW32__) +#include +#endif + void printHelp() { qDebug()<<"Usage:./ministrorepogen "; -- cgit v1.2.3 From 795d8e87e208d4414a2cc4c1b5d8766bcacafe03 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 23:04:30 +0100 Subject: Use local Python build for GDB on Linux too --- Necessitas_SDK/build_ndk.sh | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index ff47e47..56a8fa0 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -50,6 +50,28 @@ function downloadIfNotExists fi } +function makeInstallPython +{ + if [ ! -d python ] + then + git clone git://gitorious.org/mingw-python/mingw-python.git python + fi + cd python + ./build-python.sh + if [ "$OSTYPE" = "linux-gnu" ] ; then + BUILD=linux + else if [ "$OSTYPE" = "msys" ] ; then + BUILD=mingw + else + BUILD=macosx + fi + + PYTHONVER=$PWD/install-python-$BUILD + # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z + cp ../python-${BUILD}.7z $REPO_SRC_PATH/ + cd .. +} + function makeInstallMinGWBits { wget -c http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz @@ -73,17 +95,6 @@ function makeInstallMinGWBits make && make install cd .. - if [ ! -d python ] - then - git clone git://gitorious.org:mingw-python/mingw-python.git python - fi - cd python - ./build-python.sh - PYTHONVER=$PWD/install-python-mingw - # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z - cp ../python-mingw.7z $REPO_SRC_PATH/ - cd .. - rm -rf android-various git clone git://gitorious.org:mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build @@ -98,9 +109,6 @@ function makeInstallMinGWBits function makeNDK { -echo `pwd` -echo `pwd` -echo `pwd` mkdir src && cd src if [ ! -d mpfr ] then @@ -151,9 +159,9 @@ echo `pwd` $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-windows-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=/usr --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=/usr --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest fi fi } @@ -161,6 +169,7 @@ echo `pwd` if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWBits fi +makeInstallPython makeNDK popd -- cgit v1.2.3 From fac9de95e42ff900628bb000d584e5abc256a3db Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 23:09:44 +0100 Subject: Fix build_ndk.sh breakage --- Necessitas_SDK/build_ndk.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 56a8fa0..c20a710 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -60,15 +60,17 @@ function makeInstallPython ./build-python.sh if [ "$OSTYPE" = "linux-gnu" ] ; then BUILD=linux - else if [ "$OSTYPE" = "msys" ] ; then - BUILD=mingw else - BUILD=macosx + if [ "$OSTYPE" = "msys" ] ; then + BUILD=mingw + else + BUILD=macosx + fi fi PYTHONVER=$PWD/install-python-$BUILD # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z - cp ../python-${BUILD}.7z $REPO_SRC_PATH/ + cp ../python-$(BUILD).7z $REPO_SRC_PATH/ cd .. } -- cgit v1.2.3 From 9069a3182c1342d02d2daa936bd67c1f0411d1dd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 15 May 2011 23:50:29 +0100 Subject: Fix for prepareNecessitasQtCreator, on msys, the executable is build as ...release/ministrorepogen.exe, so copy it to ...ministrorepogen.exe --- Necessitas_SDK/build_sdk.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index a1f1a7e..b0a873e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -273,7 +273,7 @@ function perpareNecessitasQtCreator fi if [ "$OSTYPE" = "msys" ]; then - QPATCH_PATH=$PWD/release/qpatch${EXE_EXT} + QPATCH_PATH=$PWD/release/qpatch$EXE_EXT else QPATCH_PATH=$PWD/qpatch fi @@ -805,7 +805,10 @@ function prepareMinistroRepository cp $qmldirfile $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$qmldirfileDirname/ done - $REPO_SRC_PATH/ministrorepogen/ministrorepogen $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/ $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH + if [ "$OSTYPE" = "msys" ] ; then + cp $REPO_SRC_PATH/ministrorepogen/release/ministrorepogen$EXE_EXT $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT + fi + $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/ $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH popd done } -- cgit v1.2.3 From 03c4d65a2e6b1bc4bc664e8e08737264a41b0dbb Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 16 May 2011 00:08:33 +0100 Subject: Fix build_ndk.sh --- Necessitas_SDK/build_ndk.sh | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index c20a710..25286b3 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -52,25 +52,31 @@ function downloadIfNotExists function makeInstallPython { - if [ ! -d python ] - then - git clone git://gitorious.org/mingw-python/mingw-python.git python - fi - cd python - ./build-python.sh if [ "$OSTYPE" = "linux-gnu" ] ; then BUILD=linux else if [ "$OSTYPE" = "msys" ] ; then - BUILD=mingw + BUILD=mingw else BUILD=macosx fi fi - PYTHONVER=$PWD/install-python-$BUILD - # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z - cp ../python-$(BUILD).7z $REPO_SRC_PATH/ + if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ] + then + PYTHONVER=$PWD/python/install-python-$BUILD + else + if [ ! -d python ] + then + git clone git://gitorious.org/mingw-python/mingw-python.git python + fi + cd python + ./build-python.sh + PYTHONVER=$PWD/install-python-$BUILD + # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z + cp ../python-${BUILD}.7z $REPO_SRC_PATH/ + fi + cd .. } -- cgit v1.2.3 From 378c5e0b816214eb693875618b8a0a4589d9de68 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 16 May 2011 01:20:39 +0100 Subject: build_ndk.sh, works on Linux (up to STLPort, as for the other platforms), generates a .7z with local Python. --- Necessitas_SDK/build_ndk.sh | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 25286b3..2f15a19 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -54,11 +54,14 @@ function makeInstallPython { if [ "$OSTYPE" = "linux-gnu" ] ; then BUILD=linux + BUILD_NDK=linux-x86 else if [ "$OSTYPE" = "msys" ] ; then - BUILD=mingw + BUILD=windows + BUILD_NDK=windows else BUILD=macosx + BUILD_NDK=darwin-x86 fi fi @@ -75,9 +78,8 @@ function makeInstallPython PYTHONVER=$PWD/install-python-$BUILD # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z cp ../python-${BUILD}.7z $REPO_SRC_PATH/ + cd .. fi - - cd .. } function makeInstallMinGWBits @@ -163,21 +165,43 @@ function makeNDK NDK=`pwd`/ndk ANDROID_NDK_ROOT=$NDK - if [ "$OSTYPE" = "msys" ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-windows-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + + if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-darwin-x86-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest - else - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-linux-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest - fi + echo "Skipping NDK build, already done." fi } +function mixPythonWithNDK +{ + if [ ! -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then + echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD}.7z" + fi + if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then + echo "Failed to find gdbserver, $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" + fi + if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + echo "Failed to find toolchain, arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" + fi + rm -rf /tmp/android-ndk-r5b-${BUILD} + mkdir -p /tmp/android-ndk-r5b-${BUILD} + pushd /tmp/android-ndk-r5b-${BUILD} + tar -jxvf $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + tar -jxvf $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 + pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} + 7za x $REPO_SRC_PATH/python-${BUILD}.7z + popd + 7za a -mx9 android-ndk-r5b-gdb-7.2-${BUILD}.7z toolchains + popd +} + if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWBits fi + makeInstallPython makeNDK +mixPythonWithNDK popd -- cgit v1.2.3 From 43ba0b3df45275a2c239b3b80b3da69aaab15ce2 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 16 May 2011 15:07:15 +0800 Subject: Add QtMobility rules, small fixes. --- Necessitas_SDK/ministrorepogen/rules.xml | 143 ++++++++++++++++++++++++---- Necessitas_SDK/ministrorepogen/sortlibs.cpp | 17 +++- 2 files changed, 137 insertions(+), 23 deletions(-) diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index c5683cb..55bcc15 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -23,17 +23,6 @@ - - - - - - - - - - - - @@ -59,20 +48,138 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + + diff --git a/Necessitas_SDK/ministrorepogen/sortlibs.cpp b/Necessitas_SDK/ministrorepogen/sortlibs.cpp index 3f71c6d..e9acdad 100644 --- a/Necessitas_SDK/ministrorepogen/sortlibs.cpp +++ b/Necessitas_SDK/ministrorepogen/sortlibs.cpp @@ -95,8 +95,12 @@ void SortLibraries(librariesMap & mapLibs, const QString & readelfPath, const QS if (!mapLibs[library].relativePath.length()) mapLibs[library].relativePath=relativePath; - if (!mapLibs[library].dependencies.size()) - mapLibs[library].dependencies=getLibs(readelfPath, libPath.absolutePath()); + QStringList depends=getLibs(readelfPath, libPath.absolutePath()); + foreach(const QString & libName, depends) + { + if (!mapLibs[library].dependencies.contains(libName)) + mapLibs[library].dependencies< Date: Mon, 16 May 2011 09:09:56 +0100 Subject: Fixes for build_ndk.sh --- Necessitas_SDK/build_ndk.sh | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 2f15a19..717981f 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -119,44 +119,49 @@ function makeInstallMinGWBits function makeNDK { - mkdir src && cd src - if [ ! -d mpfr ] + mkdir src + cd src + + if [ ! -d "mpfr" ] then git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr cd mpfr downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 cd .. fi - if [ ! -d binutils ] + if [ ! -d "binutils" ] then git clone git://android.git.kernel.org/toolchain/binutils.git binutils fi - if [ ! -d gmp ] + if [ ! -d "gmp" ] then git clone git://android.git.kernel.org/toolchain/gmp.git gmp fi - if [ ! -d gold ] + if [ ! -d "gold" ] then git clone git://android.git.kernel.org/toolchain/gold.git gold fi - if [ ! -d build ] + if [ ! -d "build" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build fi - if [ ! -d gcc ] + if [ ! -d "gcc" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc fi - if [ ! -d gdb ] + if [ ! -d "gdb" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb fi TCSRC=`pwd` cd .. - mkdir ndk && cd ndk + mkdir ndk + cd ndk git clone git://android.git.kernel.org/platform/development.git development git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk - cd ndk && git checkout -b integration origin/integration && cd .. + cd ndk + git checkout -b integration origin/integration + cd .. export NDK=`pwd`/ndk export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose @@ -165,11 +170,11 @@ function makeNDK NDK=`pwd`/ndk ANDROID_NDK_ROOT=$NDK - if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else echo "Skipping NDK build, already done." + echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 fi } -- cgit v1.2.3 From 5434f88cdc688a1fb1a2fc5d5ebc97d8c42d4011 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 16 May 2011 09:34:15 +0100 Subject: Fix gitorious url in build_ndk.sh --- Necessitas_SDK/build_ndk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 717981f..6cdae4f 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -106,7 +106,7 @@ function makeInstallMinGWBits cd .. rm -rf android-various - git clone git://gitorious.org:mingw-android-various/mingw-android-various.git android-various + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build cd android-various/make-3.82-build ../make-3.82/build-mingw.sh -- cgit v1.2.3 From 003db3823d05d1c282c61aa2fbc004b582a632ca Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 16 May 2011 21:29:29 +0100 Subject: Copy the ndk results to /home/nonesuch/src/ministro/Necessitas_SDK/ndk --- Necessitas_SDK/build_ndk.sh | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 6cdae4f..1f77612 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -26,7 +26,8 @@ else popd fi -REPO_SRC_PATH=$PWD +REPO_SRC_PATH=$PWD/ndk +mkdir $REPO_SRC_PATH PYTHONVER=/usr mkdir -p $TEMP_PATH pushd $TEMP_PATH @@ -122,6 +123,15 @@ function makeNDK mkdir src cd src + if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then + rm -rf /tmp/python-install + mkdir /tmp/python-install + pushd /tmp/python-install + 7za x $REPO_SRC_PATH/python-${BUILD}.7z + PYTHONVER=$PWD + popd + fi + if [ ! -d "mpfr" ] then git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr @@ -176,6 +186,8 @@ function makeNDK echo "Skipping NDK build, already done." echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 fi + cp $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + cp $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 } function mixPythonWithNDK @@ -183,21 +195,22 @@ function mixPythonWithNDK if [ ! -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD}.7z" fi - if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then - echo "Failed to find gdbserver, $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" + if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then + echo "Failed to find gdbserver, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" fi - if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - echo "Failed to find toolchain, arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" + if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + echo "Failed to find toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" fi rm -rf /tmp/android-ndk-r5b-${BUILD} mkdir -p /tmp/android-ndk-r5b-${BUILD} pushd /tmp/android-ndk-r5b-${BUILD} - tar -jxvf $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - tar -jxvf $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 + tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} 7za x $REPO_SRC_PATH/python-${BUILD}.7z popd 7za a -mx9 android-ndk-r5b-gdb-7.2-${BUILD}.7z toolchains + cp android-ndk-r5b-gdb-7.2-${BUILD}.7z $REPO_SRC_PATH popd } @@ -210,3 +223,4 @@ makeNDK mixPythonWithNDK popd + -- cgit v1.2.3 From 8a1bef3f25e37d77e7c076e04e6b571191033495 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 16 May 2011 22:10:36 +0100 Subject: Use var again on Linux (uses sudo mkdir and sudo chmod), tmp is too temporary --- Necessitas_SDK/build_sdk.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b0a873e..aeccb5e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,17 +21,17 @@ REPO_SRC_PATH=$PWD -TEMP_PATH_PREFIX=/tmp +TEMP_PATH_PREFIX=/var -if [ "$OSTYPE" = "msys" ]; then +if [ "$OSTYPE" = "msys" ]; then TEMP_PATH_PREFIX=/usr fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - # On Mac OS X, user accounts don't have write perms for /var +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then + # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH - sudo chmod 777 $TEMP_PATH + sudo chmod 770 $TEMP_PATH else mkdir -p $TEMP_PATH fi -- cgit v1.2.3 From 9a40d568f47e0d94e73265c9ddc3dbfe1970caea Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 17 May 2011 00:48:20 +0100 Subject: Added prepareGDB, commented out for now until finished --- Necessitas_SDK/build_sdk.sh | 146 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index aeccb5e..d047463 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -31,7 +31,7 @@ TEMP_PATH=$TEMP_PATH_PREFIX/necessitas if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH - sudo chmod 770 $TEMP_PATH + sudo chmod 777 $TEMP_PATH else mkdir -p $TEMP_PATH fi @@ -280,6 +280,149 @@ function perpareNecessitasQtCreator popd } +function makeInstallMinGWBits +{ + downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz + rm -rf PDCurses-3.4 + tar -xvzf PDCurses-3.4.tar.gz + cd PDCurses-3.4/win32 + sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak + make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N + mkdir -p $install_dir/lib + mkdir -p $install_dir/include + cp pdcurses.a $install_dir/lib/libcurses.a + cp pdcurses.a $install_dir/lib/libncurses.a + cp pdcurses.a $install_dir/lib/libpdcurses.a + cp ../curses.h $install_dir/include + cp ../panel.h $install_dir/include + cd ../.. + + downloadIfNotExists readline-6.2.tar.gz http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz + rm -rf readline-6.2 + tar -xvzf readline-6.2.tar.gz + cd readline-6.2 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/ CFLAGS=-O2 + make && make DESTDIR=$install_dir install + cd .. + + rm -rf android-various + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various + mkdir -p android-various/make-3.82-build + cd android-various/make-3.82-build + ../make-3.82/build-mingw.sh + cp make.exe $REPO_SRC_PATH/ + cd ../.. + cd android-various/android-sdk + gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe + cp android.exe $REPO_SRC_PATH/ +} + +function prepareGDB +{ + mkdir gdb-build + pushd gdb-build + pyversion=2.7 + pyfullversion=2.7.1 + install_dir=$PWD/install + target_dir=$PWD/gdb-7.2.x + + downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" + if [ ! -d expat-2.0.1 ] + then + tar xzvf expat-2.0.1.tar.gz + pushd expat-2.0.1 + ./configure --disable-shared -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" + popd + fi + +# downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" +# fi + + if [ ! -d Python-$pyfullversion ] + then + if [ $OSTYPE = "msys" -o $OSTYPE = "linux-gnu" ]; then + if [ $OSTYPE = "msys" ]; then + makeInstallMinGWBits $install_dir + fi + rm -rf Python-$pyfullversion + git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion + else + downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" + tar xjvf Python-$pyfullversion.tar.bz2 + fi + pushd Python-$pyfullversion + unset PYTHONHOME + OLDCC=$CC + OLDCXX=$CXX + OLDPATH=$PATH + if [ "$OSTYPE" = "linux-gnu" ] ; then + HOST=i386-linux-gnu + export CC="gcc -m32" + export CXX="g++ -m32" + else + EXE_EXT=.exe + HOST=i686-pc-mingw32 + export CC=gcc.exe + export CXX=g++.exe + LIBSRCDIR=./build/lib.mingw-2.7 + LIBDSTDIR=$PREFIX/bin/Lib + fi + export PATH=.:$PATH + autoconf + touch Include/Python-ast.h + touch Include/Python-ast.c + ./configure --prefix=$install_dir --host=$HOST && make -j$JOBS && make install || error_msg "Can't compile python library" + if [ "$OSTYPE" = "msys" ] ; then + cd pywin32-216 + ../python$EXE_EXT setup.py build + cd .. + fi + mkdir -p $target_dir/python/lib + if [ "$OSTYPE" = "msys" ] ; then + mkdir -p $LIBDSTDIR/config + cp Modules/makesetup $LIBDSTDIR/config + cp Modules/config.c.in $LIBDSTDIR/config + cp Modules/config.c $LIBDSTDIR/config + cp libpython2.7.a $LIBDSTDIR/config + cp Makefile $LIBDSTDIR/config + cp Modules/python.o $LIBDSTDIR/config + cp Modules/Setup.local $LIBDSTDIR/config + cp install-sh $LIBDSTDIR/config + cp Modules/Setup $LIBDSTDIR/config + cp Modules/Setup.config $LIBDSTDIR/config + fi + cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ + mkdir -p $target_dir/python/include/python$pyversion + cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + popd + export CC=$OLDCC + export CXX=$OLDCXX + export PATH=$OLDPATH + fi + + if [ ! -d gdb-src ] + then + export PYTHONHOME=$install_dir + OLDPATH=$PATH + export PATH=$install_dir/bin/:$PATH + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + pushd gdb-src/gdb-7.2.50.20110211 + ./configure --enable-initfini-array --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir + --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + make && make DESTDIR=$install_dir install + export PATH=$OLDPATH + popd + fi + + pushd $target_dir + find -name *.py[co] | xargs rm -f + find -name test | xargs rm -fr + popd + + $SDK_TOOLS_PATH/archivegen gdb-7.2.x gdb-7.2.x-${HOST_TAG}.7z + + popd //gdb-build +} function perpareNDKs { @@ -818,6 +961,7 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt perpareSdkInstallerTools +#prepareGDB perpareNDKs perpareSDKs perpareNecessitasQtCreator -- cgit v1.2.3 From 845ae0d20ea975b95ee23cfa4c0e5276ded75b5d Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 17 May 2011 14:32:27 +0800 Subject: Finish gdb/gdbserver packaging. --- Necessitas_SDK/build_sdk.sh | 258 +++++++++++++-------- .../meta/installscript.qs | 44 ++++ .../meta/package.xml | 12 + 3 files changed, 220 insertions(+), 94 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d047463..3441d74 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,20 +21,15 @@ REPO_SRC_PATH=$PWD -TEMP_PATH_PREFIX=/var +TEMP_PATH_PREFIX=/tmp if [ "$OSTYPE" = "msys" ]; then TEMP_PATH_PREFIX=/usr fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then - # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. - sudo mkdir -p $TEMP_PATH - sudo chmod 777 $TEMP_PATH -else - mkdir -p $TEMP_PATH -fi + +mkdir -p $TEMP_PATH pushd $TEMP_PATH @@ -70,7 +65,8 @@ else HOST_CFG_OPTIONS=" -platform linux-g++ " HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 - JOBS=4 + JOBS=`cat /proc/cpuinfo | grep processor | wc -l` + JOBS=`expr $JOBS + 2` fi fi @@ -313,18 +309,92 @@ function makeInstallMinGWBits cp make.exe $REPO_SRC_PATH/ cd ../.. cd android-various/android-sdk - gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe + gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ } +function perpareNDKs +{ + # repack windows NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + then + downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip + if [ ! -d android-ndk-r5b ] + then + unzip android-ndk-r5b-windows.zip + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z + rm -fr android-ndk-r5b + fi + + # repack mac NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + then + downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z + rm -fr android-ndk-r5b + fi + + # repack linux-x86 NDK, it must be the last one because we need it to build qt + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + then + downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 + if [ ! -d android-ndk-r5b ] + then + tar xjvf android-ndk-r5b-linux-x86.tar.bz2 + fi + $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data + mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z + rm -fr android-ndk-r5b + fi + + export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b + if [ ! -d android-ndk-r5b ]; then + + if [ "$OSTYPE" = "msys" ]; then + downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip + unzip android-ndk-r5b-windows.zip + fi + + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 + tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 + fi + + if [ "$OSTYPE" = "linux-gnu" ]; then + downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 + tar xjvf android-ndk-r5b-linux-x86.tar.bz2 + fi + fi + + ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-strip$EXE_EXT + ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-readelf$EXE_EXT + +} + function prepareGDB { +#This function depends by perpareNDKs + if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdb-7.2-${HOST_TAG}.7z ] + then + return + fi + mkdir gdb-build pushd gdb-build pyversion=2.7 pyfullversion=2.7.1 install_dir=$PWD/install - target_dir=$PWD/gdb-7.2.x + target_dir=$PWD/gdb-7.2 downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" if [ ! -d expat-2.0.1 ] @@ -335,49 +405,50 @@ function prepareGDB popd fi -# downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" -# fi - if [ ! -d Python-$pyfullversion ] then - if [ $OSTYPE = "msys" -o $OSTYPE = "linux-gnu" ]; then + if [ $OSTYPE = "linux-gnu" ]; then + downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" + tar xjvf Python-$pyfullversion.tar.bz2 + else if [ $OSTYPE = "msys" ]; then makeInstallMinGWBits $install_dir fi rm -rf Python-$pyfullversion git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion - else - downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" - tar xjvf Python-$pyfullversion.tar.bz2 fi + pushd Python-$pyfullversion unset PYTHONHOME OLDCC=$CC OLDCXX=$CXX OLDPATH=$PATH + if [ "$OSTYPE" = "linux-gnu" ] ; then - HOST=i386-linux-gnu + HOST=i386-linux-gnu export CC="gcc -m32" export CXX="g++ -m32" else - EXE_EXT=.exe HOST=i686-pc-mingw32 export CC=gcc.exe export CXX=g++.exe LIBSRCDIR=./build/lib.mingw-2.7 LIBDSTDIR=$PREFIX/bin/Lib + export PATH=.:$PATH + autoconf + touch Include/Python-ast.h + touch Include/Python-ast.c fi - export PATH=.:$PATH - autoconf - touch Include/Python-ast.h - touch Include/Python-ast.c - ./configure --prefix=$install_dir --host=$HOST && make -j$JOBS && make install || error_msg "Can't compile python library" + + ./configure --host=$HOST --prefix=$install_dir && make -j$JOBS && make install || error_msg "Can't compile python library" if [ "$OSTYPE" = "msys" ] ; then cd pywin32-216 ../python$EXE_EXT setup.py build cd .. fi + mkdir -p $target_dir/python/lib + if [ "$OSTYPE" = "msys" ] ; then mkdir -p $LIBDSTDIR/config cp Modules/makesetup $LIBDSTDIR/config @@ -392,8 +463,11 @@ function prepareGDB cp Modules/Setup.config $LIBDSTDIR/config fi cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ - mkdir -p $target_dir/python/include/python$pyversion - cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + rm -fr $target_dir/python/lib/python$pyversion/config +# mkdir -p $target_dir/python/include/python$pyversion +# cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ + strip -s $target_dir/python$pyversion$EXE_EXT popd export CC=$OLDCC export CXX=$OLDCXX @@ -402,14 +476,20 @@ function prepareGDB if [ ! -d gdb-src ] then + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + fi + + if [ ! -d gdb-src/build-gdb ] + then + mkdir -p gdb-src/build-gdb + pushd gdb-src/build-gdb export PYTHONHOME=$install_dir OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src - pushd gdb-src/gdb-7.2.50.20110211 - ./configure --enable-initfini-array --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir - --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls - make && make DESTDIR=$install_dir install + ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=no --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + make -j$JBBS + cp -a gdb/gdb $target_dir/ + strip -s $target_dir/gdb export PATH=$OLDPATH popd fi @@ -418,78 +498,71 @@ function prepareGDB find -name *.py[co] | xargs rm -f find -name test | xargs rm -fr popd - - $SDK_TOOLS_PATH/archivegen gdb-7.2.x gdb-7.2.x-${HOST_TAG}.7z - popd //gdb-build + $SDK_TOOLS_PATH/archivegen gdb-7.2 gdb-7.2-${HOST_TAG}.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + mv gdb-7.2-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + + popd #gdb-build } -function perpareNDKs +function prepareGDBServer { - # repack windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdbserver-7.2.7z ] then - downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip - if [ ! -d android-ndk-r5b ] - then - unzip android-ndk-r5b-windows.zip - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z - rm -fr android-ndk-r5b + return fi - # repack mac NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] - then - downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] - then - tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z - rm -fr android-ndk-r5b - fi + export NDK_DIR=$TEMP_PATH/android-ndk-r5b - # repack linux-x86 NDK, it must be the last one because we need it to build qt - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + mkdir gdb-build + pushd gdb-build + + if [ ! -d gdb-src ] then - downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] - then - tar xjvf android-ndk-r5b-linux-x86.tar.bz2 - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z - rm -fr android-ndk-r5b + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src fi - export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b - if [ ! -d android-ndk-r5b ]; then + mkdir -p gdb-src/build-gdbserver + pushd gdb-src/build-gdbserver - if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip - unzip android-ndk-r5b-windows.zip - fi + mkdir android-sysroot + cp -rL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 - tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 - fi + rm -f android-sysroot/usr/lib/libthread_db* + rm -f android-sysroot/usr/include/thread_db.h - if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 - tar xjvf android-ndk-r5b-linux-x86.tar.bz2 - fi - fi + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi - ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-strip$EXE_EXT - ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-readelf$EXE_EXT + OLD_CC="$CC" + OLD_CFLAGS="$CFLAGS" + OLD_LDFLAGS="$LDFLAGS" + + export CC="$TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot" + export CFLAGS="-O2 -nostdinc -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" + export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" + + LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-r5b/sources/android/libthread_db/gdb-7.1.x/ + cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ + $TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" + + ../gdb-7.2.50.20110211/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" + make -j$JBBS || error_msg "Can't compile gdbserver" + + export CC="$OLD_CC" + export CFLAGS="$OLD_CFLAGS" + export LDFLAGS="$OLD_LDFLAGS" + + mkdir gdbserver-7.2 + $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-7.2/gdbserver + + $SDK_TOOLS_PATH/archivegen gdbserver-7.2 gdbserver-7.2.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + mv gdbserver-7.2.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + + popd #gdb-src/build-gdbserver + popd #gdb-build } function repackSDK @@ -961,18 +1034,15 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt perpareSdkInstallerTools -#prepareGDB perpareNDKs +prepareGDB +prepareGDBServer perpareSDKs perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtWebkit perpareNecessitasQtMobility -# Want to be able to do this on all hosts. -#if [ "$OSTYPE" = "linux-gnu" ]; then - prepareMinistroRepository -# echo $OSTYPE -#fi +prepareMinistroRepository patchPackages prepareSDKBinary prepareSDKRepository diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs new file mode 100644 index 0000000..d829a33 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs @@ -0,0 +1,44 @@ +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdbserver-7.2.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "gdb-7.2-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "gdb-7.2-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "gdb-7.2-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var gdbPath = "@TargetDir@/gdb-7.2/gdb"; + var gdbserverPath = "@TargetDir@/gdbserver-7.2/gdbserver"; + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml new file mode 100644 index 0000000..0903de8 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml @@ -0,0 +1,12 @@ + + + Android custom gdb-7.2 + Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb + 7.2.50.20110211 + 2011-04-09 + org.kde.necessitas.misc.ndk.gdb_7_2 + + 99999 + 95 + true + -- cgit v1.2.3 From af5d793af494b44b8705014ac658f4ae5209677e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 17 May 2011 09:44:26 +0100 Subject: Windows fixes for perpareGDB --- Necessitas_SDK/build_sdk.sh | 55 ++++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3441d74..f246772 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -28,8 +28,13 @@ if [ "$OSTYPE" = "msys" ]; then fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas - -mkdir -p $TEMP_PATH +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then + # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. + sudo mkdir -p $TEMP_PATH + sudo chmod 777 $TEMP_PATH +else + mkdir -p $TEMP_PATH +fi pushd $TEMP_PATH @@ -410,12 +415,14 @@ function prepareGDB if [ $OSTYPE = "linux-gnu" ]; then downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" tar xjvf Python-$pyfullversion.tar.bz2 + USINGMAPYTHON=0 else if [ $OSTYPE = "msys" ]; then makeInstallMinGWBits $install_dir fi rm -rf Python-$pyfullversion git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion + USINGMAPYTHON=1 fi pushd Python-$pyfullversion @@ -425,16 +432,21 @@ function prepareGDB OLDPATH=$PATH if [ "$OSTYPE" = "linux-gnu" ] ; then - HOST=i386-linux-gnu + HOST=i386-linux-gnu export CC="gcc -m32" export CXX="g++ -m32" + PYCFGDIR=$install_dir/lib/python$pyversion/config else + HOST_EXE=.exe HOST=i686-pc-mingw32 export CC=gcc.exe export CXX=g++.exe LIBSRCDIR=./build/lib.mingw-2.7 - LIBDSTDIR=$PREFIX/bin/Lib + LIBCFGDIR=$install_dir/$PREFIX/bin/Lib/config export PATH=.:$PATH + fi + + if [ "$USINGMAPYTHON" = "1" ] ; then autoconf touch Include/Python-ast.h touch Include/Python-ast.c @@ -450,22 +462,29 @@ function prepareGDB mkdir -p $target_dir/python/lib if [ "$OSTYPE" = "msys" ] ; then - mkdir -p $LIBDSTDIR/config - cp Modules/makesetup $LIBDSTDIR/config - cp Modules/config.c.in $LIBDSTDIR/config - cp Modules/config.c $LIBDSTDIR/config - cp libpython2.7.a $LIBDSTDIR/config - cp Makefile $LIBDSTDIR/config - cp Modules/python.o $LIBDSTDIR/config - cp Modules/Setup.local $LIBDSTDIR/config - cp install-sh $LIBDSTDIR/config - cp Modules/Setup $LIBDSTDIR/config - cp Modules/Setup.config $LIBDSTDIR/config + mkdir -p $PYCFGDIR + cp Modules/makesetup $PYCFGDIR + cp Modules/config.c.in $PYCFGDIR + cp Modules/config.c $PYCFGDIR + cp libpython2.7.a $PYCFGDIR + cp Makefile $PYCFGDIR + cp Modules/python.o $PYCFGDIR + cp Modules/Setup.local $PYCFGDIR + cp install-sh $PYCFGDIR + cp Modules/Setup $PYCFGDIR + cp Modules/Setup.config $PYCFGDIR + fi + find $PYCFGDIR -name "*.a" | xargs rm -fr + find $PYCFGDIR -name "*.lib" | xargs rm -fr + cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ + cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ + if [ "$OSTYPE" = "msys" ] ; then + cp -fr $install_dir/bin/Lib $target_dir/ fi cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ - rm -fr $target_dir/python/lib/python$pyversion/config -# mkdir -p $target_dir/python/include/python$pyversion -# cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + mkdir -p $target_dir/python/include/python$pyversion + cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ strip -s $target_dir/python$pyversion$EXE_EXT popd -- cgit v1.2.3 From 210ab62080d99853e4155ce48aca5df2d4fd5247 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 17 May 2011 22:41:28 +0800 Subject: Fix python packaging, size-- --- Necessitas_SDK/build_sdk.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f246772..845676b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -221,6 +221,9 @@ function perpareSdkInstallerTools doMake "Can't compile necessitas-installer-framework" "all done" fi popd + pushd $SDK_TOOLS_PATH + strip -s * + popd } @@ -516,6 +519,7 @@ function prepareGDB pushd $target_dir find -name *.py[co] | xargs rm -f find -name test | xargs rm -fr + find -name tests | xargs rm -fr popd $SDK_TOOLS_PATH/archivegen gdb-7.2 gdb-7.2-${HOST_TAG}.7z @@ -1061,10 +1065,10 @@ perpareNecessitasQtCreator perpareNecessitasQt perpareNecessitasQtWebkit perpareNecessitasQtMobility -prepareMinistroRepository patchPackages prepareSDKBinary prepareSDKRepository revertPatchPackages +prepareMinistroRepository popd -- cgit v1.2.3 From 0c98ac7f1a9605523e8c912ed3f6df974a4b6b4c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 17 May 2011 22:42:20 +0800 Subject: Precompile python libs --- .../meta/installscript.qs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs index d829a33..d18847d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs @@ -26,9 +26,11 @@ Component.prototype.createOperations = function() var gdbPath = "@TargetDir@/gdb-7.2/gdb"; var gdbserverPath = "@TargetDir@/gdbserver-7.2/gdbserver"; + var pythonPath="@TargetDir@/gdb-7.2/python2.7" if (installer.value("os") == "win") { gdbPath+=".exe"; + pythonPath+=".exe"; } component.addOperation( "SetQtCreatorValue", @@ -36,9 +38,20 @@ Component.prototype.createOperations = function() "AndroidConfigurations", "GdbLocation", gdbPath ); + component.addOperation( "SetQtCreatorValue", "@TargetDir@", "AndroidConfigurations", "GdbserverLocation", gdbserverPath ); + + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + "@TargetDir@/gdb-7.2/python" ); + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", "@TargetDir@/gdb-7.2/python/lib/python2.7/compileall.py", + "-f", "@TargetDir@/gdb-7.2/python/lib" ); } -- cgit v1.2.3 From ae93c34ea9eb23aa4feafa660de2c0541681c190 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 17 May 2011 23:07:40 +0800 Subject: Linux fixes. --- Necessitas_SDK/build_sdk.sh | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 845676b..08592cf 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -28,7 +28,7 @@ if [ "$OSTYPE" = "msys" ]; then fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH sudo chmod 777 $TEMP_PATH @@ -180,7 +180,7 @@ function prepareHostQt STATIC_QT_PATH=$PWD if [ ! -f all_done ] then - rm -fr * + rm -fr * ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile static $HOST_QT_VERSION" "all done" fi @@ -438,7 +438,7 @@ function prepareGDB HOST=i386-linux-gnu export CC="gcc -m32" export CXX="g++ -m32" - PYCFGDIR=$install_dir/lib/python$pyversion/config + PYCFGDIR=$install_dir/lib/python$pyversion/config else HOST_EXE=.exe HOST=i686-pc-mingw32 @@ -448,7 +448,7 @@ function prepareGDB LIBCFGDIR=$install_dir/$PREFIX/bin/Lib/config export PATH=.:$PATH fi - + if [ "$USINGMAPYTHON" = "1" ] ; then autoconf touch Include/Python-ast.h @@ -476,19 +476,17 @@ function prepareGDB cp install-sh $PYCFGDIR cp Modules/Setup $PYCFGDIR cp Modules/Setup.config $PYCFGDIR + find $PYCFGDIR -name "*.a" | xargs rm -fr + find $PYCFGDIR -name "*.lib" | xargs rm -fr fi - find $PYCFGDIR -name "*.a" | xargs rm -fr - find $PYCFGDIR -name "*.lib" | xargs rm -fr + cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ + mkdir -p $target_dir/python/include/python$pyversion cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi - cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ - mkdir -p $target_dir/python/include/python$pyversion - cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ - cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ strip -s $target_dir/python$pyversion$EXE_EXT popd export CC=$OLDCC -- cgit v1.2.3 From 6586c17b46aab105792e7ceb948a7ba184ff72a5 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 18 May 2011 00:45:00 +0100 Subject: Latest round of Windows fixes. --- Necessitas_SDK/build_sdk.sh | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 08592cf..d287012 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -289,7 +289,7 @@ function makeInstallMinGWBits downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz rm -rf PDCurses-3.4 tar -xvzf PDCurses-3.4.tar.gz - cd PDCurses-3.4/win32 + pushd PDCurses-3.4/win32 sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N mkdir -p $install_dir/lib @@ -299,26 +299,27 @@ function makeInstallMinGWBits cp pdcurses.a $install_dir/lib/libpdcurses.a cp ../curses.h $install_dir/include cp ../panel.h $install_dir/include - cd ../.. + popd downloadIfNotExists readline-6.2.tar.gz http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz rm -rf readline-6.2 tar -xvzf readline-6.2.tar.gz - cd readline-6.2 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/ CFLAGS=-O2 + pushd readline-6.2 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix= CFLAGS=-O2 make && make DESTDIR=$install_dir install - cd .. + popd rm -rf android-various git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build - cd android-various/make-3.82-build + pushd android-various/make-3.82-build ../make-3.82/build-mingw.sh cp make.exe $REPO_SRC_PATH/ - cd ../.. - cd android-various/android-sdk + popd + pushd android-various/android-sdk gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ + popd } function perpareNDKs @@ -409,7 +410,7 @@ function prepareGDB then tar xzvf expat-2.0.1.tar.gz pushd expat-2.0.1 - ./configure --disable-shared -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" + ./configure --disable-shared --enable-static -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" popd fi @@ -444,8 +445,7 @@ function prepareGDB HOST=i686-pc-mingw32 export CC=gcc.exe export CXX=g++.exe - LIBSRCDIR=./build/lib.mingw-2.7 - LIBCFGDIR=$install_dir/$PREFIX/bin/Lib/config + PYCFGDIR=$install_dir/$PREFIX/bin/Lib/config export PATH=.:$PATH fi @@ -476,8 +476,6 @@ function prepareGDB cp install-sh $PYCFGDIR cp Modules/Setup $PYCFGDIR cp Modules/Setup.config $PYCFGDIR - find $PYCFGDIR -name "*.a" | xargs rm -fr - find $PYCFGDIR -name "*.lib" | xargs rm -fr fi cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ @@ -507,9 +505,9 @@ function prepareGDB OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=no --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls - make -j$JBBS - cp -a gdb/gdb $target_dir/ - strip -s $target_dir/gdb + doMake "Can't compile android gdb 7.2" "all done" + cp -a gdb/gdb$EXE_EXT $target_dir/ + strip -s $target_dir/gdb$EXE_EXT export PATH=$OLDPATH popd fi @@ -553,7 +551,7 @@ function prepareGDBServer rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi$EXE_EXT OLD_CC="$CC" OLD_CFLAGS="$CFLAGS" -- cgit v1.2.3 From 69d518d4ae9096d5ddbe2b767b5faab95c69b285 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 18 May 2011 03:42:45 +0100 Subject: Fix build_sdk.sh for Windows --- Necessitas_SDK/build_sdk.sh | 49 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d287012..f6c0fb4 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -286,6 +286,44 @@ function perpareNecessitasQtCreator function makeInstallMinGWBits { + mkdir mingw-bits + pushd mingw-bits + # Tools. Maybe move these bits to setup_mingw_for_necessitas_build.sh? + downloadIfNotExists autoconf-2.68.tar.bz2 http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.bz2 + rm -rf autoconf-2.68 + tar -xvjf autoconf-2.68.tar.bz2 + pushd autoconf-2.68 + ./configure -prefix=/usr/local + make + make install + popd + + downloadIfNotExists automake-1.10.3.tar.bz2 http://ftp.gnu.org/gnu/automake/automake-1.10.3.tar.bz2 + rm -rf automake-1.10.3 + tar -xvjf automake-1.10.3.tar.bz2 + pushd automake-1.10.3 + ./configure -prefix=/usr/local + make + make install + popd + + downloadIfNotExists libtool-2.4.tar.gz http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz + rm -rf libtool-2.4 + tar -xvzf libtool-2.4.tar.gz + pushd libtool-2.4 + ./configure -prefix=/usr/local + make + make install + popd + + downloadIfNotExists libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz + rm -rf libiconv-1.13 + tar -xvzf libiconv-1.13.tar.gz + pushd libiconv-1.13 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix= CFLAGS=-O2 + make && make DESTDIR=$install_dir install + popd + downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz rm -rf PDCurses-3.4 tar -xvzf PDCurses-3.4.tar.gz @@ -320,6 +358,7 @@ function makeInstallMinGWBits gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ popd + popd } function perpareNDKs @@ -469,13 +508,16 @@ function prepareGDB cp Modules/makesetup $PYCFGDIR cp Modules/config.c.in $PYCFGDIR cp Modules/config.c $PYCFGDIR - cp libpython2.7.a $PYCFGDIR + cp libpython$pyversion.a $PYCFGDIR cp Makefile $PYCFGDIR cp Modules/python.o $PYCFGDIR cp Modules/Setup.local $PYCFGDIR cp install-sh $PYCFGDIR cp Modules/Setup $PYCFGDIR cp Modules/Setup.config $PYCFGDIR + cp libpython$pyversion.a $install_dir/lib/python$pyversion + cp libpython$pyversion.dll $install_dir/lib/python$pyversion + cp libpython$pyversion.dll $target_dir/ fi cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ @@ -551,7 +593,7 @@ function prepareGDBServer rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi$EXE_EXT + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi OLD_CC="$CC" OLD_CFLAGS="$CFLAGS" @@ -563,8 +605,7 @@ function prepareGDBServer LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-r5b/sources/android/libthread_db/gdb-7.1.x/ cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ - $TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" - + $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" ../gdb-7.2.50.20110211/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" make -j$JBBS || error_msg "Can't compile gdbserver" -- cgit v1.2.3 From b7f34e9f3d1992f9264c122495bfd97e529aec5e Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 18 May 2011 13:37:29 +0800 Subject: Add Ministro configuration tool. --- Ministro/AndroidManifest.xml | 11 ++- Ministro/res/values/strings.xml | 1 + .../necessitas/ministro/MinistroActivity.java | 19 ++--- .../ministro/MinistroConfigActivity.java | 91 +++++++++++++++++++++ .../necessitas/ministro/MinistroService.java | 26 +++++- MinistroConfigurationTool/AndroidManifest.xml | 15 ++++ .../res/drawable-hdpi/icon.png | Bin 0 -> 3347 bytes .../res/drawable-ldpi/icon.png | Bin 0 -> 3347 bytes .../res/drawable-mdpi/icon.png | Bin 0 -> 3347 bytes MinistroConfigurationTool/res/values/strings.xml | 4 + .../MinistroConfigurationToolActivity.java | 66 +++++++++++++++ 11 files changed, 217 insertions(+), 16 deletions(-) create mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java create mode 100644 MinistroConfigurationTool/AndroidManifest.xml create mode 100644 MinistroConfigurationTool/res/drawable-hdpi/icon.png create mode 100644 MinistroConfigurationTool/res/drawable-ldpi/icon.png create mode 100644 MinistroConfigurationTool/res/drawable-mdpi/icon.png create mode 100644 MinistroConfigurationTool/res/values/strings.xml create mode 100644 MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index aeeba91..f06bf99 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -8,8 +8,15 @@ android:label="@string/app_name" android:configChanges="orientation|locale|fontScale|keyboard|keyboardHidden" > - - + + + + + + + + diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index 8debf7a..45435cf 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -1,4 +1,5 @@ Ministro + Choose a repository diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 35923f5..8a0cd81 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -62,8 +62,7 @@ import android.os.IBinder; public class MinistroActivity extends Activity { public native static int nativeChmode(String filepath, int mode); - - private static final String DOMAIN_NAME="http://files.kde.org/necessitas"; + private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/"; private String[] m_modules; private int m_id=-1; @@ -117,17 +116,17 @@ public class MinistroActivity extends Activity { finish(); } - private static URL getVersionUrl() throws MalformedURLException + private static URL getVersionUrl(Context c) throws MalformedURLException { - return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); + return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); } - private static URL getLibsXmlUrl(double version) throws MalformedURLException + private static URL getLibsXmlUrl(Context c, double version) throws MalformedURLException { - return new URL(DOMAIN_NAME+"/qt/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); + return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); } - public static double downloadVersionXmlFile(boolean checkOnly) + public static double downloadVersionXmlFile(Context c, boolean checkOnly) { try { @@ -135,7 +134,7 @@ public class MinistroActivity extends Activity { DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = null; Element root = null; - URLConnection connection = getVersionUrl().openConnection(); + URLConnection connection = getVersionUrl(c).openConnection(); dom = builder.parse(connection.getInputStream()); root = dom.getDocumentElement(); root.normalize(); @@ -146,7 +145,7 @@ public class MinistroActivity extends Activity { if (checkOnly) return version; - connection = getLibsXmlUrl(version).openConnection(); + connection = getLibsXmlUrl(c, version).openConnection(); connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); File file= new File(MinistroService.instance().getVersionXmlFile()); file.delete(); @@ -352,7 +351,7 @@ public class MinistroActivity extends Activity { Element root = null; if (update[0] || MinistroService.instance().getVersion()<0) - version = downloadVersionXmlFile(false); + version = downloadVersionXmlFile(MinistroActivity.this, false); else version = MinistroService.instance().getVersion(); diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java new file mode 100644 index 0000000..294affc --- /dev/null +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java @@ -0,0 +1,91 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.necessitas.ministro; + +import android.app.Activity; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ArrayAdapter; +import android.widget.Spinner; +import android.widget.Toast; + +public class MinistroConfigActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + // TODO Auto-generated method stub + super.onCreate(savedInstanceState); + setContentView(R.layout.repoconfig); + Spinner s = (Spinner) findViewById(R.id.spinner); + ArrayAdapter adapter = ArrayAdapter.createFromResource( + this, R.array.repositories, android.R.layout.simple_spinner_item); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + s.setAdapter(adapter); + s.setSelection(adapter.getPosition(MinistroService.getRepository(this))); + s.setOnItemSelectedListener(new OnItemSelectedListener(){ + @Override + public void onItemSelected(AdapterView parent, View view, int pos, + long id) { + // TODO Auto-generated method stub + Toast.makeText(parent.getContext(), "Ministro will use " + + parent.getItemAtPosition(pos).toString()+" repository", Toast.LENGTH_LONG).show(); + MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); + } + + @Override + public void onNothingSelected(AdapterView arg0) { + // TODO Auto-generated method stub + } + }); + } + + @Override + protected void onDestroy() { + NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + int icon = R.drawable.icon; + CharSequence tickerText = "Ministro repository changed"; // ticker-text + long when = System.currentTimeMillis(); // notification time + Context context = getApplicationContext(); // application Context + CharSequence contentTitle = "Ministro update"; // expanded message title + CharSequence contentText = "Ministro repository changed tap to update."; // expanded message text + + Intent notificationIntent = new Intent(this, MinistroActivity.class); + PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); + + // the next two lines initialize the Notification, using the configurations above + Notification notification = new Notification(icon, tickerText, when); + notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); + notification.defaults |= Notification.DEFAULT_SOUND; + notification.defaults |= Notification.DEFAULT_VIBRATE; + notification.defaults |= Notification.DEFAULT_LIGHTS; + try{ + nm.notify(1, notification); + }catch(Exception e) + { + e.printStackTrace(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index a2f1847..954fea6 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -42,6 +42,25 @@ import android.os.IBinder; import android.os.RemoteException; public class MinistroService extends Service { + private static final String MINISTRO_CHECK_UPDATES_KEY="LASTCHECK"; + private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; + private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; + + public static String getRepository(Context c) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + return preferences.getString(MINISTRO_REPOSITORY_KEY,MINISTRO_DEFAULT_REPOSITORY); + } + + public static void setRepository(Context c, String value) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + SharedPreferences.Editor editor= preferences.edit(); + editor.putString(MINISTRO_REPOSITORY_KEY,value); + editor.putLong(MINISTRO_CHECK_UPDATES_KEY,0); + editor.commit(); + } + // used to check Ministro Service compatibility private static final int MINISTRO_MIN_API_LEVEL=1; private static final int MINISTRO_MAX_API_LEVEL=1; @@ -83,10 +102,9 @@ public class MinistroService extends Service { class CheckForUpdates extends AsyncTask { - @Override protected void onPreExecute() { - if (m_version24l*3600*100) // check once/day { refreshLibraries(true); SharedPreferences.Editor editor= preferences.edit(); - editor.putLong("LASTCHECK",System.currentTimeMillis()); + editor.putLong(MINISTRO_CHECK_UPDATES_KEY,System.currentTimeMillis()); editor.commit(); new CheckForUpdates().execute((Void[])null); } diff --git a/MinistroConfigurationTool/AndroidManifest.xml b/MinistroConfigurationTool/AndroidManifest.xml new file mode 100644 index 0000000..07eb50c --- /dev/null +++ b/MinistroConfigurationTool/AndroidManifest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/MinistroConfigurationTool/res/drawable-hdpi/icon.png b/MinistroConfigurationTool/res/drawable-hdpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/MinistroConfigurationTool/res/drawable-hdpi/icon.png differ diff --git a/MinistroConfigurationTool/res/drawable-ldpi/icon.png b/MinistroConfigurationTool/res/drawable-ldpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/MinistroConfigurationTool/res/drawable-ldpi/icon.png differ diff --git a/MinistroConfigurationTool/res/drawable-mdpi/icon.png b/MinistroConfigurationTool/res/drawable-mdpi/icon.png new file mode 100644 index 0000000..80ae4bb Binary files /dev/null and b/MinistroConfigurationTool/res/drawable-mdpi/icon.png differ diff --git a/MinistroConfigurationTool/res/values/strings.xml b/MinistroConfigurationTool/res/values/strings.xml new file mode 100644 index 0000000..6f84e54 --- /dev/null +++ b/MinistroConfigurationTool/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Ministro configuration tool + diff --git a/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java b/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java new file mode 100644 index 0000000..c3896dd --- /dev/null +++ b/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java @@ -0,0 +1,66 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.ministro.configurator; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.ComponentName; +import android.content.DialogInterface; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; + +public class MinistroConfigurationToolActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + try + { + Intent intent = new Intent(); + intent.setComponent(new ComponentName("eu.licentia.necessitas.ministro", "eu.licentia.necessitas.ministro.MinistroConfigActivity")); + startActivity(intent); + finish(); + } + catch (Exception e) { + AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); + downloadDialog.setMessage("This tool needs latest Ministro service. Would you like to install it?"); + downloadDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + try + { + Uri uri = Uri.parse("market://search?q=pname:eu.licentia.necessitas.ministro"); + Intent intent = new Intent(Intent.ACTION_VIEW, uri); + startActivity(intent); + finish(); + } + catch (Exception e) { + e.printStackTrace(); + finish(); + } + } + }); + + downloadDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + finish(); + } + }); + downloadDialog.show(); } + } +} -- cgit v1.2.3 From a32035826b9a83075c2f21bbfb4adf0edcd451bd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 19 May 2011 00:56:28 +0100 Subject: Add PYTHON-LICENCE to gdb, fix build error with gdbserver (-nostdinc not wanted) --- Necessitas_SDK/build_sdk.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f6c0fb4..5297878 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -502,6 +502,7 @@ function prepareGDB fi mkdir -p $target_dir/python/lib + cp LICENCE $target_dir/PYTHON-LICENCE if [ "$OSTYPE" = "msys" ] ; then mkdir -p $PYCFGDIR @@ -549,6 +550,8 @@ function prepareGDB ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=no --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb 7.2" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ + # Fix building gdb-tui, it used to work and was handy to have. + # cp -a gdb/gdb-tui$EXE_EXT $target_dir/ strip -s $target_dir/gdb$EXE_EXT export PATH=$OLDPATH popd @@ -600,7 +603,7 @@ function prepareGDBServer OLD_LDFLAGS="$LDFLAGS" export CC="$TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot" - export CFLAGS="-O2 -nostdinc -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" + export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-r5b/sources/android/libthread_db/gdb-7.1.x/ -- cgit v1.2.3 From 0894ed1a9bc3448b75ea2f7de9aa08de0e399360 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 19 May 2011 09:38:57 +0100 Subject: Fix misspelling of LICENCE, fix QtCreator dll paths --- Necessitas_SDK/build_sdk.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 5297878..e9df219 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -247,13 +247,22 @@ function perpareNecessitasQtCreator rm -fr QtCreator export INSTALL_ROOT=$PWD/QtCreator make install - mkdir -p $PWD/QtCreator/Qt/lib mkdir -p $PWD/QtCreator/Qt/imports - cp -a $SHARED_QT_PATH/lib/* $PWD/QtCreator/Qt/lib/ - rm -fr $PWD/QtCreator/Qt/lib/pkgconfig - find . $PWD/QtCreator/Qt -name *.la | xargs rm -fr - find . $PWD/QtCreator/Qt -name *.prl | xargs rm -fr - cp -a $SHARED_QT_PATH/imports/* $PWD/QtCreator/Qt/imports/ + if [ "$OSTYPE" = "msys" ]; then + mkdir -p $PWD/QtCreator/bin + cp -rf lib/qtcreator/* $PWD/QtCreator/bin/ + cp -a /usr/bin/libgcc_s_dw2-1.dll $PWD/QtCreator/bin/ + cp -a /usr/bin/libstdc++-6.dll $PWD/QtCreator/bin/ + QT_LIB_DEST=$PWD/QtCreator/bin/ + else + mkdir -p $PWD/QtCreator/Qt/lib + QT_LIB_DEST=$PWD/QtCreator/Qt/lib/ + fi + cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST + rm -fr $QT_LIB_DEST/pkgconfig + find . $QT_LIB_DEST -name *.la | xargs rm -fr + find . $QT_LIB_DEST -name *.prl | xargs rm -fr + cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports cp -a bin/necessitas$EXE_EXT $PWD/QtCreator/bin/ mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ @@ -502,7 +511,7 @@ function prepareGDB fi mkdir -p $target_dir/python/lib - cp LICENCE $target_dir/PYTHON-LICENCE + cp LICENSE $target_dir/PYTHON-LICENSE if [ "$OSTYPE" = "msys" ] ; then mkdir -p $PYCFGDIR -- cgit v1.2.3 From e93757c026aef3b0efeac038eaf57bb5491f002b Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 00:06:48 +0800 Subject: KDE ++ --- Necessitas_SDK/config/watermark.png | Bin 14462 -> 38119 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Necessitas_SDK/config/watermark.png b/Necessitas_SDK/config/watermark.png index b07780d..47bac13 100644 Binary files a/Necessitas_SDK/config/watermark.png and b/Necessitas_SDK/config/watermark.png differ -- cgit v1.2.3 From 361c9a19ae00020dfafe8a627f578e906dcade6c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 00:07:24 +0800 Subject: Fix package upgrade --- .../eu/licentia/necessitas/ministro/MinistroActivity.java | 15 ++++++++++++--- .../eu/licentia/necessitas/ministro/MinistroService.java | 2 +- MinistroConfigurationTool/AndroidManifest.xml | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 8a0cd81..7997b29 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -349,13 +349,22 @@ public class MinistroActivity extends Activity { DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = null; Element root = null; - + double oldVersion=MinistroService.instance().getVersion(); if (update[0] || MinistroService.instance().getVersion()<0) version = downloadVersionXmlFile(MinistroActivity.this, false); else version = MinistroService.instance().getVersion(); - ArrayList libraries = MinistroService.instance().getAvailableLibraries(); + ArrayList libraries; + if (update[0]) + { + if (oldVersion!=version) + libraries = MinistroService.instance().getDownloadedLibraries(); + else + return version; + } + else + libraries = MinistroService.instance().getAvailableLibraries(); ArrayList notFoundModules = new ArrayList(); if (m_modules!=null) { @@ -442,7 +451,7 @@ public class MinistroActivity extends Activity { if (update[0]) { // check for updates for (int j=0;j -- cgit v1.2.3 From ff4fe07872b20a3cd171acd863219c21ec6da776 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 00:07:53 +0800 Subject: Add license notification --- .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../meta/installscript.qs | 17 +++++++++++++++++ .../packages/org.kde.necessitas/meta/installscript.qs | 17 +++++++++++++++++ 23 files changed, 391 insertions(+) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index 650acff..ab64218 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index 6f6b3b8..0d431ea 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index 1576321..8e5dade 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index c18669a..8a41d31 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index 70bd7b6..cb72116 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index f00ac36..946bb85 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index f045b7a..fef5403 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index 384e2ef..62a11ee 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index eddb201..5adf5b9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs index d18847d..c026355 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs index ce98338..7882111 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index 2358177..c783295 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index be17359..d388524 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs index ca73ffd..671df42 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs index 0e24357..a2284e8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs index c5fe3b1..bfff83f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs index 1f1c724..762f58f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index c1b0941..c1e4619 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index de4ef17..a707032 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs index 0942876..a1c153b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs index 5afb9e8..8ba8b4d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index 5267f3c..df5bcf5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs index 14c5317..4545618 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs @@ -1,3 +1,20 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + // constructor function Component() { -- cgit v1.2.3 From 8083156b6662afe33429784d1766ca27d6b591a8 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 01:24:59 +0800 Subject: link android-12 to android-8 --- Necessitas_SDK/ministrorepogen/rules.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index 55bcc15..99c3b6c 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -8,6 +8,7 @@ + -- cgit v1.2.3 From c3d10459d0bc4832c78500d8481ad29c154e5fae Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 13:42:30 +0800 Subject: Fix MinistroConfigurationTool --- .../config/MinistroConfigurationToolActivity.java | 67 ++++++++++++++++++++++ .../MinistroConfigurationToolActivity.java | 66 --------------------- 2 files changed, 67 insertions(+), 66 deletions(-) create mode 100644 MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java delete mode 100644 MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java diff --git a/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java b/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java new file mode 100644 index 0000000..3989cc9 --- /dev/null +++ b/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java @@ -0,0 +1,67 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package eu.licentia.ministro.config; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.ComponentName; +import android.content.DialogInterface; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; + +public class MinistroConfigurationToolActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + try + { + Intent intent = new Intent(); + intent.setComponent(new ComponentName("eu.licentia.necessitas.ministro", "eu.licentia.necessitas.ministro.MinistroConfigActivity")); + startActivity(intent); + finish(); + } + catch (Exception e) { + AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); + downloadDialog.setMessage("This tool needs latest Ministro service. Would you like to install it?"); + downloadDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + try + { + Uri uri = Uri.parse("market://search?q=pname:eu.licentia.necessitas.ministro"); + Intent intent = new Intent(Intent.ACTION_VIEW, uri); + startActivity(intent); + finish(); + } + catch (Exception e) { + e.printStackTrace(); + finish(); + } + } + }); + + downloadDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + finish(); + } + }); + downloadDialog.show(); + } + super.onCreate(savedInstanceState); + } +} diff --git a/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java b/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java deleted file mode 100644 index c3896dd..0000000 --- a/MinistroConfigurationTool/src/eu/licentia/ministro/configurator/MinistroConfigurationToolActivity.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.ministro.configurator; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.ComponentName; -import android.content.DialogInterface; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; - -public class MinistroConfigurationToolActivity extends Activity { - /** Called when the activity is first created. */ - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - try - { - Intent intent = new Intent(); - intent.setComponent(new ComponentName("eu.licentia.necessitas.ministro", "eu.licentia.necessitas.ministro.MinistroConfigActivity")); - startActivity(intent); - finish(); - } - catch (Exception e) { - AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); - downloadDialog.setMessage("This tool needs latest Ministro service. Would you like to install it?"); - downloadDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - try - { - Uri uri = Uri.parse("market://search?q=pname:eu.licentia.necessitas.ministro"); - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - startActivity(intent); - finish(); - } - catch (Exception e) { - e.printStackTrace(); - finish(); - } - } - }); - - downloadDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - finish(); - } - }); - downloadDialog.show(); } - } -} -- cgit v1.2.3 From 47c0e43608f9b81909c2698a6f68e8e52d002a48 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 20 May 2011 21:23:27 +0800 Subject: Bump version. --- Ministro/AndroidManifest.xml | 3 +-- Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java | 2 +- MinistroConfigurationTool/AndroidManifest.xml | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index f06bf99..90b6054 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,8 +1,7 @@ + android:versionCode="2" android:versionName="2.0"> + -- cgit v1.2.3 From 4be3980fc36af1fa28b28dab314b991b51510f4c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 20 May 2011 20:01:40 +0100 Subject: Add needed dlls to Android qt-tools-windows.7z --- Necessitas_SDK/build_sdk.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e9df219..ea717dd 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -810,6 +810,10 @@ function compileNecessitasQt make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 + if [ "$OSTYPE" = "msys" ]; then + cp -a /usr/bin/libgcc_s_dw2-1.dll $2/$1/bin/ + cp -a /usr/bin/libstdc++-6.dll $2/$1/bin/ + fi $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data -- cgit v1.2.3 From 37078b425205feb793cd0c45c38292124d36c457 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 20 May 2011 20:03:20 +0100 Subject: Added getting 7za.exe for Windows, though this system tools setup stuff should probably be moved out to a separate script. --- Necessitas_SDK/build_sdk.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ea717dd..f607d9e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -136,6 +136,12 @@ function prepareHostQt # download, compile & install qt, it is used to compile the installer if [ "$OSTYPE" = "msys" ] then + downloadIfNotExists 7za920.zip http://downloads.sourceforge.net/sevenzip/7za920.zip + SEVEN7LOC=$PWD + pushd /usr/local/bin + unzip -o $SEVEN7LOC/7za920.zip + popd + # Get a more recent sed, one that can do -i. downloadIfNotExists sed-4.2.1-2-msys-1.0.13-bin.tar.lzma http://downloads.sourceforge.net/project/mingw/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma rm -rf sed-4.2.1-2-msys-1.0.13-bin.tar @@ -440,7 +446,7 @@ function perpareNDKs function prepareGDB { -#This function depends by perpareNDKs + #This function depends on perpareNDKs if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdb-7.2-${HOST_TAG}.7z ] then return -- cgit v1.2.3 From f1143cdec329e5bc974147e5ddde77fc9bec74f7 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 21 May 2011 12:10:28 +0800 Subject: Don't pack tests --- Necessitas_SDK/build_sdk.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f607d9e..53b8634 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -328,7 +328,7 @@ function makeInstallMinGWBits pushd libtool-2.4 ./configure -prefix=/usr/local make - make install + make install popd downloadIfNotExists libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz @@ -777,6 +777,7 @@ function packSource if [ $1 = "qt-src" ] then mv $1/src/3rdparty/webkit . + mv $1/tests . fi mv $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION/ pushd $TEMP_PATH/source_temp_path @@ -789,6 +790,7 @@ function packSource if [ $1 = "qt-src" ] then mv webkit $1/src/3rdparty/ + mv tests $1/ fi rm -fr $TEMP_PATH/source_temp_path } -- cgit v1.2.3 From 1d08bba91aac9816c057a9945435436d4411637c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 21 May 2011 12:11:21 +0800 Subject: QtContacts depends on QtVersit --- Necessitas_SDK/ministrorepogen/rules.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index 99c3b6c..0531d7e 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -97,6 +97,7 @@ + -- cgit v1.2.3 From f7d5e6b78c69a5dbbd59553d299844148e9cd9a1 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 21 May 2011 11:56:22 +0100 Subject: Fix static qt to use static gcc libs (change also requires my Qt 4.7.2 repo), add and)add android-sdk-windows-tools-mingw-android.7zfix binarycreator, needed EXE_EXT adding --- Necessitas_SDK/build_sdk.sh | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 53b8634..1ad5952 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -189,6 +189,10 @@ function prepareHostQt rm -fr * ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile static $HOST_QT_VERSION" "all done" + if [ "$OSTYPE" = "msys" ]; then + # Horrible; need to fix this properly. + doSed $"s/qt warn_on release /qt static warn_on release /" mkspecs/win32-g++/qmake.conf + fi fi popd @@ -362,17 +366,6 @@ function makeInstallMinGWBits make && make DESTDIR=$install_dir install popd - rm -rf android-various - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various - mkdir -p android-various/make-3.82-build - pushd android-various/make-3.82-build - ../make-3.82/build-mingw.sh - cp make.exe $REPO_SRC_PATH/ - popd - pushd android-various/android-sdk - gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe - cp android.exe $REPO_SRC_PATH/ - popd popd } @@ -702,6 +695,27 @@ function perpareSDKs rm -fr android-sdk-windows fi + if [ "$OSTYPE" = "msys" ] + then + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z ] + then + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various + mkdir -p android-various/make-3.82-build + pushd android-various/make-3.82-build + ../make-3.82/build-mingw.sh + popd + pushd android-various/android-sdk + gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O2 -o android.exe + popd + mkdir -p android-sdk-windows/tools/ + cp android-various/make-3.82-build/make.exe android-sdk-windows/tools/ + cp android-various/android-sdk/android.exe android-sdk-windows/tools/ + $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk-windows-tools-mingw-android.7z + mv android-sdk-windows-tools-mingw-android.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z + rm -rf android-various + fi + fi + # repack platform-tools repackSDK platform-tools_r03-linux platform-tools_r03-linux android-sdk-linux_x86 platform-tools repackSDK platform-tools_r03-macosx platform-tools_r03-macosx android-sdk-mac_x86 platform-tools @@ -1067,7 +1081,8 @@ function revertPatchPackages function prepareSDKBinary { - $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer org.kde.necessitas + echo $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$EXE_EXT org.kde.necessitas + $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$EXE_EXT org.kde.necessitas } function prepareSDKRepository -- cgit v1.2.3 From c794a987cd3931eff48df6f94d7bcc30e3448704 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 21 May 2011 12:03:43 +0100 Subject: Add android-sdk-windows-tools-mingw-android to org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs --- .../org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs index 8ba8b4d..9f1fd34 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -27,6 +27,7 @@ function Component() else if (installer.value("os") == "win") { component.addDownloadableArchive( "platform-tools_r03-windows.7z" ); + component.addDownloadableArchive( "android-sdk-windows-tools-mingw-android.7z" ); } else if (installer.value("os") == "mac") { -- cgit v1.2.3 From a70bca190f0f20894fb8e4839828bcb2889b4d7f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 21 May 2011 12:10:52 +0100 Subject: Add g++-multilib to setup_ubuntu_for_necessitas_build.sh --- Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh index 6ce42bf..82a234f 100755 --- a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh @@ -12,6 +12,8 @@ sudo apt-get -q -y install ia32-libs sudo apt-get -q -y install gcc-multilib +sudo apt-get -q -y install g++-multilib + sudo apt-get -q -y install aptitude sudo apt-get -q -y install p7zip-full @@ -37,8 +39,8 @@ sudo apt-get -q -y install python2.7-dev xorg-dev # Libraries needed for compiling 32bit gcc. sudo apt-get -q -y install lib32gmp3-dev lib32mpfr-dev lib32ncurses5-dev -# There's no 32bit versoin of this? libmpc-dev +# There's no 32bit versoin of this? libmpc-dev # Libraries needed for compiling 64bit gcc. -# sudo apt-get install libgmp3-dev libmpfr-dev libncurses5-dev +# sudo apt-get install libgmp3-dev libmpfr-dev libncurses5-dev -- cgit v1.2.3 From 4844fee9b0a5721a881f77743e7e165e94e0f1d6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 21 May 2011 17:35:36 +0100 Subject: Pass -k 0 to androidconfigbuild.sh to prevent it trying to install to /data/data --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1ad5952..d20fb02 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -814,7 +814,7 @@ function compileNecessitasQt if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 1 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 0bbb3cfa8b60299e3c158aa9e9a1695ff322fe1b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 21 May 2011 17:55:26 +0100 Subject: Don't use /tmp on Mac OS X either. --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d20fb02..cb3a321 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -23,7 +23,7 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/tmp -if [ "$OSTYPE" = "msys" ]; then +if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then TEMP_PATH_PREFIX=/usr fi -- cgit v1.2.3 From 1bdda01368c935fe7b789a1e80dd6100e9f78a38 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 22 May 2011 09:33:05 +0100 Subject: Inhibit prepareNecessitasQtWebkit on everything but Linux --- Necessitas_SDK/build_sdk.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index cb3a321..1ff56e7 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1139,7 +1139,10 @@ prepareGDBServer perpareSDKs perpareNecessitasQtCreator perpareNecessitasQt -perpareNecessitasQtWebkit +# TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly uesd and fails) +if [ "$OSTYPE" = "linux-gnu" ] ; then + perpareNecessitasQtWebkit +fi perpareNecessitasQtMobility patchPackages prepareSDKBinary -- cgit v1.2.3 From bf7c856fc3a64717a8481de8e0b03b7cabf924b5 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 22 May 2011 11:38:21 +0100 Subject: Mac OS X fixes, chmod /www --- Necessitas_SDK/build_sdk.sh | 82 +++++++++++++++++++++++++++++++-------------- 1 file changed, 56 insertions(+), 26 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1ff56e7..460af31 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -32,8 +32,14 @@ if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH sudo chmod 777 $TEMP_PATH + sudo mkdir -p $TEMP_PATH_PREFIX/www + sudo chmod 777 $TEMP_PATH_PREFIX/www + STRIP="strip -S" + CPRL="cp -RL" else mkdir -p $TEMP_PATH + STRIP="strip -s" + CPRL="cp -rL" fi pushd $TEMP_PATH @@ -232,7 +238,7 @@ function perpareSdkInstallerTools fi popd pushd $SDK_TOOLS_PATH - strip -s * + $STRIP * popd } @@ -461,14 +467,16 @@ function prepareGDB popd fi + OLDCC=$CC + OLDCXX=$CXX if [ ! -d Python-$pyfullversion ] then - if [ $OSTYPE = "linux-gnu" ]; then + if [ "$OSTYPE" = "linux-gnu" ]; then downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" tar xjvf Python-$pyfullversion.tar.bz2 USINGMAPYTHON=0 else - if [ $OSTYPE = "msys" ]; then + if [ "$OSTYPE" = "msys" ]; then makeInstallMinGWBits $install_dir fi rm -rf Python-$pyfullversion @@ -478,22 +486,31 @@ function prepareGDB pushd Python-$pyfullversion unset PYTHONHOME - OLDCC=$CC - OLDCXX=$CXX OLDPATH=$PATH if [ "$OSTYPE" = "linux-gnu" ] ; then HOST=i386-linux-gnu - export CC="gcc -m32" - export CXX="g++ -m32" + CC32="gcc -m32" + CXX32="g++ -m32" PYCFGDIR=$install_dir/lib/python$pyversion/config else - HOST_EXE=.exe - HOST=i686-pc-mingw32 - export CC=gcc.exe - export CXX=g++.exe - PYCFGDIR=$install_dir/$PREFIX/bin/Lib/config - export PATH=.:$PATH + if [ "$OSTYPE" = "msys" ] ; then + HOST_EXE=.exe + HOST=i686-pc-mingw32 + export CC=gcc.exe + export CXX=g++.exe + PYCFGDIR=$install_dir/$PREFIX/bin/Lib/config + export PATH=.:$PATH + CC32="gcc" + CXX32="g++" + else + # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" + # --with-suffix can be used to get around this. + SUFFIX=Mac + export PATH=.:$PATH + CC32="gcc -m32" + CXX32="g++ -m32" + fi fi if [ "$USINGMAPYTHON" = "1" ] ; then @@ -502,7 +519,7 @@ function prepareGDB touch Include/Python-ast.c fi - ./configure --host=$HOST --prefix=$install_dir && make -j$JOBS && make install || error_msg "Can't compile python library" + CC=$CC32 CXX=$CXX32 ./configure --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX && make -j$JOBS && make install || error_msg "Can't compile python library" if [ "$OSTYPE" = "msys" ] ; then cd pywin32-216 ../python$EXE_EXT setup.py build @@ -529,17 +546,27 @@ function prepareGDB cp libpython$pyversion.dll $target_dir/ fi + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/2to3 + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/idle + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/pydoc + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/python-config + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/python2.7-config + doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py + fi + cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ mkdir -p $target_dir/python/include/python$pyversion cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ - cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/ + # Remove the $SUFFIX if present (OS X) + mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT + mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT + cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/python$pyversion$EXE_EXT if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi - strip -s $target_dir/python$pyversion$EXE_EXT + $STRIP $target_dir/python$pyversion$EXE_EXT popd - export CC=$OLDCC - export CXX=$OLDCXX export PATH=$OLDPATH fi @@ -555,20 +582,23 @@ function prepareGDB export PYTHONHOME=$install_dir OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=no --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + CC=$CC32 CXX=$CXX32 ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb 7.2" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ # Fix building gdb-tui, it used to work and was handy to have. # cp -a gdb/gdb-tui$EXE_EXT $target_dir/ - strip -s $target_dir/gdb$EXE_EXT + $STRIP $target_dir/gdb$EXE_EXT export PATH=$OLDPATH popd fi + CC=$OLDCC + CXX=$OLDCXX + pushd $target_dir - find -name *.py[co] | xargs rm -f - find -name test | xargs rm -fr - find -name tests | xargs rm -fr + find . -name *.py[co] | xargs rm -f + find . -name test | xargs rm -fr + find . -name tests | xargs rm -fr popd $SDK_TOOLS_PATH/archivegen gdb-7.2 gdb-7.2-${HOST_TAG}.7z @@ -599,7 +629,7 @@ function prepareGDBServer pushd gdb-src/build-gdbserver mkdir android-sysroot - cp -rL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" + $CPRL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h @@ -1106,7 +1136,7 @@ function prepareMinistroRepository mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$architecture rm -fr Android - for lib in `find -name *.so` + for lib in `find . -name *.so` do libDirname=`dirname $lib` mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$libDirname @@ -1114,7 +1144,7 @@ function prepareMinistroRepository $ANDROID_STRIP_BINARY --strip-unneeded $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$lib done - for qmldirfile in `find -name qmldir` + for qmldirfile in `find . -name qmldir` do qmldirfileDirname=`dirname $qmldirfile` cp $qmldirfile $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$qmldirfileDirname/ -- cgit v1.2.3 From 1eda0e64184b52afe1b94a8011ab89fca20a3e1a Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 22 May 2011 16:55:53 +0100 Subject: Probably irrelevent fix for necessitas.bat/necessitas --- Necessitas_SDK/build_sdk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1ff56e7..40349be 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -56,6 +56,7 @@ if [ "$OSTYPE" = "msys" ] ; then HOST_TAG=windows-x86 HOST_TAG_NDK=windows EXE_EXT=.exe + SCRIPT_EXT=.bat JOBS=9 else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then @@ -273,7 +274,7 @@ function perpareNecessitasQtCreator find . $QT_LIB_DEST -name *.la | xargs rm -fr find . $QT_LIB_DEST -name *.prl | xargs rm -fr cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports - cp -a bin/necessitas$EXE_EXT $PWD/QtCreator/bin/ + cp -a bin/necessitas$SCRIPT_EXT $PWD/QtCreator/bin/ mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z -- cgit v1.2.3 From 74047a19266a5ae250a24545efd089d98efc8c8f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 23 May 2011 09:06:23 +0100 Subject: Partial fix for Python build breakage on Windows --- Necessitas_SDK/build_sdk.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index cf1d1eb..ff984ae 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -496,6 +496,7 @@ function prepareGDB PYCFGDIR=$install_dir/lib/python$pyversion/config else if [ "$OSTYPE" = "msys" ] ; then + SUFFIX=.exe HOST_EXE=.exe HOST=i686-pc-mingw32 export CC=gcc.exe -- cgit v1.2.3 From 36bd4c8d78aa21b9d2bce92887741f83643d2e06 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 23 May 2011 22:15:37 +0100 Subject: Fix gdb/python path issues, fix so that ncurses_panel builds --- Necessitas_SDK/build_sdk.sh | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ff984ae..28326de 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -312,6 +312,7 @@ function perpareNecessitasQtCreator function makeInstallMinGWBits { + install_dir=$1 mkdir mingw-bits pushd mingw-bits # Tools. Maybe move these bits to setup_mingw_for_necessitas_build.sh? @@ -342,14 +343,6 @@ function makeInstallMinGWBits make install popd - downloadIfNotExists libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz - rm -rf libiconv-1.13 - tar -xvzf libiconv-1.13.tar.gz - pushd libiconv-1.13 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix= CFLAGS=-O2 - make && make DESTDIR=$install_dir install - popd - downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz rm -rf PDCurses-3.4 tar -xvzf PDCurses-3.4.tar.gz @@ -361,15 +354,24 @@ function makeInstallMinGWBits cp pdcurses.a $install_dir/lib/libcurses.a cp pdcurses.a $install_dir/lib/libncurses.a cp pdcurses.a $install_dir/lib/libpdcurses.a + cp panel.a $install_dir/lib/libpanel.a cp ../curses.h $install_dir/include cp ../panel.h $install_dir/include popd + downloadIfNotExists libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz + rm -rf libiconv-1.13 + tar -xvzf libiconv-1.13.tar.gz + pushd libiconv-1.13 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 + make && make DESTDIR=$install_dir install + popd + downloadIfNotExists readline-6.2.tar.gz http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz rm -rf readline-6.2 tar -xvzf readline-6.2.tar.gz pushd readline-6.2 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix= CFLAGS=-O2 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 make && make DESTDIR=$install_dir install popd @@ -470,7 +472,7 @@ function prepareGDB OLDCC=$CC OLDCXX=$CXX - if [ ! -d Python-$pyfullversion ] + if [ ! -f Python-$pyfullversion/all_done ] then if [ "$OSTYPE" = "linux-gnu" ]; then downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" @@ -499,12 +501,10 @@ function prepareGDB SUFFIX=.exe HOST_EXE=.exe HOST=i686-pc-mingw32 - export CC=gcc.exe - export CXX=g++.exe - PYCFGDIR=$install_dir/$PREFIX/bin/Lib/config + PYCFGDIR=$install_dir/bin/Lib/config export PATH=.:$PATH - CC32="gcc" - CXX32="g++" + CC32=gcc.exe + CXX32=g++.exe else # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" # --with-suffix can be used to get around this. @@ -521,9 +521,13 @@ function prepareGDB touch Include/Python-ast.c fi - CC=$CC32 CXX=$CXX32 ./configure --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX && make -j$JOBS && make install || error_msg "Can't compile python library" + CC=$CC32 CXX=$CXX32 ./configure --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" + doMake "Can't compile Python" "all done" + make install || error_msg "Can't install Python" + if [ "$OSTYPE" = "msys" ] ; then cd pywin32-216 + # TODO :: Fix this, builds ok but then tries to copy pywintypes27.lib instead of libpywintypes27.a and pywintypes27.dll. ../python$EXE_EXT setup.py build cd .. fi @@ -559,15 +563,16 @@ function prepareGDB cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ mkdir -p $target_dir/python/include/python$pyversion + mkdir -p $target_dir/python/bin cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ # Remove the $SUFFIX if present (OS X) mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT - cp -a $install_dir/bin/python$pyversion$EXE_EXT $target_dir/python$pyversion$EXE_EXT + cp -a $install_dir/bin/python* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi - $STRIP $target_dir/python$pyversion$EXE_EXT + $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT popd export PATH=$OLDPATH fi -- cgit v1.2.3 From c119e065ff3acfab11e101f36a7ddc2aa7a6de0f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 May 2011 01:17:20 +0100 Subject: Changing Qt Creator.app to NecessitasQtCreator.app --- .../packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index df5bcf5..4929463 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -156,7 +156,7 @@ Component.prototype.installationFinished = function() } else if (installer.value("os") == "mac") { - installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/Qt Creator.app/Contents/MacOS/Qt Creator\""); + installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/NecessitasQtCreator.app/Contents/MacOS/NecessitasQtCreator\""); installer.setValue("RunProgramDescription", "Launch Qt Creator"); } } -- cgit v1.2.3 From 507aeaeca441f62c2cec69fa7a3e0ae748a79c41 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 May 2011 02:09:37 +0100 Subject: Some unfinished work to make Mac OS X libraries app local (i.e. live in the app bundle) and fudge the dependency info. --- Necessitas_SDK/build_sdk.sh | 58 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 28326de..d59971e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -271,16 +271,56 @@ function perpareNecessitasQtCreator cp -a /usr/bin/libgcc_s_dw2-1.dll $PWD/QtCreator/bin/ cp -a /usr/bin/libstdc++-6.dll $PWD/QtCreator/bin/ QT_LIB_DEST=$PWD/QtCreator/bin/ + cp -a bin/necessitas.bat $PWD/QtCreator/bin/ else - mkdir -p $PWD/QtCreator/Qt/lib - QT_LIB_DEST=$PWD/QtCreator/Qt/lib/ - fi - cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST - rm -fr $QT_LIB_DEST/pkgconfig - find . $QT_LIB_DEST -name *.la | xargs rm -fr - find . $QT_LIB_DEST -name *.prl | xargs rm -fr - cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports - cp -a bin/necessitas$SCRIPT_EXT $PWD/QtCreator/bin/ + if [ "$OSTYPE" = "linux-gnu" ]; then + mkdir -p $PWD/QtCreator/Qt/lib + QT_LIB_DEST=$PWD/QtCreator/Qt/lib/ + cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST + rm -fr $QT_LIB_DEST/pkgconfig + find . $QT_LIB_DEST -name *.la | xargs rm -fr + find . $QT_LIB_DEST -name *.prl | xargs rm -fr + cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports + cp -a bin/necessitas $PWD/QtCreator/bin/ + else + # Mac OS X. The libraries need to be placed inside the app bundle to make it relocatable. + # See: http://doc.trolltech.com/4.7/deployment-mac.html + # This isn't good enough. Recursive dependencies are being handled ad-hoc, + # Plugin dependencies aren't being handled at all... Really, need to have a recursive library + # call to do all of this. + mkdir bin/NecessitasQtCreator.app/Contents/Frameworks + rm -rf bin/NecessitasQtCreator.app/Contents/Frameworks/* + cp -R $SHARED_QT_PATH/lib/QtCore.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ + cp -R $SHARED_QT_PATH/lib/QtGui.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ + cp -R $SHARED_QT_PATH/lib/QtNetwork.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ + rm -rf $PWD/QtCreator/bin/NecessitasQtCreator.app + cp -Rf bin/NecessitasQtCreator.app $PWD/QtCreator/bin/ + FINALAPP=$PWD/QtCreator/bin/NecessitasQtCreator.app + install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + $FINALAPP/Contents/Frameworks/QtCore.framework/Versions/4/QtCore + install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ + $FINALAPP/Contents/Frameworks/QtGui.framework/Versions/4/QtGui + install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork \ + $FINALAPP/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork + install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ + @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + $FINALAPP/Contents/MacOS/NecessitasQtCreator + install_name_tool -change $SHARED_QT_PATH/lib/QtGui.framework/Versions/4/QtGui \ + @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ + $FINALAPP/Contents/MacOS/NecessitasQtCreator + install_name_tool -change $SHARED_QT_PATH/lib/QtNetwork.framework/Versions/4/QtNetwork \ + @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork \ + $FINALAPP/Contents/MacOS/NecessitasQtCreator + # QtGui depends on QtCore, there are likely dependencies for QtNetwork that I've not copied or rebased. + install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ + @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + $FINALAPP/Contents/Frameworks/QtGui.framework/Versions/4/QtGui + # QtNetwork depends on QtCore. + install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ + @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + $FINALAPP/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork + fi + fi mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z -- cgit v1.2.3 From 8460a8fc6195edbb4163a246c32632984dbf118f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 23 May 2011 15:26:44 +0800 Subject: Final touch --- Necessitas_SDK/build_sdk.sh | 26 +++++++++++++--------- .../meta/installscript.qs | 2 +- .../meta/installscript.qs | 2 +- .../meta/installscript.qs | 2 +- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d59971e..5da6f08 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -49,7 +49,7 @@ NECESSITAS_QT_VERSION_LONG="4.7.62" MINISTRO_VERSION="0.2" MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk -HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.2 +HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -59,7 +59,7 @@ QPATCH_PATH="" if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports " - HOST_TAG=windows-x86 + HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe SCRIPT_EXT=.bat @@ -265,6 +265,7 @@ function perpareNecessitasQtCreator export INSTALL_ROOT=$PWD/QtCreator make install mkdir -p $PWD/QtCreator/Qt/imports + mkdir -p $PWD/QtCreator/Qt/plugins if [ "$OSTYPE" = "msys" ]; then mkdir -p $PWD/QtCreator/bin cp -rf lib/qtcreator/* $PWD/QtCreator/bin/ @@ -281,6 +282,7 @@ function perpareNecessitasQtCreator find . $QT_LIB_DEST -name *.la | xargs rm -fr find . $QT_LIB_DEST -name *.prl | xargs rm -fr cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports + cp -a $SHARED_QT_PATH/plugins/* ${QT_LIB_DEST}../plugins cp -a bin/necessitas $PWD/QtCreator/bin/ else # Mac OS X. The libraries need to be placed inside the app bundle to make it relocatable. @@ -323,6 +325,9 @@ function perpareNecessitasQtCreator fi mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ + pushd QtCreator + find -name *.so |xargs strip -s + popd $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data mv qtcreator-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z @@ -567,7 +572,7 @@ function prepareGDB if [ "$OSTYPE" = "msys" ] ; then cd pywin32-216 - # TODO :: Fix this, builds ok but then tries to copy pywintypes27.lib instead of libpywintypes27.a and pywintypes27.dll. + # TODO :: Fix this, builds ok but then tries to copy pywintypes27.lib instead of libpywintypes27.a and pywintypes27.dll. ../python$EXE_EXT setup.py build cd .. fi @@ -603,7 +608,7 @@ function prepareGDB cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ mkdir -p $target_dir/python/include/python$pyversion - mkdir -p $target_dir/python/bin + mkdir -p $target_dir/python/bin cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ # Remove the $SUFFIX if present (OS X) mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT @@ -909,7 +914,7 @@ function compileNecessitasQt make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 - if [ "$OSTYPE" = "msys" ]; then + if [ "$OSTYPE" = "msys" ]; then cp -a /usr/bin/libgcc_s_dw2-1.dll $2/$1/bin/ cp -a /usr/bin/libstdc++-6.dll $2/$1/bin/ fi @@ -918,8 +923,8 @@ function compileNecessitasQt mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 - $SDK_TOOLS_PATH/archivegen Android qt-farmework.7z - mv qt-farmework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-farmework.7z + $SDK_TOOLS_PATH/archivegen Android qt-framework.7z + mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z patchQtFiles } @@ -1031,8 +1036,7 @@ function compileNecessitasQtWebkit { export ANDROID_TARGET_ARCH=$1 export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite -# if [ ! -f all_done ] - if [ "1" = "1" ] + if [ ! -f all_done ] then if [ "$OSTYPE" = "msys" ] ; then if [ ! -f `which gprof` ] ; then @@ -1056,7 +1060,7 @@ function compileNecessitasQtWebkit fi fi export WEBKITOUTPUTDIR=$PWD - echo "doing perl" + echo "doing perl" ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi @@ -1216,7 +1220,7 @@ prepareGDBServer perpareSDKs perpareNecessitasQtCreator perpareNecessitasQt -# TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly uesd and fails) +# TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) if [ "$OSTYPE" = "linux-gnu" ] ; then perpareNecessitasQtWebkit fi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index ab64218..adae1f4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -20,7 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qt-farmework.7z" ); + component.addDownloadableArchive( "qt-framework.7z" ); if (installer.value("os") == "x11") { component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index 0d431ea..a031157 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -20,7 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qt-farmework.7z" ); + component.addDownloadableArchive( "qt-framework.7z" ); if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index 4929463..2ed3bc4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -145,7 +145,7 @@ Component.prototype.installationFinished = function() { if (installer.value("os") == "win") { - installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\necessitas.bat"); + installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\qtcreator.exe"); print("installer.value(RunProgram)" + installer.value("RunProgram")); installer.setValue("RunProgramDescription", "Launch Qt Creator"); } -- cgit v1.2.3 From 868267e6ea647cb19dd0aeae3811f730c3e6018b Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 24 May 2011 15:00:30 +0800 Subject: Dirty hack for shitty filesystem (NTFS) --- Necessitas_SDK/build_sdk.sh | 3 ++- .../org.kde.necessitas.android.qt.armeabi/meta/installscript.qs | 4 +++- .../meta/installscript.qs | 5 +++-- .../meta/installscript.qs | 9 ++++++++- .../meta/installscript.qs | 9 ++++++++- .../meta/installscript.qs | 9 ++++++++- .../meta/installscript.qs | 9 ++++++++- .../org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs | 2 +- 8 files changed, 41 insertions(+), 9 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 5da6f08..6a1bab1 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -56,6 +56,7 @@ SDK_TOOLS_PATH="" ANDROID_STRIP_BINARY="" ANDROID_READELF_BINARY="" QPATCH_PATH="" +EXE_EXT="" if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports " @@ -613,7 +614,7 @@ function prepareGDB # Remove the $SUFFIX if present (OS X) mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT - cp -a $install_dir/bin/python* $target_dir/python/bin/ + cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index adae1f4..ba4d66c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -20,17 +20,19 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qt-framework.7z" ); if (installer.value("os") == "x11") { + component.addDownloadableArchive( "qt-framework.7z" ); component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); } else if (installer.value("os") == "win") { + component.addDownloadableArchive( "qt-framework-windows.7z" ); component.addDownloadableArchive( "qt-tools-windows.7z" ); } else if (installer.value("os") == "mac") { + component.addDownloadableArchive( "qt-framework.7z" ); component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index a031157..413526e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -20,18 +20,19 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qt-framework.7z" ); - if (installer.value("os") == "x11") { + component.addDownloadableArchive( "qt-framework.7z" ); component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); } else if (installer.value("os") == "win") { + component.addDownloadableArchive( "qt-framework-windows.7z" ); component.addDownloadableArchive( "qt-tools-windows.7z" ); } else if (installer.value("os") == "mac") { + component.addDownloadableArchive( "qt-framework.7z" ); component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 8a41d31..2f78bd6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtmobility.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtmobility-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtmobility.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index cb72116..c91301b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtmobility.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtmobility-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtmobility.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index fef5403..f42c430 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtwebkit.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtwebkit-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtwebkit.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index 62a11ee..f646f58 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtwebkit.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtwebkit-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtwebkit.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs index c026355..564aafe 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs @@ -43,7 +43,7 @@ Component.prototype.createOperations = function() var gdbPath = "@TargetDir@/gdb-7.2/gdb"; var gdbserverPath = "@TargetDir@/gdbserver-7.2/gdbserver"; - var pythonPath="@TargetDir@/gdb-7.2/python2.7" + var pythonPath="@TargetDir@/gdb-7.2/python/bin/python2.7" if (installer.value("os") == "win") { gdbPath+=".exe"; -- cgit v1.2.3 From 2263d4ff10629f3612e37bf359018b487e68dcba Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 24 May 2011 19:08:40 +0800 Subject: Bump QtCreator version --- .../packages/org.kde.necessitas.tools.qtcreator/meta/package.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml index 58540f1..0725666 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -2,8 +2,8 @@ Necessitas Qt Creator Application The IDE for Qt development on Android devices. - 2.1.81 - 2011-04-09 + 2.2.0 + 2011-05-24 org.kde.necessitas.tools.qtcreator true -- cgit v1.2.3 From 8136530c2268d3b0b7901d689928e3dfa182911d Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 24 May 2011 19:43:35 +0800 Subject: Dirty hack for shitty filesystem (NTFS) ep. 2 Fix typo --- Necessitas_SDK/build_sdk.sh | 106 +++++++++++++++++---- .../meta/installscript.qs | 9 +- .../meta/installscript.qs | 9 +- .../meta/installscript.qs | 9 +- 4 files changed, 113 insertions(+), 20 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6a1bab1..8b52c87 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -222,7 +222,7 @@ function prepareHostQt } -function perpareSdkInstallerTools +function prepareSdkInstallerTools { # get installer source code if [ ! -d necessitas-installer-framework ] @@ -234,7 +234,6 @@ function perpareSdkInstallerTools if [ ! -f all_done ] then - git checkout master $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" fi @@ -245,7 +244,7 @@ function perpareSdkInstallerTools } -function perpareNecessitasQtCreator +function prepareNecessitasQtCreator { if [ ! -d android-qt-creator ] then @@ -258,7 +257,6 @@ function perpareNecessitasQtCreator if [ ! -f all_done ] then - git checkout testing $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile android-qt-creator" "all done" fi @@ -424,7 +422,7 @@ function makeInstallMinGWBits popd } -function perpareNDKs +function prepareNDKs { # repack windows NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] @@ -494,7 +492,7 @@ function perpareNDKs function prepareGDB { - #This function depends on perpareNDKs + #This function depends on prepareNDKs if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdb-7.2-${HOST_TAG}.7z ] then return @@ -736,7 +734,7 @@ function repackSDK } -function perpareSDKs +function prepareSDKs { echo "prepare SDKs" if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] @@ -930,7 +928,7 @@ function compileNecessitasQt } -function perpareNecessitasQt +function prepareNecessitasQt { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION pushd Android/Qt/$NECESSITAS_QT_VERSION @@ -997,7 +995,7 @@ function compileNecessitasQtMobility } -function perpareNecessitasQtMobility +function prepareNecessitasQtMobility { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION pushd Android/Qt/$NECESSITAS_QT_VERSION @@ -1095,7 +1093,7 @@ function compileNecessitasQtWebkit popd } -function perpareNecessitasQtWebkit +function prepareNecessitasQtWebkit { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION pushd Android/Qt/$NECESSITAS_QT_VERSION @@ -1210,22 +1208,96 @@ function prepareMinistroRepository done } +function packforWindows +{ + rm -fr $TEMP_PATH/packforWindows + mkdir -p $TEMP_PATH/packforWindows + pushd $TEMP_PATH/packforWindows + 7z x $1/$2.7z + mv Android Android_old + $CPRL Android_old Android + rm -fr Android_old + find -name *.so.4* | xargs rm -fr + find -name *.so.1* | xargs rm -fr + $SDK_TOOLS_PATH/archivegen Android $1/$2-windows.7z + popd + rm -fr $TEMP_PATH/packforWindows +} + +function prepareWindowsPackages +{ + # Qt framework + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-framework-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/ qt-framework + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-framework-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/ qt-framework + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/ qt-src + fi + + + # Qt Mobility + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/ qtmobility + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/ qtmobility + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/ qtmobility-src + fi + + + # Qt WebKit + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/ qtwebkit + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/ qtwebkit + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src-windows.7z ] + then + packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/ qtwebkit-src + fi + +} # This is needed early. SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt -perpareSdkInstallerTools -perpareNDKs +prepareSdkInstallerTools +prepareNDKs prepareGDB prepareGDBServer -perpareSDKs -perpareNecessitasQtCreator -perpareNecessitasQt +prepareSDKs +prepareNecessitasQtCreator +prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) if [ "$OSTYPE" = "linux-gnu" ] ; then - perpareNecessitasQtWebkit + prepareNecessitasQtWebkit fi -perpareNecessitasQtMobility +prepareNecessitasQtMobility + +if [ "$OSTYPE" = "linux-gnu" ] ; then + prepareWindowsPackages +fi + patchPackages prepareSDKBinary prepareSDKRepository diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index 8e5dade..aa86ce5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qt-src.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qt-src-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qt-src.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 946bb85..2f40839 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtmobility-src.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtmobility-src-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtmobility-src.7z" ); + } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 5adf5b9..9b843fb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -20,7 +20,14 @@ function Component() { if( component.fromOnlineRepository ) { - component.addDownloadableArchive( "qtwebkit-src.7z" ); + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtwebkit-src-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtwebkit-src.7z" ); + } } } -- cgit v1.2.3 From f5a725ea326b59d31b5557ff6b293e432378e42f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 25 May 2011 15:34:33 +0800 Subject: Add sdk-updater-plugin to build_sdk.sh, update installer scripts. --- Necessitas_SDK/build_sdk.sh | 14 ++ Necessitas_SDK/config/config.xml | 2 +- .../meta/package.xml | 4 +- .../meta/package.xml | 4 +- .../meta/package.xml | 4 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 33 +++- .../org.kde.necessitas/meta/installscript.qs | 199 ++++----------------- .../packages/org.kde.necessitas/meta/package.xml | 2 +- 9 files changed, 94 insertions(+), 172 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 8b52c87..8315a63 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -263,6 +263,20 @@ function prepareNecessitasQtCreator rm -fr QtCreator export INSTALL_ROOT=$PWD/QtCreator make install + + #download and install sdk-updater-plugin + export QTC_SOURCE=$PWD + downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz + if [ ! -d research-sdk-updater-plugin-master-snapshot-20110524185306 ] + then + tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz + fi + pushd research-sdk-updater-plugin-master-snapshot-20110524185306 + $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure sdk-updater-plugin" + doMake "Can't compile sdk-updater-plugin" "all done" + make install + popd + mkdir -p $PWD/QtCreator/Qt/imports mkdir -p $PWD/QtCreator/Qt/plugins if [ "$OSTYPE" = "msys" ]; then diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index 7fcfbef..55ddec5 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -9,7 +9,7 @@ license.txt qticon watermark.png - SDKMaintainer + SDKMaintenanceTool http://files.kde.org/necessitas/sdk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index 8303a0f..4ca7708 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,7 +1,7 @@ - API 5 - Android SDK API 5 (2.0-r01) + API 5 (deprecated) + Android SDK API 5 (2.0-r01), Deprecated ! 2.0.1 2011-04-09 org.kde.necessitas.misc.sdk.android_5 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 8d2ad16..3305b61 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,7 +1,7 @@ - API 6 - Android SDK API 6 (2.0.1-r01) + API 6 (deprecated) + Android SDK API 6 (2.0.1-r01) Deprecated ! 2.0.1.1 2011-04-09 org.kde.necessitas.misc.sdk.android_6 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index 58ad152..0b868bf 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,7 +1,7 @@ - API 7 - Android SDK API 7 (2.1-r02) + API 7 (deprecated) + Android SDK API 7 (2.1-r02) Deprecated ! 2.1.2 2011-04-09 org.kde.necessitas.misc.sdk.android_7 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index b8585a5..d87e1b7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,7 +1,7 @@ - API 9 - Android SDK API 9 (2.3.1-r02) + API 9 (depercated) + Android SDK API 9 (2.3.1-r02) Depercated ! 2.3.1.2 2011-04-09 org.kde.necessitas.misc.sdk.android_9 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index 2ed3bc4..bbd3a4c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -135,7 +135,6 @@ Component.prototype.createOperations = function() "Qt Project Include file", "", "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); - } } @@ -143,6 +142,38 @@ Component.prototype.installationFinished = function() { if (installer.isInstaller() && component.selected) { + + if (installer.value("os") == "win") { + var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + win_application ); + } else if (installer.value("os") == "x11") { + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + "@TargetDir@/SDKMaintenanceTool" ); + } else if (installer.value("os") == "mac") { + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); + } + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "CheckOnlyArgument", + "--checkupdates" ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "RunUiArgument", + "--updater" ); + if (installer.value("os") == "win") { installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\qtcreator.exe"); diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs index 4545618..52a51ca 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs @@ -25,30 +25,29 @@ function Component() installer.currentPageChanged.connect( this, updateComponentSelectionPageNeedState ); } - if (installer.value("os") == "x11") { + if (installer.value("os") == "x11" || installer.value("os") == "mac") + { compiler = installer.execute( "/usr/bin/which", new Array( "g++" ) )[0]; if (!compiler) { QMessageBox["warning"]( "compilerError", "No compiler!", "You need a C++ compiler. Please install it using the System Package Management tools." ); } - } - - if (installer.value("os") == "mac") { - compiler = installer.execute( "/usr/bin/which", new Array( "g++" ) )[0]; + compiler = installer.execute( "/usr/bin/which", new Array( "make" ) )[0]; if (!compiler) { - QMessageBox["warning"]( "compilerError", "No compiler!", "You need a C++ compiler to be able install the Qt SDK. Please install the latest Xcode first before invoking this installer!" ); + QMessageBox["warning"]( "Error", "No *make* tool!", "You need *make* tool. Please install it using the System Package Management tools." ); + } + compiler = installer.execute( "/usr/bin/which", new Array( "ant" ) )[0]; + if (!compiler) { + QMessageBox["warning"]( "Error", "No *ant* tool!", "You need *ant* tool. Please install it using the System Package Management tools." ); + } + compiler = installer.execute( "/usr/bin/which", new Array( "java" ) )[0]; + if (!compiler) { + QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools." ); + } + compiler = installer.execute( "/usr/bin/which", new Array( "javac" ) )[0]; + if (!compiler) { + QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools." ); } } - - if (installer.value("os") == "win") { - refreshInstalledWindowsCompilerValues(); - } - - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "readme.7z" ); - } - installer.installationFinished.connect( this, Component.prototype.installationFinishedPageIsShown ); - installer.finishButtonClicked.connect( this, Component.prototype.installationFinished ); } // called as soon as the component was loaded @@ -73,52 +72,6 @@ Component.prototype.loaded = function() installer.setValue("GlobalExamplesDir", "Examples"); installer.setValue("GlobalDemosDir", "Demos"); installer.setValue("QtVersionLabel", "Qt SDK"); - - } - catch( e ) - { - print( e ); - } -} - -refreshMinGWInstallerValue = function() -{ - if( typeof installer.componentByName("com.nokia.ndk.misc.mingw") == 'undefined' ) { - print("Warning: no MinGW package is available"); - installer.setSharedFlag("compilerMinGW", false); - } else { - installer.setSharedFlag("compilerMinGW", installer.componentByName("com.nokia.ndk.misc.mingw").selected); - } -} - -refreshInstalledWindowsCompilerValues = function() -{ - try - { - //Visual Studio 2008 check - if(installer.environmentVariable("VS90COMNTOOLS")) { - //print("Visual Studio 2008 environment is found") - installer.setSharedFlag("compilerVS90", true); - } else { - installer.setSharedFlag("compilerVS90", false); - } - - //Visual Studio 2005 check - if(installer.environmentVariable("VS80COMNTOOLS")) { - //print("Visual Studio 2005 environment is found") - installer.setSharedFlag("compilerVS80", true); - } else { - installer.setSharedFlag("compilerVS80", false); - } - - //MinGW check - refreshMinGWInstallerValue(); - if (typeof installer.componentByName("com.nokia.ndk.misc.mingw") != 'undefined') - { - installer.componentByName("com.nokia.ndk.misc.mingw").selectedChanged.connect( this, refreshMinGWInstallerValue ); - } - - installer.setSharedFlag("compilersInitialized", true); } catch( e ) { @@ -146,118 +99,42 @@ changeInstallationKind = function() adjustToDefaultSelection = function() { - //unselect all experimental things - if (installer.componentByName("com.nokia.ndk.experimental") != null - && installer.componentByName("com.nokia.ndk.experimental").selected) - { - installer.componentByName("com.nokia.ndk.experimental").selected = false; - } - //remove sources - if (installer.componentByName("com.nokia.ndk.misc.qtsources") != null && - installer.componentByName("com.nokia.ndk.misc.qtsources").selected) - { - installer.componentByName("com.nokia.ndk.misc.qtsources").selected = false; - } - // deselect Desktop Qt 4.7.1 by default - if (installer.componentByName("com.nokia.ndk.tools.desktop.471") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.471").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.471").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.471.2005") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.471.2005").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.471.2005").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.471.2008") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.471.2008").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.471.2008").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.471.gcc").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.471.mingw").selected = false; - } - // deselect Desktop Qt 4.7.2 by default - if (installer.componentByName("com.nokia.ndk.tools.desktop.472") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.472").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.472").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.472.2005") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.472.2005").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.472.2005").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.472.2008") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.472.2008").selected) - { - installer.componentByName("com.nokia.ndk.tools.desktop.472.2008").selected = false; - } - if (installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc").selected) + if (installer.componentByName("org.kde.necessitas.android.qt.src") != null + && installer.componentByName("org.kde.necessitas.android.qt.src").selected) { - installer.componentByName("com.nokia.ndk.tools.desktop.472.gcc").selected = false; + installer.componentByName("org.kde.necessitas.android.qt.src").selected = false; } - if (installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw") != null && - installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw").selected) + if (installer.componentByName("org.kde.necessitas.android.qtmobility.src") != null && + installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected) { - installer.componentByName("com.nokia.ndk.tools.desktop.472.mingw").selected = false; + installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected = false; } -} - - -Component.prototype.createOperations = function() -{ - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); - if (component.userInterface( "CreatorSettingsWidget" ).removeCheckBox.checked ) { - component.addOperation( "SimpleMoveFile", "@QtCreatorSettingsFile@", "@QtCreatorSettingsFile@_backup"); - } - if ( installer.value("os") == "win" ) + if (installer.componentByName("org.kde.necessitas.android.qtwebkit.src") != null && + installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected) { - component.addOperation( "CreateShortcut", "@TargetDir@/readme/index.html", "@StartMenuDir@/Getting Started with the Qt SDK.lnk" ); + installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected = false; } -} -Component.prototype.installationFinishedPageIsShown = function() -{ - try + // deselect all deprecated packages by default + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_5") != null && + installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected) { - if (installer.isInstaller() && installer.status == QInstaller.InstallerSucceeded) - { - installer.addWizardPageItem( component, "ReadMeCheckBoxForm", QInstaller.InstallationFinished ); - } + installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected = false; } - catch( e ) + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_6") != null && + installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected) { - print( e ); + installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected = false; } -} - -Component.prototype.installationFinished = function() -{ - try + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_7") != null && + installer.componentByName("org.kde.necessitas.misc.sdk.android_7").selected) { - if (installer.isInstaller() && installer.status == QInstaller.InstallerSucceeded) - { - var isReadMeCheckBoxChecked = component.userInterface( "ReadMeCheckBoxForm" ).readMeCheckBox.checked; - if (isReadMeCheckBoxChecked) - { - QDesktopServices.openUrl("file:///" + installer.value("TargetDir") + "/readme/index.html"); - } - } + installer.componentByName("org.kde.necessitas.misc.sdk.android_7").selected = false; } - catch( e ) + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_9") != null && + installer.componentByName("org.kde.necessitas.misc.sdk.android_9").selected) { - print( e ); + installer.componentByName("org.kde.necessitas.misc.sdk.android_9").selected = false; } } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml index fbc9c60..c3a4cbd 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -5,6 +5,6 @@ 1.0.0 2011-04-09 org.kde.necessitas - + 1 -- cgit v1.2.3 From f25b25d967c5754de2f6b9fc9daf398cc1b8e1c1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 26 May 2011 00:09:53 +0800 Subject: Fix BogDan is an idiot bug on build_sdk.sh Add updater-plugin informations --- Necessitas_SDK/build_sdk.sh | 3 +- .../meta/installscript.qs | 66 +++++++++++----------- 2 files changed, 35 insertions(+), 34 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 8315a63..dbe9e81 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -234,6 +234,7 @@ function prepareSdkInstallerTools if [ ! -f all_done ] then + git checkout master $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" fi @@ -254,7 +255,7 @@ function prepareNecessitasQtCreator if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z ] then pushd android-qt-creator - + git checkout testing if [ ! -f all_done ] then $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index bbd3a4c..abeeed7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -67,6 +67,38 @@ Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); + + if (installer.value("os") == "win") { + var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + win_application ); + } else if (installer.value("os") == "x11") { + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + "@TargetDir@/SDKMaintenanceTool" ); + } else if (installer.value("os") == "mac") { + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "Application", + "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); + } + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "CheckOnlyArgument", + "--checkupdates" ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "Updater", + "RunUiArgument", + "--updater" ); + if ( installer.value("os") == "x11" ) { // component.addOperation( "SetPluginPathOnQtCore", @@ -135,6 +167,7 @@ Component.prototype.createOperations = function() "Qt Project Include file", "", "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); + } } @@ -142,42 +175,9 @@ Component.prototype.installationFinished = function() { if (installer.isInstaller() && component.selected) { - - if (installer.value("os") == "win") { - var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - win_application ); - } else if (installer.value("os") == "x11") { - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - "@TargetDir@/SDKMaintenanceTool" ); - } else if (installer.value("os") == "mac") { - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); - } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "CheckOnlyArgument", - "--checkupdates" ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "RunUiArgument", - "--updater" ); - if (installer.value("os") == "win") { installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\qtcreator.exe"); - print("installer.value(RunProgram)" + installer.value("RunProgram")); installer.setValue("RunProgramDescription", "Launch Qt Creator"); } else if (installer.value("os") == "x11") -- cgit v1.2.3 From 9c2a126051dafad969b58c0161c58ffb967f26fd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 25 May 2011 20:49:07 +0100 Subject: Define SHLIB_EXT as .dylib/.so/.dll on Windows, Mac OS X and Linux respectively, use it for stripping QtCreator --- Necessitas_SDK/build_sdk.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index dbe9e81..d4b7595 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -63,6 +63,7 @@ if [ "$OSTYPE" = "msys" ] ; then HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe + SHLIB_EXT=.dll SCRIPT_EXT=.bat JOBS=9 else @@ -73,11 +74,13 @@ else HOST_CFG_OPTIONS_STATIC=" -no-reduce-exports " HOST_TAG=darwin-x86 HOST_TAG_NDK=darwin-x86 + SHLIB_EXT=.dylib JOBS=9 else HOST_CFG_OPTIONS=" -platform linux-g++ " HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 + SHLIB_EXT=.so JOBS=`cat /proc/cpuinfo | grep processor | wc -l` JOBS=`expr $JOBS + 2` fi @@ -340,7 +343,7 @@ function prepareNecessitasQtCreator mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ pushd QtCreator - find -name *.so |xargs strip -s + find -name "*$SHLIB_EXT" |xargs strip -s popd $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data -- cgit v1.2.3 From 9b962b42cbd4351adfe0ee78e9a00d89b6e350e2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 27 May 2011 23:26:16 +0100 Subject: Windows fix: Copy Qt libs into QtCreator/bin folder --- Necessitas_SDK/build_sdk.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d4b7595..6c87ca1 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -289,6 +289,7 @@ function prepareNecessitasQtCreator cp -a /usr/bin/libgcc_s_dw2-1.dll $PWD/QtCreator/bin/ cp -a /usr/bin/libstdc++-6.dll $PWD/QtCreator/bin/ QT_LIB_DEST=$PWD/QtCreator/bin/ + cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST cp -a bin/necessitas.bat $PWD/QtCreator/bin/ else if [ "$OSTYPE" = "linux-gnu" ]; then -- cgit v1.2.3 From 3c932958f120388d75b749770dff0fb196865f24 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 27 May 2011 23:29:48 +0100 Subject: Windows: Add texinfo to makeInstallMinGWBits --- Necessitas_SDK/build_sdk.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6c87ca1..6ce1975 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -438,6 +438,15 @@ function makeInstallMinGWBits make && make DESTDIR=$install_dir install popd + downloadIfNotExists texinfo-4.13a.tar.gz http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz + rm -rf texinfo-4.13 + tar -xvzf texinfo-4.13a.tar.gz + pushd texinfo-4.13 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr/local CFLAGS=-O2 + make + make install + popd + popd } @@ -649,7 +658,6 @@ function prepareGDB then mkdir -p gdb-src/build-gdb pushd gdb-src/build-gdb - export PYTHONHOME=$install_dir OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH CC=$CC32 CXX=$CXX32 ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls -- cgit v1.2.3 From e7f2fdcbe21401885e65edf85e0c6f4880318a47 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 28 May 2011 07:24:04 +0100 Subject: Mac OS X fixes and tidyup. Don't use developer-build on anything but Linux, use -release instead. --- Necessitas_SDK/build_sdk.sh | 68 +++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 46 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6ce1975..5f92765 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -59,7 +59,7 @@ QPATCH_PATH="" EXE_EXT="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports " + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -release -prefix . " HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe @@ -68,7 +68,8 @@ if [ "$OSTYPE" = "msys" ] ; then JOBS=9 else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa " + HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa -release -prefix . " + HOST_QM_CFG_OPTIONS="CONFIG+=x86 CONFIG+=x86_64" # -reduce-exports doesn't work for static Mac OS X i386 build. # (ld: bad codegen, pointer diff in fulltextsearch::clucene::QHelpSearchIndexReaderClucene::run() to global weak symbol vtable for QtSharedPointer::ExternalRefCountDatafor architecture i386) HOST_CFG_OPTIONS_STATIC=" -no-reduce-exports " @@ -77,7 +78,7 @@ else SHLIB_EXT=.dylib JOBS=9 else - HOST_CFG_OPTIONS=" -platform linux-g++ " + HOST_CFG_OPTIONS=" -platform linux-g++ -developer-build " HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 SHLIB_EXT=.so @@ -198,7 +199,7 @@ function prepareHostQt if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -release -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile static $HOST_QT_VERSION" "all done" if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. @@ -214,7 +215,7 @@ function prepareHostQt if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -developer-build -shared -webkit -no-phonon -release -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile shared $HOST_QT_VERSION" "all done" if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. @@ -238,7 +239,7 @@ function prepareSdkInstallerTools if [ ! -f all_done ] then git checkout master - $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure necessitas-installer-framework" + $STATIC_QT_PATH/bin/qmake $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" fi popd @@ -261,7 +262,7 @@ function prepareNecessitasQtCreator git checkout testing if [ ! -f all_done ] then - $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure android-qt-creator" + $SHARED_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile android-qt-creator" "all done" fi rm -fr QtCreator @@ -276,7 +277,7 @@ function prepareNecessitasQtCreator tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz fi pushd research-sdk-updater-plugin-master-snapshot-20110524185306 - $SHARED_QT_PATH/bin/qmake -r || error_msg "Can't configure sdk-updater-plugin" + $SHARED_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" doMake "Can't compile sdk-updater-plugin" "all done" make install popd @@ -303,48 +304,23 @@ function prepareNecessitasQtCreator cp -a $SHARED_QT_PATH/plugins/* ${QT_LIB_DEST}../plugins cp -a bin/necessitas $PWD/QtCreator/bin/ else - # Mac OS X. The libraries need to be placed inside the app bundle to make it relocatable. - # See: http://doc.trolltech.com/4.7/deployment-mac.html - # This isn't good enough. Recursive dependencies are being handled ad-hoc, - # Plugin dependencies aren't being handled at all... Really, need to have a recursive library - # call to do all of this. - mkdir bin/NecessitasQtCreator.app/Contents/Frameworks - rm -rf bin/NecessitasQtCreator.app/Contents/Frameworks/* - cp -R $SHARED_QT_PATH/lib/QtCore.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ - cp -R $SHARED_QT_PATH/lib/QtGui.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ - cp -R $SHARED_QT_PATH/lib/QtNetwork.framework bin/NecessitasQtCreator.app/Contents/Frameworks/ - rm -rf $PWD/QtCreator/bin/NecessitasQtCreator.app - cp -Rf bin/NecessitasQtCreator.app $PWD/QtCreator/bin/ - FINALAPP=$PWD/QtCreator/bin/NecessitasQtCreator.app - install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ - $FINALAPP/Contents/Frameworks/QtCore.framework/Versions/4/QtCore - install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ - $FINALAPP/Contents/Frameworks/QtGui.framework/Versions/4/QtGui - install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork \ - $FINALAPP/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork - install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ - @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ - $FINALAPP/Contents/MacOS/NecessitasQtCreator - install_name_tool -change $SHARED_QT_PATH/lib/QtGui.framework/Versions/4/QtGui \ - @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ - $FINALAPP/Contents/MacOS/NecessitasQtCreator - install_name_tool -change $SHARED_QT_PATH/lib/QtNetwork.framework/Versions/4/QtNetwork \ - @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork \ - $FINALAPP/Contents/MacOS/NecessitasQtCreator - # QtGui depends on QtCore, there are likely dependencies for QtNetwork that I've not copied or rebased. - install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ - @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ - $FINALAPP/Contents/Frameworks/QtGui.framework/Versions/4/QtGui - # QtNetwork depends on QtCore. - install_name_tool -change $SHARED_QT_PATH/lib/QtCore.framework/Versions/4/QtCore \ - @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ - $FINALAPP/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork + pushd macdeployqt + $SHARED_QT_PATH/bin/qmake $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure macdeployqt" + doMake "Can't compile macdeployqt" "all done" + popd + pushd bin + rm -rf NecessitasQtCreatorBackup.app + cp -rf NecessitasQtCreator.app NecessitasQtCreatorBackup.app + ../macdeployqt/macdeployqt/macdeployqt NecessitasQtCreator.app + popd + mv bin/NecessitasQtCreator.app $PWD/QtCreator/bin/NecessitasQtCreator.app + mv bin/NecessitasQtCreatorBackup.app bin/NecessitasQtCreator.app fi fi mkdir $PWD/QtCreator/images cp -a bin/necessitas*.png $PWD/QtCreator/images/ pushd QtCreator - find -name "*$SHLIB_EXT" |xargs strip -s + find . -name "*$SHLIB_EXT" | xargs $STRIP popd $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data @@ -356,7 +332,7 @@ function prepareNecessitasQtCreator pushd qpatch-build if [ ! -f all_done ] then - $STATIC_QT_PATH/bin/qmake "QT_CONFIG=release" -r ../android-qt-creator/src/tools/qpatch/qpatch.pro + $STATIC_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro if [ "$OSTYPE" = "msys" ]; then make -f Makefile.Release || error_msg "Can't compile qpatch" else -- cgit v1.2.3 From 6572d64618c3379d3ea2f5335cfb725a5b8cb579 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 3 Jun 2011 22:53:03 +0800 Subject: Make build_sdk.sh more flexible. Begin work on official git NDK build. --- Necessitas_SDK/build_sdk.sh | 180 +++++++++++++++++++++++--------------------- Necessitas_SDK/sdk_vars.sh | 17 +++++ 2 files changed, 111 insertions(+), 86 deletions(-) create mode 100644 Necessitas_SDK/sdk_vars.sh diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 5f92765..e48a3b8 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -19,6 +19,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +. sdk_vars.sh REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/tmp @@ -44,12 +45,8 @@ fi pushd $TEMP_PATH -NECESSITAS_QT_VERSION=4762 -NECESSITAS_QT_VERSION_LONG="4.7.62" -MINISTRO_VERSION="0.2" MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk -HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -428,70 +425,81 @@ function makeInstallMinGWBits function prepareNDKs { - # repack windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z ] + # repack official windows NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] then - downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip - if [ ! -d android-ndk-r5b ] - then - unzip android-ndk-r5b-windows.zip - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-windows.7z - rm -fr android-ndk-r5b + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip + rm -fr android-ndk-${ANDROID_NDK_VERSION} + unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} fi - # repack mac NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z ] + # repack official mac NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] then - downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] - then - tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-darwin-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-darwin-x86.7z - rm -fr android-ndk-r5b + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 + rm -fr android-ndk-${ANDROID_NDK_VERSION} + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} fi - # repack linux-x86 NDK, it must be the last one because we need it to build qt - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z ] + # repack official linux-x86 NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] then - downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 - if [ ! -d android-ndk-r5b ] - then - tar xjvf android-ndk-r5b-linux-x86.tar.bz2 - fi - $SDK_TOOLS_PATH/archivegen android-ndk-r5b android-ndk-r5b-linux-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data - mv android-ndk-r5b-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.r5b/data/android-ndk-r5b-linux-x86.7z - rm -fr android-ndk-r5b + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + rm -fr android-ndk-${ANDROID_NDK_VERSION} + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} fi - export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b - if [ ! -d android-ndk-r5b ]; then - + if [ BUILD_ANDROID_GIT_NDK = 1 ] + then + export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git + export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git + else + export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION} + export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} + fi + if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-r5b-windows.zip http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip - unzip android-ndk-r5b-windows.zip + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip + unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-r5b-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2 - tar xjvf android-ndk-r5b-darwin-x86.tar.bz2 + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 fi if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-r5b-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 - tar xjvf android-ndk-r5b-linux-x86.tar.bz2 + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + fi + + if [ BUILD_ANDROID_GIT_NDK = 1 ] + then + mv android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-git + git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk + pushd android_git_ndk + ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9 --verbose --package-dir= + popd + rm -fr android_git_ndk + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION}-git $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z fi fi ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-strip$EXE_EXT ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-readelf$EXE_EXT - } function prepareGDB @@ -742,40 +750,40 @@ function prepareSDKs echo "prepare SDKs" if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] then - downloadIfNotExists android-sdk_r10-linux_x86.tgz http://dl.google.com/android/android-sdk_r10-linux_x86.tgz + downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] then - tar -xzvf android-sdk_r10-linux_x86.tgz + tar -xzvf android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz fi - $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_r10-linux_x86.7z + $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-linux_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z + mv android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z rm -fr android-sdk-linux_x86 fi if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] then - downloadIfNotExists android-sdk_r10-mac_x86.zip http://dl.google.com/android/android-sdk_r10-mac_x86.zip + downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip if [ ! -d android-sdk-mac_x86 ] then - unzip android-sdk_r10-mac_x86.zip + unzip android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip fi - $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_r10-mac_x86.7z + $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-mac_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z + mv android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z rm -fr android-sdk-mac_x86 fi if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] then - downloadIfNotExists android-sdk_r10-windows.zip http://dl.google.com/android/android-sdk_r10-windows.zip + downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-windows.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-windows.zip if [ ! -d android-sdk-windows ] then - unzip android-sdk_r10-windows.zip + unzip android-sdk_${ANDROID_SDK_VERSION}-windows.zip fi - $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_r10-windows.7z + $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_${ANDROID_SDK_VERSION}-windows.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_r10-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z + mv android-sdk_${ANDROID_SDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z rm -fr android-sdk-windows fi @@ -801,50 +809,50 @@ function prepareSDKs fi # repack platform-tools - repackSDK platform-tools_r03-linux platform-tools_r03-linux android-sdk-linux_x86 platform-tools - repackSDK platform-tools_r03-macosx platform-tools_r03-macosx android-sdk-mac_x86 platform-tools + repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux android-sdk-linux_x86 platform-tools + repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx android-sdk-mac_x86 platform-tools # should we also include ant binary for windows ? - repackSDK platform-tools_r03-windows platform-tools_r03-windows android-sdk-windows platform-tools + repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows android-sdk-windows platform-tools # repack api-4 - repackSDK android-1.6_r03-linux android-1.6_r03-linux android-sdk-linux_x86/platforms android-4 - repackSDK android-1.6_r03-macosx android-1.6_r03-macosx android-sdk-mac_x86/platforms android-4 - repackSDK android-1.6_r03-windows android-1.6_r03-windows android-sdk-windows/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-linux android-${ANDROID_API_4_VERSION}-linux android-sdk-linux_x86/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-macosx android-${ANDROID_API_4_VERSION}-macosx android-sdk-mac_x86/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-windows android-${ANDROID_API_4_VERSION}-windows android-sdk-windows/platforms android-4 # repack api-5 - repackSDK android-2.0_r01-linux android-2.0_r01-linux android-sdk-linux_x86/platforms android-5 - repackSDK android-2.0_r01-macosx android-2.0_r01-macosx android-sdk-mac_x86/platforms android-5 - repackSDK android-2.0_r01-windows android-2.0_r01-windows android-sdk-windows/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-linux android-${ANDROID_API_5_VERSION}-linux android-sdk-linux_x86/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-macosx android-${ANDROID_API_5_VERSION}-macosx android-sdk-mac_x86/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-windows android-${ANDROID_API_5_VERSION}-windows android-sdk-windows/platforms android-5 # repack api-6 - repackSDK android-2.0.1_r01-linux android-2.0.1_r01-linux android-sdk-linux_x86/platforms android-6 - repackSDK android-2.0.1_r01-macosx android-2.0.1_r01-macosx android-sdk-mac_x86/platforms android-6 - repackSDK android-2.0.1_r01-windows android-2.0.1_r01-windows android-sdk-windows/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-linux android-${ANDROID_API_6_VERSION}-linux android-sdk-linux_x86/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-macosx android-${ANDROID_API_6_VERSION}-macosx android-sdk-mac_x86/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-windows android-${ANDROID_API_6_VERSION}-windows android-sdk-windows/platforms android-6 # repack api-7 - repackSDK android-2.1_r02-linux android-2.1_r02-linux android-sdk-linux_x86/platforms android-7 - repackSDK android-2.1_r02-macosx android-2.1_r02-macosx android-sdk-mac_x86/platforms android-7 - repackSDK android-2.1_r02-windows android-2.1_r02-windows android-sdk-windows/platforms android-7 + repackSDK android-${ANDROID_API_7_VERSION}-linux android-${ANDROID_API_7_VERSION}-linux android-sdk-linux_x86/platforms android-7 + repackSDK android-${ANDROID_API_7_VERSION}-macosx android-${ANDROID_API_7_VERSION}-macosx android-sdk-mac_x86/platforms android-7 + repackSDK android-${ANDROID_API_7_VERSION}-windows android-${ANDROID_API_7_VERSION}-windows android-sdk-windows/platforms android-7 # repack api-8 - repackSDK android-2.2_r02-linux android-2.2_r02-linux android-sdk-linux_x86/platforms android-8 - repackSDK android-2.2_r02-macosx android-2.2_r02-macosx android-sdk-mac_x86/platforms android-8 - repackSDK android-2.2_r02-windows android-2.2_r02-windows android-sdk-windows/platforms android-8 + repackSDK android-${ANDROID_API_8_VERSION}-linux android-${ANDROID_API_8_VERSION}-linux android-sdk-linux_x86/platforms android-8 + repackSDK android-${ANDROID_API_8_VERSION}-macosx android-${ANDROID_API_8_VERSION}-macosx android-sdk-mac_x86/platforms android-8 + repackSDK android-${ANDROID_API_8_VERSION}-windows android-${ANDROID_API_8_VERSION}-windows android-sdk-windows/platforms android-8 # repack api-9 - repackSDK android-2.3.1_r02-linux android-2.3.1_r02-linux android-sdk-linux_x86/platforms android-9 - repackSDK android-2.3.1_r02-linux android-2.3.1_r02-macosx android-sdk-mac_x86/platforms android-9 - repackSDK android-2.3.1_r02-linux android-2.3.1_r02-windows android-sdk-windows/platforms android-9 + repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-linux android-sdk-linux_x86/platforms android-9 + repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-macosx android-sdk-mac_x86/platforms android-9 + repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-windows android-sdk-windows/platforms android-9 # repack api-10 - repackSDK android-2.3.3_r01-linux android-2.3.3_r01-linux android-sdk-linux_x86/platforms android-10 - repackSDK android-2.3.3_r01-linux android-2.3.3_r01-macosx android-sdk-mac_x86/platforms android-10 - repackSDK android-2.3.3_r01-linux android-2.3.3_r01-windows android-sdk-windows/platforms android-10 + repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-linux android-sdk-linux_x86/platforms android-10 + repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-macosx android-sdk-mac_x86/platforms android-10 + repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-windows android-sdk-windows/platforms android-10 # repack api-11 - repackSDK android-3.0_r01-linux android-3.0_r01-linux android-sdk-linux_x86/platforms android-11 - repackSDK android-3.0_r01-linux android-3.0_r01-macosx android-sdk-mac_x86/platforms android-11 - repackSDK android-3.0_r01-linux android-3.0_r01-windows android-sdk-windows/platforms android-11 + repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-linux android-sdk-linux_x86/platforms android-11 + repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-macosx android-sdk-mac_x86/platforms android-11 + repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-windows android-sdk-windows/platforms android-11 } function patchQtFiles diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh new file mode 100644 index 0000000..91c476a --- /dev/null +++ b/Necessitas_SDK/sdk_vars.sh @@ -0,0 +1,17 @@ +NECESSITAS_QT_VERSION=4762 #Necessitas Qt Framework Version +NECESSITAS_QT_VERSION_LONG="4.7.62" #Necessitas Qt Framework Long Version +MINISTRO_VERSION="0.2" #Ministro repo version +HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 +BUILD_ANDROID_GIT_NDK=1 +ANDROID_NDK_VERSION=r5b +ANDROID_SDK_VERSION=r11 +ANDROID_PLATFORM_TOOLS_VERSION=r04 +ANDROID_API_4_VERSION=1.6_r03 +ANDROID_API_5_VERSION=2.0_r01 +ANDROID_API_6_VERSION=2.0.1_r01 +ANDROID_API_7_VERSION=2.1_r02 +ANDROID_API_8_VERSION=2.2_r02 +ANDROID_API_9_VERSION=2.3.1_r02 +ANDROID_API_10_VERSION=2.3.3_r01 +ANDROID_API_11_VERSION=3.0_r01 +ANDROID_API_12_VERSION=r01 -- cgit v1.2.3 From 65830a0ec2f0fe504cbd5c80c499dc39f94e4110 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 28 May 2011 16:10:49 +0100 Subject: Mac OS X: Fix Launch Qt Creator --- .../packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index abeeed7..8f928f4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -187,7 +187,7 @@ Component.prototype.installationFinished = function() } else if (installer.value("os") == "mac") { - installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/NecessitasQtCreator.app/Contents/MacOS/NecessitasQtCreator\""); + installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/QtCreator/bin/NecessitasQtCreator.app/Contents/MacOS/NecessitasQtCreator\""); installer.setValue("RunProgramDescription", "Launch Qt Creator"); } } -- cgit v1.2.3 From b969a2ebbef6323bee616e892f3a5ed0c36e470f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 3 Jun 2011 23:01:06 +0100 Subject: Use android-5 for armeabi_v7a --- Necessitas_SDK/build_sdk.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e48a3b8..9867c34 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -24,7 +24,7 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/tmp -if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then +if [ "$OSTYPE" = "msys" ]; then TEMP_PATH_PREFIX=/usr fi @@ -915,8 +915,10 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf + doSed $"s/= android-4/= android-5/g" mkspecs/android-g++/qmake.conf else doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf + doSed $"s/= android-5/= android-4/g" mkspecs/android-g++/qmake.conf fi rm -fr data @@ -1214,7 +1216,7 @@ function prepareMinistroRepository if [ "$OSTYPE" = "msys" ] ; then cp $REPO_SRC_PATH/ministrorepogen/release/ministrorepogen$EXE_EXT $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT fi - $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/ $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH + $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH popd done } -- cgit v1.2.3 From 5342d7444457fc9a27c30fb4aab7a9c05398faed Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 May 2011 18:25:06 +0100 Subject: Set ANDROID_NDK_HOST to HOST_TAG_NDK --- Necessitas_SDK/build_sdk.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9867c34..3be5bb4 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -461,6 +461,7 @@ function prepareNDKs rm -fr android-ndk-${ANDROID_NDK_VERSION} fi +<<<<<<< HEAD if [ BUILD_ANDROID_GIT_NDK = 1 ] then export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git @@ -470,6 +471,13 @@ function prepareNDKs export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} fi if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then +======= + export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b + export ANDROID_NDK_HOST=$HOST_TAG_NDK + + if [ ! -d android-ndk-r5b ]; then + +>>>>>>> Set ANDROID_NDK_HOST to HOST_TAG_NDK if [ "$OSTYPE" = "msys" ]; then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip -- cgit v1.2.3 From df222a1665770298cb4499ea2cad09a353106827 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 4 Jun 2011 23:22:42 +0300 Subject: Fix compilation --- Necessitas_SDK/build_sdk.sh | 15 ++- Necessitas_SDK/sdk_vars.sh | 2 +- www/qt/android/armeabi-v7a/android-10 | 1 - www/qt/android/armeabi-v7a/android-11 | 1 - www/qt/android/armeabi-v7a/android-4/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi-v7a/android-4/versions.xml | 3 - www/qt/android/armeabi-v7a/android-5/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi-v7a/android-5/versions.xml | 3 - www/qt/android/armeabi-v7a/android-6 | 1 - www/qt/android/armeabi-v7a/android-7 | 1 - www/qt/android/armeabi-v7a/android-8/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi-v7a/android-8/versions.xml | 3 - www/qt/android/armeabi-v7a/android-9 | 1 - www/qt/android/armeabi/android-10 | 1 - www/qt/android/armeabi/android-11 | 1 - www/qt/android/armeabi/android-4/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi/android-4/versions.xml | 3 - www/qt/android/armeabi/android-5/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi/android-5/versions.xml | 3 - www/qt/android/armeabi/android-6 | 1 - www/qt/android/armeabi/android-7 | 1 - www/qt/android/armeabi/android-8/libs-0.1.xml | 122 ---------------------- www/qt/android/armeabi/android-8/versions.xml | 3 - www/qt/android/armeabi/android-9 | 1 - 24 files changed, 7 insertions(+), 770 deletions(-) delete mode 120000 www/qt/android/armeabi-v7a/android-10 delete mode 120000 www/qt/android/armeabi-v7a/android-11 delete mode 100644 www/qt/android/armeabi-v7a/android-4/libs-0.1.xml delete mode 100644 www/qt/android/armeabi-v7a/android-4/versions.xml delete mode 100644 www/qt/android/armeabi-v7a/android-5/libs-0.1.xml delete mode 100644 www/qt/android/armeabi-v7a/android-5/versions.xml delete mode 120000 www/qt/android/armeabi-v7a/android-6 delete mode 120000 www/qt/android/armeabi-v7a/android-7 delete mode 100644 www/qt/android/armeabi-v7a/android-8/libs-0.1.xml delete mode 100644 www/qt/android/armeabi-v7a/android-8/versions.xml delete mode 120000 www/qt/android/armeabi-v7a/android-9 delete mode 120000 www/qt/android/armeabi/android-10 delete mode 120000 www/qt/android/armeabi/android-11 delete mode 100644 www/qt/android/armeabi/android-4/libs-0.1.xml delete mode 100644 www/qt/android/armeabi/android-4/versions.xml delete mode 100644 www/qt/android/armeabi/android-5/libs-0.1.xml delete mode 100644 www/qt/android/armeabi/android-5/versions.xml delete mode 120000 www/qt/android/armeabi/android-6 delete mode 120000 www/qt/android/armeabi/android-7 delete mode 100644 www/qt/android/armeabi/android-8/libs-0.1.xml delete mode 100644 www/qt/android/armeabi/android-8/versions.xml delete mode 120000 www/qt/android/armeabi/android-9 diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3be5bb4..0bbd0e0 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -461,7 +461,6 @@ function prepareNDKs rm -fr android-ndk-${ANDROID_NDK_VERSION} fi -<<<<<<< HEAD if [ BUILD_ANDROID_GIT_NDK = 1 ] then export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git @@ -470,14 +469,10 @@ function prepareNDKs export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION} export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} fi - if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then -======= - export ANDROID_NDK_ROOT=$PWD/android-ndk-r5b - export ANDROID_NDK_HOST=$HOST_TAG_NDK - if [ ! -d android-ndk-r5b ]; then + export ANDROID_NDK_HOST=$HOST_TAG_NDK ->>>>>>> Set ANDROID_NDK_HOST to HOST_TAG_NDK + if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$OSTYPE" = "msys" ]; then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip @@ -923,10 +918,12 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-4/= android-5/g" mkspecs/android-g++/qmake.conf +# On next release +# doSed $"s/= android-4/= android-5/g" mkspecs/android-g++/qmake.conf else doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-5/= android-4/g" mkspecs/android-g++/qmake.conf +# On next release +# doSed $"s/= android-5/= android-4/g" mkspecs/android-g++/qmake.conf fi rm -fr data diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 91c476a..f7cdc0e 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -2,7 +2,7 @@ NECESSITAS_QT_VERSION=4762 #Necessitas Qt Framework Version NECESSITAS_QT_VERSION_LONG="4.7.62" #Necessitas Qt Framework Long Version MINISTRO_VERSION="0.2" #Ministro repo version HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 -BUILD_ANDROID_GIT_NDK=1 +BUILD_ANDROID_GIT_NDK=0 ANDROID_NDK_VERSION=r5b ANDROID_SDK_VERSION=r11 ANDROID_PLATFORM_TOOLS_VERSION=r04 diff --git a/www/qt/android/armeabi-v7a/android-10 b/www/qt/android/armeabi-v7a/android-10 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi-v7a/android-10 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-11 b/www/qt/android/armeabi-v7a/android-11 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi-v7a/android-11 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml deleted file mode 100644 index d412ff9..0000000 --- a/www/qt/android/armeabi-v7a/android-4/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi-v7a/android-4/versions.xml b/www/qt/android/armeabi-v7a/android-4/versions.xml deleted file mode 100644 index aea27d8..0000000 --- a/www/qt/android/armeabi-v7a/android-4/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml deleted file mode 100644 index 3eddd9c..0000000 --- a/www/qt/android/armeabi-v7a/android-5/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi-v7a/android-5/versions.xml b/www/qt/android/armeabi-v7a/android-5/versions.xml deleted file mode 100644 index 0d03aad..0000000 --- a/www/qt/android/armeabi-v7a/android-5/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi-v7a/android-6 b/www/qt/android/armeabi-v7a/android-6 deleted file mode 120000 index 509a4b0..0000000 --- a/www/qt/android/armeabi-v7a/android-6 +++ /dev/null @@ -1 +0,0 @@ -android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-7 b/www/qt/android/armeabi-v7a/android-7 deleted file mode 120000 index 509a4b0..0000000 --- a/www/qt/android/armeabi-v7a/android-7 +++ /dev/null @@ -1 +0,0 @@ -android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml b/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml deleted file mode 100644 index ea2f4cd..0000000 --- a/www/qt/android/armeabi-v7a/android-8/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi-v7a/android-8/versions.xml b/www/qt/android/armeabi-v7a/android-8/versions.xml deleted file mode 100644 index 0d03aad..0000000 --- a/www/qt/android/armeabi-v7a/android-8/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi-v7a/android-9 b/www/qt/android/armeabi-v7a/android-9 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi-v7a/android-9 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-10 b/www/qt/android/armeabi/android-10 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi/android-10 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-11 b/www/qt/android/armeabi/android-11 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi/android-11 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-4/libs-0.1.xml b/www/qt/android/armeabi/android-4/libs-0.1.xml deleted file mode 100644 index d412ff9..0000000 --- a/www/qt/android/armeabi/android-4/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi/android-4/versions.xml b/www/qt/android/armeabi/android-4/versions.xml deleted file mode 100644 index e51f0b9..0000000 --- a/www/qt/android/armeabi/android-4/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi/android-5/libs-0.1.xml b/www/qt/android/armeabi/android-5/libs-0.1.xml deleted file mode 100644 index 3eddd9c..0000000 --- a/www/qt/android/armeabi/android-5/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi/android-5/versions.xml b/www/qt/android/armeabi/android-5/versions.xml deleted file mode 100644 index e51f0b9..0000000 --- a/www/qt/android/armeabi/android-5/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi/android-6 b/www/qt/android/armeabi/android-6 deleted file mode 120000 index 509a4b0..0000000 --- a/www/qt/android/armeabi/android-6 +++ /dev/null @@ -1 +0,0 @@ -android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-7 b/www/qt/android/armeabi/android-7 deleted file mode 120000 index 509a4b0..0000000 --- a/www/qt/android/armeabi/android-7 +++ /dev/null @@ -1 +0,0 @@ -android-5 \ No newline at end of file diff --git a/www/qt/android/armeabi/android-8/libs-0.1.xml b/www/qt/android/armeabi/android-8/libs-0.1.xml deleted file mode 100644 index ea2f4cd..0000000 --- a/www/qt/android/armeabi/android-8/libs-0.1.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/qt/android/armeabi/android-8/versions.xml b/www/qt/android/armeabi/android-8/versions.xml deleted file mode 100644 index 0d03aad..0000000 --- a/www/qt/android/armeabi/android-8/versions.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Say hello to Qt system wide shared libs for andorid - diff --git a/www/qt/android/armeabi/android-9 b/www/qt/android/armeabi/android-9 deleted file mode 120000 index 051d95d..0000000 --- a/www/qt/android/armeabi/android-9 +++ /dev/null @@ -1 +0,0 @@ -android-8 \ No newline at end of file -- cgit v1.2.3 From 174d790420d031bcde5926dafd67e3100d7ca85f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 5 Jun 2011 19:34:30 +0100 Subject: GDB moved over to 7.3 --- Necessitas_SDK/build_sdk.sh | 94 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 23 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 0bbd0e0..2c6bd80 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -43,6 +43,13 @@ else CPRL="cp -rL" fi +# These are global +# For google gdb (master): +#GDB_ROOT_PATH=../gdb-7.2.50.20110211 +# For integration_7_3 +GDB_ROOT_PATH=.. +GDB_VER=7.3 + pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt @@ -54,6 +61,7 @@ ANDROID_STRIP_BINARY="" ANDROID_READELF_BINARY="" QPATCH_PATH="" EXE_EXT="" +export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -release -prefix . " @@ -99,7 +107,7 @@ function downloadIfNotExists { if [ ! -f $1 ] then - wget -c $2 || removeAndExit $1 + wget --no-check-certificate -c $2 || removeAndExit $1 fi } @@ -108,12 +116,14 @@ function doMake if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then if [ "$OSTYPE" = "msys" ] ; then MAKEDIR=`pwd -W` + MAKEFOREVER=1 else MAKEDIR=`pwd` + MAKEFOREVER=0 fi MAKEFILE=$MAKEDIR/Makefile make -f $MAKEFILE -j$JOBS - while [ "$?" != "0" ] + while [ "$?" != "0" -a "$MAKEFOREVER" = "1" ] do if [ -f /usr/break-make ]; then echo "Detected break-make" @@ -410,12 +420,23 @@ function makeInstallMinGWBits CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 make && make DESTDIR=$install_dir install popd + + # awk command fails during configure (I think). + downloadIfNotExists regex-2.7-src.zip http://downloads.sourceforge.net/sourceforge/gnuwin32/regex/2.7/regex-2.7-src.zip + unzip regex-2.7-src.zip + pushd src/regex/2.7/regex-2.7-src +# aclocal +# autoconf + CFLAGS=-O2 && ./configure --enable-static --disable-shared --prefix= CFLAGS=-O2 + make && make DESTDIR=$install_dir install + popd + # texinfo fails because regex.h not found (part of libc) downloadIfNotExists texinfo-4.13a.tar.gz http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz rm -rf texinfo-4.13 tar -xvzf texinfo-4.13a.tar.gz pushd texinfo-4.13 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr/local CFLAGS=-O2 + CFLAGS=-O2 && ./configure --prefix= CFLAGS=-O2 make make install popd @@ -471,6 +492,7 @@ function prepareNDKs fi export ANDROID_NDK_HOST=$HOST_TAG_NDK + export ANDROID_NDK_ROOT=$ANDROID_NDK_FOLDER_NAME if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$OSTYPE" = "msys" ]; then @@ -507,8 +529,10 @@ function prepareNDKs function prepareGDB { + package_name_ver=${GDB_VER//./_} # replace . with _ + package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data #This function depends on prepareNDKs - if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdb-7.2-${HOST_TAG}.7z ] + if [ -f $package_path/gdb-${GDB_VER}-${HOST_TAG}.7z ] then return fi @@ -518,7 +542,8 @@ function prepareGDB pyversion=2.7 pyfullversion=2.7.1 install_dir=$PWD/install - target_dir=$PWD/gdb-7.2 + target_dir=$PWD/gdb-$GDB_VER + mkdir -p $target_dir downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" if [ ! -d expat-2.0.1 ] @@ -538,9 +563,9 @@ function prepareGDB tar xjvf Python-$pyfullversion.tar.bz2 USINGMAPYTHON=0 else - if [ "$OSTYPE" = "msys" ]; then - makeInstallMinGWBits $install_dir - fi +# if [ "$OSTYPE" = "msys" ]; then +# makeInstallMinGWBits $install_dir +# fi rm -rf Python-$pyfullversion git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion USINGMAPYTHON=1 @@ -564,6 +589,7 @@ function prepareGDB export PATH=.:$PATH CC32=gcc.exe CXX32=g++.exe + PYCCFG="--enable-shared --disable-static" else # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" # --with-suffix can be used to get around this. @@ -580,7 +606,7 @@ function prepareGDB touch Include/Python-ast.c fi - CC=$CC32 CXX=$CXX32 ./configure --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" + CC=$CC32 CXX=$CXX32 ./configure $PYCCFG --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" doMake "Can't compile Python" "all done" make install || error_msg "Can't install Python" @@ -636,9 +662,16 @@ function prepareGDB export PATH=$OLDPATH fi + # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? + unset PYTHONHOME + unset PYTHONPATH + if [ ! -d gdb-src ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + pushd gdb-src + git checkout integration_7_3 + popd fi if [ ! -d gdb-src/build-gdb ] @@ -647,8 +680,8 @@ function prepareGDB pushd gdb-src/build-gdb OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - CC=$CC32 CXX=$CXX32 ../gdb-7.2.50.20110211/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls - doMake "Can't compile android gdb 7.2" "all done" + CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ # Fix building gdb-tui, it used to work and was handy to have. # cp -a gdb/gdb-tui$EXE_EXT $target_dir/ @@ -666,16 +699,20 @@ function prepareGDB find . -name tests | xargs rm -fr popd - $SDK_TOOLS_PATH/archivegen gdb-7.2 gdb-7.2-${HOST_TAG}.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ - mv gdb-7.2-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + $SDK_TOOLS_PATH/archivegen gdb-$GDB_VER gdb-$GDB_VER-${HOST_TAG}.7z + mkdir -p $package_path + + mv gdb-${GDB_VER}-${HOST_TAG}.7z $package_path/ popd #gdb-build } function prepareGDBServer { - if [ -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/gdbserver-7.2.7z ] + package_name_ver=${GDB_VER//./_} # replace - with _ + package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data + + if [ -f $package_path/gdbserver-$GDB_VER.7z ] then return fi @@ -688,6 +725,10 @@ function prepareGDBServer if [ ! -d gdb-src ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + GDB_ROOT_PATH=.. + pushd gdb-src + git checkout integration_7_3 + popd fi mkdir -p gdb-src/build-gdbserver @@ -695,7 +736,14 @@ function prepareGDBServer mkdir android-sysroot $CPRL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" - + # Fix gdbserver bug by using a Gingerbread version of libc.a + # 'The remote end hung up.' + # git archive --remote=git://android.git.kernel.org/platform/development.git HEAD:ndk/platforms/android-3/arch-arm/lib libc.a | tar -x + downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a%5E0 + cp libc.a%5E0 libc.zip + rm libc_new-*.a + unzip libc.zip + mv libc_new-*.a android-sysroot/usr/lib/libc.a rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h @@ -712,19 +760,19 @@ function prepareGDBServer LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-r5b/sources/android/libthread_db/gdb-7.1.x/ cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" - ../gdb-7.2.50.20110211/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" - make -j$JBBS || error_msg "Can't compile gdbserver" + $GDB_ROOT_PATH/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" + doMake "Can't compile gdbserver" "all done" export CC="$OLD_CC" export CFLAGS="$OLD_CFLAGS" export LDFLAGS="$OLD_LDFLAGS" - mkdir gdbserver-7.2 - $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-7.2/gdbserver + mkdir gdbserver-$GDB_VER + $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-$GDB_VER/gdbserver - $SDK_TOOLS_PATH/archivegen gdbserver-7.2 gdbserver-7.2.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ - mv gdbserver-7.2.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_7_2/data/ + $SDK_TOOLS_PATH/archivegen gdbserver-$GDB_VER gdbserver-$GDB_VER.7z + mkdir -p $package_path + mv gdbserver-$GDB_VER.7z $package_path/ popd #gdb-src/build-gdbserver -- cgit v1.2.3 From 089ab7b6405cd9fa9806f6304af1b92db2b65066 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 5 Jun 2011 21:02:39 +0100 Subject: build-gdbserver- used as build dir, can build 7.2 or 7.3. Always checks out appropriate branch, fix for rename in gdb repo. --- Necessitas_SDK/build_sdk.sh | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2c6bd80..39834cb 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -43,12 +43,17 @@ else CPRL="cp -rL" fi -# These are global -# For google gdb (master): -#GDB_ROOT_PATH=../gdb-7.2.50.20110211 -# For integration_7_3 -GDB_ROOT_PATH=.. -GDB_VER=7.3 +# Global just because 2 functions use them, only acceptable values for GDB_VER are 7.2 and 7.3 +#GDB_VER=7.3 +GDB_VER=7.2 + +if [ "$GDB_VER" = "7.3" ]; then + GDB_ROOT_PATH=.. + GDB_BRANCH=integration_7_3 +else + GDB_ROOT_PATH=../gdb + GDB_BRANCH=master +fi pushd $TEMP_PATH @@ -492,7 +497,6 @@ function prepareNDKs fi export ANDROID_NDK_HOST=$HOST_TAG_NDK - export ANDROID_NDK_ROOT=$ANDROID_NDK_FOLDER_NAME if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$OSTYPE" = "msys" ]; then @@ -669,15 +673,15 @@ function prepareGDB if [ ! -d gdb-src ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src - pushd gdb-src - git checkout integration_7_3 - popd fi + pushd gdb-src + git checkout $GDB_BRANCH + popd - if [ ! -d gdb-src/build-gdb ] + if [ ! -d gdb-src/build-gdb-$GDB_VER ] then - mkdir -p gdb-src/build-gdb - pushd gdb-src/build-gdb + mkdir -p gdb-src/build-gdb-$GDB_VER + pushd gdb-src/build-gdb-$GDB_VER OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls @@ -727,12 +731,12 @@ function prepareGDBServer git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src GDB_ROOT_PATH=.. pushd gdb-src - git checkout integration_7_3 + git checkout $GDB_BRANCH popd fi - mkdir -p gdb-src/build-gdbserver - pushd gdb-src/build-gdbserver + mkdir -p gdb-src/build-gdbserver-$GDB_VER + pushd gdb-src/build-gdbserver-$GDB_VER mkdir android-sysroot $CPRL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" @@ -774,7 +778,7 @@ function prepareGDBServer mkdir -p $package_path mv gdbserver-$GDB_VER.7z $package_path/ - popd #gdb-src/build-gdbserver + popd #gdb-src/build-gdbserver-$GDB_VER popd #gdb-build } -- cgit v1.2.3 From 046d38ff3ad80d64073e524f88173cd1d5d70a73 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 5 Jun 2011 21:18:32 +0100 Subject: Always copy Python over to the gdb target dir, so can build a different gdb versions. --- Necessitas_SDK/build_sdk.sh | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 39834cb..2a92e76 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -650,21 +650,34 @@ function prepareGDB doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py fi - cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ - mkdir -p $target_dir/python/include/python$pyversion - mkdir -p $target_dir/python/bin - cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ - # Remove the $SUFFIX if present (OS X) - mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT - mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT - cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ - if [ "$OSTYPE" = "msys" ] ; then - cp -fr $install_dir/bin/Lib $target_dir/ - fi - $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT - popd - export PATH=$OLDPATH +# cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ +# mkdir -p $target_dir/python/include/python$pyversion +# mkdir -p $target_dir/python/bin +# cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ +# # Remove the $SUFFIX if present (OS X) +# mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT +# mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT +# cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ +# if [ "$OSTYPE" = "msys" ] ; then +# cp -fr $install_dir/bin/Lib $target_dir/ +# fi +# $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT +# popd +# export PATH=$OLDPATH + fi + + cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ + mkdir -p $target_dir/python/include/python$pyversion + mkdir -p $target_dir/python/bin + cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ + # Remove the $SUFFIX if present (OS X) + mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT + mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT + cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ + if [ "$OSTYPE" = "msys" ] ; then + cp -fr $install_dir/bin/Lib $target_dir/ fi + $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? unset PYTHONHOME -- cgit v1.2.3 From b3e6aa9c3bac40b37ae037df0c1c1ed80117655f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 00:07:25 +0100 Subject: GDB builds both 7.3 and 7.2 packages (meta data for 7.3 not setup yet) --- Necessitas_SDK/build_sdk.sh | 109 ++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2a92e76..763db0a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -47,14 +47,6 @@ fi #GDB_VER=7.3 GDB_VER=7.2 -if [ "$GDB_VER" = "7.3" ]; then - GDB_ROOT_PATH=.. - GDB_BRANCH=integration_7_3 -else - GDB_ROOT_PATH=../gdb - GDB_BRANCH=master -fi - pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt @@ -535,12 +527,40 @@ function prepareGDB { package_name_ver=${GDB_VER//./_} # replace . with _ package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data + echo "package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data" #This function depends on prepareNDKs if [ -f $package_path/gdb-${GDB_VER}-${HOST_TAG}.7z ] then return fi + OLDPATH=$PATH + if [ "$OSTYPE" = "linux-gnu" ] ; then + HOST=i386-linux-gnu + CC32="gcc -m32" + CXX32="g++ -m32" + PYCFGDIR=$install_dir/lib/python$pyversion/config + else + if [ "$OSTYPE" = "msys" ] ; then + SUFFIX=.exe + HOST_EXE=.exe + HOST=i686-pc-mingw32 + PYCFGDIR=$install_dir/bin/Lib/config + export PATH=.:$PATH + CC32=gcc.exe + CXX32=g++.exe + PYCCFG="--enable-shared --disable-static" + else + # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" + # --with-suffix can be used to get around this. + SUFFIX=Mac + export PATH=.:$PATH + CC32="gcc -m32" + CXX32="g++ -m32" + fi + fi + + mkdir gdb-build pushd gdb-build pyversion=2.7 @@ -577,32 +597,6 @@ function prepareGDB pushd Python-$pyfullversion unset PYTHONHOME - OLDPATH=$PATH - - if [ "$OSTYPE" = "linux-gnu" ] ; then - HOST=i386-linux-gnu - CC32="gcc -m32" - CXX32="g++ -m32" - PYCFGDIR=$install_dir/lib/python$pyversion/config - else - if [ "$OSTYPE" = "msys" ] ; then - SUFFIX=.exe - HOST_EXE=.exe - HOST=i686-pc-mingw32 - PYCFGDIR=$install_dir/bin/Lib/config - export PATH=.:$PATH - CC32=gcc.exe - CXX32=g++.exe - PYCCFG="--enable-shared --disable-static" - else - # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" - # --with-suffix can be used to get around this. - SUFFIX=Mac - export PATH=.:$PATH - CC32="gcc -m32" - CXX32="g++ -m32" - fi - fi if [ "$USINGMAPYTHON" = "1" ] ; then autoconf @@ -612,7 +606,6 @@ function prepareGDB CC=$CC32 CXX=$CXX32 ./configure $PYCCFG --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" doMake "Can't compile Python" "all done" - make install || error_msg "Can't install Python" if [ "$OSTYPE" = "msys" ] ; then cd pywin32-216 @@ -650,22 +643,13 @@ function prepareGDB doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py fi -# cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ -# mkdir -p $target_dir/python/include/python$pyversion -# mkdir -p $target_dir/python/bin -# cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ -# # Remove the $SUFFIX if present (OS X) -# mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT -# mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT -# cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ -# if [ "$OSTYPE" = "msys" ] ; then -# cp -fr $install_dir/bin/Lib $target_dir/ -# fi -# $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT -# popd -# export PATH=$OLDPATH + popd fi + pushd Python-$pyfullversion + make install + popd + export PATH=$OLDPATH cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ mkdir -p $target_dir/python/include/python$pyversion mkdir -p $target_dir/python/bin @@ -689,6 +673,7 @@ function prepareGDB fi pushd gdb-src git checkout $GDB_BRANCH + git reset --hard popd if [ ! -d gdb-src/build-gdb-$GDB_VER ] @@ -697,6 +682,7 @@ function prepareGDB pushd gdb-src/build-gdb-$GDB_VER OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH + echo "HELLO HELLO HELLO about to configure gdb, GDB_ROOT_PATH = $GDB_ROOT_PATH, pwd = $PWD" CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ @@ -742,10 +728,9 @@ function prepareGDBServer if [ ! -d gdb-src ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src - GDB_ROOT_PATH=.. pushd gdb-src - git checkout $GDB_BRANCH - popd + git checkout $GDB_BRANCH + popd fi mkdir -p gdb-src/build-gdbserver-$GDB_VER @@ -812,6 +797,20 @@ function repackSDK fi } +function prepareGDBVersion +{ + GDB_VER=$1 + echo "GDB_VER is $GDB_VER" + if [ "$GDB_VER" = "7.3" ]; then + GDB_ROOT_PATH=.. + GDB_BRANCH=integration_7_3 + else + GDB_ROOT_PATH=../gdb + GDB_BRANCH=master + fi + prepareGDB + prepareGDBServer +} function prepareSDKs { @@ -1366,8 +1365,10 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -prepareGDB -prepareGDBServer +prepareGDBVersion 7.3 +prepareGDBVersion 7.2 +#prepareGDB +#prepareGDBServer prepareSDKs prepareNecessitasQtCreator prepareNecessitasQt -- cgit v1.2.3 From c736ed66ee6c5fd4b65d4f96ad557a4cd1e58c9f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 01:18:18 +0100 Subject: Windows: Python and gdb build fixes. --- Necessitas_SDK/build_sdk.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 763db0a..226a73c 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -580,6 +580,8 @@ function prepareGDB OLDCC=$CC OLDCXX=$CXX + # Again, what a terrible failure. + unset PYTHONHOME if [ ! -f Python-$pyfullversion/all_done ] then if [ "$OSTYPE" = "linux-gnu" ]; then @@ -596,7 +598,6 @@ function prepareGDB fi pushd Python-$pyfullversion - unset PYTHONHOME if [ "$USINGMAPYTHON" = "1" ] ; then autoconf @@ -614,9 +615,6 @@ function prepareGDB cd .. fi - mkdir -p $target_dir/python/lib - cp LICENSE $target_dir/PYTHON-LICENSE - if [ "$OSTYPE" = "msys" ] ; then mkdir -p $PYCFGDIR cp Modules/makesetup $PYCFGDIR @@ -631,7 +629,6 @@ function prepareGDB cp Modules/Setup.config $PYCFGDIR cp libpython$pyversion.a $install_dir/lib/python$pyversion cp libpython$pyversion.dll $install_dir/lib/python$pyversion - cp libpython$pyversion.dll $target_dir/ fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then @@ -648,6 +645,9 @@ function prepareGDB pushd Python-$pyfullversion make install + mkdir -p $target_dir/python/lib + cp LICENSE $target_dir/PYTHON-LICENSE + cp libpython$pyversion.dll $target_dir/ popd export PATH=$OLDPATH cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ @@ -655,15 +655,16 @@ function prepareGDB mkdir -p $target_dir/python/bin cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ # Remove the $SUFFIX if present (OS X) - mv $install_dir/bin/python$pyversion$SUFFIX$EXE_EXT $install_dir/bin/python$pyversion$EXE_EXT - mv $install_dir/bin/python$SUFFIX$EXE_EXT $install_dir/bin/python$EXE_EXT + mv $install_dir/bin/python$pyversion$SUFFIX $install_dir/bin/python$pyversion + mv $install_dir/bin/python$SUFFIX $install_dir/bin/python$EXE_EXT cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT - # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? + # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? + # TODOMA :: Fix the real problem. unset PYTHONHOME unset PYTHONPATH -- cgit v1.2.3 From 95925d3a3eb1008eae5d2029dfeffb6eef5b93e4 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 01:36:02 +0100 Subject: Move python install back to the python make scope as it takes so long. Remove some spew. --- Necessitas_SDK/build_sdk.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 226a73c..a8b8417 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -640,11 +640,11 @@ function prepareGDB doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py fi + make install popd fi pushd Python-$pyfullversion - make install mkdir -p $target_dir/python/lib cp LICENSE $target_dir/PYTHON-LICENSE cp libpython$pyversion.dll $target_dir/ @@ -683,7 +683,6 @@ function prepareGDB pushd gdb-src/build-gdb-$GDB_VER OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - echo "HELLO HELLO HELLO about to configure gdb, GDB_ROOT_PATH = $GDB_ROOT_PATH, pwd = $PWD" CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ -- cgit v1.2.3 From b392ec25e6e7f04b239e9172153690f728b059be Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 01:37:12 +0100 Subject: Remove more spew. --- Necessitas_SDK/build_sdk.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index a8b8417..aadc559 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -800,7 +800,6 @@ function repackSDK function prepareGDBVersion { GDB_VER=$1 - echo "GDB_VER is $GDB_VER" if [ "$GDB_VER" = "7.3" ]; then GDB_ROOT_PATH=.. GDB_BRANCH=integration_7_3 -- cgit v1.2.3 From b9ffe95d29f190acc5ed98642c03066278d4ab56 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 01:51:22 +0100 Subject: Disable building GDB 7.3 until expat fix --- Necessitas_SDK/build_sdk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index aadc559..01609e9 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1364,7 +1364,8 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -prepareGDBVersion 7.3 +# expat issue at the moment. +#prepareGDBVersion 7.3 prepareGDBVersion 7.2 #prepareGDB #prepareGDBServer -- cgit v1.2.3 From dddbf172c61429eee98a907843f2dedf74c61489 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 6 Jun 2011 20:30:10 +0300 Subject: Added gdb 7.3 configuration files --- .../meta/installscript.qs | 74 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 2 files changed, 86 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs new file mode 100644 index 0000000..404e972 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs @@ -0,0 +1,74 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdbserver-7.3.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "gdb-7.3-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "gdb-7.3-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "gdb-7.3-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var gdbPath = "@TargetDir@/gdb-7.3/gdb"; + var gdbserverPath = "@TargetDir@/gdbserver-7.3/gdbserver"; + var pythonPath="@TargetDir@/gdb-7.3/python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); + + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + "@TargetDir@/gdb-7.3/python" ); + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", "@TargetDir@/gdb-7.3/python/lib/python2.7/compileall.py", + "-f", "@TargetDir@/gdb-7.3/python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml new file mode 100644 index 0000000..e83aa25 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -0,0 +1,12 @@ + + + Android custom gdb-7.3 + Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb + 7.3.0 + 2011-04-09 + org.kde.necessitas.misc.ndk.gdb_7_3 + + 99999 + 94 + false + -- cgit v1.2.3 From 498d462ee9f11a770e15062bcdee09587548ff2a Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 21:37:00 +0100 Subject: Fix Python build issue --- Necessitas_SDK/build_sdk.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 01609e9..c88da56 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -542,7 +542,7 @@ function prepareGDB PYCFGDIR=$install_dir/lib/python$pyversion/config else if [ "$OSTYPE" = "msys" ] ; then - SUFFIX=.exe + SUFFIX= HOST_EXE=.exe HOST=i686-pc-mingw32 PYCFGDIR=$install_dir/bin/Lib/config @@ -627,8 +627,8 @@ function prepareGDB cp install-sh $PYCFGDIR cp Modules/Setup $PYCFGDIR cp Modules/Setup.config $PYCFGDIR - cp libpython$pyversion.a $install_dir/lib/python$pyversion - cp libpython$pyversion.dll $install_dir/lib/python$pyversion + cp libpython$pyversion.a $install_dir/lib/python$pyversion/ + cp libpython$pyversion.dll $install_dir/lib/python$pyversion/ fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then @@ -655,13 +655,13 @@ function prepareGDB mkdir -p $target_dir/python/bin cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ # Remove the $SUFFIX if present (OS X) - mv $install_dir/bin/python$pyversion$SUFFIX $install_dir/bin/python$pyversion - mv $install_dir/bin/python$SUFFIX $install_dir/bin/python$EXE_EXT + mv $install_dir/bin/python$pyversion$SUFFIX$HOST_EXE $install_dir/bin/python$pyversion$HOST_EXE + mv $install_dir/bin/python$SUFFIX$HOST_EXE $install_dir/bin/python$HOST_EXE cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi - $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT + $STRIP $target_dir/python/bin/python$pyversion$HOST_EXE # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? # TODOMA :: Fix the real problem. @@ -1367,8 +1367,6 @@ prepareNDKs # expat issue at the moment. #prepareGDBVersion 7.3 prepareGDBVersion 7.2 -#prepareGDB -#prepareGDBServer prepareSDKs prepareNecessitasQtCreator prepareNecessitasQt -- cgit v1.2.3 From b4fe449584021f73b5ddda318d38bea7b26e2b20 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 6 Jun 2011 22:06:36 +0100 Subject: More Python --- Necessitas_SDK/build_sdk.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index c88da56..7a9010a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -542,8 +542,7 @@ function prepareGDB PYCFGDIR=$install_dir/lib/python$pyversion/config else if [ "$OSTYPE" = "msys" ] ; then - SUFFIX= - HOST_EXE=.exe + SUFFIX=.exe HOST=i686-pc-mingw32 PYCFGDIR=$install_dir/bin/Lib/config export PATH=.:$PATH @@ -655,13 +654,16 @@ function prepareGDB mkdir -p $target_dir/python/bin cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ # Remove the $SUFFIX if present (OS X) - mv $install_dir/bin/python$pyversion$SUFFIX$HOST_EXE $install_dir/bin/python$pyversion$HOST_EXE - mv $install_dir/bin/python$SUFFIX$HOST_EXE $install_dir/bin/python$HOST_EXE + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + mv $install_dir/bin/python$pyversion$SUFFIX $install_dir/bin/python$pyversion + mv $install_dir/bin/python$SUFFIX $install_dir/bin/python + fi + mv $install_dir/bin/python$EXE_EXT $install_dir/bin/python$EXE_EXT cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ fi - $STRIP $target_dir/python/bin/python$pyversion$HOST_EXE + $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? # TODOMA :: Fix the real problem. -- cgit v1.2.3 From 337a94d9e8396abecb3c1f9db01f572fe82c5c01 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 7 Jun 2011 00:19:34 +0100 Subject: gdb 7.3 and 7.2 building (in that order) --- Necessitas_SDK/build_sdk.sh | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 7a9010a..b85a29a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -534,6 +534,14 @@ function prepareGDB return fi + mkdir gdb-build + pushd gdb-build + pyversion=2.7 + pyfullversion=2.7.1 + install_dir=$PWD/install + target_dir=$PWD/gdb-$GDB_VER + mkdir -p $target_dir + OLDPATH=$PATH if [ "$OSTYPE" = "linux-gnu" ] ; then HOST=i386-linux-gnu @@ -559,15 +567,6 @@ function prepareGDB fi fi - - mkdir gdb-build - pushd gdb-build - pyversion=2.7 - pyfullversion=2.7.1 - install_dir=$PWD/install - target_dir=$PWD/gdb-$GDB_VER - mkdir -p $target_dir - downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" if [ ! -d expat-2.0.1 ] then @@ -606,13 +605,13 @@ function prepareGDB CC=$CC32 CXX=$CXX32 ./configure $PYCCFG --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" doMake "Can't compile Python" "all done" - if [ "$OSTYPE" = "msys" ] ; then - cd pywin32-216 + pushd pywin32-216 # TODO :: Fix this, builds ok but then tries to copy pywintypes27.lib instead of libpywintypes27.a and pywintypes27.dll. ../python$EXE_EXT setup.py build - cd .. + popd fi + make install if [ "$OSTYPE" = "msys" ] ; then mkdir -p $PYCFGDIR @@ -626,6 +625,7 @@ function prepareGDB cp install-sh $PYCFGDIR cp Modules/Setup $PYCFGDIR cp Modules/Setup.config $PYCFGDIR + mkdir $install_dir/lib/python$pyversion cp libpython$pyversion.a $install_dir/lib/python$pyversion/ cp libpython$pyversion.dll $install_dir/lib/python$pyversion/ fi @@ -639,7 +639,6 @@ function prepareGDB doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py fi - make install popd fi @@ -1367,7 +1366,7 @@ prepareHostQt prepareSdkInstallerTools prepareNDKs # expat issue at the moment. -#prepareGDBVersion 7.3 +prepareGDBVersion 7.3 prepareGDBVersion 7.2 prepareSDKs prepareNecessitasQtCreator -- cgit v1.2.3 From e08129544ae1d8897b26e9d82ac2f897f0d66515 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 7 Jun 2011 00:21:50 +0100 Subject: Remove stale comment --- Necessitas_SDK/build_sdk.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b85a29a..1257739 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1365,7 +1365,6 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -# expat issue at the moment. prepareGDBVersion 7.3 prepareGDBVersion 7.2 prepareSDKs -- cgit v1.2.3 From 053f74aa94f7e55ec8f491d2ef65be0055823210 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 7 Jun 2011 09:29:50 +0100 Subject: Fix gdb build on Mac OS X --- Necessitas_SDK/build_sdk.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1257739..257a635 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -567,17 +567,18 @@ function prepareGDB fi fi + OLDCC=$CC + OLDCXX=$CXX + downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" if [ ! -d expat-2.0.1 ] then tar xzvf expat-2.0.1.tar.gz pushd expat-2.0.1 - ./configure --disable-shared --enable-static -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" + CC=$CC32 CXX=$CXX32 ./configure --disable-shared --enable-static -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" popd fi - OLDCC=$CC - OLDCXX=$CXX # Again, what a terrible failure. unset PYTHONHOME if [ ! -f Python-$pyfullversion/all_done ] -- cgit v1.2.3 From 24285d028e7a5e0f8e464d4109ee055f15387f85 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 8 Jun 2011 16:24:38 +0300 Subject: Use variables in packages --- Necessitas_SDK/build_ndk.sh | 18 +- Necessitas_SDK/build_sdk.sh | 183 ++++++++++++++------- Necessitas_SDK/config/config.xml | 3 +- .../meta/installscript.qs | 4 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 4 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../org.kde.necessitas.android.qt/meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 7 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 7 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/package.xml | 2 +- .../org.kde.necessitas.android/meta/package.xml | 2 +- .../meta/package.xml | 3 +- .../meta/package.xml | 2 +- .../meta/installscript.qs | 81 --------- .../meta/package.xml | 12 -- .../org.kde.necessitas.misc.ndk/meta/package.xml | 2 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 42 +++++ .../meta/package.xml | 11 ++ .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 8 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/package.xml | 8 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 8 +- .../org.kde.necessitas.misc.sdk/meta/package.xml | 2 +- .../org.kde.necessitas.misc/meta/package.xml | 2 +- .../meta/package.xml | 4 +- .../org.kde.necessitas.tools/meta/package.xml | 2 +- .../org.kde.necessitas/meta/installscript.qs | 10 +- .../packages/org.kde.necessitas/meta/package.xml | 2 +- Necessitas_SDK/sdk_vars.sh | 25 ++- 58 files changed, 326 insertions(+), 284 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 1f77612..17ba4b6 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -133,33 +133,33 @@ function makeNDK fi if [ ! -d "mpfr" ] - then + then git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr cd mpfr downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 cd .. fi if [ ! -d "binutils" ] - then + then git clone git://android.git.kernel.org/toolchain/binutils.git binutils fi if [ ! -d "gmp" ] - then + then git clone git://android.git.kernel.org/toolchain/gmp.git gmp fi - if [ ! -d "gold" ] - then + if [ ! -d "gold" ] + then git clone git://android.git.kernel.org/toolchain/gold.git gold fi - if [ ! -d "build" ] - then + if [ ! -d "build" ] + then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build fi - if [ ! -d "gcc" ] + if [ ! -d "gcc" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc fi - if [ ! -d "gdb" ] + if [ ! -d "gdb" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb fi diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 257a635..df09354 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -23,6 +23,7 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/tmp +TODAY=`date +%Y-%m-%d` if [ "$OSTYPE" = "msys" ]; then TEMP_PATH_PREFIX=/usr @@ -444,42 +445,42 @@ function makeInstallMinGWBits function prepareNDKs { # repack official windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip rm -fr android-ndk-${ANDROID_NDK_VERSION} unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack official mac NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack official linux-x86 NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi - if [ BUILD_ANDROID_GIT_NDK = 1 ] + if [ $BUILD_ANDROID_GIT_NDK = 1 ] then export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git @@ -506,12 +507,12 @@ function prepareNDKs tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 fi - if [ BUILD_ANDROID_GIT_NDK = 1 ] + if [ $BUILD_ANDROID_GIT_NDK = 1 ] then mv android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-git git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk pushd android_git_ndk - ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9 --verbose --package-dir= + ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= popd rm -fr android_git_ndk mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data @@ -921,6 +922,11 @@ function prepareSDKs repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-linux android-sdk-linux_x86/platforms android-11 repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-macosx android-sdk-mac_x86/platforms android-11 repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-windows android-sdk-windows/platforms android-11 + + # repack api-12 + repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-linux android-sdk-linux_x86/platforms android-12 + repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-macosx android-sdk-mac_x86/platforms android-12 + repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-windows android-sdk-windows/platforms android-12 } function patchQtFiles @@ -946,26 +952,36 @@ function packSource { package_name=${1//-/.} # replace - with . rm -fr $TEMP_PATH/source_temp_path - mkdir -p $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION + mkdir -p $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT mv $1/.git . if [ $1 = "qt-src" ] then mv $1/src/3rdparty/webkit . mv $1/tests . fi - mv $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION/ + + if [ $1 = "qtwebkit-src" ] + then + mv $1/LayoutTests . + fi + + mv $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ pushd $TEMP_PATH/source_temp_path $SDK_TOOLS_PATH/archivegen Android $1.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data/$1.7z popd - mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION/$1 . + mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/$1 . mv .git $1/ if [ $1 = "qt-src" ] then mv webkit $1/src/3rdparty/ mv tests $1/ fi + if [ $1 = "qtwebkit-src" ] + then + mv LayoutTests $1/ + fi rm -fr $TEMP_PATH/source_temp_path } @@ -1005,6 +1021,7 @@ function compileNecessitasQt mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + cp ../qt-src/lib/*.xml $2/$1/lib/ $SDK_TOOLS_PATH/archivegen Android qt-framework.7z mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z patchQtFiles @@ -1013,8 +1030,8 @@ function compileNecessitasQt function prepareNecessitasQt { - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION - pushd Android/Qt/$NECESSITAS_QT_VERSION + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT + pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT if [ ! -d qt-src ] then @@ -1028,7 +1045,7 @@ function prepareNecessitasQt then mkdir build-armeabi pushd build-armeabi - compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-armeabi fi @@ -1036,7 +1053,7 @@ function prepareNecessitasQt then mkdir build-armeabi-v7a pushd build-armeabi-v7a - compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-armeabi-v7a fi @@ -1045,7 +1062,7 @@ function prepareNecessitasQt packSource qt-src fi - popd #Android/Qt/$NECESSITAS_QT_VERSION + popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT } function compileNecessitasQtMobility @@ -1067,7 +1084,7 @@ function compileNecessitasQtMobility mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 - cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 + cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtmobility.7z mv qtmobility.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z @@ -1080,8 +1097,8 @@ function compileNecessitasQtMobility function prepareNecessitasQtMobility { - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION - pushd Android/Qt/$NECESSITAS_QT_VERSION + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT + pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT if [ ! -d qtmobility-src ] then @@ -1095,7 +1112,7 @@ function prepareNecessitasQtMobility then mkdir build-mobility-armeabi pushd build-mobility-armeabi - compileNecessitasQtMobility armeabi Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQtMobility armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-mobility-armeabi fi @@ -1103,7 +1120,7 @@ function prepareNecessitasQtMobility then mkdir build-mobility-armeabi-v7a pushd build-mobility-armeabi-v7a - compileNecessitasQtMobility armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQtMobility armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-mobility-armeabi-v7a fi @@ -1111,13 +1128,13 @@ function prepareNecessitasQtMobility then packSource qtmobility-src fi - popd #Android/Qt/$NECESSITAS_QT_VERSION + popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT } function compileNecessitasQtWebkit { export ANDROID_TARGET_ARCH=$1 - export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/qt-src/src/3rdparty/sqlite + export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/qt-src/src/3rdparty/sqlite if [ ! -f all_done ] then if [ "$OSTYPE" = "msys" ] ; then @@ -1143,7 +1160,7 @@ function compileNecessitasQtWebkit fi export WEBKITOUTPUTDIR=$PWD echo "doing perl" - ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" + ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ @@ -1155,9 +1172,9 @@ function compileNecessitasQtWebkit rm -fr $2 mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data - mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1/* $2/$1 + mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 pushd $2/$1 - qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$1 + qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1 qt_build_path=${qt_build_path//\//\\\/} sed_cmd="s/$qt_build_path/\/data\/data\/eu.licentia.necessitas.ministro\/files\/qt/g" if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then @@ -1178,8 +1195,8 @@ function compileNecessitasQtWebkit function prepareNecessitasQtWebkit { - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION - pushd Android/Qt/$NECESSITAS_QT_VERSION + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT + pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT if [ ! -d qtwebkit-src ] then @@ -1193,7 +1210,7 @@ function prepareNecessitasQtWebkit then mkdir build-webkit-armeabi pushd build-webkit-armeabi - compileNecessitasQtWebkit armeabi Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQtWebkit armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-webkit-armeabi fi @@ -1201,7 +1218,7 @@ function prepareNecessitasQtWebkit then mkdir build-webkit-armeabi-v7a pushd build-webkit-armeabi-v7a - compileNecessitasQtWebkit armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION + compileNecessitasQtWebkit armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-webkit-armeabi-v7a fi @@ -1209,39 +1226,88 @@ function prepareNecessitasQtWebkit then packSource qtwebkit-src fi - popd #Android/Qt/$NECESSITAS_QT_VERSION + popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT } + function patchPackages { pushd $REPO_SRC_PATH/packages - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - find . -name *.qs | xargs sed -i '.bak' "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" - find . -name *.qs.bak | xargs rm -f - find . -name *.qs | xargs sed -i '.bak' "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" - find . -name *.qs.bak | xargs rm -f - else - find . -name *.qs | xargs sed "s/@@COMPACT_VERSION@@/$NECESSITAS_QT_VERSION/g" -i - find . -name *.qs | xargs sed "s/@@VERSION@@/$NECESSITAS_QT_VERSION_LONG/g" -i - fi + for files_name in "*.qs" "*.xml" + do + for file_name in `find . -name $files_name` + do + doSed $"s/$1/$2/g" $file_name + done + done popd } -function revertPatchPackages +function patchPackage { - pushd $REPO_SRC_PATH/packages - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - find . -name *.qs | xargs sed -i '.bak' "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" - find . -name *.qs.bak | xargs rm -f - find . -name *.qs | xargs sed -i '.bak' "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" - find . -name *.qs.bak | xargs rm -f - else - find . -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION/@@COMPACT_VERSION@@/g" -i - find . -name *.qs | xargs sed "s/$NECESSITAS_QT_VERSION_LONG/@@VERSION@@/g" -i - fi + pushd $REPO_SRC_PATH/packages/$3 + for files_name in "*.qs" "*.xml" + do + for file_name in `find . -name $files_name` + do + doSed $"s/$1/$2/g" $file_name + done + done popd } +function setPackagesVariables +{ + patchPackages "@@TODAY@@" $TODAY + + patchPackages "@@NECESSITAS_QT_VERSION@@" $NECESSITAS_QT_VERSION + patchPackages "@@NECESSITAS_QT_VERSION_SHORT@@" $NECESSITAS_QT_VERSION_SHORT + patchPackages "@@NECESSITAS_QTWEBKIT_VERSION@@" $NECESSITAS_QTWEBKIT_VERSION + patchPackages "@@NECESSITAS_QTMOBILITY_VERSION@@" $NECESSITAS_QTMOBILITY_VERSION + + patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" + + patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r5" + + patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" + patchPackage "@@ANDROID_API_5_VERSION@@" $ANDROID_API_5_VERSION "org.kde.necessitas.misc.sdk.android_5" + patchPackage "@@ANDROID_API_6_VERSION@@" $ANDROID_API_6_VERSION "org.kde.necessitas.misc.sdk.android_6" + patchPackage "@@ANDROID_API_7_VERSION@@" $ANDROID_API_7_VERSION "org.kde.necessitas.misc.sdk.android_7" + patchPackage "@@ANDROID_API_8_VERSION@@" $ANDROID_API_8_VERSION "org.kde.necessitas.misc.sdk.android_8" + patchPackage "@@ANDROID_API_9_VERSION@@" $ANDROID_API_9_VERSION "org.kde.necessitas.misc.sdk.android_9" + patchPackage "@@ANDROID_API_10_VERSION@@" $ANDROID_API_10_VERSION "org.kde.necessitas.misc.sdk.android_10" + patchPackage "@@ANDROID_API_11_VERSION@@" $ANDROID_API_11_VERSION "org.kde.necessitas.misc.sdk.android_11" + patchPackage "@@ANDROID_API_12_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_12" + patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" + patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" +} + +function unsetPackagesVariables +{ + patchPackages $TODAY "@@TODAY@@" + + patchPackage $NECESSITAS_QT_CREATOR_VERSION "@@NECESSITAS_QT_CREATOR_VERSION@@" "org.kde.necessitas.tools.qtcreator" + + patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.r5" + + patchPackage $ANDROID_API_4_VERSION "@@ANDROID_API_4_VERSION@@" "org.kde.necessitas.misc.sdk.android_4" + patchPackage $ANDROID_API_5_VERSION "@@ANDROID_API_5_VERSION@@" "org.kde.necessitas.misc.sdk.android_5" + patchPackage $ANDROID_API_6_VERSION "@@ANDROID_API_6_VERSION@@" "org.kde.necessitas.misc.sdk.android_6" + patchPackage $ANDROID_API_7_VERSION "@@ANDROID_API_7_VERSION@@" "org.kde.necessitas.misc.sdk.android_7" + patchPackage $ANDROID_API_8_VERSION "@@ANDROID_API_8_VERSION@@" "org.kde.necessitas.misc.sdk.android_8" + patchPackage $ANDROID_API_9_VERSION "@@ANDROID_API_9_VERSION@@" "org.kde.necessitas.misc.sdk.android_9" + patchPackage $ANDROID_API_10_VERSION "@@ANDROID_API_10_VERSION@@" "org.kde.necessitas.misc.sdk.android_10" + patchPackage $ANDROID_API_11_VERSION "@@ANDROID_API_11_VERSION@@" "org.kde.necessitas.misc.sdk.android_11" + patchPackage $ANDROID_API_12_VERSION "@@ANDROID_API_12_VERSION@@" "org.kde.necessitas.misc.sdk.android_12" + patchPackage $ANDROID_PLATFORM_TOOLS_VERSION "@@ANDROID_PLATFORM_TOOLS_VERSION@@" "org.kde.necessitas.misc.sdk.platform_tools" + patchPackage $ANDROID_SDK_VERSION "@@ANDROID_SDK_VERSION@@" "org.kde.necessitas.misc.sdk.base" + + patchPackages $NECESSITAS_QTMOBILITY_VERSION "@@NECESSITAS_QTMOBILITY_VERSION@@" + patchPackages $NECESSITAS_QTWEBKIT_VERSION "@@NECESSITAS_QTWEBKIT_VERSION@@" + patchPackages $NECESSITAS_QT_VERSION_SHORT "@@NECESSITAS_QT_VERSION_SHORT@@" + patchPackages $NECESSITAS_QT_VERSION "@@NECESSITAS_QT_VERSION@@" +} + function prepareSDKBinary { echo $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$EXE_EXT org.kde.necessitas @@ -1267,7 +1333,7 @@ function prepareMinistroRepository do rm -fr $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION - pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION/build-$architecture + pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$architecture rm -fr Android for lib in `find . -name *.so` do @@ -1375,16 +1441,17 @@ prepareNecessitasQt if [ "$OSTYPE" = "linux-gnu" ] ; then prepareNecessitasQtWebkit fi + prepareNecessitasQtMobility if [ "$OSTYPE" = "linux-gnu" ] ; then prepareWindowsPackages fi -patchPackages +setPackagesVariables prepareSDKBinary prepareSDKRepository -revertPatchPackages +unsetPackagesVariables prepareMinistroRepository popd diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index 55ddec5..2b5d745 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -12,7 +12,8 @@ SDKMaintenanceTool - http://files.kde.org/necessitas/sdk + + file:///tmp/www/necessitas/sdk true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index ba4d66c..2fd0ed2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@VERSION@@ for Android armv5", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv5", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index 709cd7d..3bb6a48 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62-armeabi + Qt @@NECESSITAS_QT_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 4.7.62 - 2011-04-09 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.armeabi 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index 413526e..e206cf5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@VERSION@@ for Android armv7", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index d8dc2e6..27ebe6c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62-armeabi_v7a + Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 4.7.62 - 2011-04-09 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.armeabi_v7a 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index aa86ce5..bd8c176 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qt-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qt-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 131f16a..452496a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62-src + Qt @@NECESSITAS_QT_VERSION@@-src Development libraries for development applications on Android devices, source package. - 4.7.62 - 2011-04-09 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.src 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml index 075676f..b17ac22 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml @@ -3,7 +3,7 @@ Qt Qt 1.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.android.qt 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 2f78bd6..0d1e8d2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index 3896c0c..a98fbe6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,11 +1,12 @@ - QtMobility 1.2.0-armeabi + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 1.2.0 - 2011-04-09 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi org.kde.necessitas.android.qt.armeabi + org.kde.necessitas.android.qtwebkit.armeabi 2 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index c91301b..46d4814 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index 50b19d7..d149833 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,11 +1,12 @@ - QtMobility 1.2.0-armeabi_v7a + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 1.2.0 - 2011-04-09 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a + org.kde.necessitas.android.qtwebkit.armeabi_v7a 2 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 2f40839..dd74ef8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtmobility-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml index 0359b4c..93ee668 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility 1.2.0-src + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-src Development libraries for development applications on Android devices, source package. - 1.2.0 - 2011-04-09 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.src 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml index 80cbf76..1f57a4b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml @@ -3,7 +3,7 @@ QtMobility QtMobility 1.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.android.qtmobility 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index f42c430..a8caf6e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index 0d831ba..cd96408 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.0-armeabi + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 2.1.0 - 2011-04-09 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index f646f58..ce7cea1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index b019784..49380c8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.0-armeabi_v7a + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 2.1.0 - 2011-04-09 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 9b843fb..3da79d2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@COMPACT_VERSION@@/qtwebkit-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml index 3c37c2b..df19fb8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.0-src + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-src Development libraries for development applications on Android devices, source package. - 2.1.0 - 2011-04-09 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.src 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml index 91f69fd..95675af 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml @@ -3,7 +3,7 @@ QtWebkit QtWebkit 1.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.android.qtwebkit 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml index 5b5aa1b..bece9ff 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml @@ -3,7 +3,7 @@ Android Android 1.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.android 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml index 0903de8..e55961b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml @@ -3,10 +3,9 @@ Android custom gdb-7.2 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.2.50.20110211 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_7_2 99999 95 - true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml index e83aa25..3ae23bd 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -3,7 +3,7 @@ Android custom gdb-7.3 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.3.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_7_3 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs deleted file mode 100644 index 7882111..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/installscript.qs +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-ndk-r5b-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-ndk-r5b-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-ndk-r5b-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set NDK Location - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKLocation", - "@TargetDir@/android-ndk-r5b" ); - // set NDK toolchain version - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKToolchainVersion", - "arm-linux-androideabi-4.4.3" ); - - // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; - var gdbserverPath = gdbPath+"gdbserver"; - if (installer.value("os") == "x11") - { - gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; - } - else if (installer.value("os") == "win") - { - gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; - } - else if (installer.value("os") == "mac") - { - gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbserverLocation", - gdbserverPath ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml deleted file mode 100644 index fc4fe73..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5b/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android NDK-r5b - Android NDK-r5b - 5.0.0-b - 2011-04-09 - org.kde.necessitas.misc.ndk.r5b - - org.kde.necessitas.tools.qtcreator - 90 - 90 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml index 7ce9c98..3a72bed 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml @@ -3,6 +3,6 @@ Android NDK Android NDK. 1.0.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.misc.ndk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index c783295..201d26a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.3.3_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.3.3_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 15fe95c..5ca0e04 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -1,9 +1,9 @@ API 10 - Android SDK API 10 (2.3.3-r01) - 2.3.3.1 - 2011-04-09 + Android SDK API 10 (@@ANDROID_API_10_VERSION@@) + @@ANDROID_API_10_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_10 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index d388524..798b6f9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-3.0_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-3.0_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index 63898af..a09fadf 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -1,9 +1,9 @@ API 11 - Android SDK API 11 (3.0-r01) - 3.0.1 - 2011-04-09 + Android SDK API 11 (@@ANDROID_API_11_VERSION@@) + @@ANDROID_API_11_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_11 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs new file mode 100644 index 0000000..037c11c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs @@ -0,0 +1,42 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml new file mode 100644 index 0000000..e4b0565 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml @@ -0,0 +1,11 @@ + + + API 12 + Android SDK API 12 (@@ANDROID_API_12_VERSION@@) + @@ANDROID_API_12_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.sdk.android_12 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs index 671df42..f267489 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-1.6_r03-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-1.6_r03-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-1.6_r03-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index 7c265b0..240443d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -1,9 +1,9 @@ API 4 - Android SDK API 4 (1.6-r03) - 1.6.3 - 2011-04-09 + Android SDK API 4 (@@ANDROID_API_4_VERSION@@) + @@ANDROID_API_4_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_4 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs index a2284e8..029bfdd 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.0_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.0_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.0_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index 4ca7708..3fc687c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,9 +1,9 @@ API 5 (deprecated) - Android SDK API 5 (2.0-r01), Deprecated ! - 2.0.1 - 2011-04-09 + Android SDK API 5 (@@ANDROID_API_5_VERSION@@), Deprecated ! + @@ANDROID_API_5_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_5 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs index bfff83f..527cbe7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.0.1_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.0.1_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.0.1_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 3305b61..983d20b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,9 +1,9 @@ API 6 (deprecated) - Android SDK API 6 (2.0.1-r01) Deprecated ! - 2.0.1.1 - 2011-04-09 + Android SDK API 6 (@@ANDROID_API_6_VERSION@@) Deprecated ! + @@ANDROID_API_6_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_6 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs index 762f58f..7e369f4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.1_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.1_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.1_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index 0b868bf..c107f46 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,9 +1,9 @@ - API 7 (deprecated) - Android SDK API 7 (2.1-r02) Deprecated ! - 2.1.2 - 2011-04-09 + API 7 + Android SDK API 7 (@@ANDROID_API_7_VERSION@@) + @@ANDROID_API_7_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_7 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index c1e4619..317d11b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.2_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.2_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.2_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index c107234..a597d1f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -1,9 +1,9 @@ API 8 - Android SDK API 8 (2.2-r02) - 2.2.2 - 2011-04-09 + Android SDK API 8 (@@ANDROID_API_8_VERSION@@) + @@ANDROID_API_8_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_8 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index a707032..6b3a0c7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.3.1_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.3.1_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index d87e1b7..b6384c9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,9 +1,9 @@ API 9 (depercated) - Android SDK API 9 (2.3.1-r02) Depercated ! - 2.3.1.2 - 2011-04-09 + Android SDK API 9 (@@ANDROID_API_9_VERSION@@) Depercated ! + @@ANDROID_API_9_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_9 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index 19c6830..b02c7df 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -1,9 +1,9 @@ - Base package - Android SDK base package - 10.0.0 - 2011-04-09 + Base package @@ANDROID_SDK_VERSION@@ + Android SDK base package @@ANDROID_SDK_VERSION@@ + @@ANDROID_SDK_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs index 9f1fd34..7295246 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -22,16 +22,16 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "platform-tools_r03-linux.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "platform-tools_r03-windows.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-windows.7z" ); component.addDownloadableArchive( "android-sdk-windows-tools-mingw-android.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "platform-tools_r03-macosx.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index 235c212..1980a65 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -1,9 +1,9 @@ - Platform tools - Android SDK platform tools package - 10.0.0 - 2011-04-09 + Platform tools @@ANDROID_PLATFORM_TOOLS_VERSION@@ + Android SDK platform tools package @@ANDROID_PLATFORM_TOOLS_VERSION@@ + @@ANDROID_PLATFORM_TOOLS_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.platform_tools org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml index 686544d..9737d5b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml @@ -3,6 +3,6 @@ Android SDK Android SDK. 1.0.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.misc.sdk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml index c8fa0d1..15213b7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml @@ -3,7 +3,7 @@ Miscellaneous Tools and Applications to ease development. 1.0.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.misc 90 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml index 0725666..ee94558 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -2,8 +2,8 @@ Necessitas Qt Creator Application The IDE for Qt development on Android devices. - 2.2.0 - 2011-05-24 + @@NECESSITAS_QT_CREATOR_VERSION@@ + @@TODAY@@ org.kde.necessitas.tools.qtcreator true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml index 26c1754..ac3a1d5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml @@ -3,7 +3,7 @@ Development Tools Tools to develop Qt applications on Android devices. 1.0.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas.tools 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs index 52a51ca..9e01985 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs @@ -105,33 +105,33 @@ adjustToDefaultSelection = function() { installer.componentByName("org.kde.necessitas.android.qt.src").selected = false; } + if (installer.componentByName("org.kde.necessitas.android.qtmobility.src") != null && installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected) { installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected = false; } + if (installer.componentByName("org.kde.necessitas.android.qtwebkit.src") != null && installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected) { installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected = false; } + // deselect all deprecated packages by default if (installer.componentByName("org.kde.necessitas.misc.sdk.android_5") != null && installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected) { installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected = false; } + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_6") != null && installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected) { installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected = false; } - if (installer.componentByName("org.kde.necessitas.misc.sdk.android_7") != null && - installer.componentByName("org.kde.necessitas.misc.sdk.android_7").selected) - { - installer.componentByName("org.kde.necessitas.misc.sdk.android_7").selected = false; - } + if (installer.componentByName("org.kde.necessitas.misc.sdk.android_9") != null && installer.componentByName("org.kde.necessitas.misc.sdk.android_9").selected) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml index c3a4cbd..e63a842 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -3,7 +3,7 @@ Necessitas Qt SDK Meta package needed to install the SDK 1.0.0 - 2011-04-09 + @@TODAY@@ org.kde.necessitas 1 diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index f7cdc0e..37abec8 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -1,9 +1,22 @@ -NECESSITAS_QT_VERSION=4762 #Necessitas Qt Framework Version -NECESSITAS_QT_VERSION_LONG="4.7.62" #Necessitas Qt Framework Long Version MINISTRO_VERSION="0.2" #Ministro repo version -HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 -BUILD_ANDROID_GIT_NDK=0 -ANDROID_NDK_VERSION=r5b +HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 # Qt which is used to buil QtCreator and the SDK installer + +NECESSITAS_QT_CREATOR_VERSION="2.2.0.1" + +# Qt Framework versions +NECESSITAS_QT_VERSION_SHORT=4762 #Necessitas Qt Framework Version +NECESSITAS_QT_VERSION="4.7.62.1" #Necessitas Qt Framework Long Version + +NECESSITAS_QTWEBKIT_VERSION="2.1.1" #Necessitas QtWebkit Version + +NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version + +# NDK variables +BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources +ANDROID_NDK_MAJOR_VERSION=r5 # NDK major version, used by package name +ANDROID_NDK_VERSION=r5c # NDK full package version + +# SDK variables ANDROID_SDK_VERSION=r11 ANDROID_PLATFORM_TOOLS_VERSION=r04 ANDROID_API_4_VERSION=1.6_r03 @@ -14,4 +27,4 @@ ANDROID_API_8_VERSION=2.2_r02 ANDROID_API_9_VERSION=2.3.1_r02 ANDROID_API_10_VERSION=2.3.3_r01 ANDROID_API_11_VERSION=3.0_r01 -ANDROID_API_12_VERSION=r01 +ANDROID_API_12_VERSION=3.1_r01 -- cgit v1.2.3 From 87e6096113665a2d3e54699e1c8ef8500b53e0c9 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 8 Jun 2011 16:44:45 +0300 Subject: Add .commit-template file --- .commit-template | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .commit-template diff --git a/.commit-template b/.commit-template new file mode 100644 index 0000000..d40f63b --- /dev/null +++ b/.commit-template @@ -0,0 +1,34 @@ +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# +# You MUST wrap all lines at 72 characters. +# Please see http://techbase.kde.org/Policies/Commit_Policy +# +# ==[ Subject: One line only short meaningful description for logs ]===| + +# ==[ Blank: Follow the Subject with a blank line, do NOT remove ]=====| + +# ==[ Details: Describe what changed and explain why it changed]=======| + + +# ==[ Fields: Uncomment and edit where applicable ]====================| +# +# --[ Close bug in bugs.kde.org as fixed ]-----------------------------| +#BUG: +#FIXED-IN: +# +# --[ Add to release changelog optionally close wish in bugs.kde.org ]-| +#FEATURE: +#FIXED-IN: +# +# --[ Copy commit message to a bug or wish in bugs.kde.org ]-----------| +#CCBUG: +# +# --[ Copy commit message to an email address ]------------------------| +#CCMAIL: +# +# --[ Close a review on git.reviewboard.kde.org as submitted ]---------| +#REVIEW: +# +# --[ Notify Commit Digest team of something interesting ]-------------| +#DIGEST: -- cgit v1.2.3 From 28d051d4a86405003533e100e2efade9d15a118b Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 8 Jun 2011 16:46:27 +0300 Subject: Fix indentation --- Necessitas_SDK/build_sdk.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index df09354..f0c9de2 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -418,7 +418,7 @@ function makeInstallMinGWBits CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 make && make DESTDIR=$install_dir install popd - + # awk command fails during configure (I think). downloadIfNotExists regex-2.7-src.zip http://downloads.sourceforge.net/sourceforge/gnuwin32/regex/2.7/regex-2.7-src.zip unzip regex-2.7-src.zip @@ -666,7 +666,7 @@ function prepareGDB fi $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT - # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? + # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? # TODOMA :: Fix the real problem. unset PYTHONHOME unset PYTHONPATH @@ -707,7 +707,7 @@ function prepareGDB $SDK_TOOLS_PATH/archivegen gdb-$GDB_VER gdb-$GDB_VER-${HOST_TAG}.7z mkdir -p $package_path - + mv gdb-${GDB_VER}-${HOST_TAG}.7z $package_path/ popd #gdb-build @@ -741,14 +741,14 @@ function prepareGDBServer mkdir android-sysroot $CPRL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" - # Fix gdbserver bug by using a Gingerbread version of libc.a - # 'The remote end hung up.' + # Fix gdbserver bug by using a Gingerbread version of libc.a + # 'The remote end hung up.' # git archive --remote=git://android.git.kernel.org/platform/development.git HEAD:ndk/platforms/android-3/arch-arm/lib libc.a | tar -x - downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a%5E0 - cp libc.a%5E0 libc.zip - rm libc_new-*.a - unzip libc.zip - mv libc_new-*.a android-sysroot/usr/lib/libc.a + downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a%5E0 + cp libc.a%5E0 libc.zip + rm libc_new-*.a + unzip libc.zip + mv libc_new-*.a android-sysroot/usr/lib/libc.a rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h -- cgit v1.2.3 From 70949e3231cad77ab179a5bf66e812b847239acc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 8 Jun 2011 16:47:05 +0300 Subject: No gdb 7.3 for this release --- Necessitas_SDK/build_sdk.sh | 2 +- .../meta/installscript.qs | 74 ---------------------- .../meta/package.xml | 12 ---- 3 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f0c9de2..48ef9ba 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1432,7 +1432,7 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -prepareGDBVersion 7.3 +# prepareGDBVersion 7.3 prepareGDBVersion 7.2 prepareSDKs prepareNecessitasQtCreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs deleted file mode 100644 index 404e972..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdbserver-7.3.7z" ); - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "gdb-7.3-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "gdb-7.3-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "gdb-7.3-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var gdbPath = "@TargetDir@/gdb-7.3/gdb"; - var gdbserverPath = "@TargetDir@/gdbserver-7.3/gdbserver"; - var pythonPath="@TargetDir@/gdb-7.3/python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbserverLocation", - gdbserverPath ); - - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - "@TargetDir@/gdb-7.3/python" ); - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", "@TargetDir@/gdb-7.3/python/lib/python2.7/compileall.py", - "-f", "@TargetDir@/gdb-7.3/python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml deleted file mode 100644 index 3ae23bd..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android custom gdb-7.3 - Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb - 7.3.0 - @@TODAY@@ - org.kde.necessitas.misc.ndk.gdb_7_3 - - 99999 - 94 - false - -- cgit v1.2.3 From 89d14198eec8bce8750c4026c14a5605fbd82fd6 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 8 Jun 2011 16:49:16 +0300 Subject: Revert "No gdb 7.3 for this release" Birng back gdb 7.3 for next release This reverts commit 70949e3231cad77ab179a5bf66e812b847239acc. --- Necessitas_SDK/build_sdk.sh | 2 +- .../meta/installscript.qs | 74 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 48ef9ba..f0c9de2 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1432,7 +1432,7 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -# prepareGDBVersion 7.3 +prepareGDBVersion 7.3 prepareGDBVersion 7.2 prepareSDKs prepareNecessitasQtCreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs new file mode 100644 index 0000000..404e972 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs @@ -0,0 +1,74 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdbserver-7.3.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "gdb-7.3-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "gdb-7.3-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "gdb-7.3-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var gdbPath = "@TargetDir@/gdb-7.3/gdb"; + var gdbserverPath = "@TargetDir@/gdbserver-7.3/gdbserver"; + var pythonPath="@TargetDir@/gdb-7.3/python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); + + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + "@TargetDir@/gdb-7.3/python" ); + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", "@TargetDir@/gdb-7.3/python/lib/python2.7/compileall.py", + "-f", "@TargetDir@/gdb-7.3/python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml new file mode 100644 index 0000000..3ae23bd --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -0,0 +1,12 @@ + + + Android custom gdb-7.3 + Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb + 7.3.0 + @@TODAY@@ + org.kde.necessitas.misc.ndk.gdb_7_3 + + 99999 + 94 + false + -- cgit v1.2.3 From 2c27f041fd03fb7fde1d70083029fb0c63ab2f55 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 9 Jun 2011 08:57:31 +0100 Subject: GDB 7.3 works, gdbtui included too now. --- Necessitas_SDK/build_sdk.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f0c9de2..2dd13ef 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -647,7 +647,7 @@ function prepareGDB pushd Python-$pyfullversion mkdir -p $target_dir/python/lib cp LICENSE $target_dir/PYTHON-LICENSE - cp libpython$pyversion.dll $target_dir/ + cp libpython$pyversion$SHLIB_EXT $target_dir/ popd export PATH=$OLDPATH cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ @@ -689,8 +689,8 @@ function prepareGDB CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ + cp -a gdb/gdbtui$EXE_EXT $target_dir/ # Fix building gdb-tui, it used to work and was handy to have. - # cp -a gdb/gdb-tui$EXE_EXT $target_dir/ $STRIP $target_dir/gdb$EXE_EXT export PATH=$OLDPATH popd @@ -1432,8 +1432,8 @@ SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin prepareHostQt prepareSdkInstallerTools prepareNDKs -prepareGDBVersion 7.3 prepareGDBVersion 7.2 +prepareGDBVersion 7.3 prepareSDKs prepareNecessitasQtCreator prepareNecessitasQt -- cgit v1.2.3 From ea65d968ac4679fb6a3f0afb9667cc58cefba6db Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 9 Jun 2011 12:16:01 +0300 Subject: Change r5b with ${ANDROID_NDK_VERSION} Fix ndk-r5c usage --- Necessitas_SDK/build_ndk.sh | 0 Necessitas_SDK/build_sdk.sh | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) mode change 100755 => 100644 Necessitas_SDK/build_ndk.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh old mode 100755 new mode 100644 diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2dd13ef..2af838a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -686,7 +686,7 @@ function prepareGDB pushd gdb-src/build-gdb-$GDB_VER OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ cp -a gdb/gdbtui$EXE_EXT $target_dir/ @@ -723,7 +723,7 @@ function prepareGDBServer return fi - export NDK_DIR=$TEMP_PATH/android-ndk-r5b + export NDK_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} mkdir gdb-build pushd gdb-build @@ -740,7 +740,7 @@ function prepareGDBServer pushd gdb-src/build-gdbserver-$GDB_VER mkdir android-sysroot - $CPRL $TEMP_PATH/android-ndk-r5b/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" + $CPRL $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" # Fix gdbserver bug by using a Gingerbread version of libc.a # 'The remote end hung up.' # git archive --remote=git://android.git.kernel.org/platform/development.git HEAD:ndk/platforms/android-3/arch-arm/lib libc.a | tar -x @@ -752,17 +752,17 @@ function prepareGDBServer rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi OLD_CC="$CC" OLD_CFLAGS="$CFLAGS" OLD_LDFLAGS="$LDFLAGS" export CC="$TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot" - export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" + export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" - LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-r5b/sources/android/libthread_db/gdb-7.1.x/ + LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x/ cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" $GDB_ROOT_PATH/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" @@ -990,7 +990,7 @@ function compileNecessitasQt if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-r5b -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 2a80534429f4e700b24c7cc5f28356bbc83a35a6 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 9 Jun 2011 14:25:54 +0300 Subject: copy make.exe to QtCreator/bin folder --- Necessitas_SDK/build_sdk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2af838a..b96cc10 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -869,7 +869,8 @@ function prepareSDKs gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O2 -o android.exe popd mkdir -p android-sdk-windows/tools/ - cp android-various/make-3.82-build/make.exe android-sdk-windows/tools/ + mkdir -p QtCreator/bin/ + cp android-various/make-3.82-build/make.exe QtCreator/bin/ cp android-various/android-sdk/android.exe android-sdk-windows/tools/ $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk-windows-tools-mingw-android.7z mv android-sdk-windows-tools-mingw-android.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z -- cgit v1.2.3 From 7402e509bcc4a898a336dc52de30c7e35d6b0d3b Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 9 Jun 2011 15:04:34 +0300 Subject: Forgot to add ndk files --- .../meta/installscript.qs | 81 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 2 files changed, 93 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs new file mode 100644 index 0000000..089af39 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs @@ -0,0 +1,81 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set NDK Location + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKLocation", + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + // set NDK toolchain version + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKToolchainVersion", + "arm-linux-androideabi-4.4.3" ); + + // set DEFAULT gdb location + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbserverPath = gdbPath+"gdbserver"; + if (installer.value("os") == "x11") + { + gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; + } + else if (installer.value("os") == "win") + { + gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; + } + else if (installer.value("os") == "mac") + { + gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml new file mode 100644 index 0000000..202ee20 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml @@ -0,0 +1,12 @@ + + + Android NDK-@@ANDROID_NDK_VERSION@@ + Android NDK-@@ANDROID_NDK_VERSION@@ + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.ndk.r5 + + org.kde.necessitas.tools.qtcreator + 90 + 90 + -- cgit v1.2.3 From 85f80d60900293824a8474a35db0edea7ae06791 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 12 Jun 2011 18:11:03 +0100 Subject: Use curl instead of wget on Mac OS X (as its installed either by default or with xcode). --- Necessitas_SDK/build_sdk.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b96cc10..b2c6a6e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -101,11 +101,16 @@ function removeAndExit rm -fr $1 && error_msg "Can't download $1" } + function downloadIfNotExists { if [ ! -f $1 ] then - wget --no-check-certificate -c $2 || removeAndExit $1 + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + curl --insecure -S -L -C - -O $2 || removeAndExit $1 + else + wget --no-check-certificate -c $2 || removeAndExit $1 + fi fi } @@ -744,8 +749,8 @@ function prepareGDBServer # Fix gdbserver bug by using a Gingerbread version of libc.a # 'The remote end hung up.' # git archive --remote=git://android.git.kernel.org/platform/development.git HEAD:ndk/platforms/android-3/arch-arm/lib libc.a | tar -x - downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a%5E0 - cp libc.a%5E0 libc.zip + downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a^0 + cp libc.a^0 libc.zip rm libc_new-*.a unzip libc.zip mv libc_new-*.a android-sysroot/usr/lib/libc.a @@ -1074,7 +1079,7 @@ function compileNecessitasQtMobility pushd ../qtmobility-src git checkout master popd - ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From fce19173868b26ba5ab5b17793caab998d1f62b9 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 14 Jun 2011 01:23:38 +0100 Subject: Fixes for Windows build. Going to create a feature branch for some more. --- Necessitas_SDK/build_sdk.sh | 161 ++++++++++++++++++++++++++++++-------------- 1 file changed, 110 insertions(+), 51 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b2c6a6e..ea9f4c4 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -106,7 +106,7 @@ function downloadIfNotExists { if [ ! -f $1 ] then - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "msys" ] ; then curl --insecure -S -L -C - -O $2 || removeAndExit $1 else wget --no-check-certificate -c $2 || removeAndExit $1 @@ -156,37 +156,6 @@ function doSed function prepareHostQt { # download, compile & install qt, it is used to compile the installer - if [ "$OSTYPE" = "msys" ] - then - downloadIfNotExists 7za920.zip http://downloads.sourceforge.net/sevenzip/7za920.zip - SEVEN7LOC=$PWD - pushd /usr/local/bin - unzip -o $SEVEN7LOC/7za920.zip - popd - - # Get a more recent sed, one that can do -i. - downloadIfNotExists sed-4.2.1-2-msys-1.0.13-bin.tar.lzma http://downloads.sourceforge.net/project/mingw/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma - rm -rf sed-4.2.1-2-msys-1.0.13-bin.tar - rm /usr/bin/sed.exe - 7za x sed-4.2.1-2-msys-1.0.13-bin.tar.lzma - tar -xvf sed-4.2.1-2-msys-1.0.13-bin.tar - mv bin/sed.exe /usr/bin - - # download, compile & install zlib to /usr - downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz - if [ ! -f /usr/lib/libz.a ] ; then - tar -xvzf zlib-1.2.5.tar.gz - cd zlib-1.2.5 - doSed $"s/usr\/local/usr/" win32/Makefile.gcc - make -f win32/Makefile.gcc - export INCLUDE_PATH=/usr/include - export LIBRARY_PATH=/usr/lib - make -f win32/Makefile.gcc install - rm -rf zlib-1.2.5 - cd .. - fi - fi - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then if [ ! -d $HOST_QT_VERSION ] @@ -359,39 +328,125 @@ function prepareNecessitasQtCreator popd } -function makeInstallMinGWBits +# A few things are downloaded as binaries. +function makeInstallMinGWTools { - install_dir=$1 + if [ -d mingw-bits ] ; then + return + fi + + mkdir -p /usr/local/bin mkdir mingw-bits pushd mingw-bits + # Tools. Maybe move these bits to setup_mingw_for_necessitas_build.sh? + MAKETEST=`which mingw32-make.exe` + if [ "$MAKETEST" != "" ] ; then + cp $MAKETEST /usr/local/bin/mingw-make.exe + else + error_msg "Can't find mingw-make" + fi + + downloadIfNotExists unzip60.tar.gz http://ovh.dl.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz + tar -xvzf unzip60.tar.gz + pushd unzip60 + /usr/local/bin/mingw-make.exe -f win32/Makefile.gcc + cp unzip.exe /usr/local/bin + popd + + downloadIfNotExists 7za920.zip http://downloads.sourceforge.net/sevenzip/7za920.zip + SEVEN7LOC=$PWD + pushd /usr/local/bin + unzip -o $SEVEN7LOC/7za920.zip + popd + + downloadIfNotExists make-3.81-3-msys-1.0.13-bin.tar.lzma http://freefr.dl.sourceforge.net/project/mingw/MSYS/make/make-3.81-3/make-3.81-3-msys-1.0.13-bin.tar.lzma + rm -rf make-3.81-3-msys-1.0.13-bin.tar + 7za x make-3.81-3-msys-1.0.13-bin.tar.lzma + tar -xvf make-3.81-3-msys-1.0.13-bin.tar + mv bin/make.exe /usr/local/bin/make.exe + + # This one needs msys-intl-8.dll, however, it's likely that we *have* to use msys sed, + # see http://www.mingw.org/wiki/msys and search for "MinGW build VS MSYS build". + + downloadIfNotExists libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma http://dfn.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/libiconv/libiconv-1.13.1-2/libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma + rm -rf libiconv-1.13.1-2-msys-1.0.13-dll-2.tar + 7za x libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma + tar -xvf libiconv-1.13.1-2-msys-1.0.13-dll-2.tar + mv bin/msys-iconv-2.dll /usr/local/bin + +# downloadIfNotExists gettext-0.17-2-msys-1.0.13-bin.tar.lzma http://kent.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/gettext/gettext-0.17-2/gettext-0.17-2-msys-1.0.13-bin.tar.lzma +# rm -rf gettext-0.17-2-msys-1.0.13-bin.tar +# 7za x gettext-0.17-2-msys-1.0.13-bin.tar.lzma +# tar -xvf gettext-0.17-2-msys-1.0.13-bin.tar +# mv bin/msys-intl-8.dll /usr/local/bin + downloadIfNotExists libintl-0.17-2-msys-dll-8.tar.lzma http://sunet.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/gettext/gettext-0.17-2/libintl-0.17-2-msys-dll-8.tar.lzma + rm -rf libintl-0.17-2-msys-dll-8.tar + 7za x libintl-0.17-2-msys-dll-8.tar.lzma + tar -xvf libintl-0.17-2-msys-dll-8.tar + mv bin/msys-intl-8.dll /usr/local/bin + + downloadIfNotExists sed-4.2.1-2-msys-1.0.13-bin.tar.lzma http://downloads.sourceforge.net/project/mingw/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma + rm -rf sed-4.2.1-2-msys-1.0.13-bin.tar + 7za x sed-4.2.1-2-msys-1.0.13-bin.tar.lzma + tar -xvf sed-4.2.1-2-msys-1.0.13-bin.tar + rm /usr/bin/sed.exe + mv bin/sed.exe /usr/local/bin + downloadIfNotExists autoconf-2.68.tar.bz2 http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.bz2 rm -rf autoconf-2.68 tar -xvjf autoconf-2.68.tar.bz2 - pushd autoconf-2.68 - ./configure -prefix=/usr/local - make - make install + mkdir autoconf-2.68-build + pushd autoconf-2.68-build + ../autoconf-2.68/configure -prefix=/usr/local + msys-make + msys-make install popd - downloadIfNotExists automake-1.10.3.tar.bz2 http://ftp.gnu.org/gnu/automake/automake-1.10.3.tar.bz2 - rm -rf automake-1.10.3 - tar -xvjf automake-1.10.3.tar.bz2 - pushd automake-1.10.3 - ./configure -prefix=/usr/local - make - make install - popd + # make install loops forever. +# downloadIfNotExists automake-1.10.3.tar.bz2 http://ftp.gnu.org/gnu/automake/automake-1.10.3.tar.bz2 +# rm -rf automake-1.10.3 +# tar -xvjf automake-1.10.3.tar.bz2 +# mkdir automake-1.10.3-build +# pushd automake-1.10.3-build +# ../automake-1.10.3/configure -prefix=/usr/local +# make +# make install +# popd downloadIfNotExists libtool-2.4.tar.gz http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz rm -rf libtool-2.4 tar -xvzf libtool-2.4.tar.gz - pushd libtool-2.4 - ./configure -prefix=/usr/local + mkdir libtool-2.4-build + pushd libtool-2.4-build + ../libtool-2.4/configure -prefix=/usr/local make make install popd + popd +} + +function makeInstallMinGWLibs +{ + pushd mingw-bits + + # download, compile & install zlib to /usr + downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz + if [ ! -f /usr/lib/libz.a ] ; then + tar -xvzf zlib-1.2.5.tar.gz + cd zlib-1.2.5 + doSed $"s/usr\/local/usr/" win32/Makefile.gcc + make -f win32/Makefile.gcc + export INCLUDE_PATH=/usr/include + export LIBRARY_PATH=/usr/lib + make -f win32/Makefile.gcc install + rm -rf zlib-1.2.5 + cd .. + fi + + install_dir=$1 + downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz rm -rf PDCurses-3.4 tar -xvzf PDCurses-3.4.tar.gz @@ -594,9 +649,9 @@ function prepareGDB tar xjvf Python-$pyfullversion.tar.bz2 USINGMAPYTHON=0 else -# if [ "$OSTYPE" = "msys" ]; then -# makeInstallMinGWBits $install_dir -# fi + if [ "$OSTYPE" = "msys" ]; then + makeInstallMinGWLibs $install_dir + fi rm -rf Python-$pyfullversion git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion USINGMAPYTHON=1 @@ -1435,6 +1490,10 @@ function prepareWindowsPackages # This is needed early. SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin +if [ "$OSTYPE" = "msys" ]; then + makeInstallMinGWTools $install_dir +fi + prepareHostQt prepareSdkInstallerTools prepareNDKs -- cgit v1.2.3 From 17de70d80850d9aa09246d040fb055ea3f4e1766 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 15 Jun 2011 22:46:20 +0800 Subject: Add forgotten files --- Ministro/res/layout/repoconfig.xml | 20 ++++++++++++++++++++ Ministro/res/values/arrays.xml | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 Ministro/res/layout/repoconfig.xml create mode 100644 Ministro/res/values/arrays.xml diff --git a/Ministro/res/layout/repoconfig.xml b/Ministro/res/layout/repoconfig.xml new file mode 100644 index 0000000..c14b515 --- /dev/null +++ b/Ministro/res/layout/repoconfig.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/Ministro/res/values/arrays.xml b/Ministro/res/values/arrays.xml new file mode 100644 index 0000000..a02e6a6 --- /dev/null +++ b/Ministro/res/values/arrays.xml @@ -0,0 +1,8 @@ + + + + stable + testing + unstable + + -- cgit v1.2.3 From 59ed22a9cf854f5c6fbdb1a2c293319e40887fa0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 25 Jun 2011 15:30:05 +0100 Subject: Host gdb, Windows build fixes (also tested on OS X) make.exe placed in QtCreator bin folder Build host gdb 7.2 and 7.3 and add package metadata Switch back to wget on Windows Use Mingw make.exe for building mostly everything; includes jobserver patches (Temp) MinGW make.exe isn't built by build_sdk.sh, downloaded from google code (libintl-8.dll getting found issue) Optional, disabled debug host builds (makes package-d.7z) Added bootstrapping VBS and shell script for MinGW d2u --- Necessitas_SDK/BootstrapMinGWAndroid.vbs | 64 +++ Necessitas_SDK/build_sdk.sh | 480 ++++++++++----------- .../meta/installscript.qs | 75 ++++ .../meta/package.xml | 12 + .../meta/installscript.qs | 75 ++++ .../meta/package.xml | 12 + Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 40 ++ 7 files changed, 512 insertions(+), 246 deletions(-) create mode 100644 Necessitas_SDK/BootstrapMinGWAndroid.vbs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml create mode 100644 Necessitas_SDK/setup_mingw_for_necessitas_build.sh diff --git a/Necessitas_SDK/BootstrapMinGWAndroid.vbs b/Necessitas_SDK/BootstrapMinGWAndroid.vbs new file mode 100644 index 0000000..19e5d4e --- /dev/null +++ b/Necessitas_SDK/BootstrapMinGWAndroid.vbs @@ -0,0 +1,64 @@ +' This script sets up a MinGW and MSYS environment ready for Necessitas compilation +' It's a bit different from a 'normal' MinGW environment in that most of MSYS ends +' up in /usr/local (everything except the actual batch file). +dim WshShell +set WshShell = WScript.CreateObject("WScript.Shell") +WshShell.CurrentDirectory = WshShell.ExpandEnvironmentStrings("%TEMP%") + +function downloadHTTP(sourceUrl,destFilepath) + dim xmlhttp + set xmlhttp=createobject("MSXML2.XMLHTTP.3.0") + 'xmlhttp.SetOption 2, 13056 'If https -> Ignore all SSL errors + xmlhttp.Open "GET", sourceUrl, false + xmlhttp.Send + Wscript.Echo "Download-Status: " & xmlhttp.Status & " " & xmlhttp.statusText + if xmlhttp.Status = 200 then + dim objStream + set objStream = CreateObject("ADODB.Stream") + objStream.Type = 1 'adTypeBinary + objStream.Open + objStream.Write xmlhttp.responseBody + objStream.SaveToFile destFilepath, 2 + objStream.Close + end if +end function + +function run(ByVal command) + dim shell + set shell = CreateObject("WScript.Shell") + shell.Run command, 1, true +end function + +function copy(source,dest) + dim FSO + set FSO = CreateObject("Scripting.FileSystemObject") + FSO.CopyFile source, dest +end function + +function move(source,dest) + dim FSO + set FSO = CreateObject("Scripting.FileSystemObject") + if FSO.FolderExists(source) then + FSO.MoveFolder source, dest + end if +end function + +minGWInstaller=WshShell.CurrentDirectory & "\mingw-get-inst-20110530.exe" +'gitInstaller=WshShell.CurrentDirectory & "\Git-1.7.4-preview20110204.exe" +wgetExe=WshShell.CurrentDirectory & "\wget.exe" +downloadHTTP "http://kent.dl.sourceforge.net/project/mingw/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110530/mingw-get-inst-20110530.exe", minGWInstaller +'downloadHTTP "http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe", gitInstaller +downloadHTTP "http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe", wgetExe +'msgbox "Launching Windows Git installer, install to C:\usr" +'run gitInstaller +msgbox "Launching MinGW installer, Use pre-packaged repository," & vbcrlf & "install to C:\usr," & vbcrlf & "select C and C++ compilers," & vbcrlf & "MSYS Basic System and MinGW Developer Toolkit" +run minGWInstaller +copy wgetExe,"C:\usr\bin\wget.exe" +run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr" +'run "cmd /c mkdir C:\usr\local" +'run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr\local" +'run "cmd /c xcopy /S /R /Y C:\usr\local\msys.bat C:\usr\" +'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\sh.exe C:\usr\bin" +'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\msys-1.0.exe C:\usr\bin" +'run "cmd /c del /F /Q C:\usr\local\msys.bat" +'run "cmd /c del /F /Q /S C:\usr\msys" diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ea9f4c4..30f8c5e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -62,16 +62,17 @@ EXE_EXT="" export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -release -prefix . " + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -prefix . " HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe SHLIB_EXT=.dll SCRIPT_EXT=.bat - JOBS=9 + SEVENZIP=7za + JOBS=`expr $NUMBER_OF_PROCESSORS + 1` else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa -release -prefix . " + HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa -prefix . " HOST_QM_CFG_OPTIONS="CONFIG+=x86 CONFIG+=x86_64" # -reduce-exports doesn't work for static Mac OS X i386 build. # (ld: bad codegen, pointer diff in fulltextsearch::clucene::QHelpSearchIndexReaderClucene::run() to global weak symbol vtable for QtSharedPointer::ExternalRefCountDatafor architecture i386) @@ -79,12 +80,14 @@ else HOST_TAG=darwin-x86 HOST_TAG_NDK=darwin-x86 SHLIB_EXT=.dylib + SEVENZIP=7za JOBS=9 else - HOST_CFG_OPTIONS=" -platform linux-g++ -developer-build " + HOST_CFG_OPTIONS=" -platform linux-g++ " HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 SHLIB_EXT=.so + SEVENZIP=7za JOBS=`cat /proc/cpuinfo | grep processor | wc -l` JOBS=`expr $JOBS + 2` fi @@ -106,8 +109,8 @@ function downloadIfNotExists { if [ ! -f $1 ] then - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "msys" ] ; then - curl --insecure -S -L -C - -O $2 || removeAndExit $1 + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + curl --insecure -S -L -O $2 || removeAndExit $1 else wget --no-check-certificate -c $2 || removeAndExit $1 fi @@ -116,16 +119,20 @@ function downloadIfNotExists function doMake { + MAKEPROG=make if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then if [ "$OSTYPE" = "msys" ] ; then MAKEDIR=`pwd -W` MAKEFOREVER=1 + if [ ! -z $3 ] ; then + MAKEPROG=$3 + fi else MAKEDIR=`pwd` MAKEFOREVER=0 fi MAKEFILE=$MAKEDIR/Makefile - make -f $MAKEFILE -j$JOBS + $MAKEPROG -f $MAKEFILE -j$JOBS while [ "$?" != "0" -a "$MAKEFOREVER" = "1" ] do if [ -f /usr/break-make ]; then @@ -133,7 +140,7 @@ function doMake rm -f /usr/break-make error_msg $1 fi - make -f $MAKEFILE -j$JOBS + $MAKEPROG -f $MAKEFILE -j$JOBS done echo $2>all_done else @@ -153,14 +160,16 @@ function doSed fi } +# $1 is either -d (debug build) or nothing. function prepareHostQt { # download, compile & install qt, it is used to compile the installer + HOST_QT_CONFIG=$1 if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] then if [ ! -d $HOST_QT_VERSION ] then - git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_VERSION + git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_VERSION || error_msg "Cant clone mingw qt" fi else downloadIfNotExists $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz @@ -172,33 +181,47 @@ function prepareHostQt fi #build qt statically, needed by Sdk installer - mkdir build-$HOST_QT_VERSION-static - pushd build-$HOST_QT_VERSION-static - STATIC_QT_PATH=$PWD + mkdir b-$HOST_QT_VERSION-st$HOST_QT_CONFIG + pushd b-$HOST_QT_VERSION-st$HOST_QT_CONFIG + OPTS_CFG=" -developer-build " + if [ "$HOST_QT_CONFIG" = "-d" ] ; then + STATIC_QT_PATH_DEBUG=$PWD + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + OPTS_CFG=" -debug " + HOST_QT_CFG="CONFIG+=debug" + fi + else + STATIC_QT_PATH=$PWD + STATIC_QT_PATH_DEBUG=$PWD + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + OPTS_CFG=" -release " + HOST_QT_CFG="CONFIG+=release" + fi + fi if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - doMake "Can't compile static $HOST_QT_VERSION" "all done" + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + doMake "Can't compile static $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. - doSed $"s/qt warn_on release /qt static warn_on release /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt static warn_on /" mkspecs/win32-g++/qmake.conf fi fi popd #build qt shared, needed by QtCreator - mkdir build-$HOST_QT_VERSION-shared - pushd build-$HOST_QT_VERSION-shared + mkdir b-$HOST_QT_VERSION-sh$HOST_QT_CONFIG + pushd b-$HOST_QT_VERSION-sh$HOST_QT_CONFIG SHARED_QT_PATH=$PWD if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - doMake "Can't compile shared $HOST_QT_VERSION" "all done" + ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + doMake "Can't compile shared $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. - doSed $"s/qt warn_on release /qt shared warn_on release /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt shared warn_on /" mkspecs/win32-g++/qmake.conf fi fi popd @@ -208,44 +231,49 @@ function prepareHostQt function prepareSdkInstallerTools { # get installer source code - if [ ! -d necessitas-installer-framework ] + SDK_TOOLS_PATH=$PWD/necessitas-installer-framework$HOST_QT_CONFIG/installerbuilder/bin + if [ ! -d necessitas-installer-framework$HOST_QT_CONFIG ] then - git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git || error_msg "Can't clone necessitas-installer-framework" + git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework$HOST_QT_CONFIG || error_msg "Can't clone necessitas-installer-framework" fi - pushd necessitas-installer-framework/installerbuilder + pushd necessitas-installer-framework$HOST_QT_CONFIG/installerbuilder if [ ! -f all_done ] then git checkout master - $STATIC_QT_PATH/bin/qmake $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" - doMake "Can't compile necessitas-installer-framework" "all done" + $STATIC_QT_PATH_DEBUG/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" + doMake "Can't compile necessitas-installer-framework" "all done" ma-make fi popd pushd $SDK_TOOLS_PATH - $STRIP * + if [ -z $HOST_QT_CONFIG ] ; then + $STRIP * + fi popd } function prepareNecessitasQtCreator { - if [ ! -d android-qt-creator ] + QTC_PATH=android-qt-creator$HOST_QT_CONFIG + + if [ ! -d $QTC_PATH ] then - git clone git://anongit.kde.org/android-qt-creator.git android-qt-creator || error_msg "Can't clone android-qt-creator" + git clone git://anongit.kde.org/android-qt-creator.git $QTC_PATH || error_msg "Can't clone android-qt-creator" fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z ] then - pushd android-qt-creator + pushd $QTC_PATH + QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG git checkout testing - if [ ! -f all_done ] - then - $SHARED_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" - doMake "Can't compile android-qt-creator" "all done" + if [ ! -f all_done ] ; then + $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" + doMake "Can't compile $QTC_PATH" "all done" ma-make fi - rm -fr QtCreator - export INSTALL_ROOT=$PWD/QtCreator + rm -fr $QTC_INST_PATH + export INSTALL_ROOT=$QTC_INST_PATH make install #download and install sdk-updater-plugin @@ -256,54 +284,64 @@ function prepareNecessitasQtCreator tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz fi pushd research-sdk-updater-plugin-master-snapshot-20110524185306 - $SHARED_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" - doMake "Can't compile sdk-updater-plugin" "all done" + $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" + doMake "Can't compile sdk-updater-plugin" "all done" ma-make make install popd - mkdir -p $PWD/QtCreator/Qt/imports - mkdir -p $PWD/QtCreator/Qt/plugins + mkdir -p $QTC_INST_PATH/Qt/imports + mkdir -p $QTC_INST_PATH/Qt/plugins if [ "$OSTYPE" = "msys" ]; then - mkdir -p $PWD/QtCreator/bin - cp -rf lib/qtcreator/* $PWD/QtCreator/bin/ - cp -a /usr/bin/libgcc_s_dw2-1.dll $PWD/QtCreator/bin/ - cp -a /usr/bin/libstdc++-6.dll $PWD/QtCreator/bin/ - QT_LIB_DEST=$PWD/QtCreator/bin/ + mkdir -p $QTC_INST_PATH/bin + cp -rf lib/qtcreator/* $QTC_INST_PATH/bin/ + cp -a /usr/bin/libgcc_s_dw2-1.dll $QTC_INST_PATH/bin/ + cp -a /usr/bin/libstdc++-6.dll $QTC_INST_PATH/bin/ + QT_LIB_DEST=$QTC_INST_PATH/bin/ cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST - cp -a bin/necessitas.bat $PWD/QtCreator/bin/ + cp -a bin/necessitas.bat $QTC_INST_PATH/bin/ +# Want to re-enable this, but libintl-8.dll is getting used. +# git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various +# mkdir -p android-various/make-3.82-build +# pushd android-various/make-3.82-build +# ../make-3.82/build-mingw.sh +# popd +# cp android-various/make-3.82-build/make.exe $QTC_INST_PATH/bin/ + cp /usr/local/bin/ma-make.exe $QTC_INST_PATH/bin/make.exe else if [ "$OSTYPE" = "linux-gnu" ]; then - mkdir -p $PWD/QtCreator/Qt/lib - QT_LIB_DEST=$PWD/QtCreator/Qt/lib/ + mkdir -p $QTC_INST_PATH/Qt/lib + QT_LIB_DEST=$QTC_INST_PATH/Qt/lib/ cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST rm -fr $QT_LIB_DEST/pkgconfig find . $QT_LIB_DEST -name *.la | xargs rm -fr find . $QT_LIB_DEST -name *.prl | xargs rm -fr cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports cp -a $SHARED_QT_PATH/plugins/* ${QT_LIB_DEST}../plugins - cp -a bin/necessitas $PWD/QtCreator/bin/ + cp -a bin/necessitas $QTC_INST_PATH/bin/ else pushd macdeployqt - $SHARED_QT_PATH/bin/qmake $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure macdeployqt" - doMake "Can't compile macdeployqt" "all done" + $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure macdeployqt" + doMake "Can't compile macdeployqt" "all done" ma-make popd pushd bin rm -rf NecessitasQtCreatorBackup.app cp -rf NecessitasQtCreator.app NecessitasQtCreatorBackup.app ../macdeployqt/macdeployqt/macdeployqt NecessitasQtCreator.app popd - mv bin/NecessitasQtCreator.app $PWD/QtCreator/bin/NecessitasQtCreator.app + mv bin/NecessitasQtCreator.app $QTC_INST_PATH/bin/NecessitasQtCreator.app mv bin/NecessitasQtCreatorBackup.app bin/NecessitasQtCreator.app fi fi - mkdir $PWD/QtCreator/images - cp -a bin/necessitas*.png $PWD/QtCreator/images/ - pushd QtCreator - find . -name "*$SHLIB_EXT" | xargs $STRIP + mkdir $QTC_INST_PATH/images + cp -a bin/necessitas*.png $QTC_INST_PATH/images/ + pushd $QTC_INST_PATH + if [ -z $HOST_QT_CONFIG ] ; then + find . -name "*$SHLIB_EXT" | xargs $STRIP + fi popd - $SDK_TOOLS_PATH/archivegen QtCreator qtcreator-${HOST_TAG}.7z + $SDK_TOOLS_PATH/archivegen QtCreator$HOST_QT_CONFIG qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data - mv qtcreator-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}.7z + mv qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z popd fi @@ -311,7 +349,7 @@ function prepareNecessitasQtCreator pushd qpatch-build if [ ! -f all_done ] then - $STATIC_QT_PATH/bin/qmake "CONFIG+=release" $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro + $STATIC_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro if [ "$OSTYPE" = "msys" ]; then make -f Makefile.Release || error_msg "Can't compile qpatch" else @@ -329,28 +367,61 @@ function prepareNecessitasQtCreator } # A few things are downloaded as binaries. -function makeInstallMinGWTools +function makeInstallMinGWLibsAndTools { if [ -d mingw-bits ] ; then return fi mkdir -p /usr/local/bin + mkdir -p /usr/local/share + mkdir mingw-bits pushd mingw-bits + + mkdir texinfo + pushd texinfo + downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma + rm -rf texinfo-4.13a-2-msys-1.0.13-bin.tar + $SEVENZIP x texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma + tar -xvf texinfo-4.13a-2-msys-1.0.13-bin.tar + mv bin/* /usr/local/bin + mv share/* /usr/local/share + popd - # Tools. Maybe move these bits to setup_mingw_for_necessitas_build.sh? - MAKETEST=`which mingw32-make.exe` - if [ "$MAKETEST" != "" ] ; then - cp $MAKETEST /usr/local/bin/mingw-make.exe - else - error_msg "Can't find mingw-make" + # pdcurses must be in /usr for gdb configure to work (though I'd prefer if mingw gcc would look in /usr/local too!) + downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz + rm -rf PDCurses-3.4 + tar -xvzf PDCurses-3.4.tar.gz + pushd PDCurses-3.4/win32 + sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak + make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N + cp pdcurses.a /usr/lib/libcurses.a + cp pdcurses.a /usr/lib/libncurses.a + cp pdcurses.a /usr/lib/libpdcurses.a + cp panel.a /usr/lib/libpanel.a + cp ../curses.h /usr/include + cp ../panel.h /usr/include + popd + + # download, compile & install zlib to /usr + downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz + if [ ! -f /usr/lib/libz.a ] ; then + tar -xvzf zlib-1.2.5.tar.gz + pushd zlib-1.2.5 + doSed $"s/usr\/local/usr/" win32/Makefile.gcc + make -f win32/Makefile.gcc + export INCLUDE_PATH=/usr/include + export LIBRARY_PATH=/usr/lib + make -f win32/Makefile.gcc install + rm -rf zlib-1.2.5 + popd fi downloadIfNotExists unzip60.tar.gz http://ovh.dl.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz tar -xvzf unzip60.tar.gz pushd unzip60 - /usr/local/bin/mingw-make.exe -f win32/Makefile.gcc + mingw32-make.exe -f win32/Makefile.gcc cp unzip.exe /usr/local/bin popd @@ -360,117 +431,22 @@ function makeInstallMinGWTools unzip -o $SEVEN7LOC/7za920.zip popd - downloadIfNotExists make-3.81-3-msys-1.0.13-bin.tar.lzma http://freefr.dl.sourceforge.net/project/mingw/MSYS/make/make-3.81-3/make-3.81-3-msys-1.0.13-bin.tar.lzma - rm -rf make-3.81-3-msys-1.0.13-bin.tar - 7za x make-3.81-3-msys-1.0.13-bin.tar.lzma - tar -xvf make-3.81-3-msys-1.0.13-bin.tar - mv bin/make.exe /usr/local/bin/make.exe + # This make can't build gdb or python (it doesn't re-interpret MSYS mounts), but includes jobserver patch from + # Troy Runkel: http://article.gmane.org/gmane.comp.gnu.make.windows/3223/match= + # which fixes the longstanding make.exe -jN process hang, allowing un-attended builds of all Qt things. + downloadIfNotExists make.exe http://mingw-and-ndk.googlecode.com/files/make.exe + mv make.exe /usr/local/bin/ma-make.exe - # This one needs msys-intl-8.dll, however, it's likely that we *have* to use msys sed, - # see http://www.mingw.org/wiki/msys and search for "MinGW build VS MSYS build". - - downloadIfNotExists libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma http://dfn.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/libiconv/libiconv-1.13.1-2/libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma - rm -rf libiconv-1.13.1-2-msys-1.0.13-dll-2.tar - 7za x libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma - tar -xvf libiconv-1.13.1-2-msys-1.0.13-dll-2.tar - mv bin/msys-iconv-2.dll /usr/local/bin - -# downloadIfNotExists gettext-0.17-2-msys-1.0.13-bin.tar.lzma http://kent.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/gettext/gettext-0.17-2/gettext-0.17-2-msys-1.0.13-bin.tar.lzma -# rm -rf gettext-0.17-2-msys-1.0.13-bin.tar -# 7za x gettext-0.17-2-msys-1.0.13-bin.tar.lzma -# tar -xvf gettext-0.17-2-msys-1.0.13-bin.tar -# mv bin/msys-intl-8.dll /usr/local/bin - downloadIfNotExists libintl-0.17-2-msys-dll-8.tar.lzma http://sunet.dl.sourceforge.net/project/mingw/MSYS/BaseSystem/gettext/gettext-0.17-2/libintl-0.17-2-msys-dll-8.tar.lzma - rm -rf libintl-0.17-2-msys-dll-8.tar - 7za x libintl-0.17-2-msys-dll-8.tar.lzma - tar -xvf libintl-0.17-2-msys-dll-8.tar - mv bin/msys-intl-8.dll /usr/local/bin - - downloadIfNotExists sed-4.2.1-2-msys-1.0.13-bin.tar.lzma http://downloads.sourceforge.net/project/mingw/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma - rm -rf sed-4.2.1-2-msys-1.0.13-bin.tar - 7za x sed-4.2.1-2-msys-1.0.13-bin.tar.lzma - tar -xvf sed-4.2.1-2-msys-1.0.13-bin.tar - rm /usr/bin/sed.exe - mv bin/sed.exe /usr/local/bin - - downloadIfNotExists autoconf-2.68.tar.bz2 http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.bz2 - rm -rf autoconf-2.68 - tar -xvjf autoconf-2.68.tar.bz2 - mkdir autoconf-2.68-build - pushd autoconf-2.68-build - ../autoconf-2.68/configure -prefix=/usr/local - msys-make - msys-make install popd - - # make install loops forever. -# downloadIfNotExists automake-1.10.3.tar.bz2 http://ftp.gnu.org/gnu/automake/automake-1.10.3.tar.bz2 -# rm -rf automake-1.10.3 -# tar -xvjf automake-1.10.3.tar.bz2 -# mkdir automake-1.10.3-build -# pushd automake-1.10.3-build -# ../automake-1.10.3/configure -prefix=/usr/local -# make -# make install -# popd - - downloadIfNotExists libtool-2.4.tar.gz http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz - rm -rf libtool-2.4 - tar -xvzf libtool-2.4.tar.gz - mkdir libtool-2.4-build - pushd libtool-2.4-build - ../libtool-2.4/configure -prefix=/usr/local - make - make install - popd - - popd } function makeInstallMinGWLibs { + mkdir mingw-bits pushd mingw-bits - # download, compile & install zlib to /usr - downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz - if [ ! -f /usr/lib/libz.a ] ; then - tar -xvzf zlib-1.2.5.tar.gz - cd zlib-1.2.5 - doSed $"s/usr\/local/usr/" win32/Makefile.gcc - make -f win32/Makefile.gcc - export INCLUDE_PATH=/usr/include - export LIBRARY_PATH=/usr/lib - make -f win32/Makefile.gcc install - rm -rf zlib-1.2.5 - cd .. - fi - install_dir=$1 - downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz - rm -rf PDCurses-3.4 - tar -xvzf PDCurses-3.4.tar.gz - pushd PDCurses-3.4/win32 - sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak - make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N - mkdir -p $install_dir/lib - mkdir -p $install_dir/include - cp pdcurses.a $install_dir/lib/libcurses.a - cp pdcurses.a $install_dir/lib/libncurses.a - cp pdcurses.a $install_dir/lib/libpdcurses.a - cp panel.a $install_dir/lib/libpanel.a - cp ../curses.h $install_dir/include - cp ../panel.h $install_dir/include - popd - - downloadIfNotExists libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz - rm -rf libiconv-1.13 - tar -xvzf libiconv-1.13.tar.gz - pushd libiconv-1.13 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 - make && make DESTDIR=$install_dir install - popd - downloadIfNotExists readline-6.2.tar.gz http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz rm -rf readline-6.2 tar -xvzf readline-6.2.tar.gz @@ -479,26 +455,6 @@ function makeInstallMinGWLibs make && make DESTDIR=$install_dir install popd - # awk command fails during configure (I think). - downloadIfNotExists regex-2.7-src.zip http://downloads.sourceforge.net/sourceforge/gnuwin32/regex/2.7/regex-2.7-src.zip - unzip regex-2.7-src.zip - pushd src/regex/2.7/regex-2.7-src -# aclocal -# autoconf - CFLAGS=-O2 && ./configure --enable-static --disable-shared --prefix= CFLAGS=-O2 - make && make DESTDIR=$install_dir install - popd - - # texinfo fails because regex.h not found (part of libc) - downloadIfNotExists texinfo-4.13a.tar.gz http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz - rm -rf texinfo-4.13 - tar -xvzf texinfo-4.13a.tar.gz - pushd texinfo-4.13 - CFLAGS=-O2 && ./configure --prefix= CFLAGS=-O2 - make - make install - popd - popd } @@ -570,7 +526,7 @@ function prepareNDKs if [ $BUILD_ANDROID_GIT_NDK = 1 ] then mv android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-git - git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk + git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk || error_msg "Can't clone ndk" pushd android_git_ndk ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= popd @@ -587,10 +543,18 @@ function prepareNDKs function prepareGDB { package_name_ver=${GDB_VER//./_} # replace . with _ - package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data - echo "package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data" + if [ -z $GDB_TARG_HOST_TAG ] ; then + GDB_PKG_NAME=gdb-$GDB_VER-$HOST_TAG + GDB_FLDR_NAME=gdb-$GDB_VER + package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data + else + GDB_PKG_NAME=gdb_$GDB_TARG_HOST_TAG-$GDB_VER + GDB_FLDR_NAME=$GDB_PKG_NAME + package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.host_gdb_$package_name_ver/data + fi + echo "package_path=$package_path" #This function depends on prepareNDKs - if [ -f $package_path/gdb-${GDB_VER}-${HOST_TAG}.7z ] + if [ -f $package_path/$GDB_PKG_NAME.7z ] then return fi @@ -600,7 +564,7 @@ function prepareGDB pyversion=2.7 pyfullversion=2.7.1 install_dir=$PWD/install - target_dir=$PWD/gdb-$GDB_VER + target_dir=$PWD/$GDB_FLDR_NAME mkdir -p $target_dir OLDPATH=$PATH @@ -617,7 +581,7 @@ function prepareGDB export PATH=.:$PATH CC32=gcc.exe CXX32=g++.exe - PYCCFG="--enable-shared --disable-static" + PYCCFG="--enable-shared" else # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" # --with-suffix can be used to get around this. @@ -630,16 +594,18 @@ function prepareGDB OLDCC=$CC OLDCXX=$CXX + OLDCFLAGS=$CFLAGS downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" if [ ! -d expat-2.0.1 ] then tar xzvf expat-2.0.1.tar.gz pushd expat-2.0.1 - CC=$CC32 CXX=$CXX32 ./configure --disable-shared --enable-static -prefix=/ && make -j$JOBS && make DESTDIR=$install_dir install || error_msg "Can't compile expat library" + CC=$CC32 CXX=$CXX32 ./configure --disable-shared --enable-static -prefix=/ + doMake "Can't compile expat" "all done" + make DESTDIR=$install_dir install || error_msg "Can't install expat library" popd fi - # Again, what a terrible failure. unset PYTHONHOME if [ ! -f Python-$pyfullversion/all_done ] @@ -653,12 +619,15 @@ function prepareGDB makeInstallMinGWLibs $install_dir fi rm -rf Python-$pyfullversion - git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion + git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion || error_msg "Can't clone MinGW Python" USINGMAPYTHON=1 fi pushd Python-$pyfullversion - + if [ "$OSTYPE" = "msys" ] ; then + # Hack for MSI. + cp /c/strawberry/c/i686-w64-mingw32/include/fci.h fci.h + fi if [ "$USINGMAPYTHON" = "1" ] ; then autoconf touch Include/Python-ast.h @@ -719,10 +688,10 @@ function prepareGDB mv $install_dir/bin/python$pyversion$SUFFIX $install_dir/bin/python$pyversion mv $install_dir/bin/python$SUFFIX $install_dir/bin/python fi - mv $install_dir/bin/python$EXE_EXT $install_dir/bin/python$EXE_EXT cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ if [ "$OSTYPE" = "msys" ] ; then cp -fr $install_dir/bin/Lib $target_dir/ + cp -f $install_dir/bin/libpython$pyversion.dll $target_dir/python/bin/ fi $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT @@ -733,31 +702,35 @@ function prepareGDB if [ ! -d gdb-src ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src || error_msg "Can't clone gdb" fi pushd gdb-src git checkout $GDB_BRANCH - git reset --hard +# git reset --hard popd - if [ ! -d gdb-src/build-gdb-$GDB_VER ] + if [ ! -d gdb-src/build-$GDB_PKG_NAME ] then - mkdir -p gdb-src/build-gdb-$GDB_VER - pushd gdb-src/build-gdb-$GDB_VER + mkdir -p gdb-src/build-$GDB_PKG_NAME + pushd gdb-src/build-$GDB_PKG_NAME OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH - CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + if [ -z $GDB_TARG_HOST_TAG ] ; then + CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + else + CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=$HOST --host=$HOST --build=$HOST --disable-nls + fi doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ cp -a gdb/gdbtui$EXE_EXT $target_dir/ - # Fix building gdb-tui, it used to work and was handy to have. - $STRIP $target_dir/gdb$EXE_EXT +# $STRIP $target_dir/gdb$EXE_EXT .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. export PATH=$OLDPATH popd fi CC=$OLDCC CXX=$OLDCXX + CFLAGS=$OLDCFLAGS pushd $target_dir find . -name *.py[co] | xargs rm -f @@ -765,10 +738,10 @@ function prepareGDB find . -name tests | xargs rm -fr popd - $SDK_TOOLS_PATH/archivegen gdb-$GDB_VER gdb-$GDB_VER-${HOST_TAG}.7z + $SDK_TOOLS_PATH/archivegen $GDB_FLDR_NAME $GDB_PKG_NAME.7z mkdir -p $package_path - mv gdb-${GDB_VER}-${HOST_TAG}.7z $package_path/ + mv $GDB_PKG_NAME.7z $package_path/ popd #gdb-build } @@ -790,7 +763,7 @@ function prepareGDBServer if [ ! -d gdb-src ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src || error_msg "Can't clone gdb" pushd gdb-src git checkout $GDB_BRANCH popd @@ -862,7 +835,9 @@ function repackSDK function prepareGDBVersion { +echo prepareGDBVersion $1 $2 GDB_VER=$1 + GDB_TARG_HOST_TAG=$2 # windows, linux-x86, darwin-x86 or nothing for android. if [ "$GDB_VER" = "7.3" ]; then GDB_ROOT_PATH=.. GDB_BRANCH=integration_7_3 @@ -871,7 +846,9 @@ function prepareGDBVersion GDB_BRANCH=master fi prepareGDB - prepareGDBServer + if [ -z $GDB_TARG_HOST_TAG ] ; then + prepareGDBServer + fi } function prepareSDKs @@ -920,17 +897,11 @@ function prepareSDKs then if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z ] then - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various - mkdir -p android-various/make-3.82-build - pushd android-various/make-3.82-build - ../make-3.82/build-mingw.sh - popd + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" pushd android-various/android-sdk gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O2 -o android.exe popd mkdir -p android-sdk-windows/tools/ - mkdir -p QtCreator/bin/ - cp android-various/make-3.82-build/make.exe QtCreator/bin/ cp android-various/android-sdk/android.exe android-sdk-windows/tools/ $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk-windows-tools-mingw-android.7z mv android-sdk-windows-tools-mingw-android.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z @@ -1048,24 +1019,27 @@ function packSource function compileNecessitasQt { + package_name=${1//-/_} # replace - with _ + NDK_TARGET=5 + if [ $package_name = "armeabi_v7a" ] + then + NDK_TARGET=5 + fi + if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi - package_name=${1//-/_} # replace - with _ - if [ $package_name = "armeabi_v7a" ] then doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf -# On next release -# doSed $"s/= android-4/= android-5/g" mkspecs/android-g++/qmake.conf + doSed $"s/= android-4/= android-$NDK_TARGET/g" mkspecs/android-g++/qmake.conf else doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf -# On next release -# doSed $"s/= android-5/= android-4/g" mkspecs/android-g++/qmake.conf + doSed $"s/= android-$NDK_TARGET/= android-4/g" mkspecs/android-g++/qmake.conf fi rm -fr data @@ -1073,10 +1047,6 @@ function compileNecessitasQt make install mkdir -p $2/$1 mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 - if [ "$OSTYPE" = "msys" ]; then - cp -a /usr/bin/libgcc_s_dw2-1.dll $2/$1/bin/ - cp -a /usr/bin/libstdc++-6.dll $2/$1/bin/ - fi $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data @@ -1085,6 +1055,8 @@ function compileNecessitasQt cp ../qt-src/lib/*.xml $2/$1/lib/ $SDK_TOOLS_PATH/archivegen Android qt-framework.7z mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z + # Not sure why we're using a different qt-framework package for Windows. + cp $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z patchQtFiles } @@ -1135,7 +1107,7 @@ function compileNecessitasQtMobility git checkout master popd ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" - doMake "Can't compile android-qtmobility" "all done" + doMake "Can't compile android-qtmobility" "all done" ma-make fi package_name=${1//-/_} # replace - with _ rm -fr data @@ -1290,6 +1262,13 @@ function prepareNecessitasQtWebkit popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT } +function prepareOpenJDK +{ + if [ "$OSTYPE" = "msys" ] ; then + downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe + oscg-openjdk6b21-1-windows-installer.exe http://openscg.com/se/oscg_download.jsp?file=installers/oscg-openjdk6b21-1-windows-installer.exe&user= + fi +} function patchPackages { @@ -1371,8 +1350,8 @@ function unsetPackagesVariables function prepareSDKBinary { - echo $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$EXE_EXT org.kde.necessitas - $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$EXE_EXT org.kde.necessitas + echo $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas + $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas } function prepareSDKRepository @@ -1387,14 +1366,14 @@ function prepareMinistroRepository if [ ! -f all_done ] then $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure ministrorepogen" - doMake "Can't compile ministrorepogen" "all done" + doMake "Can't compile ministrorepogen" "all done" ma-make fi popd for architecture in armeabi armeabi-v7a do rm -fr $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION - pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$architecture + pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$architecture || error_msg "Can't prepare ministro repo, Android Qt not built?" rm -fr Android for lib in `find . -name *.so` do @@ -1420,10 +1399,11 @@ function prepareMinistroRepository function packforWindows { + echo packforWindows called $1 $2 rm -fr $TEMP_PATH/packforWindows mkdir -p $TEMP_PATH/packforWindows pushd $TEMP_PATH/packforWindows - 7z x $1/$2.7z + $SEVENZIP x $1/$2.7z mv Android Android_old $CPRL Android_old Android rm -fr Android_old @@ -1487,34 +1467,42 @@ function prepareWindowsPackages fi } -# This is needed early. -SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin - -if [ "$OSTYPE" = "msys" ]; then - makeInstallMinGWTools $install_dir -fi - +makeInstallMinGWLibsAndTools prepareHostQt prepareSdkInstallerTools +prepareGDBVersion 7.2 $HOST_TAG +prepareGDBVersion 7.3 $HOST_TAG + prepareNDKs prepareGDBVersion 7.2 prepareGDBVersion 7.3 + prepareSDKs + prepareNecessitasQtCreator prepareNecessitasQt + # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) if [ "$OSTYPE" = "linux-gnu" ] ; then prepareNecessitasQtWebkit fi -prepareNecessitasQtMobility - -if [ "$OSTYPE" = "linux-gnu" ] ; then - prepareWindowsPackages +if [ "$OSTYPE" != "msys" ] ; then + prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' fi +prepareWindowsPackages setPackagesVariables prepareSDKBinary + +# Comment this block in if you want necessitas-sdk-installer-d and qtcreator-d to be built. +##if [ ! "$OSTYPE" = "linux-gnu" ] ; then +## prepareHostQt -d +## prepareNecessitasQtCreator +## prepareSdkInstallerTools +## prepareSDKBinary +##fi + prepareSDKRepository unsetPackagesVariables prepareMinistroRepository diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs new file mode 100644 index 0000000..ad34d0c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs @@ -0,0 +1,75 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +function OsToHostTag() +{ + if (installer.value("os") == "x11") + { + return "linux-x86"; + } + else if (installer.value("os") == "win") + { + return "windows"; + } + else if (installer.value("os") == "mac") + { + return "darwin-x86"; + } +} + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-7.2.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-7.2/"; + var gdbPath = basePath+"gdb"; + var pythonPath=basePath+"python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + +/* component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); +*/ + if (installer.value("os") != "win") + { + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + basePath+"python" ); + } + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", basePath+"python/lib/python2.7/compileall.py", + "-f", basePath+"python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml new file mode 100644 index 0000000..f4aae1e --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml @@ -0,0 +1,12 @@ + + + Host gdb-7.2 + Custom host GDB with python capabilities + 7.2.50.20110211 + @@TODAY@@ + org.kde.necessitas.misc.host_gdb_7_2 + + 99999 + 94 + false + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs new file mode 100644 index 0000000..89453c2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs @@ -0,0 +1,75 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +function OsToHostTag() +{ + if (installer.value("os") == "x11") + { + return "linux-x86"; + } + else if (installer.value("os") == "win") + { + return "windows"; + } + else if (installer.value("os") == "mac") + { + return "darwin-x86"; + } +} + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-7.3.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-7.3/"; + var gdbPath = basePath+"gdb"; + var pythonPath=basePath+"python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + +/* component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); +*/ + if (installer.value("os") != "win") + { + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + basePath+"python" ); + } + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", basePath+"python/lib/python2.7/compileall.py", + "-f", basePath+"python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml new file mode 100644 index 0000000..243d3e0 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml @@ -0,0 +1,12 @@ + + + Host gdb-7.3 + Custom host GDB with python capabilities + 7.3.0 + @@TODAY@@ + org.kde.necessitas.misc.host_gdb_7_3 + + 99999 + 94 + false + diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh new file mode 100644 index 0000000..402f2ff --- /dev/null +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Get git. Awkwardly, git is packed up with a full mingw/msys env, so unzip +# it to a temporary folder and copy across only certain bits, also, copy them +# to /usr/local/bin so as not to pollute /usr/bin +wget -c http://msysgit.googlecode.com/files/PortableGit-1.7.4-preview20110204.7z +mkdir git-temp +"C:\Program Files\7-zip\7z.exe" x -y -ogit-temp PortableGit-1.7.4-preview20110204.7z +mkdir -p /usr/local/bin +cp git-temp/bin/git* /usr/local/bin/ +cp git-temp/bin/ssh* /usr/local/bin/ +cp git-temp/bin/msys-crypto* /usr/local/bin/ +cp git-temp/bin/msys-minires* /usr/local/bin/ +cp git-temp/bin/libcurl-4.dll /usr/local/bin/ +cp git-temp/bin/libcrypto.dll /usr/local/bin/ +cp git-temp/bin/libssl.dll /usr/local/bin/ +cp git-temp/bin/gpg.exe /usr/local/bin/ +cp git-temp/bin/libiconv2.dll /usr/local/bin/ +mkdir -p /usr/local/share +cp -r git-temp/share/git-core /usr/local/share/ +cp -r git-temp/share/gitk /usr/local/share/ +mkdir -p /usr/local/libexec +cp -r git-temp/libexec/* /usr/local/libexec/ + +mkdir -p /usr/local/bin +mkdir -p /usr/local/include + +# Remove the MinGW iconv.exe and dll, we require a static iconv. +mv /usr/bin/iconv.exe /usr/local/bin/ +mv /usr/bin/libiconv-2.dll /usr/local/bin/ +mv /usr/include/iconv.h /usr/local/include/ + +# Download and compile new iconv. +wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz +rm -rf libiconv-1.13 +tar -xvzf libiconv-1.13.tar.gz +pushd libiconv-1.13 +CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 +make && make DESTDIR=/usr install +popd -- cgit v1.2.3 From d9f71be562425f87a19c65030cb77b78223f87a3 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 25 Jun 2011 15:34:15 +0100 Subject: Remove some debugging echos --- Necessitas_SDK/build_sdk.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 30f8c5e..a7e5812 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -552,7 +552,6 @@ function prepareGDB GDB_FLDR_NAME=$GDB_PKG_NAME package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.host_gdb_$package_name_ver/data fi - echo "package_path=$package_path" #This function depends on prepareNDKs if [ -f $package_path/$GDB_PKG_NAME.7z ] then @@ -1350,7 +1349,6 @@ function unsetPackagesVariables function prepareSDKBinary { - echo $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas } @@ -1399,7 +1397,6 @@ function prepareMinistroRepository function packforWindows { - echo packforWindows called $1 $2 rm -fr $TEMP_PATH/packforWindows mkdir -p $TEMP_PATH/packforWindows pushd $TEMP_PATH/packforWindows -- cgit v1.2.3 From a6937f140ff497b503dec02441f0c3197ca1d6f0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 25 Jun 2011 16:45:45 +0100 Subject: Fix builds on Linux and OS X --- Necessitas_SDK/build_sdk.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index a7e5812..0287b1f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1464,7 +1464,10 @@ function prepareWindowsPackages fi } -makeInstallMinGWLibsAndTools + +if [ "$OSTYPE" = "msys" ] ; then + makeInstallMinGWLibsAndTools +fi prepareHostQt prepareSdkInstallerTools prepareGDBVersion 7.2 $HOST_TAG -- cgit v1.2.3 From d7f2d1ca49816ad51d7e0b7b849b1a6bb320d242 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 25 Jun 2011 16:46:57 +0100 Subject: OS X builds to /usr/necessitas again --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 0287b1f..f4c089e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -25,7 +25,7 @@ REPO_SRC_PATH=$PWD TEMP_PATH_PREFIX=/tmp TODAY=`date +%Y-%m-%d` -if [ "$OSTYPE" = "msys" ]; then +if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then TEMP_PATH_PREFIX=/usr fi -- cgit v1.2.3 From d8ccd41ba3364f95e380ffe0dfaa1fde727aca39 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 25 Jun 2011 17:56:06 +0100 Subject: Back to NDK_TARGET=4 --- Necessitas_SDK/build_sdk.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f4c089e..1dc9c91 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1019,10 +1019,11 @@ function packSource function compileNecessitasQt { package_name=${1//-/_} # replace - with _ - NDK_TARGET=5 + NDK_TARGET=4 if [ $package_name = "armeabi_v7a" ] then - NDK_TARGET=5 + # Change this to 5? + NDK_TARGET=4 fi if [ ! -f all_done ] -- cgit v1.2.3 From 7d418e19ae774ea07652e8eb4d2ce6346745bee6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 26 Jun 2011 13:20:32 +0100 Subject: Fixes to build_ndk.sh to allow specifying a path to the gdb sources. Also using binutils 2.20.1 --- Necessitas_SDK/build_ndk.sh | 148 ++++++++++++++++++++++++++++---------------- 1 file changed, 93 insertions(+), 55 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 17ba4b6..e56ae30 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -18,20 +18,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -if [ "$OSTYPE" = "msys" ]; then - TEMP_PATH=/usr/ndk-build -else - pushd ~ - TEMP_PATH=$PWD/ndk-build - popd -fi - -REPO_SRC_PATH=$PWD/ndk -mkdir $REPO_SRC_PATH -PYTHONVER=/usr -mkdir -p $TEMP_PATH -pushd $TEMP_PATH - function error_msg { echo $1 >&2 @@ -47,7 +33,11 @@ function downloadIfNotExists { if [ ! -f $1 ] then - wget $2 || removeAndExit $1 + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + curl --insecure -S -L -O $2 || removeAndExit $1 + else + wget --no-check-certificate -c $2 || removeAndExit $1 + fi fi } @@ -66,20 +56,20 @@ function makeInstallPython fi fi - if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ] + if [ ! -f $REPO_SRC_PATH/python-${BUILD}.7z ] then - PYTHONVER=$PWD/python/install-python-$BUILD - else - if [ ! -d python ] + if [ ! -d Python-2.7.1 ] then - git clone git://gitorious.org/mingw-python/mingw-python.git python + git clone git://gitorious.org/mingw-python/mingw-python.git Python-2.7.1 fi - cd python - ./build-python.sh - PYTHONVER=$PWD/install-python-$BUILD + pushd Python-2.7.1 + mkdir python-build + pushd python-build + ../Python-2.7.1/build-python.sh # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z cp ../python-${BUILD}.7z $REPO_SRC_PATH/ - cd .. + popd + popd fi } @@ -101,43 +91,51 @@ function makeInstallMinGWBits wget -c http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz rm -rf readline-6.2 tar -xvzf readline-6.2.tar.gz - cd readline-6.2 + pushd readline-6.2 CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/usr CFLAGS=-O2 make && make install - cd .. + popd rm -rf android-various git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various mkdir -p android-various/make-3.82-build - cd android-various/make-3.82-build + pushd android-various/make-3.82-build ../make-3.82/build-mingw.sh cp make.exe $REPO_SRC_PATH/ - cd ../.. - cd android-various/android-sdk + popd + pushd android-various/android-sdk gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ + popd } function makeNDK { mkdir src - cd src - - if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then - rm -rf /tmp/python-install - mkdir /tmp/python-install - pushd /tmp/python-install - 7za x $REPO_SRC_PATH/python-${BUILD}.7z - PYTHONVER=$PWD - popd + pushd src + + GDB_BRANCH=integration_7_3 + GDB_ROOT_PATH= +# GDB_BRANCH=master +# GDB_ROOT_PATH=gdb + + PYTHONVER=$PWD/python-install + if [ ! -d $PYTHONVER ] ; then + if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then + mkdir $PYTHONVER + pushd $PYTHONVER + 7za x $REPO_SRC_PATH/python-${BUILD}.7z + PYTHONVER=$PWD + popd + fi fi if [ ! -d "mpfr" ] then git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr - cd mpfr + pushd mpfr downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 - cd .. + popd fi if [ ! -d "binutils" ] then @@ -163,25 +161,40 @@ function makeNDK then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb fi - TCSRC=`pwd` - cd .. - mkdir ndk - cd ndk - git clone git://android.git.kernel.org/platform/development.git development - git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk - cd ndk - git checkout -b integration origin/integration - cd .. - export NDK=`pwd`/ndk - export ANDROID_NDK_ROOT=$NDK && $NDK/build/tools/build-platforms.sh --verbose - - ROOTDIR=`pwd` + pushd gdb + git checkout integration_7_3 + git reset --hard + GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH + popd + + TCSRC=$PWD + popd + + mkdir build-${BUILD_NDK} + pushd build-${BUILD_NDK} + if [ ! -d "development" ] + then + git clone git://android.git.kernel.org/platform/development.git development || error_msg "Can't clone development" + fi + if [ ! -d "ndk" ] + then + git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk || error_msg "Can't clone ndk" + fi + pushd ndk + git checkout -b integration origin/integration + popd + export NDK=$PWD/ndk + export ANDROID_NDK_ROOT=$NDK + $NDK/build/tools/build-platforms.sh --verbose + + ROOTDIR=$PWD RELEASE=`date +%Y%m%d` NDK=`pwd`/ndk ANDROID_NDK_ROOT=$NDK + echo GDB_ROOT_PATH $GDB_ROOT_PATH if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-version=7.2.50.20110211 --mpfr-version=2.4.2 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version= --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else echo "Skipping NDK build, already done." echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 @@ -214,13 +227,38 @@ function mixPythonWithNDK popd } +if [ "$OSTYPE" = "linux-gnu" ]; then + TEMP_PATH=/tmp/ndk-build +else + TEMP_PATH=/usr/ndk-build + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + sudo mkdir -p $TEMP_PATH + sudo chown `whoami` $TEMP_PATH + fi +fi + +REPO_SRC_PATH=$PWD/ndk-packages +mkdir $REPO_SRC_PATH +PYTHONVER=/usr +pushd $TEMP_PATH + +echo $PWD $PWD $PWD $PWD + if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWBits fi +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + if [ ! -f /usr/local/bin/7za ] ; then + downloadIfNotExists p7zip-macosx.tar.bz2 http://mingw-and-ndk.googlecode.com/files/p7zip-macosx.tar.bz2 + tar xjvf p7zip-macosx.tar.bz2 + chmod 755 opt/bin/7za + cp opt/bin/7za /usr/local/bin + fi +fi + makeInstallPython makeNDK mixPythonWithNDK popd - -- cgit v1.2.3 From a7efde5de878323f3530bdd62947e72edccc57d3 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 26 Jun 2011 16:30:40 +0100 Subject: build_ndk fixes. --- Necessitas_SDK/build_ndk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index e56ae30..1e49519 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -165,6 +165,7 @@ function makeNDK git checkout integration_7_3 git reset --hard GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH + GDB_VERSION=7.3 popd TCSRC=$PWD @@ -194,7 +195,7 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version= --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VERSION --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest --only-gdb else echo "Skipping NDK build, already done." echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 -- cgit v1.2.3 From 603a60d9f6d294c2fe0128ea7fc37d13c446f705 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 26 Jun 2011 16:36:35 +0100 Subject: Make TEMP_PATH --- Necessitas_SDK/build_ndk.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 1e49519..d417ed6 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -241,10 +241,9 @@ fi REPO_SRC_PATH=$PWD/ndk-packages mkdir $REPO_SRC_PATH PYTHONVER=/usr +mkdir $TEMP_PATH pushd $TEMP_PATH -echo $PWD $PWD $PWD $PWD - if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWBits fi -- cgit v1.2.3 From a8755793be144b473a9a1685de74e19deb9cde8f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 26 Jun 2011 19:44:41 +0100 Subject: not --only-gdb --- Necessitas_SDK/build_ndk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index d417ed6..c59e95f 100644 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -195,7 +195,7 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VERSION --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest --only-gdb + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VERSION --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else echo "Skipping NDK build, already done." echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 -- cgit v1.2.3 From 0a6458f0f6e96dc1042cddc169b6bdf672f49a0b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 26 Jun 2011 20:51:45 +0100 Subject: chmod +x build_ndk.sh --- Necessitas_SDK/build_ndk.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 Necessitas_SDK/build_ndk.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh old mode 100644 new mode 100755 -- cgit v1.2.3 From f0d885a404cc41b8d9da9f281b4006e81cae21a1 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 28 Jun 2011 08:25:29 +0100 Subject: Patch mingw's types.h with daddr_t and caddr_t so that gnu cross toolchains can be built Windows gdb build fix d2u --- Necessitas_SDK/build_ndk.sh | 70 ++++++++++++---------- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 25 ++++++++ 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index c59e95f..8706826 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -43,20 +43,7 @@ function downloadIfNotExists function makeInstallPython { - if [ "$OSTYPE" = "linux-gnu" ] ; then - BUILD=linux - BUILD_NDK=linux-x86 - else - if [ "$OSTYPE" = "msys" ] ; then - BUILD=windows - BUILD_NDK=windows - else - BUILD=macosx - BUILD_NDK=darwin-x86 - fi - fi - - if [ ! -f $REPO_SRC_PATH/python-${BUILD}.7z ] + if [ ! -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ] then if [ ! -d Python-2.7.1 ] then @@ -65,11 +52,11 @@ function makeInstallPython pushd Python-2.7.1 mkdir python-build pushd python-build - ../Python-2.7.1/build-python.sh + ../build-python.sh # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z - cp ../python-${BUILD}.7z $REPO_SRC_PATH/ + cp ../python-${BUILD_PYTHON}.7z $REPO_SRC_PATH/ + popd popd - popd fi } @@ -106,7 +93,7 @@ function makeInstallMinGWBits pushd android-various/android-sdk gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ - popd + popd } function makeNDK @@ -114,17 +101,17 @@ function makeNDK mkdir src pushd src - GDB_BRANCH=integration_7_3 - GDB_ROOT_PATH= + GDB_BRANCH=integration_7_3 + GDB_ROOT_PATH= # GDB_BRANCH=master # GDB_ROOT_PATH=gdb PYTHONVER=$PWD/python-install if [ ! -d $PYTHONVER ] ; then - if [ -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then + if [ -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then mkdir $PYTHONVER pushd $PYTHONVER - 7za x $REPO_SRC_PATH/python-${BUILD}.7z + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z PYTHONVER=$PWD popd fi @@ -157,15 +144,16 @@ function makeNDK then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc fi - if [ ! -d "gdb" ] + mkdir gdb + if [ ! -d "ma-gdb" ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git ma-gdb fi - pushd gdb + pushd ma-gdb git checkout integration_7_3 git reset --hard - GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH - GDB_VERSION=7.3 + GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH + GDB_VERSION=7.3 popd TCSRC=$PWD @@ -206,8 +194,8 @@ function makeNDK function mixPythonWithNDK { - if [ ! -f $REPO_SRC_PATH/python-${BUILD}.7z ]; then - echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD}.7z" + if [ ! -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then + echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z" fi if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then echo "Failed to find gdbserver, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" @@ -221,13 +209,29 @@ function mixPythonWithNDK tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD}.7z + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z popd 7za a -mx9 android-ndk-r5b-gdb-7.2-${BUILD}.7z toolchains cp android-ndk-r5b-gdb-7.2-${BUILD}.7z $REPO_SRC_PATH popd } +if [ "$OSTYPE" = "linux-gnu" ] ; then + BUILD=linux + BUILD_NDK=linux-x86 + BUILD_PYTHON=$BUILD +else + if [ "$OSTYPE" = "msys" ] ; then + BUILD=windows + BUILD_NDK=windows + BUILD_PYTHON=mingw + else + BUILD=macosx + BUILD_NDK=darwin-x86 + BUILD_PYTHON=$BUILD + fi +fi + if [ "$OSTYPE" = "linux-gnu" ]; then TEMP_PATH=/tmp/ndk-build else @@ -244,9 +248,9 @@ PYTHONVER=/usr mkdir $TEMP_PATH pushd $TEMP_PATH -if [ "$OSTYPE" = "msys" ] ; then - makeInstallMinGWBits -fi +#if [ "$OSTYPE" = "msys" ] ; then +# makeInstallMinGWBits +#fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then if [ ! -f /usr/local/bin/7za ] ; then diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index 402f2ff..70c66bc 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -22,6 +22,31 @@ cp -r git-temp/share/gitk /usr/local/share/ mkdir -p /usr/local/libexec cp -r git-temp/libexec/* /usr/local/libexec/ +# Fix mingw include/sys/types.h so that cross libgcc builds. +cat > ./mingw-sys-types-caddr.patch < + ++/* Added by Ray Donnelly (mingw.android@gmail.com). libgcc build fails for Android ++ cross gcc without this. I should find another way as this is a horrible thing to do. */ ++typedef int daddr_t; ++typedef char * caddr_t; ++ + #define __need_wchar_t + #define __need_size_t + #define __need_ptrdiff_t +DELIM + +PATCHFILE=`pwd`/mingw-sys-types-caddr.patch + +pushd . +cd /usr/include +patch -p0 < $PATCHFILE +popd + mkdir -p /usr/local/bin mkdir -p /usr/local/include -- cgit v1.2.3 From 2a484279c9d3671f79a2bcdb62090f34b4b4574f Mon Sep 17 00:00:00 2001 From: Marius Bugge Monsen Date: Tue, 28 Jun 2011 16:13:25 +0200 Subject: Updates to reflect the moving androidconfigurebuild.sh to the 'android' subdir in the Qt repo. --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1dc9c91..166f0f5 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1029,7 +1029,7 @@ function compileNecessitasQt if [ ! -f all_done ] then git checkout testing - ../qt-src/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 6ac55ecb47e01d57ca5b4ac070bd49ceae8e0f8e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 28 Jun 2011 20:20:28 +0100 Subject: Finished setup_mingw_for_necessitas_build.sh, does msi for python, installs unzip, 7za --- Necessitas_SDK/build_sdk.sh | 20 +------- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 60 ++++++++++++++++++++++ 2 files changed, 62 insertions(+), 18 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 166f0f5..e1e11c0 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -68,7 +68,6 @@ if [ "$OSTYPE" = "msys" ] ; then EXE_EXT=.exe SHLIB_EXT=.dll SCRIPT_EXT=.bat - SEVENZIP=7za JOBS=`expr $NUMBER_OF_PROCESSORS + 1` else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then @@ -80,14 +79,12 @@ else HOST_TAG=darwin-x86 HOST_TAG_NDK=darwin-x86 SHLIB_EXT=.dylib - SEVENZIP=7za JOBS=9 else HOST_CFG_OPTIONS=" -platform linux-g++ " HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 SHLIB_EXT=.so - SEVENZIP=7za JOBS=`cat /proc/cpuinfo | grep processor | wc -l` JOBS=`expr $JOBS + 2` fi @@ -383,7 +380,7 @@ function makeInstallMinGWLibsAndTools pushd texinfo downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma rm -rf texinfo-4.13a-2-msys-1.0.13-bin.tar - $SEVENZIP x texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma + 7za x texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma tar -xvf texinfo-4.13a-2-msys-1.0.13-bin.tar mv bin/* /usr/local/bin mv share/* /usr/local/share @@ -418,19 +415,6 @@ function makeInstallMinGWLibsAndTools popd fi - downloadIfNotExists unzip60.tar.gz http://ovh.dl.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz - tar -xvzf unzip60.tar.gz - pushd unzip60 - mingw32-make.exe -f win32/Makefile.gcc - cp unzip.exe /usr/local/bin - popd - - downloadIfNotExists 7za920.zip http://downloads.sourceforge.net/sevenzip/7za920.zip - SEVEN7LOC=$PWD - pushd /usr/local/bin - unzip -o $SEVEN7LOC/7za920.zip - popd - # This make can't build gdb or python (it doesn't re-interpret MSYS mounts), but includes jobserver patch from # Troy Runkel: http://article.gmane.org/gmane.comp.gnu.make.windows/3223/match= # which fixes the longstanding make.exe -jN process hang, allowing un-attended builds of all Qt things. @@ -1401,7 +1385,7 @@ function packforWindows rm -fr $TEMP_PATH/packforWindows mkdir -p $TEMP_PATH/packforWindows pushd $TEMP_PATH/packforWindows - $SEVENZIP x $1/$2.7z + 7za x $1/$2.7z mv Android Android_old $CPRL Android_old Android rm -fr Android_old diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index 70c66bc..d7abe43 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -1,5 +1,21 @@ #!/bin/bash +mkdir mingw-temp +pushd mingw-temp + +wget -c http://ovh.dl.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz +tar -xvzf unzip60.tar.gz +pushd unzip60 +mingw32-make.exe -f win32/Makefile.gcc +cp unzip.exe /usr/local/bin +popd + +wget -c http://downloads.sourceforge.net/sevenzip/7za920.zip +SEVEN7LOC=$PWD +pushd /usr/local/bin +unzip -o $SEVEN7LOC/7za920.zip +popd + # Get git. Awkwardly, git is packed up with a full mingw/msys env, so unzip # it to a temporary folder and copy across only certain bits, also, copy them # to /usr/local/bin so as not to pollute /usr/bin @@ -63,3 +79,47 @@ pushd libiconv-1.13 CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 make && make DESTDIR=/usr install popd + +# For mingw Python. Generate libmsi.a and copy msi.h, msidefs.h, msimcntl.h, msimcsdk.h, msiquery.h, fci.h to /usr/include. +wget -c http://downloads.sourceforge.net/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_20101003/mingw-w32-bin_i686-mingw_20101003_sezero.zip +mkdir mingw64-w32-temp +unzip -d mingw64-w32-temp mingw-w32-bin_i686-mingw_20101003_sezero.zip + +cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/msi*.h /usr/include +cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/fci.h /usr/include +cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/inaddr.h /usr/include/inaddr.h +cp mingw64-w32-temp/mingw32/bin/gendef.exe /usr/local/bin + +if [ ! -z $ProgramW6432 ] ; then + cp C:/Windows/SysWOW64/msi.dll ./msi.dll + cp C:/Windows/SysWOW64/cabinet.dll ./cabinet.dll + cp C:/Windows/SysWOW64/rpcrt4.dll ./rpcrt4.dll +else + cp C:/Windows/System32/msi.dll ./msi.dll + cp C:/Windows/System32/cabinet.dll ./cabinet.dll + cp C:/Windows/System32/rpcrt4.dll ./rpcrt4.dll +fi + +# If don't pass -a (assume stdcall if ambiguous, then link fails to find MsiGetLastErrorRecord, unfortunately we get warnings with this: +# Warning: resolving _MsiGetLastErrorRecord@0 by linking to _MsiGetLastErrorRecord, Warning: resolving _MsiRecordGetInteger@8 by linking to _MsiRecordGetInteger +# Use --enable-stdcall-fixup to disable these warnings + +gendef - msi.dll > msi.def +gendef - cabinet.dll > cabinet.def + +gendef - rpcrt4.dll > rpcrt4.def +cp msi.dll /usr/bin + +cp cabinet.dll /usr/bin +cp rpcrt4.dll /usr/bin +dlltool -C -D --export-all-symbols MSI.dll -A -d msi.def -l libmsi.a +dlltool -C -D --export-all-symbols CABINET.dll -A -d cabinet.def -l libcabinet.a +dlltool -C -D --export-all-symbols RPCRT4.dll -A -d rpcrt4.def -l librpcrt4.a + +mv libmsi.a /usr/lib +mv libcabinet.a /usr/lib +mv librpcrt4.a /usr/lib +rm -rf mingw64-w32-temp + +popd +rm -rf mingw-temp -- cgit v1.2.3 From 28ff95b5529e01c3deda4b05cb77bbf1fbc01b1e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 28 Jun 2011 21:34:42 +0100 Subject: build_ndk.sh uses new ndk_vars.sh --- Necessitas_SDK/build_ndk.sh | 45 +++++++++++++++++++++++++++++---------------- Necessitas_SDK/ndk_vars.sh | 11 +++++++++++ 2 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 Necessitas_SDK/ndk_vars.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 8706826..3f548ca 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -18,6 +18,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +. ndk_vars.sh + function error_msg { echo $1 >&2 @@ -101,11 +103,6 @@ function makeNDK mkdir src pushd src - GDB_BRANCH=integration_7_3 - GDB_ROOT_PATH= -# GDB_BRANCH=master -# GDB_ROOT_PATH=gdb - PYTHONVER=$PWD/python-install if [ ! -d $PYTHONVER ] ; then if [ -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then @@ -150,10 +147,9 @@ function makeNDK git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git ma-gdb fi pushd ma-gdb - git checkout integration_7_3 + git checkout $GDB_BRANCH git reset --hard GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH - GDB_VERSION=7.3 popd TCSRC=$PWD @@ -183,7 +179,7 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VERSION --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else echo "Skipping NDK build, already done." echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 @@ -203,16 +199,33 @@ function mixPythonWithNDK if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then echo "Failed to find toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" fi - rm -rf /tmp/android-ndk-r5b-${BUILD} - mkdir -p /tmp/android-ndk-r5b-${BUILD} - pushd /tmp/android-ndk-r5b-${BUILD} + mkdir -p /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack + rm -rf /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack/android-ndk-${NDK_VER} + pushd /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack + if [ "$OSTYPE" = "msys" ] ; then + downloadIfNotExists android-ndk-${NDK_VER}-windows.zip http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-windows.zip + unzip android-ndk-${NDK_VER}-windows.zip + else + if [ "$OSTYPE" = "linux-gnu" ] ; then + downloadIfNotExists android-ndk-${NDK_VER}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-linux-x86.tar.bz2 + tar xjvf android-ndk-${NDK_VER}-linux-x86.tar.bz2 + else + downloadIfNotExists android-ndk-${NDK_VER}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-darwin-x86.tar.bz2 + tar xjvf android-ndk-${NDK_VER}-darwin-x86.tar.bz2 + fi + fi + pushd android-ndk-${NDK_VER} tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z popd - 7za a -mx9 android-ndk-r5b-gdb-7.2-${BUILD}.7z toolchains - cp android-ndk-r5b-gdb-7.2-${BUILD}.7z $REPO_SRC_PATH + # Get rid of old and unused stuff. + rm -rf toolchains/arm-eabi-4.4.0 + rm -rf toolchains/x86-4.4.3 + popd + 7za a -mx9 android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z android-ndk-${NDK_VER} + mv android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z $REPO_SRC_PATH popd } @@ -248,9 +261,9 @@ PYTHONVER=/usr mkdir $TEMP_PATH pushd $TEMP_PATH -#if [ "$OSTYPE" = "msys" ] ; then -# makeInstallMinGWBits -#fi +if [ "$OSTYPE" = "msys" ] ; then + makeInstallMinGWBits +fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then if [ ! -f /usr/local/bin/7za ] ; then diff --git a/Necessitas_SDK/ndk_vars.sh b/Necessitas_SDK/ndk_vars.sh new file mode 100644 index 0000000..20c01de --- /dev/null +++ b/Necessitas_SDK/ndk_vars.sh @@ -0,0 +1,11 @@ +NDK_VER=r5c + +# Refers to the gdb branches and folder structure on +# git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git +GDB_BRANCH=integration_7_3 +GDB_ROOT_PATH= +# This is the name given to the created package. +GDB_VER=7.3 +#GDB_BRANCH=master +#GDB_ROOT_PATH=gdb +#GDB_VER=7.3 -- cgit v1.2.3 From 52f9fb5b9312994cad574e38d57d2a7fd1016974 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 28 Jun 2011 22:41:08 +0100 Subject: Mac OS X: Uses sysctl -n hw.ncpu + 2 for JOBS --- Necessitas_SDK/build_sdk.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e1e11c0..e972eb8 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -68,7 +68,7 @@ if [ "$OSTYPE" = "msys" ] ; then EXE_EXT=.exe SHLIB_EXT=.dll SCRIPT_EXT=.bat - JOBS=`expr $NUMBER_OF_PROCESSORS + 1` + JOBS=`expr $NUMBER_OF_PROCESSORS + 2` else if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa -prefix . " @@ -79,7 +79,8 @@ else HOST_TAG=darwin-x86 HOST_TAG_NDK=darwin-x86 SHLIB_EXT=.dylib - JOBS=9 + JOBS=`sysctl -n hw.ncpu` + JOBS=`expr $JOBS + 2` else HOST_CFG_OPTIONS=" -platform linux-g++ " HOST_TAG=linux-x86 -- cgit v1.2.3 From a488e0417672d27d3cee3491ec11e78b8dce66b0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 6 Jul 2011 08:31:45 +0100 Subject: build_ndk.sh fixes --- Necessitas_SDK/build_ndk.sh | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 3f548ca..eb2e4ff 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -49,7 +49,7 @@ function makeInstallPython then if [ ! -d Python-2.7.1 ] then - git clone git://gitorious.org/mingw-python/mingw-python.git Python-2.7.1 + git clone git://gitorious.org/mingw-python/mingw-python.git Python-2.7.1 || error_msg "Can't clone Python" fi pushd Python-2.7.1 mkdir python-build @@ -86,7 +86,9 @@ function makeInstallMinGWBits popd rm -rf android-various - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various + if [ ! -d android-various ] ; then + git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" + fi mkdir -p android-various/make-3.82-build pushd android-various/make-3.82-build ../make-3.82/build-mingw.sh @@ -100,51 +102,52 @@ function makeInstallMinGWBits function makeNDK { + PYTHONVER=`pwd`/Python-2.7.1/python-build/install-python-${BUILD_PYTHON} mkdir src pushd src +# PYTHONVER=$PWD/python-install - PYTHONVER=$PWD/python-install if [ ! -d $PYTHONVER ] ; then if [ -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then - mkdir $PYTHONVER + mkdir -p $PYTHONVER pushd $PYTHONVER 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - PYTHONVER=$PWD + PYTHONVER=`pwd` popd fi fi if [ ! -d "mpfr" ] then - git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr + git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr || error_msg "Can't clone mpfr" pushd mpfr downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 popd fi if [ ! -d "binutils" ] then - git clone git://android.git.kernel.org/toolchain/binutils.git binutils + git clone git://android.git.kernel.org/toolchain/binutils.git binutils || error_msg "Can't clone binutils" fi if [ ! -d "gmp" ] then - git clone git://android.git.kernel.org/toolchain/gmp.git gmp + git clone git://android.git.kernel.org/toolchain/gmp.git gmp || error_msg "Can't clone gmp" fi if [ ! -d "gold" ] then - git clone git://android.git.kernel.org/toolchain/gold.git gold + git clone git://android.git.kernel.org/toolchain/gold.git gold || error_msg "Can't clone gold" fi if [ ! -d "build" ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build || error_msg "Can't clone build" fi if [ ! -d "gcc" ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc || error_msg "Can't clone gcc" fi mkdir gdb if [ ! -d "ma-gdb" ] then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git ma-gdb + git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git ma-gdb || error_msg "Can't clone gdb" fi pushd ma-gdb git checkout $GDB_BRANCH @@ -255,12 +258,17 @@ else fi fi -REPO_SRC_PATH=$PWD/ndk-packages +REPO_SRC_PATH=`pwd`/ndk-packages mkdir $REPO_SRC_PATH PYTHONVER=/usr mkdir $TEMP_PATH pushd $TEMP_PATH +#cp -rf /usr/ndk-build-old/src . +#mkdir build-windows +#cp -rf /usr/ndk-build-old/build-windows/ndk ./build-windows +#cp -rf /usr/ndk-build-old/build-windows/development ./build-windows + if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWBits fi -- cgit v1.2.3 From 1e81070c3a7996ab8de07d746ad6ab8a9ee4196c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 6 Jul 2011 08:46:40 +0100 Subject: ma_ndk --- Necessitas_SDK/build_sdk.sh | 24 ++++--- .../meta/installscript.qs | 81 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 3 + 4 files changed, 109 insertions(+), 11 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e972eb8..de16e2a 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -446,14 +446,14 @@ function makeInstallMinGWLibs function prepareNDKs { # repack official windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} - unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z + mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi @@ -494,8 +494,8 @@ function prepareNDKs if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip - unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then @@ -1008,7 +1008,7 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then # Change this to 5? - NDK_TARGET=4 + NDK_TARGET=5 fi if [ ! -f all_done ] @@ -1293,6 +1293,7 @@ function setPackagesVariables patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r5" + patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.ma_r5" patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" patchPackage "@@ANDROID_API_5_VERSION@@" $ANDROID_API_5_VERSION "org.kde.necessitas.misc.sdk.android_5" @@ -1314,6 +1315,7 @@ function unsetPackagesVariables patchPackage $NECESSITAS_QT_CREATOR_VERSION "@@NECESSITAS_QT_CREATOR_VERSION@@" "org.kde.necessitas.tools.qtcreator" patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.r5" + patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.ma_r5" patchPackage $ANDROID_API_4_VERSION "@@ANDROID_API_4_VERSION@@" "org.kde.necessitas.misc.sdk.android_4" patchPackage $ANDROID_API_5_VERSION "@@ANDROID_API_5_VERSION@@" "org.kde.necessitas.misc.sdk.android_5" @@ -1451,9 +1453,9 @@ function prepareWindowsPackages } -if [ "$OSTYPE" = "msys" ] ; then - makeInstallMinGWLibsAndTools -fi +#if [ "$OSTYPE" = "msys" ] ; then +# makeInstallMinGWLibsAndTools +#fi prepareHostQt prepareSdkInstallerTools prepareGDBVersion 7.2 $HOST_TAG diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs new file mode 100644 index 0000000..0fba60a --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs @@ -0,0 +1,81 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set NDK Location + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKLocation", + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + // set NDK toolchain version + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKToolchainVersion", + "arm-linux-androideabi-4.4.3" ); + + // set DEFAULT gdb location + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbserverPath = gdbPath+"gdbserver"; + if (installer.value("os") == "x11") + { + gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; + } + else if (installer.value("os") == "win") + { + gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; + } + else if (installer.value("os") == "mac") + { + gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml new file mode 100644 index 0000000..a7a6a7f --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml @@ -0,0 +1,12 @@ + + + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3. + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.ndk.ma_r5 + + org.kde.necessitas.tools.qtcreator + 90 + 90 + diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index d7abe43..d5dab9a 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -123,3 +123,6 @@ rm -rf mingw64-w32-temp popd rm -rf mingw-temp +rm -rf /etc/fstab + +exit -- cgit v1.2.3 From a7f01109cfb9b2408a83444dbc852f8d474524f0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Jul 2011 00:50:34 +0100 Subject: Windows: build_ndk.sh fixes --- Necessitas_SDK/build_ndk.sh | 60 ++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index eb2e4ff..fb7af1b 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -54,6 +54,7 @@ function makeInstallPython pushd Python-2.7.1 mkdir python-build pushd python-build +# ../build-python.sh --with-pydebug ../build-python.sh # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z cp ../python-${BUILD_PYTHON}.7z $REPO_SRC_PATH/ @@ -64,36 +65,43 @@ function makeInstallPython function makeInstallMinGWBits { - wget -c http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz - rm -rf PDCurses-3.4 - tar -xvzf PDCurses-3.4.tar.gz - cd PDCurses-3.4/win32 - sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak - make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N - cp pdcurses.a /usr/lib/libcurses.a - cp pdcurses.a /usr/lib/libncurses.a - cp pdcurses.a /usr/lib/libpdcurses.a - cp ../curses.h /usr/include - cp ../panel.h /usr/include - cd ../.. + if [ ! -f /usr/lib/libcurses.a ] ; then + wget -c http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz + rm -rf PDCurses-3.4 + tar -xvzf PDCurses-3.4.tar.gz + pushd PDCurses-3.4/win32 + sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak + make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N + cp pdcurses.a /usr/lib/libcurses.a + cp pdcurses.a /usr/lib/libncurses.a + cp pdcurses.a /usr/lib/libpdcurses.a + cp ../curses.h /usr/include + cp ../panel.h /usr/include + popd + fi - wget -c http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz - rm -rf readline-6.2 - tar -xvzf readline-6.2.tar.gz - pushd readline-6.2 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/usr CFLAGS=-O2 - make && make install - popd + if [ ! -f /usr/lib/libreadline.a ] ; then + wget -c http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz + rm -rf readline-6.2 + tar -xvzf readline-6.2.tar.gz + pushd readline-6.2 + CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/usr CFLAGS=-O2 + make && make install + popd + fi - rm -rf android-various if [ ! -d android-various ] ; then git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" fi - mkdir -p android-various/make-3.82-build - pushd android-various/make-3.82-build - ../make-3.82/build-mingw.sh - cp make.exe $REPO_SRC_PATH/ - popd + + if [ ! -f $REPO_SRC_PATH/make.exe ] ; then + mkdir -p android-various/make-3.82-build + pushd android-various/make-3.82-build + ../make-3.82/build-mingw.sh + cp make.exe $REPO_SRC_PATH/ + popd + fi + pushd android-various/android-sdk gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe cp android.exe $REPO_SRC_PATH/ @@ -181,6 +189,8 @@ function makeNDK ANDROID_NDK_ROOT=$NDK echo GDB_ROOT_PATH $GDB_ROOT_PATH + PYTHONHOME="" + unset PYTHONHOME if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest else -- cgit v1.2.3 From 96d9790c81786aad57935272f95dd0a144502805 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Jul 2011 21:13:23 +0100 Subject: Windows: Remove C:/usr/msys in BootstrapMinGWAndroid.vbs --- Necessitas_SDK/BootstrapMinGWAndroid.vbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/BootstrapMinGWAndroid.vbs b/Necessitas_SDK/BootstrapMinGWAndroid.vbs index 19e5d4e..e2ad2c3 100644 --- a/Necessitas_SDK/BootstrapMinGWAndroid.vbs +++ b/Necessitas_SDK/BootstrapMinGWAndroid.vbs @@ -55,10 +55,10 @@ msgbox "Launching MinGW installer, Use pre-packaged repository," & vbcrlf & "ins run minGWInstaller copy wgetExe,"C:\usr\bin\wget.exe" run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr" +run "cmd /c del /F /Q /S C:\usr\msys" 'run "cmd /c mkdir C:\usr\local" 'run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr\local" 'run "cmd /c xcopy /S /R /Y C:\usr\local\msys.bat C:\usr\" 'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\sh.exe C:\usr\bin" 'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\msys-1.0.exe C:\usr\bin" 'run "cmd /c del /F /Q C:\usr\local\msys.bat" -'run "cmd /c del /F /Q /S C:\usr\msys" -- cgit v1.2.3 From 7fc60312a56f017b9c48368e81ca1e7cb260fb2e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 8 Jul 2011 01:39:54 +0100 Subject: Windows: vbs script uses msysGit's msys-1.0.dll as it fixes fork issue on Vista x64 / Windows 7 --- Necessitas_SDK/BootstrapMinGWAndroid.vbs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/BootstrapMinGWAndroid.vbs b/Necessitas_SDK/BootstrapMinGWAndroid.vbs index e2ad2c3..6ad47e7 100644 --- a/Necessitas_SDK/BootstrapMinGWAndroid.vbs +++ b/Necessitas_SDK/BootstrapMinGWAndroid.vbs @@ -44,18 +44,19 @@ function move(source,dest) end function minGWInstaller=WshShell.CurrentDirectory & "\mingw-get-inst-20110530.exe" -'gitInstaller=WshShell.CurrentDirectory & "\Git-1.7.4-preview20110204.exe" +gitInstaller=WshShell.CurrentDirectory & "\Git-1.7.4-preview20110204.exe" wgetExe=WshShell.CurrentDirectory & "\wget.exe" downloadHTTP "http://kent.dl.sourceforge.net/project/mingw/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110530/mingw-get-inst-20110530.exe", minGWInstaller -'downloadHTTP "http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe", gitInstaller +downloadHTTP "http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe", gitInstaller downloadHTTP "http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe", wgetExe -'msgbox "Launching Windows Git installer, install to C:\usr" -'run gitInstaller msgbox "Launching MinGW installer, Use pre-packaged repository," & vbcrlf & "install to C:\usr," & vbcrlf & "select C and C++ compilers," & vbcrlf & "MSYS Basic System and MinGW Developer Toolkit" run minGWInstaller +msgbox "Launching Windows Git installer, install to C:\msys-git" +run gitInstaller copy wgetExe,"C:\usr\bin\wget.exe" run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr" run "cmd /c del /F /Q /S C:\usr\msys" +copy "C:\msys-git\bin\msys-1.0.dll","C:\usr\bin\msys-1.0.dll" 'run "cmd /c mkdir C:\usr\local" 'run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr\local" 'run "cmd /c xcopy /S /R /Y C:\usr\local\msys.bat C:\usr\" -- cgit v1.2.3 From 4985ec8eab2efcfccbab6a744b57293e839a0ea2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 8 Jul 2011 02:04:10 +0100 Subject: Windows: Fix url for unzip60.tar.gz --- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index d5dab9a..2a1590e 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -3,7 +3,7 @@ mkdir mingw-temp pushd mingw-temp -wget -c http://ovh.dl.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz +wget -c http://sourceforge.net/projects/infozip/files/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz/download tar -xvzf unzip60.tar.gz pushd unzip60 mingw32-make.exe -f win32/Makefile.gcc -- cgit v1.2.3 From dfe90790101659aaf5f5e4ec86c93d7c9169c5dd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 9 Jul 2011 08:11:07 +0100 Subject: ndk: Use new integration branch of gcc --- Necessitas_SDK/build_ndk.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index fb7af1b..2f52408 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -151,6 +151,7 @@ function makeNDK if [ ! -d "gcc" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc || error_msg "Can't clone gcc" + git checkout integration fi mkdir gdb if [ ! -d "ma-gdb" ] -- cgit v1.2.3 From 06933161d9c7c5ef0921b00568c24ff442ae7ae3 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 9 Jul 2011 19:54:11 +0100 Subject: Use GDB 7.3.50.20110709 (branch fsf_head) --- Necessitas_SDK/ndk_vars.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/ndk_vars.sh b/Necessitas_SDK/ndk_vars.sh index 20c01de..8c3e237 100644 --- a/Necessitas_SDK/ndk_vars.sh +++ b/Necessitas_SDK/ndk_vars.sh @@ -2,10 +2,10 @@ NDK_VER=r5c # Refers to the gdb branches and folder structure on # git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git -GDB_BRANCH=integration_7_3 +GDB_BRANCH=fsf_head GDB_ROOT_PATH= # This is the name given to the created package. -GDB_VER=7.3 +GDB_VER=7.3.50.20110709 #GDB_BRANCH=master #GDB_ROOT_PATH=gdb #GDB_VER=7.3 -- cgit v1.2.3 From 1b45b9201fe898bb0a87a29a864ef83b6023aa02 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 9 Jul 2011 22:11:53 +0100 Subject: build_sdk/ndk changes sdk: remove special libc.a management, android-9 has it anyway. ndk: copy libstdc++(thumb) to sources/cxx-stl.../armeabi/ and armv7-a/libstc++(arm) to sources/cxx-sstl.../armeabi-v7a --- Necessitas_SDK/build_ndk.sh | 6 ++++++ Necessitas_SDK/build_sdk.sh | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 2f52408..e12c87c 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -202,6 +202,8 @@ function makeNDK cp $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 } +# This also copies the new libstdc++'s over the old ones (the NDK's build scripts are +# buggy (--keep-libstdc++ doesn't work right). function mixPythonWithNDK { if [ ! -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then @@ -230,6 +232,10 @@ function mixPythonWithNDK fi pushd android-ndk-${NDK_VER} tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + # The official NDK uses thumb version of libstdc++ for armeabi and + # an arm version for armeabi-v7a, so copy the appropriate one over. + cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/thumb/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi/ + cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/armv7-a/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index de16e2a..938b62f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -758,14 +758,6 @@ function prepareGDBServer mkdir android-sysroot $CPRL $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" - # Fix gdbserver bug by using a Gingerbread version of libc.a - # 'The remote end hung up.' - # git archive --remote=git://android.git.kernel.org/platform/development.git HEAD:ndk/platforms/android-3/arch-arm/lib libc.a | tar -x - downloadIfNotExists libc.a https://review.source.android.com//cat/23118%2C1%2Cndk/platforms/android-3/arch-arm/lib/libc.a^0 - cp libc.a^0 libc.zip - rm libc_new-*.a - unzip libc.zip - mv libc_new-*.a android-sysroot/usr/lib/libc.a rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h -- cgit v1.2.3 From d8a2f6743ff78d1e9d7f7f4b828ff4a95339d4de Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 11 Jul 2011 02:38:27 +0100 Subject: Misc NDK related changes OS X and Windows use new ndk.ma_r5 package to build Android Qt Host gdb renamed to host_gdb_head --- Necessitas_SDK/build_sdk.sh | 142 +++++++++++++++------ .../meta/installscript.qs | 75 ----------- .../meta/package.xml | 12 -- .../meta/installscript.qs | 75 ----------- .../meta/package.xml | 12 -- .../meta/installscript.qs | 75 +++++++++++ .../meta/package.xml | 12 ++ .../meta/package.xml | 2 +- 8 files changed, 189 insertions(+), 216 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 938b62f..5694045 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -446,14 +446,14 @@ function makeInstallMinGWLibs function prepareNDKs { # repack official windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip rm -fr android-ndk-${ANDROID_NDK_VERSION} - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi @@ -481,6 +481,42 @@ function prepareNDKs rm -fr android-ndk-${ANDROID_NDK_VERSION} fi + # repack mingw android windows NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] + then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + fi + + # repack mingw android mac NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] + then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + fi + + # repack mingw android linux-x86 NDK + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] + then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z + rm -fr android-ndk-${ANDROID_NDK_VERSION} + fi + if [ $BUILD_ANDROID_GIT_NDK = 1 ] then export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git @@ -493,19 +529,36 @@ function prepareNDKs export ANDROID_NDK_HOST=$HOST_TAG_NDK if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then - if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3-windows.7z - fi + if [ "$USE_MA_NDK" = "0" ]; then + if [ "$OSTYPE" = "msys" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip + unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip + fi - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - fi + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 + fi - if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + if [ "$OSTYPE" = "linux-gnu" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 + fi + else + if [ "$OSTYPE" = "msys" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + fi + + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + fi + + if [ "$OSTYPE" = "linux-gnu" ]; then + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + fi fi if [ $BUILD_ANDROID_GIT_NDK = 1 ] @@ -818,8 +871,13 @@ echo prepareGDBVersion $1 $2 GDB_ROOT_PATH=.. GDB_BRANCH=integration_7_3 else - GDB_ROOT_PATH=../gdb - GDB_BRANCH=master + if [ "$GDB_VER" = "head" ]; then + GDB_ROOT_PATH=.. + GDB_BRANCH=fsf_head + else + GDB_ROOT_PATH=../gdb + GDB_BRANCH=master + fi fi prepareGDB if [ -z $GDB_TARG_HOST_TAG ] ; then @@ -972,14 +1030,14 @@ function packSource then mv $1/LayoutTests . fi - - mv $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ + echo cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ + cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ pushd $TEMP_PATH/source_temp_path $SDK_TOOLS_PATH/archivegen Android $1.7z mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data/$1.7z popd - mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/$1 . + #mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/$1 . mv .git $1/ if [ $1 = "qt-src" ] then @@ -996,12 +1054,7 @@ function packSource function compileNecessitasQt { package_name=${1//-/_} # replace - with _ - NDK_TARGET=4 - if [ $package_name = "armeabi_v7a" ] - then - # Change this to 5? - NDK_TARGET=5 - fi + NDK_TARGET=5 if [ ! -f all_done ] then @@ -1016,7 +1069,7 @@ function compileNecessitasQt doSed $"s/= android-4/= android-$NDK_TARGET/g" mkspecs/android-g++/qmake.conf else doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-$NDK_TARGET/= android-4/g" mkspecs/android-g++/qmake.conf + doSed $"s/= android-4/= android-$NDK_TARGET/g" mkspecs/android-g++/qmake.conf fi rm -fr data @@ -1445,17 +1498,24 @@ function prepareWindowsPackages } -#if [ "$OSTYPE" = "msys" ] ; then -# makeInstallMinGWLibsAndTools -#fi +# My new NDK is too untested to be used as the one that builds Android Qt, so use official NDK on Linux +# for now. +USE_MA_NDK=1 +if [ "$OSTYPE" = "linux-gnu" ] ; then + USE_MA_NDK=0 +fi + +if [ "$OSTYPE" = "msys" ] ; then + makeInstallMinGWLibsAndTools +fi prepareHostQt prepareSdkInstallerTools -prepareGDBVersion 7.2 $HOST_TAG -prepareGDBVersion 7.3 $HOST_TAG +#prepareGDBVersion 7.2 $HOST_TAG +prepareGDBVersion head $HOST_TAG prepareNDKs -prepareGDBVersion 7.2 -prepareGDBVersion 7.3 +#prepareGDBVersion 7.2 +#prepareGDBVersion 7.3 prepareSDKs @@ -1476,12 +1536,12 @@ setPackagesVariables prepareSDKBinary # Comment this block in if you want necessitas-sdk-installer-d and qtcreator-d to be built. -##if [ ! "$OSTYPE" = "linux-gnu" ] ; then -## prepareHostQt -d -## prepareNecessitasQtCreator -## prepareSdkInstallerTools -## prepareSDKBinary -##fi +#if [ ! "$OSTYPE" = "linux-gnu" ] ; then +# prepareHostQt -d +# prepareNecessitasQtCreator +# prepareSdkInstallerTools +# prepareSDKBinary +#fi prepareSDKRepository unsetPackagesVariables diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs deleted file mode 100644 index ad34d0c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/installscript.qs +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -function OsToHostTag() -{ - if (installer.value("os") == "x11") - { - return "linux-x86"; - } - else if (installer.value("os") == "win") - { - return "windows"; - } - else if (installer.value("os") == "mac") - { - return "darwin-x86"; - } -} - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-7.2.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-7.2/"; - var gdbPath = basePath+"gdb"; - var pythonPath=basePath+"python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - -/* component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); -*/ - if (installer.value("os") != "win") - { - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - basePath+"python" ); - } - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", basePath+"python/lib/python2.7/compileall.py", - "-f", basePath+"python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml deleted file mode 100644 index f4aae1e..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_2/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Host gdb-7.2 - Custom host GDB with python capabilities - 7.2.50.20110211 - @@TODAY@@ - org.kde.necessitas.misc.host_gdb_7_2 - - 99999 - 94 - false - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs deleted file mode 100644 index 89453c2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/installscript.qs +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -function OsToHostTag() -{ - if (installer.value("os") == "x11") - { - return "linux-x86"; - } - else if (installer.value("os") == "win") - { - return "windows"; - } - else if (installer.value("os") == "mac") - { - return "darwin-x86"; - } -} - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-7.3.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-7.3/"; - var gdbPath = basePath+"gdb"; - var pythonPath=basePath+"python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - -/* component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); -*/ - if (installer.value("os") != "win") - { - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - basePath+"python" ); - } - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", basePath+"python/lib/python2.7/compileall.py", - "-f", basePath+"python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml deleted file mode 100644 index 243d3e0..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_7_3/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Host gdb-7.3 - Custom host GDB with python capabilities - 7.3.0 - @@TODAY@@ - org.kde.necessitas.misc.host_gdb_7_3 - - 99999 - 94 - false - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs new file mode 100644 index 0000000..34ab99f --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs @@ -0,0 +1,75 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +function OsToHostTag() +{ + if (installer.value("os") == "x11") + { + return "linux-x86"; + } + else if (installer.value("os") == "win") + { + return "windows"; + } + else if (installer.value("os") == "mac") + { + return "darwin-x86"; + } +} + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-head.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-head/"; + var gdbPath = basePath+"gdb"; + var pythonPath=basePath+"python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + +/* component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); +*/ + if (installer.value("os") != "win") + { + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + basePath+"python" ); + } + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", basePath+"python/lib/python2.7/compileall.py", + "-f", basePath+"python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml new file mode 100644 index 0000000..5e18990 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml @@ -0,0 +1,12 @@ + + + Host gdb-head + Custom host GDB with python capabilities + 7.3.50.20110709 + @@TODAY@@ + org.kde.necessitas.misc.host_gdb_head + + 99999 + 94 + false + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml index a7a6a7f..8fc41c2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml @@ -1,7 +1,7 @@ Android NDK-@@ANDROID_NDK_VERSION@@ Experimental - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3. + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 5.0.0-@@ANDROID_NDK_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.ndk.ma_r5 -- cgit v1.2.3 From 3644bb293799875baff78e27e25fe6fc7a5b79c1 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 11 Jul 2011 20:45:58 +0100 Subject: NDK fixes --- Necessitas_SDK/build_sdk.sh | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 5694045..6a9e7f6 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -22,15 +22,12 @@ . sdk_vars.sh REPO_SRC_PATH=$PWD -TEMP_PATH_PREFIX=/tmp TODAY=`date +%Y-%m-%d` -if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - TEMP_PATH_PREFIX=/usr -fi +TEMP_PATH_PREFIX=/usr TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH sudo chmod 777 $TEMP_PATH @@ -376,7 +373,7 @@ function makeInstallMinGWLibsAndTools mkdir mingw-bits pushd mingw-bits - + mkdir texinfo pushd texinfo downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma @@ -1510,15 +1507,9 @@ if [ "$OSTYPE" = "msys" ] ; then fi prepareHostQt prepareSdkInstallerTools -#prepareGDBVersion 7.2 $HOST_TAG prepareGDBVersion head $HOST_TAG - prepareNDKs -#prepareGDBVersion 7.2 -#prepareGDBVersion 7.3 - prepareSDKs - prepareNecessitasQtCreator prepareNecessitasQt -- cgit v1.2.3 From 047a40741751d45e1ef65ff08cb3bc37dcecc8ce Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 11 Jul 2011 20:50:21 +0100 Subject: Linux: NDK fixes --- Necessitas_SDK/build_sdk.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6a9e7f6..e6362b4 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -24,10 +24,10 @@ REPO_SRC_PATH=$PWD TODAY=`date +%Y-%m-%d` -TEMP_PATH_PREFIX=/usr +TEMP_PATH_PREFIX=/tmp TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" -o "$OSTYPE" = "linux-gnu" ]; then +if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH sudo chmod 777 $TEMP_PATH @@ -861,7 +861,6 @@ function repackSDK function prepareGDBVersion { -echo prepareGDBVersion $1 $2 GDB_VER=$1 GDB_TARG_HOST_TAG=$2 # windows, linux-x86, darwin-x86 or nothing for android. if [ "$GDB_VER" = "7.3" ]; then -- cgit v1.2.3 From 6e64b1be5b8f21ab451e942c80b0bd7d453f34c5 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 12 Jul 2011 08:48:00 +0100 Subject: OpenJDK and Ant packaging --- Necessitas_SDK/build_sdk.sh | 58 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e6362b4..549c89f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -24,7 +24,11 @@ REPO_SRC_PATH=$PWD TODAY=`date +%Y-%m-%d` -TEMP_PATH_PREFIX=/tmp +if [ "$OSTYPE" = "linux-gnu" ] ; then + TEMP_PATH_PREFIX=/tmp +else + TEMP_PATH_PREFIX=/usr +fi TEMP_PATH=$TEMP_PATH_PREFIX/necessitas if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then @@ -1290,9 +1294,53 @@ function prepareNecessitasQtWebkit function prepareOpenJDK { - if [ "$OSTYPE" = "msys" ] ; then - downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe - oscg-openjdk6b21-1-windows-installer.exe http://openscg.com/se/oscg_download.jsp?file=installers/oscg-openjdk6b21-1-windows-installer.exe&user= + mkdir openjdk + pushd openjdk + + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data + WINE=0 + which wine && WINE=1 + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-windows.7z ] ; then + if [ "$OSTYPE" = "msys" -o "$WINE" = "1" ] ; then + downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe + rm -rf openjdk6b21-windows + oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows + pushd openjdk6b21-windows + $SDK_TOOLS_PATH/archivegen openjdk-6.0.21 openjdk-windows.7z + popd + mv openjdk-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + fi + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-linux-x86.7z ] ; then + downloadIfNotExists openjdk-1.6.0-b21.i386.openscg.deb http://oscg-downloads.s3.amazonaws.com/packages/openjdk-1.6.0-b21.i386.openscg.deb + ar x openjdk-1.6.0-b21.i386.openscg.deb + tar xzf data.tar.gz + pushd opt + $SDK_TOOLS_PATH/archivegen openjdk openjdk-linux-x86.7z + mv openjdk-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + popd + tar + fi + + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then + downloadIfNotExists oscg-openjdk6b16-5a-osx-installer.zip http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b16-5a-osx-installer.zip + unzip oscg-openjdk6b16-5a-osx-installer.zip + $SDK_TOOLS_PATH/archivegen oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z + mv openjdk-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + fi + + popd +} + +function prepareAnt +{ + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data/ant.7z ] ; then + mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data + downloadIfNotExists apache-ant-1.8.2-bin.tar.bz2 http://mirror.ox.ac.uk/sites/rsync.apache.org//ant/binaries/apache-ant-1.8.2-bin.tar.bz2 + tar xjvf apache-ant-1.8.2-bin.tar.bz2 + $SDK_TOOLS_PATH/archivegen apache-ant-1.8.2 ant.7z + mv ant.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data/ fi } @@ -1506,6 +1554,8 @@ if [ "$OSTYPE" = "msys" ] ; then fi prepareHostQt prepareSdkInstallerTools +prepareOpenJDK +prepareAnt prepareGDBVersion head $HOST_TAG prepareNDKs prepareSDKs -- cgit v1.2.3 From 5b7382d6ffb616faa310a8b164880f5dab718064 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 12 Jul 2011 09:13:47 +0100 Subject: Windows: FIx OpenJDK packaging bug --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 549c89f..b40d2c9 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1307,8 +1307,8 @@ function prepareOpenJDK oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows pushd openjdk6b21-windows $SDK_TOOLS_PATH/archivegen openjdk-6.0.21 openjdk-windows.7z - popd mv openjdk-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + popd fi fi -- cgit v1.2.3 From 7a4629513ec1f2ff34dfa89a062069e3c3b4e2c0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 12 Jul 2011 19:32:26 +0100 Subject: Work around iconv build problem --- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index 2a1590e..0361f72 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -77,7 +77,10 @@ rm -rf libiconv-1.13 tar -xvzf libiconv-1.13.tar.gz pushd libiconv-1.13 CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 -make && make DESTDIR=/usr install +make +# Without the /mingw folder, this fails, but only after copying libiconv.a to the right place. +make install +cp include/iconv.h /usr/include popd # For mingw Python. Generate libmsi.a and copy msi.h, msidefs.h, msimcntl.h, msimcsdk.h, msiquery.h, fci.h to /usr/include. -- cgit v1.2.3 From 7bb32c7472ba2f2e9fbdf9166e1f6b139149d697 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 14 Jul 2011 03:07:48 +0100 Subject: WIP: Added openjdk metadata --- Necessitas_SDK/build_sdk.sh | 12 ++-- Necessitas_SDK/config/config.xml | 2 +- .../meta/installscript.qs | 4 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 4 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../org.kde.necessitas.android.qt/meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +- .../meta/package.xml | 2 +- .../org.kde.necessitas.android/meta/package.xml | 2 +- .../meta/package.xml | 2 +- .../meta/package.xml | 2 +- .../meta/package.xml | 2 +- .../meta/installscript.qs | 10 ++-- .../meta/package.xml | 8 +-- .../meta/installscript.qs | 10 ++-- .../meta/package.xml | 8 +-- .../org.kde.necessitas.misc.ndk/meta/package.xml | 2 +- .../meta/installscript.qs | 69 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 6 +- .../meta/package.xml | 6 +- .../meta/package.xml | 8 +-- .../meta/installscript.qs | 6 +- .../meta/package.xml | 8 +-- .../org.kde.necessitas.misc.sdk/meta/package.xml | 2 +- .../org.kde.necessitas.misc/meta/package.xml | 2 +- .../meta/package.xml | 4 +- .../org.kde.necessitas.tools/meta/package.xml | 2 +- .../packages/org.kde.necessitas/meta/package.xml | 2 +- 60 files changed, 223 insertions(+), 142 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index b40d2c9..78b603b 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1576,12 +1576,12 @@ setPackagesVariables prepareSDKBinary # Comment this block in if you want necessitas-sdk-installer-d and qtcreator-d to be built. -#if [ ! "$OSTYPE" = "linux-gnu" ] ; then -# prepareHostQt -d -# prepareNecessitasQtCreator -# prepareSdkInstallerTools -# prepareSDKBinary -#fi +if [ ! "$OSTYPE" = "linux-gnu" ] ; then + prepareHostQt -d + prepareNecessitasQtCreator + prepareSdkInstallerTools + prepareSDKBinary +fi prepareSDKRepository unsetPackagesVariables diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index 2b5d745..c81ab56 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -13,7 +13,7 @@ - file:///tmp/www/necessitas/sdk + file:///C|/usr/www/necessitas/sdk true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index 2fd0ed2..fa94cdc 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv5", + "Necessitas Qt 4.7.62.1 for Android armv5", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index 3bb6a48..eac89ce 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi + Qt 4.7.62.1-armeabi Development libraries for development applications on Android devices, armeabi architecture. - @@NECESSITAS_QT_VERSION@@ - @@TODAY@@ + 4.7.62.1 + 2011-07-14 org.kde.necessitas.android.qt.armeabi 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index e206cf5..fe9fd90 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7", + "Necessitas Qt 4.7.62.1 for Android armv7", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 27ebe6c..6355a92 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a + Qt 4.7.62.1-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - @@NECESSITAS_QT_VERSION@@ - @@TODAY@@ + 4.7.62.1 + 2011-07-14 org.kde.necessitas.android.qt.armeabi_v7a 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index bd8c176..39fc93a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qt-src", "@TargetDir@/Android/Qt/4762/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 452496a..fd5c593 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,9 +1,9 @@ - Qt @@NECESSITAS_QT_VERSION@@-src + Qt 4.7.62.1-src Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QT_VERSION@@ - @@TODAY@@ + 4.7.62.1 + 2011-07-14 org.kde.necessitas.android.qt.src 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml index b17ac22..2c87db6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml @@ -3,7 +3,7 @@ Qt Qt 1.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.android.qt 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 0d1e8d2..42e6262 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index a98fbe6..cf3d489 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi + QtMobility 1.2.0-armeabi Development libraries for development applications on Android devices, armeabi architecture. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ + 1.2.0 + 2011-07-14 org.kde.necessitas.android.qtmobility.armeabi org.kde.necessitas.android.qt.armeabi org.kde.necessitas.android.qtwebkit.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index 46d4814..01d2772 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index d149833..21e2cce 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a + QtMobility 1.2.0-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ + 1.2.0 + 2011-07-14 org.kde.necessitas.android.qtmobility.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a org.kde.necessitas.android.qtwebkit.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index dd74ef8..5e07638 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qtmobility-src", "@TargetDir@/Android/Qt/4762/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml index 93ee668..a82fa05 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-src + QtMobility 1.2.0-src Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ + 1.2.0 + 2011-07-14 org.kde.necessitas.android.qtmobility.src 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml index 1f57a4b..dbad69f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml @@ -3,7 +3,7 @@ QtMobility QtMobility 1.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.android.qtmobility 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index a8caf6e..0c10a96 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index cd96408..7215ac4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi + QtWebKit 2.1.1-armeabi Development libraries for development applications on Android devices, armeabi architecture. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ + 2.1.1 + 2011-07-14 org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index ce7cea1..203de61 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index 49380c8..53cbb8e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a + QtWebKit 2.1.1-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ + 2.1.1 + 2011-07-14 org.kde.necessitas.android.qtwebkit.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 3da79d2..db58670 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qtwebkit-src", "@TargetDir@/Android/Qt/4762/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml index df19fb8..739f201 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-src + QtWebKit 2.1.1-src Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ + 2.1.1 + 2011-07-14 org.kde.necessitas.android.qtwebkit.src 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml index 95675af..caa56e3 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml @@ -3,7 +3,7 @@ QtWebkit QtWebkit 1.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.android.qtwebkit 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml index bece9ff..1884eaf 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml @@ -3,7 +3,7 @@ Android Android 1.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.android 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml index 5e18990..52db243 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml @@ -3,7 +3,7 @@ Host gdb-head Custom host GDB with python capabilities 7.3.50.20110709 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc.host_gdb_head 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml index e55961b..cca3c6f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml @@ -3,7 +3,7 @@ Android custom gdb-7.2 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.2.50.20110211 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc.ndk.gdb_7_2 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml index 3ae23bd..0569f80 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -3,7 +3,7 @@ Android custom gdb-7.3 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.3.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc.ndk.gdb_7_3 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs index 0fba60a..526451d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-ma-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-ma-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-ma-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + "@TargetDir@/android-ndk-r5c" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml index 8fc41c2..877ddfc 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml @@ -1,9 +1,9 @@ - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 5.0.0-@@ANDROID_NDK_VERSION@@ - @@TODAY@@ + Android NDK-r5c Experimental + Android NDK-r5c Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 + 5.0.0-r5c + 2011-07-14 org.kde.necessitas.misc.ndk.ma_r5 org.kde.necessitas.tools.qtcreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs index 089af39..31cf002 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-r5c-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + "@TargetDir@/android-ndk-r5c" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml index 202ee20..c243f3f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml @@ -1,9 +1,9 @@ - Android NDK-@@ANDROID_NDK_VERSION@@ - Android NDK-@@ANDROID_NDK_VERSION@@ - 5.0.0-@@ANDROID_NDK_VERSION@@ - @@TODAY@@ + Android NDK-r5c + Android NDK-r5c + 5.0.0-r5c + 2011-07-14 org.kde.necessitas.misc.ndk.r5 org.kde.necessitas.tools.qtcreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml index 3a72bed..30c9f73 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml @@ -3,6 +3,6 @@ Android NDK Android NDK. 1.0.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc.ndk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs new file mode 100644 index 0000000..59ec934 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs @@ -0,0 +1,69 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +function OsToHostTag() +{ + if (installer.value("os") == "x11") + { + return "linux-x86"; + } + else if (installer.value("os") == "win") + { + return "windows"; + } + else if (installer.value("os") == "mac") + { + return "darwin-x86"; + } +} + +function OsToTargetDir() +{ + if (installer.value("os") == "x11") + { + return "openjdk/1.6"; + } + else if (installer.value("os") == "win") + { + return "openjdk-6.0.21"; + } + else if (installer.value("os") == "mac") + { + return "darwin-x86"; + } +} + +// constructor +function Component() +{ + if (component.fromOnlineRepository) + { + component.addDownloadableArchive( "openjdk-"+OsToHostTag()+".7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "OpenJDKLocation", + "@TargetDir@/openjdk/"+OsToTargetDir() ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml new file mode 100644 index 0000000..c69ebed --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml @@ -0,0 +1,12 @@ + + + OpenJDK + Open Java Development Kit (oscg) + 6 + 2011-07-14 + org.kde.necessitas.misc.openjdk + + 99999 + 94 + false + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index 201d26a..c783295 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.3.3_r01-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.3.3_r01-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 5ca0e04..00d6178 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -1,9 +1,9 @@ API 10 - Android SDK API 10 (@@ANDROID_API_10_VERSION@@) - @@ANDROID_API_10_VERSION@@ - @@TODAY@@ + Android SDK API 10 (2.3.3_r01) + 2.3.3_r01 + 2011-07-14 org.kde.necessitas.misc.sdk.android_10 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index 798b6f9..d388524 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-3.0_r01-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-3.0_r01-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index a09fadf..6fdc1c9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -1,9 +1,9 @@ API 11 - Android SDK API 11 (@@ANDROID_API_11_VERSION@@) - @@ANDROID_API_11_VERSION@@ - @@TODAY@@ + Android SDK API 11 (3.0_r01) + 3.0_r01 + 2011-07-14 org.kde.necessitas.misc.sdk.android_11 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs index 037c11c..27af221 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-3.1_r01-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-3.1_r01-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-3.1_r01-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml index e4b0565..914322f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml @@ -1,9 +1,9 @@ API 12 - Android SDK API 12 (@@ANDROID_API_12_VERSION@@) - @@ANDROID_API_12_VERSION@@ - @@TODAY@@ + Android SDK API 12 (3.1_r01) + 3.1_r01 + 2011-07-14 org.kde.necessitas.misc.sdk.android_12 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs index f267489..671df42 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-1.6_r03-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-1.6_r03-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-1.6_r03-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index 240443d..5b416f7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -1,9 +1,9 @@ API 4 - Android SDK API 4 (@@ANDROID_API_4_VERSION@@) - @@ANDROID_API_4_VERSION@@ - @@TODAY@@ + Android SDK API 4 (1.6_r03) + 1.6_r03 + 2011-07-14 org.kde.necessitas.misc.sdk.android_4 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs index 029bfdd..a2284e8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.0_r01-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.0_r01-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.0_r01-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index 3fc687c..6b6f1c6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,9 +1,9 @@ API 5 (deprecated) - Android SDK API 5 (@@ANDROID_API_5_VERSION@@), Deprecated ! - @@ANDROID_API_5_VERSION@@ - @@TODAY@@ + Android SDK API 5 (2.0_r01), Deprecated ! + 2.0_r01 + 2011-07-14 org.kde.necessitas.misc.sdk.android_5 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs index 527cbe7..bfff83f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.0.1_r01-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.0.1_r01-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.0.1_r01-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 983d20b..8df5baf 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,9 +1,9 @@ API 6 (deprecated) - Android SDK API 6 (@@ANDROID_API_6_VERSION@@) Deprecated ! - @@ANDROID_API_6_VERSION@@ - @@TODAY@@ + Android SDK API 6 (2.0.1_r01) Deprecated ! + 2.0.1_r01 + 2011-07-14 org.kde.necessitas.misc.sdk.android_6 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs index 7e369f4..762f58f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.1_r02-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.1_r02-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.1_r02-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index c107f46..f71c2b6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,9 +1,9 @@ API 7 - Android SDK API 7 (@@ANDROID_API_7_VERSION@@) - @@ANDROID_API_7_VERSION@@ - @@TODAY@@ + Android SDK API 7 (2.1_r02) + 2.1_r02 + 2011-07-14 org.kde.necessitas.misc.sdk.android_7 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index 317d11b..c1e4619 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.2_r02-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.2_r02-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.2_r02-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index a597d1f..98744fa 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -1,9 +1,9 @@ API 8 - Android SDK API 8 (@@ANDROID_API_8_VERSION@@) - @@ANDROID_API_8_VERSION@@ - @@TODAY@@ + Android SDK API 8 (2.2_r02) + 2.2_r02 + 2011-07-14 org.kde.necessitas.misc.sdk.android_8 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index 6b3a0c7..a707032 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "android-2.3.1_r02-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "android-2.3.1_r02-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index b6384c9..aa6b324 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,9 +1,9 @@ API 9 (depercated) - Android SDK API 9 (@@ANDROID_API_9_VERSION@@) Depercated ! - @@ANDROID_API_9_VERSION@@ - @@TODAY@@ + Android SDK API 9 (2.3.1_r02) Depercated ! + 2.3.1_r02 + 2011-07-14 org.kde.necessitas.misc.sdk.android_9 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index b02c7df..33ba7b3 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -1,9 +1,9 @@ - Base package @@ANDROID_SDK_VERSION@@ - Android SDK base package @@ANDROID_SDK_VERSION@@ - @@ANDROID_SDK_VERSION@@ - @@TODAY@@ + Base package r11 + Android SDK base package r11 + r11 + 2011-07-14 org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs index 7295246..6537321 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -22,16 +22,16 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-linux.7z" ); + component.addDownloadableArchive( "platform-tools_r04-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-windows.7z" ); + component.addDownloadableArchive( "platform-tools_r04-windows.7z" ); component.addDownloadableArchive( "android-sdk-windows-tools-mingw-android.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-macosx.7z" ); + component.addDownloadableArchive( "platform-tools_r04-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index 1980a65..002ef05 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -1,9 +1,9 @@ - Platform tools @@ANDROID_PLATFORM_TOOLS_VERSION@@ - Android SDK platform tools package @@ANDROID_PLATFORM_TOOLS_VERSION@@ - @@ANDROID_PLATFORM_TOOLS_VERSION@@ - @@TODAY@@ + Platform tools r04 + Android SDK platform tools package r04 + r04 + 2011-07-14 org.kde.necessitas.misc.sdk.platform_tools org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml index 9737d5b..e042b56 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml @@ -3,6 +3,6 @@ Android SDK Android SDK. 1.0.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc.sdk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml index 15213b7..d12b5bb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml @@ -3,7 +3,7 @@ Miscellaneous Tools and Applications to ease development. 1.0.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.misc 90 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml index ee94558..a2b87ff 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -2,8 +2,8 @@ Necessitas Qt Creator Application The IDE for Qt development on Android devices. - @@NECESSITAS_QT_CREATOR_VERSION@@ - @@TODAY@@ + 2.2.0.1 + 2011-07-14 org.kde.necessitas.tools.qtcreator true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml index ac3a1d5..8b1d302 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml @@ -3,7 +3,7 @@ Development Tools Tools to develop Qt applications on Android devices. 1.0.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas.tools 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml index e63a842..13e5cbb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -3,7 +3,7 @@ Necessitas Qt SDK Meta package needed to install the SDK 1.0.0 - @@TODAY@@ + 2011-07-14 org.kde.necessitas 1 -- cgit v1.2.3 From 24086334e738989ca5a62d576797d082d9319979 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 14 Jul 2011 03:08:39 +0100 Subject: Added ant metadata --- .../meta/installscript.qs | 53 ++++++++++++++++++++++ .../org.kde.necessitas.misc.ant/meta/package.xml | 12 +++++ 2 files changed, 65 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs new file mode 100644 index 0000000..75fc78c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs @@ -0,0 +1,53 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +function OsToAnt() +{ + if (installer.value("os") == "x11") + { + return "ant"; + } + else if (installer.value("os") == "win") + { + return "ant.bat"; + } + else if (installer.value("os") == "mac") + { + return "ant"; + } +} + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "ant.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "AntLocation", + "@TargetDir@/apache-ant-1.8.2/bin/"+OsToAnt() ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml new file mode 100644 index 0000000..da6dd1b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml @@ -0,0 +1,12 @@ + + + Apache Ant + Apache Ant Build Tool + 1.8.2 + 2011-07-14 + org.kde.necessitas.misc.ant + + 99999 + 94 + false + -- cgit v1.2.3 From 1749a351937cf5ab62fa3a29476d70e131925643 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 14 Jul 2011 03:34:46 +0100 Subject: Oops, previously committed -a -m by mistake. --- Necessitas_SDK/config/config.xml | 4 ++-- .../meta/installscript.qs | 4 ++-- .../org.kde.necessitas.android.qt.armeabi/meta/package.xml | 6 +++--- .../meta/installscript.qs | 4 ++-- .../org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml | 6 +++--- .../org.kde.necessitas.android.qt.src/meta/installscript.qs | 2 +- .../org.kde.necessitas.android.qt.src/meta/package.xml | 6 +++--- .../packages/org.kde.necessitas.android.qt/meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +++--- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +++--- .../meta/installscript.qs | 2 +- .../org.kde.necessitas.android.qtmobility.src/meta/package.xml | 6 +++--- .../org.kde.necessitas.android.qtmobility/meta/package.xml | 2 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +++--- .../meta/installscript.qs | 2 +- .../meta/package.xml | 6 +++--- .../meta/installscript.qs | 2 +- .../org.kde.necessitas.android.qtwebkit.src/meta/package.xml | 6 +++--- .../org.kde.necessitas.android.qtwebkit/meta/package.xml | 2 +- .../packages/org.kde.necessitas.android/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.ant/meta/package.xml | 2 +- .../org.kde.necessitas.misc.host_gdb_head/meta/package.xml | 2 +- .../org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml | 2 +- .../org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml | 2 +- .../org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs | 10 +++++----- .../org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml | 8 ++++---- .../org.kde.necessitas.misc.ndk.r5/meta/installscript.qs | 10 +++++----- .../packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml | 8 ++++---- .../packages/org.kde.necessitas.misc.ndk/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc.openjdk/meta/package.xml | 2 +- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_10/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_11/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_12/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_4/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_5/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_6/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_7/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_8/meta/package.xml | 6 +++--- .../meta/installscript.qs | 6 +++--- .../org.kde.necessitas.misc.sdk.android_9/meta/package.xml | 6 +++--- .../packages/org.kde.necessitas.misc.sdk.base/meta/package.xml | 8 ++++---- .../meta/installscript.qs | 6 +++--- .../meta/package.xml | 8 ++++---- .../packages/org.kde.necessitas.misc.sdk/meta/package.xml | 2 +- .../packages/org.kde.necessitas.misc/meta/package.xml | 2 +- .../org.kde.necessitas.tools.qtcreator/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.tools/meta/package.xml | 2 +- Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml | 2 +- 59 files changed, 139 insertions(+), 139 deletions(-) diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index c81ab56..4931289 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -12,8 +12,8 @@ SDKMaintenanceTool - - file:///C|/usr/www/necessitas/sdk + http://files.kde.org/necessitas/sdk + true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index fa94cdc..2fd0ed2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt 4.7.62.1 for Android armv5", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv5", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index eac89ce..3bb6a48 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62.1-armeabi + Qt @@NECESSITAS_QT_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 4.7.62.1 - 2011-07-14 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.armeabi 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index fe9fd90..e206cf5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -43,11 +43,11 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath ); component.addOperation( "RegisterQtInCreator", "@TargetDir@", - "Necessitas Qt 4.7.62.1 for Android armv7", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7", qtPath ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 6355a92..27ebe6c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62.1-armeabi_v7a + Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 4.7.62.1 - 2011-07-14 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.armeabi_v7a 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index 39fc93a..bd8c176 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qt-src", "@TargetDir@/Android/Qt/4762/qt-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index fd5c593..452496a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -1,9 +1,9 @@ - Qt 4.7.62.1-src + Qt @@NECESSITAS_QT_VERSION@@-src Development libraries for development applications on Android devices, source package. - 4.7.62.1 - 2011-07-14 + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qt.src 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml index 2c87db6..b17ac22 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml @@ -3,7 +3,7 @@ Qt Qt 1.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.android.qt 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 42e6262..0d1e8d2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index cf3d489..a98fbe6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility 1.2.0-armeabi + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 1.2.0 - 2011-07-14 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi org.kde.necessitas.android.qt.armeabi org.kde.necessitas.android.qtwebkit.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index 01d2772..46d4814 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index 21e2cce..d149833 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility 1.2.0-armeabi_v7a + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 1.2.0 - 2011-07-14 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a org.kde.necessitas.android.qtwebkit.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 5e07638..dd74ef8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qtmobility-src", "@TargetDir@/Android/Qt/4762/qtmobility-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml index a82fa05..93ee668 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml @@ -1,9 +1,9 @@ - QtMobility 1.2.0-src + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-src Development libraries for development applications on Android devices, source package. - 1.2.0 - 2011-07-14 + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtmobility.src 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml index dbad69f..1f57a4b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml @@ -3,7 +3,7 @@ QtMobility QtMobility 1.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.android.qtmobility 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index 0c10a96..a8caf6e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index 7215ac4..cd96408 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.1-armeabi + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi Development libraries for development applications on Android devices, armeabi architecture. - 2.1.1 - 2011-07-14 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index 203de61..ce7cea1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -36,7 +36,7 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/4762/armeabi-v7a"; + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); } catch( e ) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index 53cbb8e..49380c8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.1-armeabi_v7a + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a Development libraries for development applications on Android devices, armeabi_v7a architecture. - 2.1.1 - 2011-07-14 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index db58670..3da79d2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/4762/qtwebkit-src", "@TargetDir@/Android/Qt/4762/qtwebkit-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml index 739f201..df19fb8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -1,9 +1,9 @@ - QtWebKit 2.1.1-src + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-src Development libraries for development applications on Android devices, source package. - 2.1.1 - 2011-07-14 + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ org.kde.necessitas.android.qtwebkit.src 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml index caa56e3..95675af 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml @@ -3,7 +3,7 @@ QtWebkit QtWebkit 1.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.android.qtwebkit 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml index 1884eaf..bece9ff 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml @@ -3,7 +3,7 @@ Android Android 1.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.android 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml index da6dd1b..b53b0f7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml @@ -3,7 +3,7 @@ Apache Ant Apache Ant Build Tool 1.8.2 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.ant 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml index 52db243..5e18990 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml @@ -3,7 +3,7 @@ Host gdb-head Custom host GDB with python capabilities 7.3.50.20110709 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.host_gdb_head 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml index cca3c6f..e55961b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml @@ -3,7 +3,7 @@ Android custom gdb-7.2 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.2.50.20110211 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_7_2 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml index 0569f80..3ae23bd 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -3,7 +3,7 @@ Android custom gdb-7.3 Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb 7.3.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_7_3 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs index 526451d..0fba60a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-r5c-ma-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-r5c-ma-windows.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-r5c-ma-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-r5c" ); + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml index 877ddfc..8fc41c2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml @@ -1,9 +1,9 @@ - Android NDK-r5c Experimental - Android NDK-r5c Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 5.0.0-r5c - 2011-07-14 + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.ndk.ma_r5 org.kde.necessitas.tools.qtcreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs index 31cf002..089af39 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-r5c-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-r5c-windows.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-r5c-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-r5c" ); + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml index c243f3f..202ee20 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml @@ -1,9 +1,9 @@ - Android NDK-r5c - Android NDK-r5c - 5.0.0-r5c - 2011-07-14 + Android NDK-@@ANDROID_NDK_VERSION@@ + Android NDK-@@ANDROID_NDK_VERSION@@ + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.ndk.r5 org.kde.necessitas.tools.qtcreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml index 30c9f73..3a72bed 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml @@ -3,6 +3,6 @@ Android NDK Android NDK. 1.0.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.ndk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml index c69ebed..99a96c9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml @@ -3,7 +3,7 @@ OpenJDK Open Java Development Kit (oscg) 6 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.openjdk 99999 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index c783295..201d26a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.3.3_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.3.3_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.3.3_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 00d6178..5ca0e04 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -1,9 +1,9 @@ API 10 - Android SDK API 10 (2.3.3_r01) - 2.3.3_r01 - 2011-07-14 + Android SDK API 10 (@@ANDROID_API_10_VERSION@@) + @@ANDROID_API_10_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_10 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index d388524..798b6f9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-3.0_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-3.0_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-3.0_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index 6fdc1c9..a09fadf 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -1,9 +1,9 @@ API 11 - Android SDK API 11 (3.0_r01) - 3.0_r01 - 2011-07-14 + Android SDK API 11 (@@ANDROID_API_11_VERSION@@) + @@ANDROID_API_11_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_11 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs index 27af221..037c11c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-3.1_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-3.1_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-3.1_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml index 914322f..e4b0565 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml @@ -1,9 +1,9 @@ API 12 - Android SDK API 12 (3.1_r01) - 3.1_r01 - 2011-07-14 + Android SDK API 12 (@@ANDROID_API_12_VERSION@@) + @@ANDROID_API_12_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_12 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs index 671df42..f267489 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-1.6_r03-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-1.6_r03-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-1.6_r03-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index 5b416f7..240443d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -1,9 +1,9 @@ API 4 - Android SDK API 4 (1.6_r03) - 1.6_r03 - 2011-07-14 + Android SDK API 4 (@@ANDROID_API_4_VERSION@@) + @@ANDROID_API_4_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_4 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs index a2284e8..029bfdd 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.0_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.0_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.0_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index 6b6f1c6..3fc687c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -1,9 +1,9 @@ API 5 (deprecated) - Android SDK API 5 (2.0_r01), Deprecated ! - 2.0_r01 - 2011-07-14 + Android SDK API 5 (@@ANDROID_API_5_VERSION@@), Deprecated ! + @@ANDROID_API_5_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_5 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs index bfff83f..527cbe7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.0.1_r01-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.0.1_r01-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.0.1_r01-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 8df5baf..983d20b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -1,9 +1,9 @@ API 6 (deprecated) - Android SDK API 6 (2.0.1_r01) Deprecated ! - 2.0.1_r01 - 2011-07-14 + Android SDK API 6 (@@ANDROID_API_6_VERSION@@) Deprecated ! + @@ANDROID_API_6_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_6 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs index 762f58f..7e369f4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.1_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.1_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.1_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index f71c2b6..c107f46 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -1,9 +1,9 @@ API 7 - Android SDK API 7 (2.1_r02) - 2.1_r02 - 2011-07-14 + Android SDK API 7 (@@ANDROID_API_7_VERSION@@) + @@ANDROID_API_7_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_7 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index c1e4619..317d11b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.2_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.2_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.2_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index 98744fa..a597d1f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -1,9 +1,9 @@ API 8 - Android SDK API 8 (2.2_r02) - 2.2_r02 - 2011-07-14 + Android SDK API 8 (@@ANDROID_API_8_VERSION@@) + @@ANDROID_API_8_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_8 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index a707032..6b3a0c7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-2.3.1_r02-linux.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-2.3.1_r02-windows.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-2.3.1_r02-macosx.7z" ); + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index aa6b324..b6384c9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -1,9 +1,9 @@ API 9 (depercated) - Android SDK API 9 (2.3.1_r02) Depercated ! - 2.3.1_r02 - 2011-07-14 + Android SDK API 9 (@@ANDROID_API_9_VERSION@@) Depercated ! + @@ANDROID_API_9_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.android_9 org.kde.necessitas.misc.sdk.base org.kde.necessitas.misc.sdk.platform_tools diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index 33ba7b3..b02c7df 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -1,9 +1,9 @@ - Base package r11 - Android SDK base package r11 - r11 - 2011-07-14 + Base package @@ANDROID_SDK_VERSION@@ + Android SDK base package @@ANDROID_SDK_VERSION@@ + @@ANDROID_SDK_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs index 6537321..7295246 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs @@ -22,16 +22,16 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "platform-tools_r04-linux.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-linux.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "platform-tools_r04-windows.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-windows.7z" ); component.addDownloadableArchive( "android-sdk-windows-tools-mingw-android.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "platform-tools_r04-macosx.7z" ); + component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-macosx.7z" ); } } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index 002ef05..1980a65 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -1,9 +1,9 @@ - Platform tools r04 - Android SDK platform tools package r04 - r04 - 2011-07-14 + Platform tools @@ANDROID_PLATFORM_TOOLS_VERSION@@ + Android SDK platform tools package @@ANDROID_PLATFORM_TOOLS_VERSION@@ + @@ANDROID_PLATFORM_TOOLS_VERSION@@ + @@TODAY@@ org.kde.necessitas.misc.sdk.platform_tools org.kde.necessitas.misc.sdk.base diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml index e042b56..9737d5b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml @@ -3,6 +3,6 @@ Android SDK Android SDK. 1.0.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc.sdk diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml index d12b5bb..15213b7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml @@ -3,7 +3,7 @@ Miscellaneous Tools and Applications to ease development. 1.0.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.misc 90 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml index a2b87ff..ee94558 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -2,8 +2,8 @@ Necessitas Qt Creator Application The IDE for Qt development on Android devices. - 2.2.0.1 - 2011-07-14 + @@NECESSITAS_QT_CREATOR_VERSION@@ + @@TODAY@@ org.kde.necessitas.tools.qtcreator true diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml index 8b1d302..ac3a1d5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml @@ -3,7 +3,7 @@ Development Tools Tools to develop Qt applications on Android devices. 1.0.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas.tools 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml index 13e5cbb..e63a842 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -3,7 +3,7 @@ Necessitas Qt SDK Meta package needed to install the SDK 1.0.0 - 2011-07-14 + @@TODAY@@ org.kde.necessitas 1 -- cgit v1.2.3 From 790b7af3e125eb95d8d77aec6500981e7db4e234 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 20 Jul 2011 20:54:46 +0100 Subject: build_ndk.sh, use reset --hard so that ndk r6 patches apply --- Necessitas_SDK/build_ndk.sh | 58 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index e12c87c..8d53b30 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -108,6 +108,21 @@ function makeInstallMinGWBits popd } +function makeNDKForArch +{ + ARCH=$1 + ROOTDIR=$2 + REPO_SRC_PATH=$3 + if [ ! -f $ROOTDIR/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + $NDK/build/tools/rebuild-all-prebuilt.sh --arch=$ARCH --patches-dir=$NDK/build/tools/toolchain-patches --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --gmp-version=4.2.4 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + else + echo "Skipping NDK build, already done." + echo $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + fi + cp $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + cp $ROOTDIR/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 +} + function makeNDK { PYTHONVER=`pwd`/Python-2.7.1/python-build/install-python-${BUILD_PYTHON} @@ -147,12 +162,21 @@ function makeNDK if [ ! -d "build" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build || error_msg "Can't clone build" + git reset --hard fi + # reset so that ndk r6 patches apply. + pushd build + git reset --hard + popd if [ ! -d "gcc" ] then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc || error_msg "Can't clone gcc" - git checkout integration fi + # reset so that ndk r6 patches apply. + pushd gcc + git checkout integration + git reset --hard + popd mkdir gdb if [ ! -d "ma-gdb" ] then @@ -182,7 +206,7 @@ function makeNDK popd export NDK=$PWD/ndk export ANDROID_NDK_ROOT=$NDK - $NDK/build/tools/build-platforms.sh --verbose + $NDK/build/tools/build-platforms.sh --arch="arm" --verbose ROOTDIR=$PWD RELEASE=`date +%Y%m%d` @@ -192,14 +216,8 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH PYTHONHOME="" unset PYTHONHOME - if [ ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest - else - echo "Skipping NDK build, already done." - echo $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - fi - cp $ROOTDIR/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - cp $ROOTDIR/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 +# makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH + makeNDKForArch arm $ROOTDIR $REPO_SRC_PATH } # This also copies the new libstdc++'s over the old ones (the NDK's build scripts are @@ -210,10 +228,16 @@ function mixPythonWithNDK echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z" fi if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then - echo "Failed to find gdbserver, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" + echo "Failed to find arm gdbserver, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" fi if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - echo "Failed to find toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" + echo "Failed to find arm toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" + fi + if [ ! -f $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then + echo "Failed to find x86 gdbserver, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2" + fi + if [ ! -f $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + echo "Failed to find x86 toolchain, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" fi mkdir -p /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack rm -rf /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack/android-ndk-${NDK_VER} @@ -232,17 +256,23 @@ function mixPythonWithNDK fi pushd android-ndk-${NDK_VER} tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + tar -jxvf $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 # The official NDK uses thumb version of libstdc++ for armeabi and # an arm version for armeabi-v7a, so copy the appropriate one over. cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/thumb/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi/ cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/armv7-a/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ + cp toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/x86-linux-androideabi/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 + tar -jxvf $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2 pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z + popd + pushd toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z popd # Get rid of old and unused stuff. rm -rf toolchains/arm-eabi-4.4.0 - rm -rf toolchains/x86-4.4.3 +# rm -rf toolchains/x86-4.4.3 popd 7za a -mx9 android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z android-ndk-${NDK_VER} mv android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z $REPO_SRC_PATH -- cgit v1.2.3 From 18f6e0d18723146d931fc789d238a3709c9c9d64 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 20 Jul 2011 22:42:28 +0100 Subject: ndk: Fix final packaging when any of the arches haven't been built --- Necessitas_SDK/build_ndk.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 8d53b30..6e50afc 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -264,12 +264,16 @@ function mixPythonWithNDK cp toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/x86-linux-androideabi/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 tar -jxvf $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2 - pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - popd - pushd toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - popd + if [ -d toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then + pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z + popd + fi + if [ -d toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then + pushd toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} + 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z + popd + fi # Get rid of old and unused stuff. rm -rf toolchains/arm-eabi-4.4.0 # rm -rf toolchains/x86-4.4.3 -- cgit v1.2.3 From 37219cddf6ce9fe17a5c19eecab5d6f25ecd5e8c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 20 Jul 2011 23:51:57 +0100 Subject: Switch to android-9 due to google bug ..probably google renamed crtbegin_dynamic.o to crtbegin_so.oin_so.o --- Necessitas_SDK/build_sdk.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 78b603b..45d3432 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1054,7 +1054,12 @@ function packSource function compileNecessitasQt { package_name=${1//-/_} # replace - with _ - NDK_TARGET=5 + # Temporary build fix (may break earlier platforms, but not necessarily): + # Only android-ndk-r6/platforms/android-9/arch-$ARCH/usr/lib (yes both arm and x86) contains crtbegin_so.o, it's missing on + # other platforms; this file also exists in android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/sysroot/usr/lib + # but not in the x86 equivalent, so for now, build it all for 9). The file has probably been renamed from crtbegin_dynamic.o + # the gcc link specs in ndk r6 cause crtbegin_so.o to get linked in. + NDK_TARGET=9 if [ ! -f all_done ] then -- cgit v1.2.3 From a7b347515cb3030c7575572932541d3500c3b249 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 21 Jul 2011 00:54:49 +0100 Subject: ndk r6 now the default. uses local ndk-packages (use build_ndk.sh to make them) instead of ones from mingw-and-ndk.googlecode.com --- Necessitas_SDK/build_sdk.sh | 54 ++++++++++++++++++++++++++++++++++++--------- Necessitas_SDK/ndk_vars.sh | 2 +- Necessitas_SDK/sdk_vars.sh | 4 ++-- 3 files changed, 47 insertions(+), 13 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 45d3432..04fbf1e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -148,6 +148,39 @@ function doMake fi } +function doMakeInstall +{ + MAKEPROG=make + if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + if [ "$OSTYPE" = "msys" ] ; then + MAKEDIR=`pwd -W` + MAKEFOREVER=1 + if [ ! -z $2 ] ; then + MAKEPROG=$2 + fi + else + MAKEDIR=`pwd` + MAKEFOREVER=0 + fi + MAKEFILE=$MAKEDIR/Makefile + $MAKEPROG -f $MAKEFILE install + while [ "$?" != "0" -a "$MAKEFOREVER" = "1" ] + do + if [ -f /usr/break-make ]; then + echo "Detected break-make" + rm -f /usr/break-make + error_msg $1 + fi + $MAKEPROG -f $MAKEFILE install + done + echo $2>all_done + else + make install || error_msg $1 + echo $2>all_done + fi +} + + function doSed { if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] @@ -485,7 +518,8 @@ function prepareNDKs # repack mingw android windows NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z @@ -497,7 +531,8 @@ function prepareNDKs # repack mingw android mac NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z @@ -509,7 +544,8 @@ function prepareNDKs # repack mingw android linux-x86 NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z @@ -1054,11 +1090,9 @@ function packSource function compileNecessitasQt { package_name=${1//-/_} # replace - with _ - # Temporary build fix (may break earlier platforms, but not necessarily): # Only android-ndk-r6/platforms/android-9/arch-$ARCH/usr/lib (yes both arm and x86) contains crtbegin_so.o, it's missing on # other platforms; this file also exists in android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/sysroot/usr/lib - # but not in the x86 equivalent, so for now, build it all for 9). The file has probably been renamed from crtbegin_dynamic.o - # the gcc link specs in ndk r6 cause crtbegin_so.o to get linked in. + # but not in the x86 equivalent, so for now, build it all for 9). NDK_TARGET=9 if [ ! -f all_done ] @@ -1079,15 +1113,15 @@ function compileNecessitasQt rm -fr data export INSTALL_ROOT=$PWD - make install + doMakeInstall "Failed to make-install Qt Android $package_name" make mkdir -p $2/$1 - mv data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 + cp -rf data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z - mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 - cp ../qt-src/lib/*.xml $2/$1/lib/ + cp -rf data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + cp -rf ../qt-src/lib/*.xml $2/$1/lib/ $SDK_TOOLS_PATH/archivegen Android qt-framework.7z mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z # Not sure why we're using a different qt-framework package for Windows. diff --git a/Necessitas_SDK/ndk_vars.sh b/Necessitas_SDK/ndk_vars.sh index 8c3e237..4ab3816 100644 --- a/Necessitas_SDK/ndk_vars.sh +++ b/Necessitas_SDK/ndk_vars.sh @@ -1,4 +1,4 @@ -NDK_VER=r5c +NDK_VER=r6 # Refers to the gdb branches and folder structure on # git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 37abec8..3271e67 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -13,8 +13,8 @@ NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version # NDK variables BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources -ANDROID_NDK_MAJOR_VERSION=r5 # NDK major version, used by package name -ANDROID_NDK_VERSION=r5c # NDK full package version +ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name +ANDROID_NDK_VERSION=r6 # NDK full package version # SDK variables ANDROID_SDK_VERSION=r11 -- cgit v1.2.3 From e6f9a285c261c378cf4fef867dbfdd1d72070dca Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 21 Jul 2011 06:54:41 +0100 Subject: x86 enabling --- Necessitas_SDK/build_ndk.sh | 2 +- Necessitas_SDK/build_sdk.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 6e50afc..8ff151c 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -216,7 +216,7 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH PYTHONHOME="" unset PYTHONHOME -# makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH + makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH makeNDKForArch arm $ROOTDIR $REPO_SRC_PATH } diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 04fbf1e..1cb4809 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1143,6 +1143,14 @@ function prepareNecessitasQt popd fi + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] + then + mkdir build-x86 + pushd build-x86 + compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT + popd #build-x86 + fi + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi -- cgit v1.2.3 From 995b99287bae43969e789b7712d64a0ded9253bd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 21 Jul 2011 07:02:30 +0100 Subject: Fix x86 ndk packaging --- Necessitas_SDK/build_ndk.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 8ff151c..578a02e 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -233,10 +233,10 @@ function mixPythonWithNDK if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then echo "Failed to find arm toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" fi - if [ ! -f $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then + if [ ! -f $REPO_SRC_PATH/x86-4.4.3-gdbserver.tar.bz2 ]; then echo "Failed to find x86 gdbserver, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2" fi - if [ ! -f $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + if [ ! -f $REPO_SRC_PATH/x86-4.4.3-${BUILD_NDK}.tar.bz2 ]; then echo "Failed to find x86 toolchain, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" fi mkdir -p /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack @@ -256,21 +256,21 @@ function mixPythonWithNDK fi pushd android-ndk-${NDK_VER} tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - tar -jxvf $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 + tar -jxvf $REPO_SRC_PATH/x86-4.4.3-${BUILD_NDK}.tar.bz2 # The official NDK uses thumb version of libstdc++ for armeabi and # an arm version for armeabi-v7a, so copy the appropriate one over. cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/thumb/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi/ cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/armv7-a/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ - cp toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/x86-linux-androideabi/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ + cp toolchains/x86-4.4.3/prebuilt/${BUILD_NDK}/i686-android-linux/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 - tar -jxvf $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2 + tar -jxvf $REPO_SRC_PATH/x86-4.4.3-gdbserver.tar.bz2 if [ -d toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z popd fi - if [ -d toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then - pushd toolchains/x86-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} + if [ -d toolchains/x86-4.4.3/prebuilt/${BUILD_NDK} ] ; then + pushd toolchains/x86-4.4.3/prebuilt/${BUILD_NDK} 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z popd fi -- cgit v1.2.3 From f0a4d27879e568fb404ea88c344996ba2b6fb75e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 21 Jul 2011 20:30:11 +0100 Subject: ndk: Use my gcc git repo on 2011-02-27 (as per ndk r6) (it's subsequently patched) --- Necessitas_SDK/build_ndk.sh | 10 ++++++++-- Necessitas_SDK/ndk_vars.sh | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 578a02e..c3bf3c7 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -172,11 +172,17 @@ function makeNDK then git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc || error_msg "Can't clone gcc" fi - # reset so that ndk r6 patches apply. + # reset so that ndk r6 patches apply (usually this will undo the previously applied patches). pushd gcc - git checkout integration git reset --hard + git checkout --force integration + if [ -n "$GCC_GIT_DATE" ] ; then + REVISION=`git rev-list -n 1 --until="$GCC_GIT_DATE" HEAD` + echo "Using sources for date '$GCC_GIT_DATE': toolchain/$1 revision $REVISION" + git checkout $REVISION + fi popd + mkdir gdb if [ ! -d "ma-gdb" ] then diff --git a/Necessitas_SDK/ndk_vars.sh b/Necessitas_SDK/ndk_vars.sh index 4ab3816..ac9e6b0 100644 --- a/Necessitas_SDK/ndk_vars.sh +++ b/Necessitas_SDK/ndk_vars.sh @@ -6,6 +6,8 @@ GDB_BRANCH=fsf_head GDB_ROOT_PATH= # This is the name given to the created package. GDB_VER=7.3.50.20110709 +# We apply ndk r6 patches and can't use the cutting edge version of ndk gcc anyway (due to crtbegin_so.o, crtend_so.o changes) +GCC_GIT_DATE=2011-02-27 #GDB_BRANCH=master #GDB_ROOT_PATH=gdb #GDB_VER=7.3 -- cgit v1.2.3 From be54e79a8067d86b20779b2e89c3050db6e0b778 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 21 Jul 2011 20:55:00 +0100 Subject: sdk: Fix compileNecessitasQt x86 --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1cb4809..7d1e22e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1147,7 +1147,7 @@ function prepareNecessitasQt then mkdir build-x86 pushd build-x86 - compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT + compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT popd #build-x86 fi -- cgit v1.2.3 From a87d8add978167b763601008936c4af8ae0f4b1d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 22 Jul 2011 05:24:50 +0100 Subject: ndk: use local ndk packages (from ndk-packages) when USE_MA_NDK --- Necessitas_SDK/build_ndk.sh | 2 +- Necessitas_SDK/build_sdk.sh | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index c3bf3c7..11fafb4 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -222,7 +222,7 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH PYTHONHOME="" unset PYTHONHOME - makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH +# makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH makeNDKForArch arm $ROOTDIR $REPO_SRC_PATH } diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 7d1e22e..448213c 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -583,17 +583,20 @@ function prepareNDKs fi else if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z fi if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z fi fi -- cgit v1.2.3 From 83f07f777c658a421b3311f247808e20301f4b46 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 14:26:45 +0100 Subject: ndk version changed for sdk remove org.kde.necessitas.misc.ndk.ma_r5 add org.kde.necessitas.misc.ndk.ma_r6 --- .../meta/installscript.qs | 81 ---------------------- .../meta/package.xml | 12 ---- .../meta/installscript.qs | 81 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 4 files changed, 93 insertions(+), 93 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs deleted file mode 100644 index 0fba60a..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/installscript.qs +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set NDK Location - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); - // set NDK toolchain version - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKToolchainVersion", - "arm-linux-androideabi-4.4.3" ); - - // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; - var gdbserverPath = gdbPath+"gdbserver"; - if (installer.value("os") == "x11") - { - gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; - } - else if (installer.value("os") == "win") - { - gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; - } - else if (installer.value("os") == "mac") - { - gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbserverLocation", - gdbserverPath ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml deleted file mode 100644 index 8fc41c2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r5/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 5.0.0-@@ANDROID_NDK_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.ndk.ma_r5 - - org.kde.necessitas.tools.qtcreator - 90 - 90 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs new file mode 100644 index 0000000..0fba60a --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs @@ -0,0 +1,81 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set NDK Location + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKLocation", + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + // set NDK toolchain version + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKToolchainVersion", + "arm-linux-androideabi-4.4.3" ); + + // set DEFAULT gdb location + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbserverPath = gdbPath+"gdbserver"; + if (installer.value("os") == "x11") + { + gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; + } + else if (installer.value("os") == "win") + { + gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; + } + else if (installer.value("os") == "mac") + { + gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml new file mode 100644 index 0000000..dd80504 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml @@ -0,0 +1,12 @@ + + + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental + Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.ndk.ma_r6 + + org.kde.necessitas.tools.qtcreator + 90 + 90 + -- cgit v1.2.3 From 1ab4c1a76b3f637fb4ec3f5a889faa3b5d733b93 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 14:30:48 +0100 Subject: sdk: use ndk r6 --- Necessitas_SDK/build_sdk.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 448213c..857f6c4 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1146,13 +1146,13 @@ function prepareNecessitasQt popd fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] - then - mkdir build-x86 - pushd build-x86 - compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-x86 - fi +# if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] +# then +# mkdir build-x86 +# pushd build-x86 +# compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT +# popd #build-x86 +# fi if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then @@ -1431,8 +1431,8 @@ function setPackagesVariables patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" - patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r5" - patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.ma_r5" + patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r6" + patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.ma_r6" patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" patchPackage "@@ANDROID_API_5_VERSION@@" $ANDROID_API_5_VERSION "org.kde.necessitas.misc.sdk.android_5" @@ -1453,8 +1453,8 @@ function unsetPackagesVariables patchPackage $NECESSITAS_QT_CREATOR_VERSION "@@NECESSITAS_QT_CREATOR_VERSION@@" "org.kde.necessitas.tools.qtcreator" - patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.r5" - patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.ma_r5" + patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.r6" + patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.ma_r6" patchPackage $ANDROID_API_4_VERSION "@@ANDROID_API_4_VERSION@@" "org.kde.necessitas.misc.sdk.android_4" patchPackage $ANDROID_API_5_VERSION "@@ANDROID_API_5_VERSION@@" "org.kde.necessitas.misc.sdk.android_5" -- cgit v1.2.3 From ad041bab2aee0fe2a4c30fe5d1037569d308fce1 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 14:35:37 +0100 Subject: sdk: remove ndk r5 package metadata --- .../meta/installscript.qs | 81 ---------------------- .../meta/package.xml | 12 ---- 2 files changed, 93 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs deleted file mode 100644 index 089af39..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/installscript.qs +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set NDK Location - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); - // set NDK toolchain version - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "NDKToolchainVersion", - "arm-linux-androideabi-4.4.3" ); - - // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; - var gdbserverPath = gdbPath+"gdbserver"; - if (installer.value("os") == "x11") - { - gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; - } - else if (installer.value("os") == "win") - { - gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; - } - else if (installer.value("os") == "mac") - { - gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbserverLocation", - gdbserverPath ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml deleted file mode 100644 index 202ee20..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r5/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android NDK-@@ANDROID_NDK_VERSION@@ - Android NDK-@@ANDROID_NDK_VERSION@@ - 5.0.0-@@ANDROID_NDK_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.ndk.r5 - - org.kde.necessitas.tools.qtcreator - 90 - 90 - -- cgit v1.2.3 From e009cdec7df363ccd3ee272afedba2a5d88c1320 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 17:37:45 +0100 Subject: Added x86 package metadata --- .../meta/installscript.qs | 57 ++++++++++++++++++++++ .../meta/package.xml | 11 +++++ 2 files changed, 68 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs new file mode 100644 index 0000000..8910d5e --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs @@ -0,0 +1,57 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "qt-framework.7z" ); + component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qt-framework-windows.7z" ); + component.addDownloadableArchive( "qt-tools-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "qt-framework.7z" ); + component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/x86"; + component.addOperation( "QtPatch", qtPath ); + component.addOperation( "RegisterQtInCreator", + "@TargetDir@", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android x86", + qtPath ); + } + catch( e ) + { + print( e ); + } +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml new file mode 100644 index 0000000..abbcd45 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml @@ -0,0 +1,11 @@ + + + Qt @@NECESSITAS_QT_VERSION@@-armeabi + Development libraries for development applications on Android devices, x86 architecture. + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ + org.kde.necessitas.android.qt.x86 + + 0 + 0 + -- cgit v1.2.3 From 1a0706cbc0c54b589241bff1a58bb62917688f27 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 17:44:50 +0100 Subject: sdk: add google ndk r6 packages --- .../meta/installscript.qs | 81 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 2 files changed, 93 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs new file mode 100644 index 0000000..dba7e9b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs @@ -0,0 +1,81 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-ndk-r6-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-ndk-r6-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-ndk-r6-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + // set NDK Location + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKLocation", + "@TargetDir@/android-ndk-r6" ); + // set NDK toolchain version + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "NDKToolchainVersion", + "arm-linux-androideabi-4.4.3" ); + + // set DEFAULT gdb location + var gdbPath = "@TargetDir@/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbserverPath = gdbPath+"gdbserver"; + if (installer.value("os") == "x11") + { + gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; + } + else if (installer.value("os") == "win") + { + gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; + } + else if (installer.value("os") == "mac") + { + gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml new file mode 100644 index 0000000..405ae47 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -0,0 +1,12 @@ + + + Android NDK-r6 + Android NDK-r6 + 5.0.0-r6 + 2011-07-23 + org.kde.necessitas.misc.ndk.r6 + + org.kde.necessitas.tools.qtcreator + 90 + 90 + -- cgit v1.2.3 From 6f4686b748c7aa8499367b1172b414fd03a6d178 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 20:09:33 +0100 Subject: ndk: fix overwriting arm libstdc++ with x86 one --- Necessitas_SDK/build_ndk.sh | 4 ++-- .../org.kde.necessitas.android.qt.src/meta/package.xml | 2 +- .../org.kde.necessitas.android.qt.x86/meta/package.xml | 2 +- .../org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml | 2 +- .../org.kde.necessitas.misc.ndk.r6/meta/installscript.qs | 10 +++++----- .../packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml | 10 +++++----- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 11fafb4..38925e9 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -222,8 +222,8 @@ function makeNDK echo GDB_ROOT_PATH $GDB_ROOT_PATH PYTHONHOME="" unset PYTHONHOME -# makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH makeNDKForArch arm $ROOTDIR $REPO_SRC_PATH + makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH } # This also copies the new libstdc++'s over the old ones (the NDK's build scripts are @@ -267,7 +267,7 @@ function mixPythonWithNDK # an arm version for armeabi-v7a, so copy the appropriate one over. cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/thumb/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi/ cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/armv7-a/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ - cp toolchains/x86-4.4.3/prebuilt/${BUILD_NDK}/i686-android-linux/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ + cp toolchains/x86-4.4.3/prebuilt/${BUILD_NDK}/i686-android-linux/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/x86/ tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 tar -jxvf $REPO_SRC_PATH/x86-4.4.3-gdbserver.tar.bz2 if [ -d toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 452496a..018162f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -7,5 +7,5 @@ org.kde.necessitas.android.qt.src 0 - 0 + 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml index abbcd45..385a6a8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml @@ -1,6 +1,6 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi + Qt @@NECESSITAS_QT_VERSION@@-x86 Development libraries for development applications on Android devices, x86 architecture. @@NECESSITAS_QT_VERSION@@ @@TODAY@@ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml index dd80504..3f669df 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml @@ -4,7 +4,7 @@ Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 5.0.0-@@ANDROID_NDK_VERSION@@ @@TODAY@@ - org.kde.necessitas.misc.ndk.ma_r6 + org.kde.necessitas.misc.ndk.ma_@@ANDROID_NDK_VERSION@@ org.kde.necessitas.tools.qtcreator 90 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs index dba7e9b..089af39 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-r6-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-r6-windows.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-r6-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-r6" ); + "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index 405ae47..10ad3a5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -1,10 +1,10 @@ - Android NDK-r6 - Android NDK-r6 - 5.0.0-r6 - 2011-07-23 - org.kde.necessitas.misc.ndk.r6 + Android NDK-@@ANDROID_NDK_VERSION@@ + Android NDK-@@ANDROID_NDK_VERSION@@ + 5.0.0-@@ANDROID_NDK_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.ndk.@@ANDROID_NDK_VERSION@@ org.kde.necessitas.tools.qtcreator 90 -- cgit v1.2.3 From 3a70e5f996e497770860821c9a2aa9c77e6009a0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 21:12:22 +0100 Subject: fix copying ndk bz2s --- Necessitas_SDK/build_ndk.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index 38925e9..de2e673 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -119,8 +119,13 @@ function makeNDKForArch echo "Skipping NDK build, already done." echo $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 fi - cp $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - cp $ROOTDIR/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 + if [ "$ARCH" = "arm" ] ; then + ARCH_ABI=$ARCH-linux-androideabi + else + ARCH_ABI=$ARCH + fi + cp $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 + cp $ROOTDIR/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 } function makeNDK -- cgit v1.2.3 From d3cb132e532a52dc7f804782759a0d26df5477d9 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 23 Jul 2011 21:32:25 +0100 Subject: ndk: now builds arm and x86 (though gdbserver fails to on x86) --- Necessitas_SDK/build_ndk.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh index de2e673..baffd9c 100755 --- a/Necessitas_SDK/build_ndk.sh +++ b/Necessitas_SDK/build_ndk.sh @@ -113,17 +113,18 @@ function makeNDKForArch ARCH=$1 ROOTDIR=$2 REPO_SRC_PATH=$3 - if [ ! -f $ROOTDIR/$ARCH-linux-androideabi-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --arch=$ARCH --patches-dir=$NDK/build/tools/toolchain-patches --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --gmp-version=4.2.4 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest - else - echo "Skipping NDK build, already done." - echo $ROOTDIR/$ARCH-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - fi if [ "$ARCH" = "arm" ] ; then ARCH_ABI=$ARCH-linux-androideabi else ARCH_ABI=$ARCH fi +# if [ ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + if [ ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 ]; then + $NDK/build/tools/rebuild-all-prebuilt.sh --arch=$ARCH --patches-dir=$NDK/build/tools/toolchain-patches --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --gmp-version=4.2.4 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest + else + echo "Skipping NDK build, already done." + echo $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 + fi cp $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 cp $ROOTDIR/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 } @@ -311,7 +312,7 @@ else fi if [ "$OSTYPE" = "linux-gnu" ]; then - TEMP_PATH=/tmp/ndk-build + TEMP_PATH=/usr/ndk-build else TEMP_PATH=/usr/ndk-build if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then -- cgit v1.2.3 From e0e57cda4dfce32bf2987d2e7c1252a2ecde58c7 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 11:49:16 +0200 Subject: MinistroService.java: Added type-safety to source. (addModules): Made private, added proper types, removed Unchecked-annotation (checkModules): Added proper types, removed Unchecked-annotation --- .../src/eu/licentia/necessitas/ministro/MinistroService.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 894025a..c7b1738 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -328,11 +328,9 @@ public class MinistroService extends Service { } // check/add all modules. Returns true if all modules are found. - @SuppressWarnings("unchecked") - public boolean checkModules(Object lbs, Object notFoundModules) + private boolean checkModules(ArrayList libs, ArrayList notFoundModules) { ArrayList modules= new ArrayList(); - ArrayList libs = (ArrayList) lbs; boolean res=true; for (int i=0;i modules, ArrayList notFoundModules) { - ArrayList modules = (ArrayList) modulesObject; - ArrayList notFoundModules = (ArrayList) notFoundModulesObject; if (modules == null) return false; // we are in deep shit if this happens @@ -372,7 +367,7 @@ public class MinistroService extends Service { boolean res = true; if (m_downloadedLibraries.get(i).depends != null) for (int depIt=0;depIt Date: Fri, 20 May 2011 11:54:13 +0200 Subject: MinistroService.java: Reworked comments for ModuleCompare and Module class. --- .../eu/licentia/necessitas/ministro/MinistroService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index c7b1738..af7f605 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -328,7 +328,7 @@ public class MinistroService extends Service { } // check/add all modules. Returns true if all modules are found. - private boolean checkModules(ArrayList libs, ArrayList notFoundModules) + boolean checkModules(ArrayList libs, ArrayList notFoundModules) { ArrayList modules= new ArrayList(); boolean res=true; @@ -386,7 +386,7 @@ public class MinistroService extends Service { { if (m_availableLibraries.get(i).depends != null) for (int depIt=0;depIt { @Override public int compare(Module a, Module b) { @@ -403,7 +407,10 @@ class ModuleCompare implements Comparator { } } -// extra class used to manipulate libraries, it is ~ the same as Library class, but it has less fields +/** Helper class which allows manipulating libraries. + * + * It is similar to the {@link Library} class but has fewer fields. + */ class Module { String path; -- cgit v1.2.3 From 4a44d14ece8241d43238882b689c503536ea6ec6 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 11:55:28 +0200 Subject: MinistroService.java: Made ModuleCompare and Module private inner classes of MinistroService because they are never used outside this context. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index af7f605..d5406e8 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -393,14 +393,13 @@ public class MinistroService extends Service { } return false; } -} /** Sorter for libraries. * * Hence the order in which the libraries have to be loaded is important, it is neccessary * to sort them. */ -class ModuleCompare implements Comparator { +static private class ModuleCompare implements Comparator { @Override public int compare(Module a, Module b) { return a.level-b.level; @@ -411,9 +410,12 @@ class ModuleCompare implements Comparator { * * It is similar to the {@link Library} class but has fewer fields. */ -class Module +static private class Module { String path; String name; int level; + } + +} \ No newline at end of file -- cgit v1.2.3 From de81fab5be1a2bb17c039dce120b6c05f90a1243 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 12:25:24 +0200 Subject: MinistroService.java: Added comments to addModules(). --- .../necessitas/ministro/MinistroService.java | 45 +++++++++++++++++++++- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index d5406e8..bea5f98 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -327,7 +327,16 @@ public class MinistroService extends Service { }; } - // check/add all modules. Returns true if all modules are found. + /** + * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). + * + *

If the notFoundModules argument is given, the method fills the list with + * libraries that need to be retrieved first.

+ * + * @param requestedLibs + * @param notFoundModules + * @return + */ boolean checkModules(ArrayList libs, ArrayList notFoundModules) { ArrayList modules= new ArrayList(); @@ -343,18 +352,45 @@ public class MinistroService extends Service { return res; } - // adds recursively all modules and dependencies to modules list + /** + * Helper method for the module resolution mechanism. It deals with an individual module's + * resolution request. + * + *

The method checks whether a given single module is already + * accessible or needs to be retrieved first. In the latter case the method returns + * false.

+ * + *

The method traverses a module's dependencies automatically.

+ * + *

In order to find out whether a module is accessible the method consults + * the list of downloaded libraries. If found, an entry to the modules list is + * added.

+ * + *

In case the module is not immediately accessible and the notFoundModules + * argument exists, a list of available libraries is consulted to fill a list of modules which + * yet need to be retrieved.

+ * + * @param module + * @param modules + * @param notFoundModules + * @return true if the given module and all its dependencies are readily available. + */ private boolean addModules(String module, ArrayList modules, ArrayList notFoundModules) { + // Module argument is not supposed to be null at this point. if (modules == null) return false; // we are in deep shit if this happens + // Short-cut: If the module is already in our list of previously found modules then we do not + // need to consult the list of downloaded modules. for (int i=0;i Date: Fri, 20 May 2011 12:38:21 +0200 Subject: MinistroService.java: Extracted onBind() implementation into own method. (onBind): Moved implementation into its own method. (checkModulesImpl): New method for dealing with the modules check. --- .../necessitas/ministro/MinistroService.java | 61 ++++++++++++++-------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index bea5f98..19585e0 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -301,39 +301,56 @@ public class MinistroService extends Service { @Override public void checkModules(IMinistroCallback callback, String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { + checkModules(callback, modules, appName, ministroApiLevel, necessitasApiLevel); + } + }; + } - if (ministroApiLevelMINISTRO_MAX_API_LEVEL) - { - // panic !!! Ministro service is not compatible, user should upgrade Ministro package - return; - } + /** + * Implements the {@link IMinistro.Stub#checkModules(IMinistroCallback, String[], String, int, int)} + * service method. + * + * @param callback + * @param modules + * @param appName + * @param ministroApiLevel + * @param necessitasApiLevel + * @throws RemoteException + */ + final void checkModulesImpl(IMinistroCallback callback, + String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { - // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning - // and they will deploying apps to Android Market, so let's try to give them a chance. + if (ministroApiLevelMINISTRO_MAX_API_LEVEL) + { + // panic !!! Ministro service is not compatible, user should upgrade Ministro package + return; + } - // this method is called by the activity client who needs modules. - ArrayList notFoundModules = new ArrayList(); - ArrayList libraries = new ArrayList(); - Collections.addAll(libraries, modules); - if (MinistroService.this.checkModules(libraries, notFoundModules)) - { - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. - } - else - m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. - } - }; + // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning + // and they will deploying apps to Android Market, so let's try to give them a chance. + + // this method is called by the activity client who needs modules. + ArrayList notFoundModules = new ArrayList(); + ArrayList libraries = new ArrayList(); + Collections.addAll(libraries, modules); + if (MinistroService.this.checkModules(libraries, notFoundModules)) + { + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. + } + else + m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. } + /** * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). * *

If the notFoundModules argument is given, the method fills the list with * libraries that need to be retrieved first.

* - * @param requestedLibs + * @param libs * @param notFoundModules * @return */ -- cgit v1.2.3 From 55724af10ab681631d09375bc655024095083088 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:00:39 +0200 Subject: MinistroService.java: Moved Activity setup part into own method. (ActionStruct): Moved the Activity setup part into its own method. (startRetrieval): New method combining ActionStruct creation and Activity setup. (checkModules): Accomodate API changes and added documentation. --- .../necessitas/ministro/MinistroService.java | 47 +++++++++++++--------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 19585e0..831fd25 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -219,21 +219,6 @@ public class MinistroService extends Service { id=++m_actionId; callback = cb; modules = m; - Intent intent = new Intent(MinistroService.this, MinistroActivity.class); - intent.putExtra("id", id); - String[] libs = new String[notFoundMoules.size()]; - libs = notFoundMoules.toArray(libs); - intent.putExtra("modules", libs); - intent.putExtra("name", appName); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - try - { - MinistroService.this.startActivity(intent); - } - catch(Exception e) - { - e.printStackTrace(); - } } public int id; public IMinistroCallback callback; @@ -333,16 +318,42 @@ public class MinistroService extends Service { ArrayList notFoundModules = new ArrayList(); ArrayList libraries = new ArrayList(); Collections.addAll(libraries, modules); - if (MinistroService.this.checkModules(libraries, notFoundModules)) + if (checkModules(libraries, notFoundModules)) { + // All modules are available, as such the other application can be notified that it + // can start without problems. String[] libs = new String[libraries.size()]; libs = libraries.toArray(libs); - callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null);// if we have all modules downloaded just call back the activity client. + callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null); } else - m_actions.add(new ActionStruct(callback, modules, notFoundModules, appName)); // if not, lets start an activity to do it. + { + // Starts a retrieval of the modules which are not readily accessible. + startRetrieval(callback, modules, notFoundModules, appName); + } } + private void startRetrieval(IMinistroCallback callback, + String[] modules, ArrayList notFoundModules, String appName) { + ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName); + m_actions.add(as); // if not, lets start an activity to do it. + + Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + intent.putExtra("id", as.id); + String[] libs = notFoundModules.toArray(new String[notFoundModules.size()]); + intent.putExtra("modules", libs); + intent.putExtra("name", appName); + + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try + { + MinistroService.this.startActivity(intent); + } + catch(Exception e) + { + e.printStackTrace(); + } + } /** * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). -- cgit v1.2.3 From 59d648003cbab9e40b18dd62bde0ff31fbe6f1e2 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:05:05 +0200 Subject: MinistroService.java: Added throwing of RemoteException for problems while setting up Activity. (startRetrieval): Throw RemoteException if something fails while setting up the Activity. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 831fd25..31756f0 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -334,7 +334,9 @@ public class MinistroService extends Service { } private void startRetrieval(IMinistroCallback callback, - String[] modules, ArrayList notFoundModules, String appName) { + String[] modules, ArrayList notFoundModules, String appName) + throws RemoteException + { ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName); m_actions.add(as); // if not, lets start an activity to do it. @@ -351,7 +353,7 @@ public class MinistroService extends Service { } catch(Exception e) { - e.printStackTrace(); + throw (RemoteException) new RemoteException().initCause(e); } } -- cgit v1.2.3 From d434a91f2a0e948a46ab9be2b5ec50cc116afa73 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:07:25 +0200 Subject: MinistroService.java: Properly handle failing Activity setup. (startRetrieval): Properly handle failing Activity setup case. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 31756f0..34520e1 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -347,14 +347,22 @@ public class MinistroService extends Service { intent.putExtra("name", appName); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + boolean failed = false; try { MinistroService.this.startActivity(intent); } catch(Exception e) { + failed = true; throw (RemoteException) new RemoteException().initCause(e); } + finally + { + // Removes the dead Activity from our list as it will never finish by itself. + if (failed) + m_actions.remove(as); + } } /** -- cgit v1.2.3 From 83d3a5c346576ffbf00bb4b8bb2437d4cd8b5c27 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:29:03 +0200 Subject: MinistroService.java: Rename of activityFinished() to retrievalFinished(). (activityFinished): Renamed to retrievalFinished(). (retrievalFinished): Moved the core of the last step into a separate method. (postRetrieval): Moved the module checking and callback calling here. MinistroActivity.java: Accomodate API changes. --- .../necessitas/ministro/MinistroActivity.java | 4 +- .../necessitas/ministro/MinistroService.java | 97 +++++++++++++++------- 2 files changed, 71 insertions(+), 30 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index ede7061..c04a35a 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -107,7 +107,7 @@ public class MinistroActivity extends Activity { void finishMe() { if (-1 != m_id && null != MinistroService.instance()) - MinistroService.instance().activityFinished(m_id); + MinistroService.instance().retrievalFinished(m_id); else { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); @@ -541,4 +541,4 @@ public class MinistroActivity extends Activity { static { System.loadLibrary("chmode"); } -} \ No newline at end of file +} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 34520e1..e4d3463 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -247,34 +247,6 @@ public class MinistroService extends Service { super.onCreate(); } - public void activityFinished(int id) - { - for (int i=0;i libraries = new ArrayList(); - Collections.addAll(libraries, action.modules); - boolean res = checkModules(libraries, null); - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - if (res) - action.callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); - else - action.callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); - } catch (RemoteException e) { - e.printStackTrace(); - } - m_actions.remove(i); - break; - } - } - if (m_actions.size() == 0) - m_actionId = 0; - } - @Override public void onDestroy() { super.onDestroy(); @@ -333,6 +305,16 @@ public class MinistroService extends Service { } } + /** + * Creates and sets up a {@link MinistroActivity} to retrieve the modules specified in the + * notFoundModules argument. + * + * @param callback + * @param modules + * @param notFoundModules + * @param appName + * @throws RemoteException + */ private void startRetrieval(IMinistroCallback callback, String[] modules, ArrayList notFoundModules, String appName) throws RemoteException @@ -365,6 +347,65 @@ public class MinistroService extends Service { } } + /** + * Called by a finished {@link MinistroActivity} in order to let + * the service notify the application which caused the activity about + * the result of the retrieval. + * + * @param id + */ + void retrievalFinished(int id) + { + for (int i=0;iChecks the availability of the requested modules and informs + * the requesting application about it via the {@link IMinistroCallback} + * instance.

+ * + * @param callback + * @param modules + */ + private void postRetrieval(IMinistroCallback callback, String[] modules) { + ArrayList libraries = new ArrayList(); + Collections.addAll(libraries, modules); + + // Does a final check whether the libraries are accessible (without caring for + // the non-accessible ones). + boolean res = checkModules(libraries, null); + + String[] libs = new String[libraries.size()]; + libs = libraries.toArray(libs); + + try + { + if (res) + callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); + else + callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); + } + catch (RemoteException e) + { + e.printStackTrace(); + } + + } + /** * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). * -- cgit v1.2.3 From 81ef98dabb7c830923a8085f0570276d52e5f985 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:33:58 +0200 Subject: MinistroService.java: Log failed notification after retrieval. (postRetrieval): Log failed notification after retrieval. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index e4d3463..be49608 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -40,8 +40,11 @@ import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.IBinder; import android.os.RemoteException; +import android.util.Log; public class MinistroService extends Service { + private static final String TAG = "MinistroService"; + private static final String MINISTRO_CHECK_UPDATES_KEY="LASTCHECK"; private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; @@ -401,7 +404,7 @@ public class MinistroService extends Service { } catch (RemoteException e) { - e.printStackTrace(); + Log.w(TAG, "Was unable to do 'libs' callback after retrieving libraries. Ignoring and assuming that the other application exited."); } } -- cgit v1.2.3 From c3508e004183fd853b361ad6b9cc1dad94cc3a07 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:41:17 +0200 Subject: MinistroService.java: Log when Ministro API version cannot be satisfied. (checkModulesImpl): Added warning when Ministro cannot satisfy API version. --- Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index be49608..001c124 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -283,6 +283,7 @@ public class MinistroService extends Service { if (ministroApiLevelMINISTRO_MAX_API_LEVEL) { // panic !!! Ministro service is not compatible, user should upgrade Ministro package + Log.w(TAG, "Ministro cannot satisfy API version: " + ministroApiLevel); return; } -- cgit v1.2.3 From 9ce1bb9cc6f2ec46990ebf9728c36a333361dd03 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 May 2011 13:50:24 +0200 Subject: IMinistroCallback.aidl: Added documentation. (libs): Added more documentation for implementors. --- .../src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl b/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl index 076736a..a41a210 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl +++ b/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl @@ -29,7 +29,12 @@ package eu.licentia.necessitas.ministro; oneway interface IMinistroCallback { /** - * This method is called back by the Ministro service + * This method is called by the Ministro service back into the application which + * implements this interface. + * + *

The method allows notifying the application about the result of the library + * lookup. In case the errorCode argument is 0, the called application + * can start without problems.

* * param in - libs, you have to load before load the application * param in - evnVars, tab separated environment variables -- cgit v1.2.3 From 86e933d00aaa573f97c2a49579355331abc46f54 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 26 Jul 2011 16:40:35 +0300 Subject: Check network status before starting any download. Thnaks to Nuno Pinheiro, Ministro has first class art work ! DIGEST: --- Ministro/AndroidManifest.xml | 2 + Ministro/res/drawable-hdpi/icon.png | Bin 3347 -> 31620 bytes Ministro/res/drawable-hdpi/logo.jpg | Bin 49742 -> 0 bytes Ministro/res/drawable-ldpi/icon.png | Bin 3347 -> 1670 bytes Ministro/res/drawable-ldpi/logo.jpg | Bin 49742 -> 0 bytes Ministro/res/drawable-mdpi/icon.png | Bin 3347 -> 2394 bytes Ministro/res/drawable-mdpi/logo.jpg | Bin 49742 -> 0 bytes Ministro/res/layout/repoconfig.xml | 2 +- .../necessitas/ministro/MinistroActivity.java | 92 +++++++++++++++++++-- .../necessitas/ministro/MinistroService.java | 4 +- .../res/drawable-hdpi/icon.png | Bin 3347 -> 47754 bytes .../res/drawable-ldpi/icon.png | Bin 3347 -> 2357 bytes .../res/drawable-mdpi/icon.png | Bin 3347 -> 3665 bytes 13 files changed, 88 insertions(+), 12 deletions(-) delete mode 100644 Ministro/res/drawable-hdpi/logo.jpg delete mode 100644 Ministro/res/drawable-ldpi/logo.jpg delete mode 100644 Ministro/res/drawable-mdpi/logo.jpg diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 90b6054..2effe76 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -2,6 +2,7 @@ + + diff --git a/Ministro/res/drawable-hdpi/icon.png b/Ministro/res/drawable-hdpi/icon.png index 80ae4bb..e9050a4 100644 Binary files a/Ministro/res/drawable-hdpi/icon.png and b/Ministro/res/drawable-hdpi/icon.png differ diff --git a/Ministro/res/drawable-hdpi/logo.jpg b/Ministro/res/drawable-hdpi/logo.jpg deleted file mode 100644 index a729ad3..0000000 Binary files a/Ministro/res/drawable-hdpi/logo.jpg and /dev/null differ diff --git a/Ministro/res/drawable-ldpi/icon.png b/Ministro/res/drawable-ldpi/icon.png index 80ae4bb..585728a 100644 Binary files a/Ministro/res/drawable-ldpi/icon.png and b/Ministro/res/drawable-ldpi/icon.png differ diff --git a/Ministro/res/drawable-ldpi/logo.jpg b/Ministro/res/drawable-ldpi/logo.jpg deleted file mode 100644 index a729ad3..0000000 Binary files a/Ministro/res/drawable-ldpi/logo.jpg and /dev/null differ diff --git a/Ministro/res/drawable-mdpi/icon.png b/Ministro/res/drawable-mdpi/icon.png index 80ae4bb..3896146 100644 Binary files a/Ministro/res/drawable-mdpi/icon.png and b/Ministro/res/drawable-mdpi/icon.png differ diff --git a/Ministro/res/drawable-mdpi/logo.jpg b/Ministro/res/drawable-mdpi/logo.jpg deleted file mode 100644 index a729ad3..0000000 Binary files a/Ministro/res/drawable-mdpi/logo.jpg and /dev/null differ diff --git a/Ministro/res/layout/repoconfig.xml b/Ministro/res/layout/repoconfig.xml index c14b515..c9a9969 100644 --- a/Ministro/res/layout/repoconfig.xml +++ b/Ministro/res/layout/repoconfig.xml @@ -10,7 +10,7 @@ android:layout_marginTop="10dip" android:text="@string/repositories_prompt" /> - notFoundModules = new ArrayList(); if (m_modules!=null) { - ArrayList requiredModules = new ArrayList(); - Collections.addAll(requiredModules, m_modules); - MinistroService.instance().checkModules(requiredModules, notFoundModules); + ArrayList requiredModules = new ArrayList(); + Collections.addAll(requiredModules, m_modules); + MinistroService.instance().checkModules(requiredModules, notFoundModules); } dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java index 001c124..ed41368 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java @@ -237,7 +237,7 @@ public class MinistroService extends Service { m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); long lastCheck = preferences.getLong(MINISTRO_CHECK_UPDATES_KEY,0); - if (System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day + if (MinistroActivity.isOnline(this) && System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day { refreshLibraries(true); SharedPreferences.Editor editor= preferences.edit(); @@ -261,7 +261,7 @@ public class MinistroService extends Service { @Override public void checkModules(IMinistroCallback callback, String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { - checkModules(callback, modules, appName, ministroApiLevel, necessitasApiLevel); + checkModulesImpl(callback, modules, appName, ministroApiLevel, necessitasApiLevel); } }; } diff --git a/MinistroConfigurationTool/res/drawable-hdpi/icon.png b/MinistroConfigurationTool/res/drawable-hdpi/icon.png index 80ae4bb..5b97acc 100644 Binary files a/MinistroConfigurationTool/res/drawable-hdpi/icon.png and b/MinistroConfigurationTool/res/drawable-hdpi/icon.png differ diff --git a/MinistroConfigurationTool/res/drawable-ldpi/icon.png b/MinistroConfigurationTool/res/drawable-ldpi/icon.png index 80ae4bb..0011174 100644 Binary files a/MinistroConfigurationTool/res/drawable-ldpi/icon.png and b/MinistroConfigurationTool/res/drawable-ldpi/icon.png differ diff --git a/MinistroConfigurationTool/res/drawable-mdpi/icon.png b/MinistroConfigurationTool/res/drawable-mdpi/icon.png index 80ae4bb..0f3bf43 100644 Binary files a/MinistroConfigurationTool/res/drawable-mdpi/icon.png and b/MinistroConfigurationTool/res/drawable-mdpi/icon.png differ -- cgit v1.2.3 From 71c903f6544d2e850965aaa4c6f5eb059b41024c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 26 Jul 2011 17:42:44 +0300 Subject: Fix update --- .../src/eu/licentia/necessitas/ministro/MinistroActivity.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java index 5a562ff..f999274 100644 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java @@ -73,10 +73,10 @@ public class MinistroActivity extends Activity { private int m_id=-1; private String m_qtLibsRootPath; - private void checkNetworkAndDownload() + private void checkNetworkAndDownload(final boolean update) { if (isOnline(this)) - new CheckLibraries().execute(false); + new CheckLibraries().execute(update); else { AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); @@ -100,7 +100,7 @@ public class MinistroActivity extends Activity { @Override public void run() { m_dialog.dismiss(); - new CheckLibraries().execute(false); + new CheckLibraries().execute(update); } }); } @@ -140,7 +140,7 @@ public class MinistroActivity extends Activity { .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); - checkNetworkAndDownload(); + checkNetworkAndDownload(false); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { @@ -153,7 +153,7 @@ public class MinistroActivity extends Activity { alert.show(); } else - checkNetworkAndDownload(); + checkNetworkAndDownload(true); } @Override -- cgit v1.2.3 From cd7b32ea37dc5d611b3d71f27180de9d9e8b1672 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 31 Jul 2011 15:34:31 +0100 Subject: sdk: Debug build fixes for OSX (can't use -debug, instead -debug-and-release) --- Necessitas_SDK/build_sdk.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 857f6c4..1fb5b43 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -218,9 +218,14 @@ function prepareHostQt OPTS_CFG=" -developer-build " if [ "$HOST_QT_CONFIG" = "-d" ] ; then STATIC_QT_PATH_DEBUG=$PWD - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + if [ "$OSTYPE" = "msys" ] ; then OPTS_CFG=" -debug " HOST_QT_CFG="CONFIG+=debug" + else + if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then + OPTS_CFG=" -debug-and-release " + HOST_QT_CFG="CONFIG+=debug" + fi fi else STATIC_QT_PATH=$PWD -- cgit v1.2.3 From 0719e3764587487073aed1e63a03a10b9fe46948 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 15 Aug 2011 00:15:16 +0100 Subject: sdk_vars.sh: HOST_QT_VERSION can set to lighthouse and it'll attempt to use lighthouse for host qt, this only works on Linux (I verified this) atm. Otherwise, it's setup to use my gitorious 4.8 branch, this will be fine for Linux and Mac, and I'll sort Windows out tomorrow morning. sdk_vars.sh: MAKE_DEBUG_GDBSERVER (will make unstripped gdbserver for debugging gdb issues) sdk_vars.sh: MAKE_DEBUG_HOST_APPS (makes qt-creator-d.7z and necessitas-sdk-installer-d executable after compiling debug host qt versions) build_sdk.sh: QPatch disabled, NQT_INSTALL_DIR added. --- Necessitas_SDK/build_sdk.sh | 199 +++++++++++++++++++++++++++----------------- Necessitas_SDK/sdk_vars.sh | 24 +++++- 2 files changed, 144 insertions(+), 79 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 1fb5b43..11000f7 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -30,7 +30,7 @@ else TEMP_PATH_PREFIX=/usr fi -TEMP_PATH=$TEMP_PATH_PREFIX/necessitas +TEMP_PATH=$TEMP_PATH_PREFIX/nec if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH @@ -58,12 +58,13 @@ SHARED_QT_PATH="" SDK_TOOLS_PATH="" ANDROID_STRIP_BINARY="" ANDROID_READELF_BINARY="" -QPATCH_PATH="" +#QPATCH_PATH="" EXE_EXT="" export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -prefix . " + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -prefix . " + HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_gcclibs" HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe @@ -192,29 +193,64 @@ function doSed fi } +function downloadLighthouseSource +{ + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT + pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT + if [ ! -d qt-src ] + then + git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" + pushd qt-src + git checkout experimental + popd + fi + popd +} # $1 is either -d (debug build) or nothing. function prepareHostQt { # download, compile & install qt, it is used to compile the installer HOST_QT_CONFIG=$1 - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] + if [ ! "$HOST_QT_VERSION" = "lighthouse" ] then +# if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] + if [ "1" = "1" ] + then + if [ ! -d $HOST_QT_SRCDIR ] + then + git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_SRCDIR || error_msg "Can't clone mingw qt" + pushd $HOST_QT_SRCDIR + git checkout -b $HOST_QT_BRANCH + popd + fi + else + if [ "$OSTYPE" = "msys" ] ; then + HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.zip + downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE if [ ! -d $HOST_QT_VERSION ] then - git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_VERSION || error_msg "Cant clone mingw qt" + unzip $HOST_QT_SRC_ARCHIVE || error_msg "Can't unzip $HOST_QT_SRC_ARCHIVE" fi else - downloadIfNotExists $HOST_QT_VERSION.tar.gz http://get.qt.nokia.com/qt/source/$HOST_QT_VERSION.tar.gz + HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.tar.gz + downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE if [ ! -d $HOST_QT_VERSION ] then - tar -xzvf $HOST_QT_VERSION.tar.gz || error_msg "Can't untar $HOST_QT_VERSION.tar.gz" + tar -xzvf $HOST_QT_SRC_ARCHIVE || error_msg "Can't untar $HOST_QT_SRC_ARCHIVE" + fi + fi fi + else + downloadLighthouseSource fi #build qt statically, needed by Sdk installer - mkdir b-$HOST_QT_VERSION-st$HOST_QT_CONFIG - pushd b-$HOST_QT_VERSION-st$HOST_QT_CONFIG + if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then + HOST_QT_SRCDIR=lighthouse + fi + mkdir b-$HOST_QT_SRCDIR-st$HOST_QT_CONFIG + pushd b-$HOST_QT_SRCDIR-st$HOST_QT_CONFIG OPTS_CFG=" -developer-build " if [ "$HOST_QT_CONFIG" = "-d" ] ; then STATIC_QT_PATH_DEBUG=$PWD @@ -235,46 +271,56 @@ function prepareHostQt HOST_QT_CFG="CONFIG+=release" fi fi + # Even on Linux, static Qt 4.8 doesn't build! if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + else + ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + fi doMake "Can't compile static $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. doSed $"s/qt warn_on /qt static warn_on /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt static warn_on /" mkspecs/default/qmake.conf fi fi popd #build qt shared, needed by QtCreator - mkdir b-$HOST_QT_VERSION-sh$HOST_QT_CONFIG - pushd b-$HOST_QT_VERSION-sh$HOST_QT_CONFIG + mkdir b-$HOST_QT_SRCDIR-sh$HOST_QT_CONFIG + pushd b-$HOST_QT_SRCDIR-sh$HOST_QT_CONFIG SHARED_QT_PATH=$PWD if [ ! -f all_done ] then rm -fr * - ../$HOST_QT_VERSION/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + else + ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + fi doMake "Can't compile shared $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. doSed $"s/qt warn_on /qt shared warn_on /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt shared warn_on /" mkspecs/default/qmake.conf fi fi popd - } function prepareSdkInstallerTools { # get installer source code - SDK_TOOLS_PATH=$PWD/necessitas-installer-framework$HOST_QT_CONFIG/installerbuilder/bin - if [ ! -d necessitas-installer-framework$HOST_QT_CONFIG ] + SDK_TOOLS_PATH=$PWD/necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG/installerbuilder/bin + if [ ! -d necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG ] then - git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework$HOST_QT_CONFIG || error_msg "Can't clone necessitas-installer-framework" + git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG || error_msg "Can't clone necessitas-installer-framework" fi - pushd necessitas-installer-framework$HOST_QT_CONFIG/installerbuilder + pushd necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG/installerbuilder if [ ! -f all_done ] then @@ -382,25 +428,25 @@ function prepareNecessitasQtCreator popd fi - mkdir qpatch-build - pushd qpatch-build - if [ ! -f all_done ] - then - $STATIC_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro - if [ "$OSTYPE" = "msys" ]; then - make -f Makefile.Release || error_msg "Can't compile qpatch" - else - make || error_msg "Can't compile qpatch" - fi - echo "all_done">all_done - fi +# mkdir qpatch-build +# pushd qpatch-build +# if [ ! -f all_done ] +# then +# $STATIC_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro +# if [ "$OSTYPE" = "msys" ]; then +# make -f Makefile.Release || error_msg "Can't compile qpatch" +# else +# make || error_msg "Can't compile qpatch" +# fi +# echo "all_done">all_done +# fi - if [ "$OSTYPE" = "msys" ]; then - QPATCH_PATH=$PWD/release/qpatch$EXE_EXT - else - QPATCH_PATH=$PWD/qpatch - fi - popd +# if [ "$OSTYPE" = "msys" ]; then +# QPATCH_PATH=$PWD/release/qpatch$EXE_EXT +# else +# QPATCH_PATH=$PWD/qpatch +# fi +# popd } # A few things are downloaded as binaries. @@ -523,8 +569,8 @@ function prepareNDKs # repack mingw android windows NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z @@ -588,20 +634,20 @@ function prepareNDKs fi else if [ "$OSTYPE" = "msys" ]; then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z fi if [ "$OSTYPE" = "linux-gnu" ]; then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z fi fi @@ -866,8 +912,13 @@ function prepareGDBServer OLD_LDFLAGS="$LDFLAGS" export CC="$TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot" - export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" - export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" + if [ "$MAKE_DEBUG_GDBSERVER" = "1" ] ; then + export CFLAGS="-O0 -g -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" + export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" + else + export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" + export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" + fi LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x/ cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ @@ -880,7 +931,11 @@ function prepareGDBServer export LDFLAGS="$OLD_LDFLAGS" mkdir gdbserver-$GDB_VER - $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-$GDB_VER/gdbserver + if [ "$MAKE_DEBUG_GDBSERVER" = "0" ] ; then + $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-$GDB_VER/gdbserver + else + cp gdbserver $PWD/gdbserver-$GDB_VER/gdbserver + fi $SDK_TOOLS_PATH/archivegen gdbserver-$GDB_VER gdbserver-$GDB_VER.7z mkdir -p $package_path @@ -1055,7 +1110,7 @@ function patchQtFiles echo /data/data/eu.licentia.necessitas.ministro/files/qt >> qpatch.cmdline echo $PWD >> qpatch.cmdline echo . >> qpatch.cmdline - $QPATCH_PATH @qpatch.cmdline +# $QPATCH_PATH @qpatch.cmdline } function packSource @@ -1102,11 +1157,12 @@ function compileNecessitasQt # other platforms; this file also exists in android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/sysroot/usr/lib # but not in the x86 equivalent, so for now, build it all for 9). NDK_TARGET=9 - + # NQT_INSTALL_DIR=/data/data/eu.licentia.necessitas.ministro/files/qt + NQT_INSTALL_DIR=$PWD/install if [ ! -f all_done ] then git checkout testing - ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i /data/data/eu.licentia.necessitas.ministro/files/qt || error_msg "Can't configure android-qt" + ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi @@ -1123,34 +1179,23 @@ function compileNecessitasQt export INSTALL_ROOT=$PWD doMakeInstall "Failed to make-install Qt Android $package_name" make mkdir -p $2/$1 - cp -rf data/data/eu.licentia.necessitas.ministro/files/qt/bin $2/$1 + cp -rf $NQT_INSTALL_DIR/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z - cp -rf data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + cp -rf $NQT_INSTALL_DIR/* $2/$1 cp -rf ../qt-src/lib/*.xml $2/$1/lib/ $SDK_TOOLS_PATH/archivegen Android qt-framework.7z mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z # Not sure why we're using a different qt-framework package for Windows. cp $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z - patchQtFiles +# patchQtFiles } - function prepareNecessitasQt { - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT - pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - - if [ ! -d qt-src ] - then - git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" - pushd qt-src - git checkout experimental - popd - fi - + downloadLighthouseSource # if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] # then # mkdir build-x86 @@ -1159,6 +1204,8 @@ function prepareNecessitasQt # popd #build-x86 # fi + pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT + if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi @@ -1207,17 +1254,15 @@ function compileNecessitasQtMobility $SDK_TOOLS_PATH/archivegen Android qtmobility.7z mv qtmobility.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z cp -a $2/$1/* ../build-$1 - pushd ../build-$1 - patchQtFiles - popd +# pushd ../build-$1 +# patchQtFiles +# popd } - function prepareNecessitasQtMobility { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -d qtmobility-src ] then git clone git://anongit.kde.org/android-qt-mobility.git qtmobility-src || error_msg "Can't clone android-qt-mobility" @@ -1306,16 +1351,15 @@ function compileNecessitasQtWebkit $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z mv qtwebkit.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z cp -a $2/$1/* ../build-$1/ - pushd ../build-$1 - patchQtFiles - popd +# pushd ../build-$1 +# patchQtFiles +# popd } function prepareNecessitasQtWebkit { mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -d qtwebkit-src ] then git clone git://gitorious.org/~taipan/webkit/android-qtwebkit.git qtwebkit-src || error_msg "Can't clone android-qtwebkit" @@ -1611,14 +1655,15 @@ prepareHostQt prepareSdkInstallerTools prepareOpenJDK prepareAnt -prepareGDBVersion head $HOST_TAG +# prepareGDBVersion head $HOST_TAG +prepareGDBVersion head prepareNDKs prepareSDKs prepareNecessitasQtCreator prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) -if [ "$OSTYPE" = "linux-gnu" ] ; then +if [ "$OSTYPE" = "linux-gnu-no" ] ; then prepareNecessitasQtWebkit fi @@ -1631,7 +1676,7 @@ setPackagesVariables prepareSDKBinary # Comment this block in if you want necessitas-sdk-installer-d and qtcreator-d to be built. -if [ ! "$OSTYPE" = "linux-gnu" ] ; then +if [ "$MAKE_DEBUG_HOST_APPS" = "1" ] ; then prepareHostQt -d prepareNecessitasQtCreator prepareSdkInstallerTools diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 3271e67..a17eca6 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -1,7 +1,22 @@ MINISTRO_VERSION="0.2" #Ministro repo version -HOST_QT_VERSION=qt-everywhere-opensource-src-4.7.3 # Qt which is used to buil QtCreator and the SDK installer -NECESSITAS_QT_CREATOR_VERSION="2.2.0.1" +# There's no qpa plugin for Windows in Lighthouse yet. +# The easiest workaround is probably to use angle (a Google Chrome spin-off project): +# svn checkout http://angleproject.googlecode.com/svn/trunk/ angleproject-read-only +# ..which translates GL to DirectX and apparently works quite well, and as used by +# http://code.google.com/p/gamekit/source/browse/#svn%2Ftrunk%2FDependencies%2FWin32%2Fgles2 +# But for now, lighthouse can only be used as the Host Qt on Mac and Linux. +# Configure options from http://wayland.freedesktop.org/toolkits.html are -qpa -egl -opengl es2 +# if [ "$OSTYPE" = "msys" ] ; then +if [ "$1" = "$1" ] ; then + HOST_QT_VERSION=qt-everywhere-opensource-src-4.8.0 # Qt which is used to build QtCreator and the SDK installer (only matters that this isn't lighthouse) + HOST_QT_BRANCH=4.8 + HOST_QT_SRCDIR=qeos-$HOST_QT_BRANCH +else + HOST_QT_VERSION=lighthouse +fi + +NECESSITAS_QT_CREATOR_VERSION="2.3.81" # Qt Framework versions NECESSITAS_QT_VERSION_SHORT=4762 #Necessitas Qt Framework Version @@ -28,3 +43,8 @@ ANDROID_API_9_VERSION=2.3.1_r02 ANDROID_API_10_VERSION=2.3.3_r01 ANDROID_API_11_VERSION=3.0_r01 ANDROID_API_12_VERSION=3.1_r01 + +# Make debug versions of host applications (Qt Creator and installer). +MAKE_DEBUG_HOST_APPS=1 + +MAKE_DEBUG_GDBSERVER=1 -- cgit v1.2.3 From a9eb4d2664c429ee7d10fd1f98e317543028522b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 15 Aug 2011 04:28:14 +0100 Subject: Fix configure of webkit and mobility --- Necessitas_SDK/build_sdk.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 11000f7..ca075fd 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -356,7 +356,7 @@ function prepareNecessitasQtCreator doMake "Can't compile $QTC_PATH" "all done" ma-make fi rm -fr $QTC_INST_PATH - export INSTALL_ROOT=$QTC_INST_PATH + export INSTALL_ROOT="" make install #download and install sdk-updater-plugin @@ -1238,17 +1238,17 @@ function compileNecessitasQtMobility pushd ../qtmobility-src git checkout master popd - ../qtmobility-src/configure -prefix /data/data/eu.licentia.necessitas.ministro/files/qt -staticconfig android -qmake-exec ../build-$1/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec ../build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" ma-make fi package_name=${1//-/_} # replace - with _ rm -fr data rm -fr $2 - export INSTALL_ROOT=$PWD + export INSTALL_ROOT="" make install mkdir -p $2/$1 mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data - mv data/data/eu.licentia.necessitas.ministro/files/qt/* $2/$1 + mv $PWD/install/* $2/$1 cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtmobility.7z @@ -1323,7 +1323,7 @@ function compileNecessitasQtWebkit fi export WEBKITOUTPUTDIR=$PWD echo "doing perl" - ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" + ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From 3193f5133d095d955294c2d448b4c10a11d95c4e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 15 Aug 2011 14:35:53 +0100 Subject: Fixes for qt android install folder --- Necessitas_SDK/build_sdk.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index ca075fd..f36f91d 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1168,15 +1168,15 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then - doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-4/= android-$NDK_TARGET/g" mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf else - doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-4/= android-$NDK_TARGET/g" mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi-v7a/= armeabi/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf fi - rm -fr data - export INSTALL_ROOT=$PWD + rm -fr install + export INSTALL_ROOT="" doMakeInstall "Failed to make-install Qt Android $package_name" make mkdir -p $2/$1 cp -rf $NQT_INSTALL_DIR/bin $2/$1 @@ -1238,7 +1238,8 @@ function compileNecessitasQtMobility pushd ../qtmobility-src git checkout master popd - ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec ../build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" +# ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $PWD/../build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" ma-make fi package_name=${1//-/_} # replace - with _ -- cgit v1.2.3 From ea28143518cee3a75a85d225afc789ecf3c6b355 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 15 Aug 2011 20:38:43 +0100 Subject: Fix ndk unpack/repack, qt android install --- Necessitas_SDK/build_sdk.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f36f91d..bf987f9 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -582,8 +582,8 @@ function prepareNDKs # repack mingw android mac NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z @@ -595,8 +595,8 @@ function prepareNDKs # repack mingw android linux-x86 NDK if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z - cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . + downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z @@ -1168,19 +1168,21 @@ function compileNecessitasQt if [ $package_name = "armeabi_v7a" ] then - doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf else - doSed $"s/= armeabi-v7a/= armeabi/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf fi rm -fr install export INSTALL_ROOT="" - doMakeInstall "Failed to make-install Qt Android $package_name" make + make install +# doMakeInstall "Failed to make-install Qt Android $package_name" make mkdir -p $2/$1 cp -rf $NQT_INSTALL_DIR/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z + exit 2 rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z -- cgit v1.2.3 From 7084ae79ebf739c0f51521727df50078a52bb0a8 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 16 Aug 2011 11:40:13 +0100 Subject: Use ms_bitfields and static_gcclibs for all Windows host Qt configs (in mkspecs/win32-g++/qmake.conf). --- Necessitas_SDK/build_sdk.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index bf987f9..499c7ce 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -283,8 +283,8 @@ function prepareHostQt doMake "Can't compile static $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. - doSed $"s/qt warn_on /qt static warn_on /" mkspecs/win32-g++/qmake.conf - doSed $"s/qt warn_on /qt static warn_on /" mkspecs/default/qmake.conf + doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf fi fi popd @@ -304,8 +304,8 @@ function prepareHostQt doMake "Can't compile shared $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. - doSed $"s/qt warn_on /qt shared warn_on /" mkspecs/win32-g++/qmake.conf - doSed $"s/qt warn_on /qt shared warn_on /" mkspecs/default/qmake.conf + doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf + doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf fi fi popd @@ -1658,7 +1658,7 @@ prepareHostQt prepareSdkInstallerTools prepareOpenJDK prepareAnt -# prepareGDBVersion head $HOST_TAG +prepareGDBVersion head $HOST_TAG prepareGDBVersion head prepareNDKs prepareSDKs -- cgit v1.2.3 From 50c235ce39ffc610a22427644dcd93c3423d6a0a Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 17 Aug 2011 11:42:12 +0100 Subject: Host Qt: Copy mkspecs/win32-g++/qplatformdefs.h to mkspecs/default/ --- Necessitas_SDK/build_sdk.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 499c7ce..2a92f26 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -285,6 +285,7 @@ function prepareHostQt # Horrible; need to fix this properly. doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf + cp -f mkspecs/win32-g++/qplatformdefs.h mkspecs/default/ fi fi popd @@ -306,6 +307,7 @@ function prepareHostQt # Horrible; need to fix this properly. doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf + cp -f mkspecs/win32-g++/qplatformdefs.h mkspecs/default/ fi fi popd -- cgit v1.2.3 From 38fa3646db8b3c3d1f62ac79f89c06ea24611750 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 17 Aug 2011 19:32:14 +0100 Subject: build_sdk.sh: fix QtCreator install and remove an exit I left in --- Necessitas_SDK/build_sdk.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2a92f26..3bbcd66 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -358,7 +358,7 @@ function prepareNecessitasQtCreator doMake "Can't compile $QTC_PATH" "all done" ma-make fi rm -fr $QTC_INST_PATH - export INSTALL_ROOT="" + export INSTALL_ROOT=$QTC_INST_PATH make install #download and install sdk-updater-plugin @@ -1184,7 +1184,6 @@ function compileNecessitasQt mkdir -p $2/$1 cp -rf $NQT_INSTALL_DIR/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z - exit 2 rm -fr $2/$1/bin mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z -- cgit v1.2.3 From 13784f839c3b99566d9adbda52bce12de2076066 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 18 Aug 2011 19:13:39 +0100 Subject: Fix mobility build and 4.8 branch checkout --- Necessitas_SDK/build_sdk.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3bbcd66..57ddebe 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -220,7 +220,12 @@ function prepareHostQt then git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_SRCDIR || error_msg "Can't clone mingw qt" pushd $HOST_QT_SRCDIR - git checkout -b $HOST_QT_BRANCH + if [ "$HOST_QT_BRANCH" = "4.8" ] ; then + # TODORMD :: Ask BogDan how to get it setup so "git checkout -b $HOST_QT_BRANCH" works for my 4.8 branch. + git checkout -b 4.8 refs/remotes/origin/4.8 + else + git checkout -b $HOST_QT_BRANCH + fi popd fi else @@ -276,7 +281,7 @@ function prepareHostQt then rm -fr * if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -no-qpa -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" else ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" fi @@ -298,7 +303,7 @@ function prepareHostQt then rm -fr * if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -no-qpa -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" else ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" fi @@ -1667,7 +1672,7 @@ prepareNecessitasQtCreator prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) -if [ "$OSTYPE" = "linux-gnu-no" ] ; then +if [ "$OSTYPE" = "linux-gnu" ] ; then prepareNecessitasQtWebkit fi -- cgit v1.2.3 From 214b37aa86da8f93daf8a9a7fa43dba89f4f5d14 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 19 Aug 2011 01:01:49 +0100 Subject: Use my 4.8 branch for host Qt, build webkit and mobility on all hosts --- Necessitas_SDK/build_sdk.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 57ddebe..e7b6326 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -281,7 +281,7 @@ function prepareHostQt then rm -fr * if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -no-qpa -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" else ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" fi @@ -303,7 +303,7 @@ function prepareHostQt then rm -fr * if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -no-qpa -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" + ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" else ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" fi @@ -1672,13 +1672,13 @@ prepareNecessitasQtCreator prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) -if [ "$OSTYPE" = "linux-gnu" ] ; then +#if [ "$OSTYPE" = "linux-gnu" ] ; then prepareNecessitasQtWebkit -fi +#fi -if [ "$OSTYPE" != "msys" ] ; then +#if [ "$OSTYPE" != "msys" ] ; then prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' -fi +#fi prepareWindowsPackages setPackagesVariables -- cgit v1.2.3 From 35d03d72e828a078ee8435f084a92215146cf1f4 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 29 Aug 2011 19:25:29 +0300 Subject: Add checkout_branch variable --- Necessitas_SDK/build_sdk.sh | 262 ++++++++++----------- .../meta/installscript.qs | 2 +- .../meta/installscript.qs | 2 +- .../meta/installscript.qs | 2 +- Necessitas_SDK/sdk_vars.sh | 14 +- 5 files changed, 142 insertions(+), 140 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e7b6326..3cbd2c3 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -21,16 +21,33 @@ . sdk_vars.sh +while getopts "h:c:" arg; do +case $arg in + h) + help + exit 0 + ;; + c) + CHECKOUT_BRANCH=$OPTARG + ;; + ?) + help + exit 0 + ;; +esac +done + REPO_SRC_PATH=$PWD TODAY=`date +%Y-%m-%d` if [ "$OSTYPE" = "linux-gnu" ] ; then TEMP_PATH_PREFIX=/tmp + TEMP_PATH=$TEMP_PATH_PREFIX/necessitas else TEMP_PATH_PREFIX=/usr + TEMP_PATH=$TEMP_PATH_PREFIX/nec fi -TEMP_PATH=$TEMP_PATH_PREFIX/nec if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH @@ -53,6 +70,8 @@ pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk +cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src +REPO_PATH_PACKAGES=$TEMP_PATH_PREFIX/www/necessitas/sdk_src STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -200,11 +219,13 @@ function downloadLighthouseSource if [ ! -d qt-src ] then git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" - pushd qt-src - git checkout experimental - popd fi + + pushd qt-src + git checkout $CHECKOUT_BRANCH + git pull popd + popd # Android/Qt/$NECESSITAS_QT_VERSION_SHORT } # $1 is either -d (debug build) or nothing. function prepareHostQt @@ -328,10 +349,10 @@ function prepareSdkInstallerTools fi pushd necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG/installerbuilder - + git checkout $CHECKOUT_BRANCH + git pull if [ ! -f all_done ] then - git checkout master $STATIC_QT_PATH_DEBUG/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" ma-make fi @@ -353,12 +374,13 @@ function prepareNecessitasQtCreator git clone git://anongit.kde.org/android-qt-creator.git $QTC_PATH || error_msg "Can't clone android-qt-creator" fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z ] then pushd $QTC_PATH QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG - git checkout testing if [ ! -f all_done ] ; then + git checkout $CHECKOUT_BRANCH + git pull $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile $QTC_PATH" "all done" ma-make fi @@ -430,8 +452,8 @@ function prepareNecessitasQtCreator fi popd $SDK_TOOLS_PATH/archivegen QtCreator$HOST_QT_CONFIG qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data - mv qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data + mv qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z popd fi @@ -538,77 +560,77 @@ function makeInstallMinGWLibs function prepareNDKs { # repack official windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip rm -fr android-ndk-${ANDROID_NDK_VERSION} unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack official mac NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack official linux-x86 NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack mingw android windows NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack mingw android mac NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi # repack mingw android linux-x86 NDK - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] then downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . rm -fr android-ndk-${ANDROID_NDK_VERSION} 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data + mv android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi @@ -667,8 +689,8 @@ function prepareNDKs ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= popd rm -fr android_git_ndk - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION}-git $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION}-git $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z fi fi @@ -682,11 +704,11 @@ function prepareGDB if [ -z $GDB_TARG_HOST_TAG ] ; then GDB_PKG_NAME=gdb-$GDB_VER-$HOST_TAG GDB_FLDR_NAME=gdb-$GDB_VER - package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data + package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data else GDB_PKG_NAME=gdb_$GDB_TARG_HOST_TAG-$GDB_VER GDB_FLDR_NAME=$GDB_PKG_NAME - package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.host_gdb_$package_name_ver/data + package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.host_gdb_$package_name_ver/data fi #This function depends on prepareNDKs if [ -f $package_path/$GDB_PKG_NAME.7z ] @@ -884,7 +906,7 @@ function prepareGDB function prepareGDBServer { package_name_ver=${GDB_VER//./_} # replace - with _ - package_path=$REPO_SRC_PATH/packages/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data + package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data if [ -f $package_path/gdbserver-$GDB_VER.7z ] then @@ -956,15 +978,15 @@ function prepareGDBServer function repackSDK { package_name=${4//-/_} # replace - with _ - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] then downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip unzip $1.zip mkdir -p $3 mv $1 $3/$4 $SDK_TOOLS_PATH/archivegen $3 $2.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data - mv $2.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data + mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z rm -fr $3 fi } @@ -994,7 +1016,7 @@ function prepareGDBVersion function prepareSDKs { echo "prepare SDKs" - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] then downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz if [ ! -d android-sdk-linux_x86 ] @@ -1002,12 +1024,12 @@ function prepareSDKs tar -xzvf android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz fi $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z rm -fr android-sdk-linux_x86 fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] then downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip if [ ! -d android-sdk-mac_x86 ] @@ -1015,12 +1037,12 @@ function prepareSDKs unzip android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip fi $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z rm -fr android-sdk-mac_x86 fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] then downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-windows.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-windows.zip if [ ! -d android-sdk-windows ] @@ -1028,14 +1050,14 @@ function prepareSDKs unzip android-sdk_${ANDROID_SDK_VERSION}-windows.zip fi $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_${ANDROID_SDK_VERSION}-windows.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data + mv android-sdk_${ANDROID_SDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z rm -fr android-sdk-windows fi if [ "$OSTYPE" = "msys" ] then - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z ] then git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" pushd android-various/android-sdk @@ -1044,7 +1066,7 @@ function prepareSDKs mkdir -p android-sdk-windows/tools/ cp android-various/android-sdk/android.exe android-sdk-windows/tools/ $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk-windows-tools-mingw-android.7z - mv android-sdk-windows-tools-mingw-android.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z + mv android-sdk-windows-tools-mingw-android.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z rm -rf android-various fi fi @@ -1140,8 +1162,8 @@ function packSource cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ pushd $TEMP_PATH/source_temp_path $SDK_TOOLS_PATH/archivegen Android $1.7z - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data - mv $1.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.$package_name/data/$1.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data + mv $1.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data/$1.7z popd #mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/$1 . mv .git $1/ @@ -1168,7 +1190,8 @@ function compileNecessitasQt NQT_INSTALL_DIR=$PWD/install if [ ! -f all_done ] then - git checkout testing + git checkout $CHECKOUT_BRANCH + git pull ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi @@ -1190,21 +1213,21 @@ function compileNecessitasQt cp -rf $NQT_INSTALL_DIR/bin $2/$1 $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data - mv qt-tools-${HOST_TAG}.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data + mv qt-tools-${HOST_TAG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z cp -rf $NQT_INSTALL_DIR/* $2/$1 cp -rf ../qt-src/lib/*.xml $2/$1/lib/ $SDK_TOOLS_PATH/archivegen Android qt-framework.7z - mv qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z + mv qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z # Not sure why we're using a different qt-framework package for Windows. - cp $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z + cp $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z # patchQtFiles } function prepareNecessitasQt { downloadLighthouseSource -# if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] # then # mkdir build-x86 # pushd build-x86 @@ -1214,7 +1237,7 @@ function prepareNecessitasQt pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi pushd build-armeabi @@ -1222,7 +1245,7 @@ function prepareNecessitasQt popd #build-armeabi fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-${HOST_TAG}.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi-v7a pushd build-armeabi-v7a @@ -1230,7 +1253,7 @@ function prepareNecessitasQt popd #build-armeabi-v7a fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/qt-src.7z ] then packSource qt-src fi @@ -1244,7 +1267,8 @@ function compileNecessitasQtMobility if [ ! -f all_done ] then pushd ../qtmobility-src - git checkout master + git checkout $CHECKOUT_BRANCH + git pull popd # ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $PWD/../build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" @@ -1256,12 +1280,12 @@ function compileNecessitasQtMobility export INSTALL_ROOT="" make install mkdir -p $2/$1 - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data mv $PWD/install/* $2/$1 cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtmobility.7z - mv qtmobility.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z + mv qtmobility.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z cp -a $2/$1/* ../build-$1 # pushd ../build-$1 # patchQtFiles @@ -1276,11 +1300,12 @@ function prepareNecessitasQtMobility then git clone git://anongit.kde.org/android-qt-mobility.git qtmobility-src || error_msg "Can't clone android-qt-mobility" pushd qtmobility-src - git checkout testing + git checkout $CHECKOUT_BRANCH + git pull popd fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility.7z ] then mkdir build-mobility-armeabi pushd build-mobility-armeabi @@ -1288,7 +1313,7 @@ function prepareNecessitasQtMobility popd #build-mobility-armeabi fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility.7z ] then mkdir build-mobility-armeabi-v7a pushd build-mobility-armeabi-v7a @@ -1296,7 +1321,7 @@ function prepareNecessitasQtMobility popd #build-mobility-armeabi-v7a fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] then packSource qtmobility-src fi @@ -1343,7 +1368,7 @@ function compileNecessitasQtWebkit popd rm -fr $2 mkdir -p $2/$1 - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 pushd $2/$1 qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1 @@ -1358,7 +1383,7 @@ function compileNecessitasQtWebkit popd rm -fr $PWD/$TEMP_PATH $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z - mv qtwebkit.7z $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z + mv qtwebkit.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z cp -a $2/$1/* ../build-$1/ # pushd ../build-$1 # patchQtFiles @@ -1373,11 +1398,12 @@ function prepareNecessitasQtWebkit then git clone git://gitorious.org/~taipan/webkit/android-qtwebkit.git qtwebkit-src || error_msg "Can't clone android-qtwebkit" pushd qtwebkit-src - git checkout stable + git checkout $CHECKOUT_BRANCH + git pull popd fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit.7z ] then mkdir build-webkit-armeabi pushd build-webkit-armeabi @@ -1385,7 +1411,7 @@ function prepareNecessitasQtWebkit popd #build-webkit-armeabi fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit.7z ] then mkdir build-webkit-armeabi-v7a pushd build-webkit-armeabi-v7a @@ -1393,7 +1419,7 @@ function prepareNecessitasQtWebkit popd #build-webkit-armeabi-v7a fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] then packSource qtwebkit-src fi @@ -1405,37 +1431,37 @@ function prepareOpenJDK mkdir openjdk pushd openjdk - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data WINE=0 which wine && WINE=1 - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-windows.7z ] ; then + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-windows.7z ] ; then if [ "$OSTYPE" = "msys" -o "$WINE" = "1" ] ; then downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe rm -rf openjdk6b21-windows oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows pushd openjdk6b21-windows $SDK_TOOLS_PATH/archivegen openjdk-6.0.21 openjdk-windows.7z - mv openjdk-windows.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + mv openjdk-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ popd fi fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-linux-x86.7z ] ; then + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-linux-x86.7z ] ; then downloadIfNotExists openjdk-1.6.0-b21.i386.openscg.deb http://oscg-downloads.s3.amazonaws.com/packages/openjdk-1.6.0-b21.i386.openscg.deb ar x openjdk-1.6.0-b21.i386.openscg.deb tar xzf data.tar.gz pushd opt $SDK_TOOLS_PATH/archivegen openjdk openjdk-linux-x86.7z - mv openjdk-linux-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + mv openjdk-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ popd tar fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then downloadIfNotExists oscg-openjdk6b16-5a-osx-installer.zip http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b16-5a-osx-installer.zip unzip oscg-openjdk6b16-5a-osx-installer.zip $SDK_TOOLS_PATH/archivegen oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z - mv openjdk-darwin-x86.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.openjdk/data/ + mv openjdk-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ fi popd @@ -1443,18 +1469,18 @@ function prepareOpenJDK function prepareAnt { - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data/ant.7z ] ; then - mkdir -p $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ant.7z ] ; then + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data downloadIfNotExists apache-ant-1.8.2-bin.tar.bz2 http://mirror.ox.ac.uk/sites/rsync.apache.org//ant/binaries/apache-ant-1.8.2-bin.tar.bz2 tar xjvf apache-ant-1.8.2-bin.tar.bz2 $SDK_TOOLS_PATH/archivegen apache-ant-1.8.2 ant.7z - mv ant.7z $REPO_SRC_PATH/packages/org.kde.necessitas.misc.ant/data/ + mv ant.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ fi } function patchPackages { - pushd $REPO_SRC_PATH/packages + pushd $REPO_PATH_PACKAGES for files_name in "*.qs" "*.xml" do for file_name in `find . -name $files_name` @@ -1467,7 +1493,7 @@ function patchPackages function patchPackage { - pushd $REPO_SRC_PATH/packages/$3 + pushd $REPO_PATH_PACKAGES/$3 for files_name in "*.qs" "*.xml" do for file_name in `find . -name $files_name` @@ -1486,6 +1512,7 @@ function setPackagesVariables patchPackages "@@NECESSITAS_QT_VERSION_SHORT@@" $NECESSITAS_QT_VERSION_SHORT patchPackages "@@NECESSITAS_QTWEBKIT_VERSION@@" $NECESSITAS_QTWEBKIT_VERSION patchPackages "@@NECESSITAS_QTMOBILITY_VERSION@@" $NECESSITAS_QTMOBILITY_VERSION + patchPackages "@@TEMP_PATH@@" $TEMP_PATH patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" @@ -1501,46 +1528,20 @@ function setPackagesVariables patchPackage "@@ANDROID_API_10_VERSION@@" $ANDROID_API_10_VERSION "org.kde.necessitas.misc.sdk.android_10" patchPackage "@@ANDROID_API_11_VERSION@@" $ANDROID_API_11_VERSION "org.kde.necessitas.misc.sdk.android_11" patchPackage "@@ANDROID_API_12_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_12" + patchPackage "@@ANDROID_API_13_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_13" patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" } -function unsetPackagesVariables -{ - patchPackages $TODAY "@@TODAY@@" - - patchPackage $NECESSITAS_QT_CREATOR_VERSION "@@NECESSITAS_QT_CREATOR_VERSION@@" "org.kde.necessitas.tools.qtcreator" - - patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.r6" - patchPackage $ANDROID_NDK_VERSION "@@ANDROID_NDK_VERSION@@" "org.kde.necessitas.misc.ndk.ma_r6" - - patchPackage $ANDROID_API_4_VERSION "@@ANDROID_API_4_VERSION@@" "org.kde.necessitas.misc.sdk.android_4" - patchPackage $ANDROID_API_5_VERSION "@@ANDROID_API_5_VERSION@@" "org.kde.necessitas.misc.sdk.android_5" - patchPackage $ANDROID_API_6_VERSION "@@ANDROID_API_6_VERSION@@" "org.kde.necessitas.misc.sdk.android_6" - patchPackage $ANDROID_API_7_VERSION "@@ANDROID_API_7_VERSION@@" "org.kde.necessitas.misc.sdk.android_7" - patchPackage $ANDROID_API_8_VERSION "@@ANDROID_API_8_VERSION@@" "org.kde.necessitas.misc.sdk.android_8" - patchPackage $ANDROID_API_9_VERSION "@@ANDROID_API_9_VERSION@@" "org.kde.necessitas.misc.sdk.android_9" - patchPackage $ANDROID_API_10_VERSION "@@ANDROID_API_10_VERSION@@" "org.kde.necessitas.misc.sdk.android_10" - patchPackage $ANDROID_API_11_VERSION "@@ANDROID_API_11_VERSION@@" "org.kde.necessitas.misc.sdk.android_11" - patchPackage $ANDROID_API_12_VERSION "@@ANDROID_API_12_VERSION@@" "org.kde.necessitas.misc.sdk.android_12" - patchPackage $ANDROID_PLATFORM_TOOLS_VERSION "@@ANDROID_PLATFORM_TOOLS_VERSION@@" "org.kde.necessitas.misc.sdk.platform_tools" - patchPackage $ANDROID_SDK_VERSION "@@ANDROID_SDK_VERSION@@" "org.kde.necessitas.misc.sdk.base" - - patchPackages $NECESSITAS_QTMOBILITY_VERSION "@@NECESSITAS_QTMOBILITY_VERSION@@" - patchPackages $NECESSITAS_QTWEBKIT_VERSION "@@NECESSITAS_QTWEBKIT_VERSION@@" - patchPackages $NECESSITAS_QT_VERSION_SHORT "@@NECESSITAS_QT_VERSION_SHORT@@" - patchPackages $NECESSITAS_QT_VERSION "@@NECESSITAS_QT_VERSION@@" -} - function prepareSDKBinary { - $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_SRC_PATH/packages -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas + $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_PATH_PACKAGES -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas } function prepareSDKRepository { rm -fr $REPO_PATH - $SDK_TOOLS_PATH/repogen -v -p $REPO_SRC_PATH/packages -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas + $SDK_TOOLS_PATH/repogen -v -p $REPO_PATH_PACKAGES -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas } function prepareMinistroRepository @@ -1599,53 +1600,53 @@ function packforWindows function prepareWindowsPackages { # Qt framework - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/qt-framework-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-framework-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi/data/ qt-framework + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/ qt-framework fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-framework-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-framework-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.armeabi_v7a/data/ qt-framework + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/ qt-framework fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/qt-src-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/qt-src-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qt.src/data/ qt-src + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/ qt-src fi # Qt Mobility - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi/data/ qtmobility + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/ qtmobility fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/ qtmobility + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/ qtmobility fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtmobility.src/data/ qtmobility-src + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/ qtmobility-src fi # Qt WebKit - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi/data/ qtwebkit + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/ qtwebkit fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/ qtwebkit + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/ qtwebkit fi - if [ ! -f $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src-windows.7z ] then - packforWindows $REPO_SRC_PATH/packages/org.kde.necessitas.android.qtwebkit.src/data/ qtwebkit-src + packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/ qtwebkit-src fi } @@ -1693,7 +1694,6 @@ if [ "$MAKE_DEBUG_HOST_APPS" = "1" ] ; then fi prepareSDKRepository -unsetPackagesVariables prepareMinistroRepository popd diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index bd8c176..3817efc 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index dd74ef8..836b44b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 3da79d2..d0eda00 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "/tmp/necessitas/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); + component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index a17eca6..b26affd 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -1,4 +1,4 @@ -MINISTRO_VERSION="0.2" #Ministro repo version +MINISTRO_VERSION="0.3" #Ministro repo version # There's no qpa plugin for Windows in Lighthouse yet. # The easiest workaround is probably to use angle (a Google Chrome spin-off project): @@ -16,13 +16,15 @@ else HOST_QT_VERSION=lighthouse fi +CHECKOUT_BRANCH="unstable" + NECESSITAS_QT_CREATOR_VERSION="2.3.81" # Qt Framework versions -NECESSITAS_QT_VERSION_SHORT=4762 #Necessitas Qt Framework Version -NECESSITAS_QT_VERSION="4.7.62.1" #Necessitas Qt Framework Long Version +NECESSITAS_QT_VERSION_SHORT=4763 #Necessitas Qt Framework Version +NECESSITAS_QT_VERSION="4.7.63" #Necessitas Qt Framework Long Version -NECESSITAS_QTWEBKIT_VERSION="2.1.1" #Necessitas QtWebkit Version +NECESSITAS_QTWEBKIT_VERSION="2.2" #Necessitas QtWebkit Version NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version @@ -45,6 +47,6 @@ ANDROID_API_11_VERSION=3.0_r01 ANDROID_API_12_VERSION=3.1_r01 # Make debug versions of host applications (Qt Creator and installer). -MAKE_DEBUG_HOST_APPS=1 +MAKE_DEBUG_HOST_APPS=0 -MAKE_DEBUG_GDBSERVER=1 +MAKE_DEBUG_GDBSERVER=0 -- cgit v1.2.3 From 25900a0ea64a0060979e8ff11c9a8ca5269d2ad5 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 1 Sep 2011 19:48:15 +0100 Subject: Use iconv-1.14 for windows, new config flags for windows host Qt --- Necessitas_SDK/build_sdk.sh | 4 ++-- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3cbd2c3..e6c6f5e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -82,8 +82,8 @@ EXE_EXT="" export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -prefix . " - HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_gcclibs" + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -tools-fully-static -prefix . " + HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_clibs" HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh index 0361f72..d2746b7 100644 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh @@ -70,12 +70,14 @@ mkdir -p /usr/local/include mv /usr/bin/iconv.exe /usr/local/bin/ mv /usr/bin/libiconv-2.dll /usr/local/bin/ mv /usr/include/iconv.h /usr/local/include/ +mv /usr/lib/libintl.dll.a /usr/local/lib +mv /usr/lib/libintl.a /usr/local/lib # Download and compile new iconv. -wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz -rm -rf libiconv-1.13 -tar -xvzf libiconv-1.13.tar.gz -pushd libiconv-1.13 +wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz +rm -rf libiconv-1.14 +tar -xvzf libiconv-1.14.tar.gz +pushd libiconv-1.14 CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 make # Without the /mingw folder, this fails, but only after copying libiconv.a to the right place. @@ -83,6 +85,15 @@ make install cp include/iconv.h /usr/include popd +wget -c http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz +rm -rf gettext-0.18.1.1 +tar -xvzf gettext-0.18.1.1.tar.gz +pushd gettext-0.18.1.1 +CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 +make +make install +popd + # For mingw Python. Generate libmsi.a and copy msi.h, msidefs.h, msimcntl.h, msimcsdk.h, msiquery.h, fci.h to /usr/include. wget -c http://downloads.sourceforge.net/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_20101003/mingw-w32-bin_i686-mingw_20101003_sezero.zip mkdir mingw64-w32-temp -- cgit v1.2.3 From ef89ccc1e1ced55d8d2365843c9ad546327ba102 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 1 Sep 2011 21:44:31 +0100 Subject: Define REPO_PATH_PACKAGES before using it --- Necessitas_SDK/build_sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e6c6f5e..164ad7f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -70,8 +70,8 @@ pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk -cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src REPO_PATH_PACKAGES=$TEMP_PATH_PREFIX/www/necessitas/sdk_src +cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -379,7 +379,7 @@ function prepareNecessitasQtCreator pushd $QTC_PATH QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG if [ ! -f all_done ] ; then - git checkout $CHECKOUT_BRANCH + git checkout 2.3-stagging git pull $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile $QTC_PATH" "all done" ma-make -- cgit v1.2.3 From a1b7d0c1c8106249764e6169f8f4d19e544a94fe Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Sep 2011 09:51:45 +0100 Subject: Use unzip -o to force an overwrite when unzipping ojdk, change win32 host qt options until merged with Qt mainline --- Necessitas_SDK/build_sdk.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 164ad7f..0db55c3 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -82,8 +82,9 @@ EXE_EXT="" export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -tools-fully-static -prefix . " - HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_clibs" + # -tools-fully-static + HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -prefix . " + HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_gcclibs" HOST_TAG=windows HOST_TAG_NDK=windows EXE_EXT=.exe @@ -1459,7 +1460,7 @@ function prepareOpenJDK if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then downloadIfNotExists oscg-openjdk6b16-5a-osx-installer.zip http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b16-5a-osx-installer.zip - unzip oscg-openjdk6b16-5a-osx-installer.zip + unzip -o oscg-openjdk6b16-5a-osx-installer.zip $SDK_TOOLS_PATH/archivegen oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z mv openjdk-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ fi -- cgit v1.2.3 From 6a7e6e8a5c636ee3017ff5e4ea7681f532421e9f Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Sep 2011 09:52:56 +0100 Subject: Tidy up formatting --- Necessitas_SDK/build_sdk.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 0db55c3..9c5175f 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -237,7 +237,7 @@ function prepareHostQt then # if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] if [ "1" = "1" ] - then + then if [ ! -d $HOST_QT_SRCDIR ] then git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_SRCDIR || error_msg "Can't clone mingw qt" @@ -254,16 +254,15 @@ function prepareHostQt if [ "$OSTYPE" = "msys" ] ; then HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.zip downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE - if [ ! -d $HOST_QT_VERSION ] - then + if [ ! -d $HOST_QT_VERSION ] + then unzip $HOST_QT_SRC_ARCHIVE || error_msg "Can't unzip $HOST_QT_SRC_ARCHIVE" - fi - else + fi + else HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.tar.gz downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE - - if [ ! -d $HOST_QT_VERSION ] - then + if [ ! -d $HOST_QT_VERSION ] + then tar -xzvf $HOST_QT_SRC_ARCHIVE || error_msg "Can't untar $HOST_QT_SRC_ARCHIVE" fi fi -- cgit v1.2.3 From 123b9708d50e650c10cf43166b0b60077966c5c2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 06:22:35 +0100 Subject: Fix REPO_PATH_PACKAGES --- Necessitas_SDK/build_sdk.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9c5175f..3134f70 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -42,12 +42,11 @@ TODAY=`date +%Y-%m-%d` if [ "$OSTYPE" = "linux-gnu" ] ; then TEMP_PATH_PREFIX=/tmp - TEMP_PATH=$TEMP_PATH_PREFIX/necessitas else TEMP_PATH_PREFIX=/usr - TEMP_PATH=$TEMP_PATH_PREFIX/nec fi +TEMP_PATH=$TEMP_PATH_PREFIX/nec if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH @@ -70,7 +69,7 @@ pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk -REPO_PATH_PACKAGES=$TEMP_PATH_PREFIX/www/necessitas/sdk_src +REPO_PATH_PACKAGES=$REPO_SRC_PATH/packages cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src STATIC_QT_PATH="" SHARED_QT_PATH="" @@ -1673,9 +1672,8 @@ prepareNecessitasQtCreator prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) -#if [ "$OSTYPE" = "linux-gnu" ] ; then - prepareNecessitasQtWebkit -#fi +# git clone often fails for webkit +prepareNecessitasQtWebkit #if [ "$OSTYPE" != "msys" ] ; then prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' -- cgit v1.2.3 From aee5f8f43e89b924ae98b2f2b3cad8943b51b809 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 06:27:41 +0100 Subject: Remove cp -a /www/necessitas/sdk_src --- Necessitas_SDK/build_sdk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3134f70..9ff2ada 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -70,7 +70,8 @@ pushd $TEMP_PATH MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk REPO_PATH_PACKAGES=$REPO_SRC_PATH/packages -cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src +# TODO :: Ask BogDan what this was here for +# cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" -- cgit v1.2.3 From 2d5706330a680c069f5418fecd884519c83211b7 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 06:33:34 +0100 Subject: Use /tmp/necessitas again for Linux --- Necessitas_SDK/build_sdk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 9ff2ada..3852c63 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -42,11 +42,12 @@ TODAY=`date +%Y-%m-%d` if [ "$OSTYPE" = "linux-gnu" ] ; then TEMP_PATH_PREFIX=/tmp + TEMP_PATH=$TEMP_PATH_PREFIX/necessitas else TEMP_PATH_PREFIX=/usr + TEMP_PATH=$TEMP_PATH_PREFIX/nec fi -TEMP_PATH=$TEMP_PATH_PREFIX/nec if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH -- cgit v1.2.3 From 6e12eff210049dd590d77875c7804348c8c60f9b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 11:13:56 +0100 Subject: Make examples compile For now, cp qtmain_android.cpp to /src/android/cpp/ before calling androidconfigbuild.sh --- Necessitas_SDK/build_sdk.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 3852c63..0ae5871 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1193,6 +1193,9 @@ function compileNecessitasQt then git checkout $CHECKOUT_BRANCH git pull + # The examples need qtmain_android.cpp in the install dir. + mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ + cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 40703ce58204c2c92be158393f7e7c79dff887b7 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 11:20:36 +0100 Subject: Fix for examples build --- Necessitas_SDK/build_sdk.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 0ae5871..af3cceb 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1191,11 +1191,13 @@ function compileNecessitasQt NQT_INSTALL_DIR=$PWD/install if [ ! -f all_done ] then + pushd ../qt-src git checkout $CHECKOUT_BRANCH git pull - # The examples need qtmain_android.cpp in the install dir. mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ + # The examples need qtmain_android.cpp in the install dir. cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ + popd ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 57886bbabfdfa14c7cd6aa1f2e7fed67496378d4 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 12:51:57 +0100 Subject: (re?)-added android gdb-head package metadata, want only this one and 7.3 finally. --- .../meta/installscript.qs | 74 ++++++++++++++++++++++ .../meta/package.xml | 12 ++++ 2 files changed, 86 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs new file mode 100644 index 0000000..b5cc95c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs @@ -0,0 +1,74 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "gdbserver-head.7z" ); + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "gdb-head-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "gdb-head-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "gdb-head-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + + var gdbPath = "@TargetDir@/gdb-head/gdb"; + var gdbserverPath = "@TargetDir@/gdbserver-head/gdbserver"; + var pythonPath="@TargetDir@/gdb-head/python/bin/python2.7" + if (installer.value("os") == "win") + { + gdbPath+=".exe"; + pythonPath+=".exe"; + } + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbLocation", + gdbPath ); + + component.addOperation( "SetQtCreatorValue", + "@TargetDir@", + "AndroidConfigurations", + "GdbserverLocation", + gdbserverPath ); + + component.addOperation( "EnvironmentVariable", + "PYTHONHOME", + "@TargetDir@/gdb-head/python" ); + + // Compile python sources + component.addOperation( "Execute", + pythonPath, + "-OO", "@TargetDir@/gdb-head/python/lib/python2.7/compileall.py", + "-f", "@TargetDir@/gdb-head/python/lib" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml new file mode 100644 index 0000000..71c3127 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml @@ -0,0 +1,12 @@ + + + Android custom gdb-head + Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb + 7.3.50.20110709 + @@TODAY@@ + org.kde.necessitas.misc.ndk.gdb_head + + 99999 + 94 + false + -- cgit v1.2.3 From 7809990d6229fd8c34bbf1f720d1a75e7eb01399 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 18:26:50 +0100 Subject: Updated Google Android bits to latest, fix some build_sdk.sh bugs. Add Android API 13 (3.2_r01) Update Android ndk version from r6 to r6b (ANDROID_NDK_VERSION) Update Android platform tools from r04 to r06 (ANDROID_PLATFORM_TOOLS_VERSION) Update Android sdk version from r11 to r12 (ANDROID_SDK_VERSION) Fix some calls to doSed when editing paths (changed delims to #) Make patchPackage function ok in the face of missing folders (it warns too) --- Necessitas_SDK/build_sdk.sh | 34 +++++++++++------- .../meta/installscript.qs | 42 ++++++++++++++++++++++ .../meta/package.xml | 11 ++++++ Necessitas_SDK/sdk_vars.sh | 7 ++-- 4 files changed, 79 insertions(+), 15 deletions(-) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index af3cceb..28d0a5d 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -522,7 +522,7 @@ function makeInstallMinGWLibsAndTools if [ ! -f /usr/lib/libz.a ] ; then tar -xvzf zlib-1.2.5.tar.gz pushd zlib-1.2.5 - doSed $"s/usr\/local/usr/" win32/Makefile.gcc + doSed $"s#usr/#local/usr#" win32/Makefile.gcc make -f win32/Makefile.gcc export INCLUDE_PATH=/usr/include export LIBRARY_PATH=/usr/lib @@ -1122,6 +1122,11 @@ function prepareSDKs repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-linux android-sdk-linux_x86/platforms android-12 repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-macosx android-sdk-mac_x86/platforms android-12 repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-windows android-sdk-windows/platforms android-12 + + # repack api-13 + repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-linux android-sdk-linux_x86/platforms android-13 + repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-macosx android-sdk-mac_x86/platforms android-13 + repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-windows android-sdk-windows/platforms android-13 } function patchQtFiles @@ -1491,7 +1496,8 @@ function patchPackages do for file_name in `find . -name $files_name` do - doSed $"s/$1/$2/g" $file_name + # Can't use / as a delimiter for paths. + doSed $"s#$1#$2#g" $file_name done done popd @@ -1499,15 +1505,19 @@ function patchPackages function patchPackage { - pushd $REPO_PATH_PACKAGES/$3 - for files_name in "*.qs" "*.xml" - do - for file_name in `find . -name $files_name` + if [ -d $REPO_PATH_PACKAGES/$3 ] ; then + pushd $REPO_PATH_PACKAGES/$3 + for files_name in "*.qs" "*.xml" do - doSed $"s/$1/$2/g" $file_name + for file_name in `find . -name $files_name` + do + doSed $"s#$1#$2#g" $file_name + done done - done - popd + popd + else + echo "patchPackage : Warning, failed to find directory $REPO_PATH_PACKAGES/$3" + fi } function setPackagesVariables @@ -1534,7 +1544,7 @@ function setPackagesVariables patchPackage "@@ANDROID_API_10_VERSION@@" $ANDROID_API_10_VERSION "org.kde.necessitas.misc.sdk.android_10" patchPackage "@@ANDROID_API_11_VERSION@@" $ANDROID_API_11_VERSION "org.kde.necessitas.misc.sdk.android_11" patchPackage "@@ANDROID_API_12_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_12" - patchPackage "@@ANDROID_API_13_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_13" + patchPackage "@@ANDROID_API_13_VERSION@@" $ANDROID_API_13_VERSION "org.kde.necessitas.misc.sdk.android_13" patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" } @@ -1682,9 +1692,9 @@ prepareNecessitasQt # git clone often fails for webkit prepareNecessitasQtWebkit -#if [ "$OSTYPE" != "msys" ] ; then +if [ "$OSTYPE" != "msys" ] ; then prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' -#fi +fi prepareWindowsPackages setPackagesVariables diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs new file mode 100644 index 0000000..b76137b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs @@ -0,0 +1,42 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-linux.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-macosx.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml new file mode 100644 index 0000000..c2670c2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml @@ -0,0 +1,11 @@ + + + API 13 + Android SDK API 13 (@@ANDROID_API_13_VERSION@@) + @@ANDROID_API_13_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.sdk.android_13 + org.kde.necessitas.misc.sdk.base + org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index b26affd..9e4b58a 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -31,11 +31,11 @@ NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version # NDK variables BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name -ANDROID_NDK_VERSION=r6 # NDK full package version +ANDROID_NDK_VERSION=r6b # NDK full package version # SDK variables -ANDROID_SDK_VERSION=r11 -ANDROID_PLATFORM_TOOLS_VERSION=r04 +ANDROID_SDK_VERSION=r12 +ANDROID_PLATFORM_TOOLS_VERSION=r06 ANDROID_API_4_VERSION=1.6_r03 ANDROID_API_5_VERSION=2.0_r01 ANDROID_API_6_VERSION=2.0.1_r01 @@ -45,6 +45,7 @@ ANDROID_API_9_VERSION=2.3.1_r02 ANDROID_API_10_VERSION=2.3.3_r01 ANDROID_API_11_VERSION=3.0_r01 ANDROID_API_12_VERSION=3.1_r01 +ANDROID_API_13_VERSION=3.2_r01 # Make debug versions of host applications (Qt Creator and installer). MAKE_DEBUG_HOST_APPS=0 -- cgit v1.2.3 From 8e10f4c2409e2a0a1d496d1a4d3de1985fe53c5d Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 18:40:22 +0100 Subject: chmod +x setup_mingw_for_necessitas_build.sh, so it's green in my Linux terminal --- Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 Necessitas_SDK/setup_mingw_for_necessitas_build.sh diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh old mode 100644 new mode 100755 -- cgit v1.2.3 From e8452794dcaf4a07b0b3ad055c58e103a9cc7f74 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 19:25:26 +0100 Subject: Fix for downloading/packaging my version of the ndk (needed until I update to r6b) --- Necessitas_SDK/build_sdk.sh | 51 +++++++++++----------- .../meta/installscript.qs | 10 ++--- .../meta/package.xml | 8 ++-- Necessitas_SDK/sdk_vars.sh | 2 +- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 28d0a5d..e0f8982 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -596,43 +596,44 @@ function prepareNDKs rm -fr android-ndk-${ANDROID_NDK_VERSION} fi + # mingw android NDKs are only r6 for now, not r6b. # repack mingw android windows NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . - rm -fr android-ndk-${ANDROID_NDK_VERSION} - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-windows.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} + mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} fi # repack mingw android mac NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . - rm -fr android-ndk-${ANDROID_NDK_VERSION} - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-darwin-x86.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} + mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} fi # repack mingw android linux-x86 NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z ] then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . - rm -fr android-ndk-${ANDROID_NDK_VERSION} - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-ma-linux-x86.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} + mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z + rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} fi if [ $BUILD_ANDROID_GIT_NDK = 1 ] @@ -1533,7 +1534,7 @@ function setPackagesVariables patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r6" - patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.ma_r6" + patchPackage "@@ANDROID_NDK_MAJOR_VERSION@@" $ANDROID_NDK_MAJOR_VERSION "org.kde.necessitas.misc.ndk.ma_r6" patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" patchPackage "@@ANDROID_API_5_VERSION@@" $ANDROID_API_5_VERSION "org.kde.necessitas.misc.sdk.android_5" diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs index 0fba60a..933e48d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs @@ -22,15 +22,15 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-linux-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-linux-x86.7z" ); } else if (installer.value("os") == "win") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-windows.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-windows.7z" ); } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-ma-darwin-x86.7z" ); + component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-darwin-x86.7z" ); } } } @@ -44,7 +44,7 @@ Component.prototype.createOperations = function() "@TargetDir@", "AndroidConfigurations", "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); + "@TargetDir@/android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@" ); // set NDK toolchain version component.addOperation( "SetQtCreatorValue", "@TargetDir@", @@ -53,7 +53,7 @@ Component.prototype.createOperations = function() "arm-linux-androideabi-4.4.3" ); // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; + var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; if (installer.value("os") == "x11") { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml index 3f669df..2951c7c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml @@ -1,10 +1,10 @@ - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental - Android NDK-@@ANDROID_NDK_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 5.0.0-@@ANDROID_NDK_VERSION@@ + Android NDK-@@ANDROID_NDK_MAJOR_VERSION@@ Experimental + Android NDK-@@ANDROID_NDK_MAJOR_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 + 5.0.0-@@ANDROID_NDK_MAJOR_VERSION@@ @@TODAY@@ - org.kde.necessitas.misc.ndk.ma_@@ANDROID_NDK_VERSION@@ + org.kde.necessitas.misc.ndk.ma_@@ANDROID_NDK_MAJOR_VERSION@@ org.kde.necessitas.tools.qtcreator 90 diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 9e4b58a..80c7d40 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -30,7 +30,7 @@ NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version # NDK variables BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources -ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name +ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name (and ma ndk) ANDROID_NDK_VERSION=r6b # NDK full package version # SDK variables -- cgit v1.2.3 From 8e40b39d31a7b5f3a836b038fd3e2250bd69de34 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 23:04:04 +0100 Subject: do prepareNDKs before prepareGDBVersion --- Necessitas_SDK/build_sdk.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index e0f8982..6b833e5 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -380,7 +380,7 @@ function prepareNecessitasQtCreator pushd $QTC_PATH QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG if [ ! -f all_done ] ; then - git checkout 2.3-stagging + git checkout 2.3-necessitas git pull $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile $QTC_PATH" "all done" ma-make @@ -397,6 +397,7 @@ function prepareNecessitasQtCreator tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz fi pushd research-sdk-updater-plugin-master-snapshot-20110524185306 + doSed $"s/FutureProgress::DontKeepOnFinish/FutureProgress::HideOnFinish/" updateinfoplugin.cpp $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" doMake "Can't compile sdk-updater-plugin" "all done" ma-make make install @@ -1682,9 +1683,9 @@ prepareHostQt prepareSdkInstallerTools prepareOpenJDK prepareAnt +prepareNDKs prepareGDBVersion head $HOST_TAG prepareGDBVersion head -prepareNDKs prepareSDKs prepareNecessitasQtCreator prepareNecessitasQt -- cgit v1.2.3 From 679fc0ec7e4e074739496b4b49e0943fd7c986ef Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 3 Sep 2011 23:27:39 +0100 Subject: Fixes for using either ndk, my r6 or Google's r6b Updating my ndk to r6b makes more sense in long run --- Necessitas_SDK/build_sdk.sh | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 6b833e5..88265dd 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -647,6 +647,11 @@ function prepareNDKs fi export ANDROID_NDK_HOST=$HOST_TAG_NDK + if [ "$USE_MA_NDK" = "0" ]; then + USED_ANDROID_NDK_VERSION=r6b + else + USED_ANDROID_NDK_VERSION=r6 + fi if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$USE_MA_NDK" = "0" ]; then @@ -666,21 +671,21 @@ function prepareNDKs fi else if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z . - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-windows.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z fi if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z fi if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . - 7za x android-ndk-${ANDROID_NDK_VERSION}-gdb-7.3.50.20110709-linux-x86.7z + downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . + 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z fi fi @@ -689,7 +694,7 @@ function prepareNDKs mv android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-git git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk || error_msg "Can't clone ndk" pushd android_git_ndk - ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= + ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$USED_ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= popd rm -fr android_git_ndk mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data @@ -876,7 +881,7 @@ function prepareGDB OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH if [ -z $GDB_TARG_HOST_TAG ] ; then - CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls else CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=$HOST --host=$HOST --build=$HOST --disable-nls fi @@ -933,7 +938,7 @@ function prepareGDBServer pushd gdb-src/build-gdbserver-$GDB_VER mkdir android-sysroot - $CPRL $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" + $CPRL $TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h -- cgit v1.2.3 From c292e3fb83383ad9f5069dc9577282be4bfca8ec Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 4 Sep 2011 00:39:39 +0100 Subject: USE_MA_NDK for building android binaries, fixes for using it --- Necessitas_SDK/build_sdk.sh | 29 +++++++++++------------------ Necessitas_SDK/sdk_vars.sh | 1 + 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 88265dd..dfc9004 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -637,15 +637,6 @@ function prepareNDKs rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} fi - if [ $BUILD_ANDROID_GIT_NDK = 1 ] - then - export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git - export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git - else - export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION} - export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} - fi - export ANDROID_NDK_HOST=$HOST_TAG_NDK if [ "$USE_MA_NDK" = "0" ]; then USED_ANDROID_NDK_VERSION=r6b @@ -653,6 +644,15 @@ function prepareNDKs USED_ANDROID_NDK_VERSION=r6 fi + if [ $BUILD_ANDROID_GIT_NDK = 1 ] + then + export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git + export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git + else + export ANDROID_NDK_ROOT=$PWD/android-ndk-${USED_ANDROID_NDK_VERSION} + export ANDROID_NDK_FOLDER_NAME=android-ndk-${USED_ANDROID_NDK_VERSION} + fi + if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$USE_MA_NDK" = "0" ]; then if [ "$OSTYPE" = "msys" ]; then @@ -942,7 +942,7 @@ function prepareGDBServer rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi OLD_CC="$CC" OLD_CFLAGS="$CFLAGS" @@ -957,7 +957,7 @@ function prepareGDBServer export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" fi - LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x/ + LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" $GDB_ROOT_PATH/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" @@ -1674,13 +1674,6 @@ function prepareWindowsPackages } -# My new NDK is too untested to be used as the one that builds Android Qt, so use official NDK on Linux -# for now. -USE_MA_NDK=1 -if [ "$OSTYPE" = "linux-gnu" ] ; then - USE_MA_NDK=0 -fi - if [ "$OSTYPE" = "msys" ] ; then makeInstallMinGWLibsAndTools fi diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 80c7d40..c64bd43 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -32,6 +32,7 @@ NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name (and ma ndk) ANDROID_NDK_VERSION=r6b # NDK full package version +USE_MA_NDK=1 # SDK variables ANDROID_SDK_VERSION=r12 -- cgit v1.2.3 From 7ec29d3fb8318bd6e0641811734722d672672acc Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 4 Sep 2011 02:28:48 +0100 Subject: Use USED_ANDROID_NDK_VERSION for androidconfigbuild.sh --- Necessitas_SDK/build_sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index dfc9004..f0956b6 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1210,7 +1210,7 @@ function compileNecessitasQt # The examples need qtmain_android.cpp in the install dir. cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ popd - ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" + ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi -- cgit v1.2.3 From 7c7154d2d8ce2eb67ca0f274f44e24399a7149b2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 4 Sep 2011 20:23:45 +0100 Subject: Use updated version of the updater plugin Updated version fixes DontKeepOnFinsh -> HideOnFinish --- Necessitas_SDK/build_sdk.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index f0956b6..10a03ba 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -391,13 +391,12 @@ function prepareNecessitasQtCreator #download and install sdk-updater-plugin export QTC_SOURCE=$PWD - downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz + downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz if [ ! -d research-sdk-updater-plugin-master-snapshot-20110524185306 ] then - tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306.tar.gz + tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz fi pushd research-sdk-updater-plugin-master-snapshot-20110524185306 - doSed $"s/FutureProgress::DontKeepOnFinish/FutureProgress::HideOnFinish/" updateinfoplugin.cpp $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" doMake "Can't compile sdk-updater-plugin" "all done" ma-make make install -- cgit v1.2.3 From 6dbd730b29b996c7f190d60a5e615cbea8332439 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 4 Sep 2011 22:26:48 +0100 Subject: Fix ndk r6 package name Fix gperf on Windows for webkit build --- Necessitas_SDK/build_sdk.sh | 6 +++++- .../packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 10a03ba..4814705 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1352,7 +1352,8 @@ function compileNecessitasQtWebkit if [ ! -f all_done ] then if [ "$OSTYPE" = "msys" ] ; then - if [ ! -f `which gprof` ] ; then + which gperf && GPERF=1 + if [ ! "$GPERF" = "1" ] ; then downloadIfNotExists gperf-3.0.4.tar.gz http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz rm -rf gperf-3.0.4 tar -xzvf gperf-3.0.4.tar.gz @@ -1539,6 +1540,7 @@ function setPackagesVariables patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r6" + patchPackage "@@ANDROID_NDK_MAJOR_VERSION@@" $ANDROID_NDK_MAJOR_VERSION "org.kde.necessitas.misc.ndk.r6" patchPackage "@@ANDROID_NDK_MAJOR_VERSION@@" $ANDROID_NDK_MAJOR_VERSION "org.kde.necessitas.misc.ndk.ma_r6" patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" @@ -1605,6 +1607,7 @@ function prepareMinistroRepository function packforWindows { + echo "packforWindows $1/$2" rm -fr $TEMP_PATH/packforWindows mkdir -p $TEMP_PATH/packforWindows pushd $TEMP_PATH/packforWindows @@ -1689,6 +1692,7 @@ prepareNecessitasQt # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) # git clone often fails for webkit +# Webkit is broken currently. prepareNecessitasQtWebkit if [ "$OSTYPE" != "msys" ] ; then diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index 10ad3a5..db7a70a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -4,7 +4,7 @@ Android NDK-@@ANDROID_NDK_VERSION@@ 5.0.0-@@ANDROID_NDK_VERSION@@ @@TODAY@@ - org.kde.necessitas.misc.ndk.@@ANDROID_NDK_VERSION@@ + org.kde.necessitas.misc.ndk.@@ANDROID_NDK_MAJOR_VERSION@@ org.kde.necessitas.tools.qtcreator 90 -- cgit v1.2.3 From 42628503a7b9f9418eef9251a916d1f65bd91d73 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 8 Sep 2011 21:22:20 +0100 Subject: No longer export PYTHONHOME="" --- Necessitas_SDK/build_sdk.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 4814705..8118f24 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -80,7 +80,6 @@ ANDROID_STRIP_BINARY="" ANDROID_READELF_BINARY="" #QPATCH_PATH="" EXE_EXT="" -export PYTHONHOME="" if [ "$OSTYPE" = "msys" ] ; then # -tools-fully-static -- cgit v1.2.3 From f11b48ad55cd5f9cec5cf127c1295127e33ecf36 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 11 Sep 2011 14:54:44 +0100 Subject: Fix statically built host things, re-enable x86 --- Necessitas_SDK/build_sdk.sh | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 8118f24..7f02fa8 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -228,6 +228,7 @@ function downloadLighthouseSource popd popd # Android/Qt/$NECESSITAS_QT_VERSION_SHORT } + # $1 is either -d (debug build) or nothing. function prepareHostQt { @@ -353,7 +354,7 @@ function prepareSdkInstallerTools git pull if [ ! -f all_done ] then - $STATIC_QT_PATH_DEBUG/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" + $STATIC_QT_PATH_DEBUG/bin/qmake CONFIG+=static $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" ma-make fi popd @@ -1202,7 +1203,7 @@ function compileNecessitasQt if [ ! -f all_done ] then pushd ../qt-src - git checkout $CHECKOUT_BRANCH + git checkout experimental git pull mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ # The examples need qtmain_android.cpp in the install dir. @@ -1243,16 +1244,17 @@ function compileNecessitasQt function prepareNecessitasQt { downloadLighthouseSource -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] -# then -# mkdir build-x86 -# pushd build-x86 -# compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT -# popd #build-x86 -# fi pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] + then + mkdir build-x86 + pushd build-x86 + compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT + popd #build-x86 + fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi @@ -1572,7 +1574,7 @@ function prepareMinistroRepository pushd $REPO_SRC_PATH/ministrorepogen if [ ! -f all_done ] then - $STATIC_QT_PATH/bin/qmake -r || error_msg "Can't configure ministrorepogen" + $STATIC_QT_PATH/bin/qmake CONFIG+=static -r || error_msg "Can't configure ministrorepogen" doMake "Can't compile ministrorepogen" "all done" ma-make fi popd -- cgit v1.2.3 From dee7ce2d6605798646f079e2c5d0840188553538 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 15 Sep 2011 21:49:26 +0100 Subject: Remove NDK gdb 7.2 --- .../meta/installscript.qs | 74 ---------------------- .../meta/package.xml | 11 ---- 2 files changed, 85 deletions(-) delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs deleted file mode 100644 index 564aafe..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/installscript.qs +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdbserver-7.2.7z" ); - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "gdb-7.2-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "gdb-7.2-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "gdb-7.2-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var gdbPath = "@TargetDir@/gdb-7.2/gdb"; - var gdbserverPath = "@TargetDir@/gdbserver-7.2/gdbserver"; - var pythonPath="@TargetDir@/gdb-7.2/python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbserverLocation", - gdbserverPath ); - - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - "@TargetDir@/gdb-7.2/python" ); - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", "@TargetDir@/gdb-7.2/python/lib/python2.7/compileall.py", - "-f", "@TargetDir@/gdb-7.2/python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml deleted file mode 100644 index e55961b..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_2/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Android custom gdb-7.2 - Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb - 7.2.50.20110211 - @@TODAY@@ - org.kde.necessitas.misc.ndk.gdb_7_2 - - 99999 - 95 - -- cgit v1.2.3 From 5d287f53a4f8ab799afcb2901a5a3f44f4ab5e1a Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 1 Oct 2011 12:05:20 +0300 Subject: Fix QML_IMPORT_PATH --- Necessitas_SDK/ministrorepogen/rules.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index 0531d7e..ea75126 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -11,7 +11,7 @@ - + -- cgit v1.2.3 From 5853d88303e1d93beb2e93be36ca34384bcd7662 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 2 Oct 2011 19:41:32 +0300 Subject: Begin java redesign. - move strings to resources, add Romanian translation. - rename package domain name from eu.licentia.* to org.kde.* - handle .jar/.apk files in Ministro. --- Ministro/AndroidManifest.xml | 14 +- Ministro/jni/chmode.c | 2 +- Ministro/res/values-ro/strings.xml | 20 + Ministro/res/values/strings.xml | 15 + .../eu/licentia/necessitas/ministro/IMinistro.aidl | 47 -- .../necessitas/ministro/IMinistroCallback.aidl | 50 -- .../eu/licentia/necessitas/ministro/Library.java | 210 ------- .../necessitas/ministro/MinistroActivity.java | 618 -------------------- .../ministro/MinistroConfigActivity.java | 91 --- .../necessitas/ministro/MinistroService.java | 545 ----------------- .../src/org/kde/necessitas/ministro/IMinistro.aidl | 46 ++ .../kde/necessitas/ministro/IMinistroCallback.aidl | 51 ++ .../src/org/kde/necessitas/ministro/Library.java | 228 ++++++++ .../kde/necessitas/ministro/MinistroActivity.java | 647 +++++++++++++++++++++ .../ministro/MinistroConfigActivity.java | 92 +++ .../kde/necessitas/ministro/MinistroService.java | 603 +++++++++++++++++++ MinistroConfigurationTool/AndroidManifest.xml | 4 +- .../res/values-ro/strings.xml | 5 + MinistroConfigurationTool/res/values/strings.xml | 1 + .../config/MinistroConfigurationToolActivity.java | 67 --- Necessitas_SDK/ministrorepogen/main.cpp | 14 +- Necessitas_SDK/ministrorepogen/rules.xml | 10 +- Necessitas_SDK/ministrorepogen/sortlibs.h | 1 + 23 files changed, 1734 insertions(+), 1647 deletions(-) create mode 100644 Ministro/res/values-ro/strings.xml delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/Library.java delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroActivity.java delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java delete mode 100644 Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java create mode 100644 Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl create mode 100644 Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl create mode 100644 Ministro/src/org/kde/necessitas/ministro/Library.java create mode 100644 Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java create mode 100644 Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java create mode 100644 Ministro/src/org/kde/necessitas/ministro/MinistroService.java create mode 100644 MinistroConfigurationTool/res/values-ro/strings.xml delete mode 100644 MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 2effe76..12e6a62 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,8 +1,6 @@ - + android:versionCode="2" android:versionName="2.0" package="org.kde.necessitas.ministro"> - - + - + - - + + diff --git a/Ministro/jni/chmode.c b/Ministro/jni/chmode.c index 9e175fb..ed73182 100644 --- a/Ministro/jni/chmode.c +++ b/Ministro/jni/chmode.c @@ -18,7 +18,7 @@ #include #include -jint Java_eu_licentia_necessitas_ministro_MinistroActivity_nativeChmode(JNIEnv * env, jobject obj, jstring filePath, jint mode) +jint Java_org_kde_necessitas_ministro_MinistroActivity_nativeChmode(JNIEnv * env, jobject obj, jstring filePath, jint mode) { const char *file = (*env)->GetStringUTFChars(env, filePath, 0); int res = chmod(file, mode); diff --git a/Ministro/res/values-ro/strings.xml b/Ministro/res/values-ro/strings.xml new file mode 100644 index 0000000..116cafb --- /dev/null +++ b/Ministro/res/values-ro/strings.xml @@ -0,0 +1,20 @@ + + + Ministro + Alegeţi un depozit + Ministro nu este compatibil cu aplicaţia dumneavoastră. Vă rugăm să actualizaţi serviciul Ministro. + Ministro necesită acces la reţea. Activaţi reţeaua mobilă sau Wi-Fi pentru a descărca datele. + Setări + Aştept conexiunea de reţea + %1$s are nevoie de biblioteci suplimentare pentru a rula.\nDoriţi să le descărcaţi acum? + Încep descărcarea ... + Descarc bibliotecile Qt + Verific bibliotecile. Vă rugăm aşteptaţi ... + Extrag certificate SSL. Vă rugăm aşteptaţi ... + Au fost găsite biblioteci Qt noi + Au fost găsite biblioteci Qt noi, apăsaţi pentru a le actualiza. + Ministro va folosi depozitul %1$s + Depozitul Ministro s-a schimbat + Actualizare Ministro + Ministro depozitul sa schimbat, apăsaţi pentru actualizare. + diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index 45435cf..7194f1e 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -2,4 +2,19 @@ Ministro Choose a repository + Ministro is not compatible with your application. Please upgrade Ministro service. + Ministro requires network access. Enable mobile network or Wi-Fi to download data. + Setting + Waiting for network connection + %1$s needs extra libraries to run.\nDo you want to download them now? + Start downloading ... + Downloading Qt libraries + Checking libraries. Please wait... + Extracting SSL root certificates. Please wait... + New Qt libs found + New Qt libs has been found tap to update. + Ministro will use %1$s repository + Ministro repository changed + Ministro update + Ministro repository changed tap to update. diff --git a/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl b/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl deleted file mode 100644 index ec6a240..0000000 --- a/Ministro/src/eu/licentia/necessitas/ministro/IMinistro.aidl +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the BogDan Vatra nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY BogDan Vatra ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package eu.licentia.necessitas.ministro; - -import eu.licentia.necessitas.ministro.IMinistroCallback; - -interface IMinistro -{ - /** - * Check/download required libs to run the application - * - * param callback - interface used by the service to notify the client when it has the libs - * param modules - Qt modules you want to check - * param appName - Application name, used to show more informations to user - * param ministroApiLevel - Ministro api level, used to check ministro service compatibility. - * Current API Level is 1 !!! - * param mecessitasApiLevel - Necessitas api level, used to download the right platform plugin. - * Current API Level is 1 !!! - */ - - void checkModules(in IMinistroCallback callback, in String[] modules, in String appName, in int ministroApiLevel, in int necessitasApiLevel); -} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl b/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl deleted file mode 100644 index a41a210..0000000 --- a/Ministro/src/eu/licentia/necessitas/ministro/IMinistroCallback.aidl +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the BogDan Vatra nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY BogDan Vatra ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package eu.licentia.necessitas.ministro; - -oneway interface IMinistroCallback { - /** - * This method is called by the Ministro service back into the application which - * implements this interface. - * - *

The method allows notifying the application about the result of the library - * lookup. In case the errorCode argument is 0, the called application - * can start without problems.

- * - * param in - libs, you have to load before load the application - * param in - evnVars, tab separated environment variables - * param in - params, tab separated paras which should be passed to the application - * param in - errorCode, the error number, the application should check the error code before starts - * - 0 no error - * - 1 no qt libs found - * - xxx - * param in - errorMessage, the error message (where available, translated into phone language). - */ - - void libs(in String[] libs,in String environmentVariables, in String applicationParams, in int errorCode, in String errorMessage); -} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/Library.java b/Ministro/src/eu/licentia/necessitas/ministro/Library.java deleted file mode 100644 index 899b797..0000000 --- a/Ministro/src/eu/licentia/necessitas/ministro/Library.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.necessitas.ministro; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; - -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - - -class Library -{ - public String name = null; - public String filePath = null; - public String[] depends = null; - public String[] replaces = null; - public NeedsStruct[] needs = null; - public int level=0; - public long size = 0; - public String sha1 = null; - public String url; - - public static String[] getLibNames(Element libNode) - { - if (libNode == null) - return null; - NodeList list=libNode.getElementsByTagName("lib"); - ArrayList libs = new ArrayList(); - for (int i=0;i needs = new ArrayList(); - - for (int i=0;i>> 4) & 0x0F; - int two_halfs = 0; - do - { - if ((0 <= halfbyte) && (halfbyte <= 9)) - buf.append((char) ('0' + halfbyte)); - else - buf.append((char) ('a' + (halfbyte - 10))); - halfbyte = data[i] & 0x0F; - } while(two_halfs++ < 1); - } - return buf.toString(); - } - - public static boolean checkCRC(String fileName, String sha1) throws IOException - { - try { - byte[] tmp = new byte[2048]; - MessageDigest digester = MessageDigest.getInstance("SHA-1"); - int downloaded; - FileInputStream inFile = new FileInputStream(new File(fileName)); - while ((downloaded = inFile.read(tmp)) != -1) - { - digester.update(tmp, 0, downloaded); - } - return sha1.equalsIgnoreCase(convertToHex(digester.digest())); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - return false; - } - - public static String mkdirParents(String rootPath, String filePath, int skip) - { - String[] paths=filePath.split("/"); - String path = ""; - for (int pit=0;pit - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.necessitas.ministro; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.http.client.ClientProtocolException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import android.app.Activity; -import android.app.AlertDialog; -import android.app.NotificationManager; -import android.app.ProgressDialog; -import android.content.BroadcastReceiver; -import android.content.ComponentName; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.ServiceConnection; -import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.os.AsyncTask; -import android.os.Bundle; -import android.os.IBinder; -import android.provider.Settings; - -public class MinistroActivity extends Activity { - - public native static int nativeChmode(String filepath, int mode); - private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/"; - - private String[] m_modules; - private int m_id=-1; - private String m_qtLibsRootPath; - - private void checkNetworkAndDownload(final boolean update) - { - if (isOnline(this)) - new CheckLibraries().execute(update); - else - { - AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); - builder.setMessage("Ministro requires network access. Enable mobile network or Wi-Fi to download data."); - builder.setCancelable(true); - builder.setNeutralButton("Setting", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - final ProgressDialog m_dialog = ProgressDialog.show(MinistroActivity.this, null, "Waiting for network connection", true, true, new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - finishMe(); - } - }); - getApplication().registerReceiver(new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - if (isOnline(MinistroActivity.this)) - { - getApplication().unregisterReceiver(this); - runOnUiThread(new Runnable() { - @Override - public void run() { - m_dialog.dismiss(); - new CheckLibraries().execute(update); - } - }); - } - } - }, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); - startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); - dialog.dismiss(); - } - }); - builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - } - }); - builder.setOnCancelListener(new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - finishMe(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } - - private ServiceConnection m_ministroConnection=new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName name, IBinder service) { - if (getIntent().hasExtra("id") && getIntent().hasExtra("modules")) - { - m_id=getIntent().getExtras().getInt("id"); - m_modules=getIntent().getExtras().getStringArray("modules"); - AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); - builder.setMessage(getIntent().getExtras().getString("name")+ - " needs extra libraries to run.\nDo you want to download them now?") - .setCancelable(false) - .setPositiveButton("Yes", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - checkNetworkAndDownload(false); - } - }) - .setNegativeButton("No", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - finishMe(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - else - checkNetworkAndDownload(true); - } - - @Override - public void onServiceDisconnected(ComponentName name) { - m_ministroConnection = null; - } - }; - - void finishMe() - { - if (-1 != m_id && null != MinistroService.instance()) - MinistroService.instance().retrievalFinished(m_id); - else - { - NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - nm.cancelAll(); - } - finish(); - } - - private static URL getVersionUrl(Context c) throws MalformedURLException - { - return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); - } - - private static URL getLibsXmlUrl(Context c, double version) throws MalformedURLException - { - return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); - } - - public static boolean isOnline(Context c) - { - ConnectivityManager cm = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = cm.getActiveNetworkInfo(); - if (netInfo != null && netInfo.isConnectedOrConnecting()) - return true; - return false; - } - - public static double downloadVersionXmlFile(Context c, boolean checkOnly) - { - if (!isOnline(c)) - return-1; - try - { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document dom = null; - Element root = null; - URLConnection connection = getVersionUrl(c).openConnection(); - dom = builder.parse(connection.getInputStream()); - root = dom.getDocumentElement(); - root.normalize(); - double version = Double.valueOf(root.getAttribute("latest")); - if ( MinistroService.instance().getVersion() >= version ) - return MinistroService.instance().getVersion(); - - if (checkOnly) - return version; - - connection = getLibsXmlUrl(c, version).openConnection(); - connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); - File file= new File(MinistroService.instance().getVersionXmlFile()); - file.delete(); - FileOutputStream outstream = new FileOutputStream(MinistroService.instance().getVersionXmlFile()); - InputStream instream = connection.getInputStream(); - byte[] tmp = new byte[2048]; - int downloaded; - while ((downloaded = instream.read(tmp)) != -1) { - outstream.write(tmp, 0, downloaded); - } - outstream.close(); - MinistroService.instance().refreshLibraries(false); - return version; - } catch (ClientProtocolException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (ParserConfigurationException e) { - e.printStackTrace(); - } catch (IllegalStateException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return -1; - } - - private class DownloadManager extends AsyncTask { - private ProgressDialog m_dialog = null; - private String m_status = "Start downloading ..."; - private int m_totalSize=0, m_totalProgressSize=0; - - @Override - protected void onPreExecute() { - m_dialog = new ProgressDialog(MinistroActivity.this); - m_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); - m_dialog.setTitle("Downloading Qt libraries"); - m_dialog.setMessage(m_status); - m_dialog.setCancelable(true); - m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ - @Override - public void onCancel(DialogInterface dialog) { - DownloadManager.this.cancel(false); - finishMe(); - } - }); - m_dialog.show(); - super.onPreExecute(); - } - - private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException - { - MessageDigest digester = MessageDigest.getInstance("SHA-1"); - URLConnection connection = new URL(url).openConnection(); - connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); - Library.mkdirParents(m_qtLibsRootPath, file, 1); - String filePath=m_qtLibsRootPath+file; - int progressSize=0; - try - { - FileOutputStream outstream = new FileOutputStream(filePath); - InputStream instream = connection.getInputStream(); - int downloaded; - byte[] tmp = new byte[2048]; - int oldProgress=-1; - while ((downloaded = instream.read(tmp)) != -1) { - if (isCancelled()) - break; - progressSize+=downloaded; - m_totalProgressSize+=downloaded; - digester.update(tmp, 0, downloaded); - outstream.write(tmp, 0, downloaded); - int progress=(int)(progressSize*100/size); - if (progress!=oldProgress) - { - publishProgress(progress - , m_totalProgressSize); - oldProgress = progress; - } - } - String sha1 = Library.convertToHex(digester.digest()); - if (sha1.equalsIgnoreCase(fileSha1)) - { - outstream.close(); - nativeChmode(filePath, 0644); - MinistroService.instance().refreshLibraries(false); - return true; - } - outstream.close(); - File f = new File(filePath); - f.delete(); - } catch (Exception e) { - e.printStackTrace(); - File f = new File(filePath); - f.delete(); - } - m_totalProgressSize-=progressSize; - return false; - } - @Override - protected Long doInBackground(Library... params) { - try { - for (int i=0;i { - - private ProgressDialog dialog = null; - private ArrayList newLibs = new ArrayList(); - private String m_message; - @Override - protected void onPreExecute() { - runOnUiThread(new Runnable() { - @Override - public void run() { - dialog = ProgressDialog.show(MinistroActivity.this, null, - "Checking libraries. Please wait...", true, true); - } - }); - super.onPreExecute(); - } - - @Override - protected Double doInBackground(Boolean... update) { - double version=0.0; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document dom = null; - Element root = null; - double oldVersion=MinistroService.instance().getVersion(); - if (update[0] || MinistroService.instance().getVersion()<0) - version = downloadVersionXmlFile(MinistroActivity.this, false); - else - version = MinistroService.instance().getVersion(); - - ArrayList libraries; - if (update[0]) - { - if (oldVersion!=version) - libraries = MinistroService.instance().getDownloadedLibraries(); - else - return version; - } - else - libraries = MinistroService.instance().getAvailableLibraries(); - ArrayList notFoundModules = new ArrayList(); - if (m_modules!=null) - { - ArrayList requiredModules = new ArrayList(); - Collections.addAll(requiredModules, m_modules); - MinistroService.instance().checkModules(requiredModules, notFoundModules); - } - dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); - - factory = DocumentBuilderFactory.newInstance(); - builder = factory.newDocumentBuilder(); - root = dom.getDocumentElement(); - root.normalize(); - - // extract device root certificates - SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); - if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || - !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || - !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) - { - m_message = "Extracting SSL root certificates. Please wait..."; - publishProgress((Void[])null); - String environmentVariables=root.getAttribute("environmentVariables"); - environmentVariables=environmentVariables.replaceAll("MINISTRO_PATH", ""); - String environmentVariablesList[]=environmentVariables.split("\t"); - for (int i=0;i aliases = ks.aliases(); aliases.hasMoreElements(); ) { - String aName = aliases.nextElement(); - try{ - X509Certificate cert=(X509Certificate) ks.getCertificate(aName); - if (null==cert) - continue; - String filePath=path+"/"+cert.getType()+"_"+cert.hashCode()+".der"; - FileOutputStream outstream = new FileOutputStream(new File(filePath)); - byte buff[]=cert.getEncoded(); - outstream.write(buff, 0, buff.length); - outstream.close(); - nativeChmode(filePath, 0644); - } - catch(KeyStoreException e) - { - e.printStackTrace(); - } - catch(Exception e) - { - e.printStackTrace(); - } - } - } catch (KeyStoreException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (CertificateException e) { - e.printStackTrace(); - } - SharedPreferences.Editor editor= preferences.edit(); - editor.putString("CODENAME",android.os.Build.VERSION.CODENAME); - editor.putString("INCREMENTAL", android.os.Build.VERSION.INCREMENTAL); - editor.putString("RELEASE", android.os.Build.VERSION.RELEASE); - editor.commit(); - break; - } - } - } - - Node node = root.getFirstChild(); - while(node != null) - { - if (node.getNodeType() == Node.ELEMENT_NODE) - { - Library lib= Library.getLibrary((Element)node, true); - if (update[0]) - { // check for updates - for (int j=0;j0 && result>0) - { - Library[] libs = new Library[newLibs.size()]; - libs = newLibs.toArray(libs); - new DownloadManager().execute(libs); - } - else - finishMe(); - super.onPostExecute(result); - } - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.main); - m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; - File dir=new File(m_qtLibsRootPath); - dir.mkdirs(); - nativeChmode(m_qtLibsRootPath, 0755); - bindService(new Intent("eu.licentia.necessitas.ministro.IMinistro"), m_ministroConnection, Context.BIND_AUTO_CREATE); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - unbindService(m_ministroConnection); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - //Avoid activity from being destroyed/created - super.onConfigurationChanged(newConfig); - } - - static { - System.loadLibrary("chmode"); - } -} diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java deleted file mode 100644 index 294affc..0000000 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroConfigActivity.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.necessitas.ministro; - -import android.app.Activity; -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemSelectedListener; -import android.widget.ArrayAdapter; -import android.widget.Spinner; -import android.widget.Toast; - -public class MinistroConfigActivity extends Activity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - // TODO Auto-generated method stub - super.onCreate(savedInstanceState); - setContentView(R.layout.repoconfig); - Spinner s = (Spinner) findViewById(R.id.spinner); - ArrayAdapter adapter = ArrayAdapter.createFromResource( - this, R.array.repositories, android.R.layout.simple_spinner_item); - adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - s.setAdapter(adapter); - s.setSelection(adapter.getPosition(MinistroService.getRepository(this))); - s.setOnItemSelectedListener(new OnItemSelectedListener(){ - @Override - public void onItemSelected(AdapterView parent, View view, int pos, - long id) { - // TODO Auto-generated method stub - Toast.makeText(parent.getContext(), "Ministro will use " + - parent.getItemAtPosition(pos).toString()+" repository", Toast.LENGTH_LONG).show(); - MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); - } - - @Override - public void onNothingSelected(AdapterView arg0) { - // TODO Auto-generated method stub - } - }); - } - - @Override - protected void onDestroy() { - NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - int icon = R.drawable.icon; - CharSequence tickerText = "Ministro repository changed"; // ticker-text - long when = System.currentTimeMillis(); // notification time - Context context = getApplicationContext(); // application Context - CharSequence contentTitle = "Ministro update"; // expanded message title - CharSequence contentText = "Ministro repository changed tap to update."; // expanded message text - - Intent notificationIntent = new Intent(this, MinistroActivity.class); - PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); - - // the next two lines initialize the Notification, using the configurations above - Notification notification = new Notification(icon, tickerText, when); - notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); - notification.defaults |= Notification.DEFAULT_SOUND; - notification.defaults |= Notification.DEFAULT_VIBRATE; - notification.defaults |= Notification.DEFAULT_LIGHTS; - try{ - nm.notify(1, notification); - }catch(Exception e) - { - e.printStackTrace(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java b/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java deleted file mode 100644 index ed41368..0000000 --- a/Ministro/src/eu/licentia/necessitas/ministro/MinistroService.java +++ /dev/null @@ -1,545 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.necessitas.ministro; - -import java.io.File; -import java.io.FileInputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.AsyncTask; -import android.os.IBinder; -import android.os.RemoteException; -import android.util.Log; - -public class MinistroService extends Service { - private static final String TAG = "MinistroService"; - - private static final String MINISTRO_CHECK_UPDATES_KEY="LASTCHECK"; - private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; - private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; - - public static String getRepository(Context c) - { - SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); - return preferences.getString(MINISTRO_REPOSITORY_KEY,MINISTRO_DEFAULT_REPOSITORY); - } - - public static void setRepository(Context c, String value) - { - SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); - SharedPreferences.Editor editor= preferences.edit(); - editor.putString(MINISTRO_REPOSITORY_KEY,value); - editor.putLong(MINISTRO_CHECK_UPDATES_KEY,0); - editor.commit(); - } - - // used to check Ministro Service compatibility - private static final int MINISTRO_MIN_API_LEVEL=1; - private static final int MINISTRO_MAX_API_LEVEL=1; - - // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) - private static MinistroService m_instance = null; - private String m_environmentVariables = null; - private String m_applicationParams = null; - - public static MinistroService instance() - { - return m_instance; - } - public MinistroService() { - m_instance = this; - } - - private int m_actionId=0; // last actions id - - - // current downloaded libraries - private ArrayList m_downloadedLibraries = new ArrayList(); - - ArrayList getDownloadedLibraries() - { - synchronized (this) { - return m_downloadedLibraries; - } - } - - // current available libraries - private ArrayList m_availableLibraries = new ArrayList(); - ArrayList getAvailableLibraries() - { - synchronized (this) { - return m_availableLibraries; - } - } - - class CheckForUpdates extends AsyncTask - { - @Override - protected void onPreExecute() { - if (m_version refreshLibraries(boolean checkCrc) - { - synchronized (this) { - try { - m_downloadedLibraries.clear(); - m_availableLibraries.clear(); - if (! (new File(m_versionXmlFile)).exists()) - return m_downloadedLibraries; - DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); - Document dom = documentBuilder.parse(new FileInputStream(m_versionXmlFile)); - Element root = dom.getDocumentElement(); - m_version = Double.valueOf(root.getAttribute("version")); - m_applicationParams=root.getAttribute("applicationParameters"); - m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); - m_environmentVariables=root.getAttribute("environmentVariables"); - m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); - root.normalize(); - Node node = root.getFirstChild(); - while(node != null) - { - if (node.getNodeType() == Node.ELEMENT_NODE) - { - Library lib= Library.getLibrary((Element)node, false); - File file=new File(m_qtLibsRootPath + lib.filePath); - if (file.exists()) - { - if (checkCrc && !Library.checkCRC(file.getAbsolutePath(), lib.sha1)) - file.delete(); - else - m_downloadedLibraries.add(lib); - } - m_availableLibraries.add(lib); - } - // Workaround for an unbelievable bug !!! - try { - node = node.getNextSibling(); - } catch (Exception e) { - e.printStackTrace(); - break; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - return m_downloadedLibraries; - } - - // version xml file - private String m_versionXmlFile; - public String getVersionXmlFile() - { - return m_versionXmlFile; - } - - private String m_qtLibsRootPath; - public String getQtLibsRootPath() - { - return m_qtLibsRootPath; - } - - private double m_version = -1; - public double getVersion() - { - return m_version; - } - - // class used to fire an action, this class is used - // to start an activity when user needs more libraries to start its application - class ActionStruct - { - ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) - { - id=++m_actionId; - callback = cb; - modules = m; - } - public int id; - public IMinistroCallback callback; - public String[] modules; - } - - // we can have more then one action - ArrayList m_actions = new ArrayList(); - - @Override - public void onCreate() { - m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; - m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; - SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); - long lastCheck = preferences.getLong(MINISTRO_CHECK_UPDATES_KEY,0); - if (MinistroActivity.isOnline(this) && System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day - { - refreshLibraries(true); - SharedPreferences.Editor editor= preferences.edit(); - editor.putLong(MINISTRO_CHECK_UPDATES_KEY,System.currentTimeMillis()); - editor.commit(); - new CheckForUpdates().execute((Void[])null); - } - else - refreshLibraries(false); - super.onCreate(); - } - - @Override - public void onDestroy() { - super.onDestroy(); - } - - @Override - public IBinder onBind(Intent intent){ - return new IMinistro.Stub() { - @Override - public void checkModules(IMinistroCallback callback, - String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { - checkModulesImpl(callback, modules, appName, ministroApiLevel, necessitasApiLevel); - } - }; - } - - /** - * Implements the {@link IMinistro.Stub#checkModules(IMinistroCallback, String[], String, int, int)} - * service method. - * - * @param callback - * @param modules - * @param appName - * @param ministroApiLevel - * @param necessitasApiLevel - * @throws RemoteException - */ - final void checkModulesImpl(IMinistroCallback callback, - String[] modules, String appName, int ministroApiLevel, int necessitasApiLevel) throws RemoteException { - - if (ministroApiLevelMINISTRO_MAX_API_LEVEL) - { - // panic !!! Ministro service is not compatible, user should upgrade Ministro package - Log.w(TAG, "Ministro cannot satisfy API version: " + ministroApiLevel); - return; - } - - // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning - // and they will deploying apps to Android Market, so let's try to give them a chance. - - // this method is called by the activity client who needs modules. - ArrayList notFoundModules = new ArrayList(); - ArrayList libraries = new ArrayList(); - Collections.addAll(libraries, modules); - if (checkModules(libraries, notFoundModules)) - { - // All modules are available, as such the other application can be notified that it - // can start without problems. - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - callback.libs(libs, m_environmentVariables, m_applicationParams, 0, null); - } - else - { - // Starts a retrieval of the modules which are not readily accessible. - startRetrieval(callback, modules, notFoundModules, appName); - } - } - - /** - * Creates and sets up a {@link MinistroActivity} to retrieve the modules specified in the - * notFoundModules argument. - * - * @param callback - * @param modules - * @param notFoundModules - * @param appName - * @throws RemoteException - */ - private void startRetrieval(IMinistroCallback callback, - String[] modules, ArrayList notFoundModules, String appName) - throws RemoteException - { - ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName); - m_actions.add(as); // if not, lets start an activity to do it. - - Intent intent = new Intent(MinistroService.this, MinistroActivity.class); - intent.putExtra("id", as.id); - String[] libs = notFoundModules.toArray(new String[notFoundModules.size()]); - intent.putExtra("modules", libs); - intent.putExtra("name", appName); - - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - boolean failed = false; - try - { - MinistroService.this.startActivity(intent); - } - catch(Exception e) - { - failed = true; - throw (RemoteException) new RemoteException().initCause(e); - } - finally - { - // Removes the dead Activity from our list as it will never finish by itself. - if (failed) - m_actions.remove(as); - } - } - - /** - * Called by a finished {@link MinistroActivity} in order to let - * the service notify the application which caused the activity about - * the result of the retrieval. - * - * @param id - */ - void retrievalFinished(int id) - { - for (int i=0;iChecks the availability of the requested modules and informs - * the requesting application about it via the {@link IMinistroCallback} - * instance.

- * - * @param callback - * @param modules - */ - private void postRetrieval(IMinistroCallback callback, String[] modules) { - ArrayList libraries = new ArrayList(); - Collections.addAll(libraries, modules); - - // Does a final check whether the libraries are accessible (without caring for - // the non-accessible ones). - boolean res = checkModules(libraries, null); - - String[] libs = new String[libraries.size()]; - libs = libraries.toArray(libs); - - try - { - if (res) - callback.libs(libs, m_environmentVariables, m_applicationParams ,0, null); - else - callback.libs(libs, m_environmentVariables, m_applicationParams, 1, "Can't find all modules"); - } - catch (RemoteException e) - { - Log.w(TAG, "Was unable to do 'libs' callback after retrieving libraries. Ignoring and assuming that the other application exited."); - } - - } - - /** - * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). - * - *

If the notFoundModules argument is given, the method fills the list with - * libraries that need to be retrieved first.

- * - * @param libs - * @param notFoundModules - * @return - */ - boolean checkModules(ArrayList libs, ArrayList notFoundModules) - { - ArrayList modules= new ArrayList(); - boolean res=true; - for (int i=0;iThe method checks whether a given single module is already - * accessible or needs to be retrieved first. In the latter case the method returns - * false.

- * - *

The method traverses a module's dependencies automatically.

- * - *

In order to find out whether a module is accessible the method consults - * the list of downloaded libraries. If found, an entry to the modules list is - * added.

- * - *

In case the module is not immediately accessible and the notFoundModules - * argument exists, a list of available libraries is consulted to fill a list of modules which - * yet need to be retrieved.

- * - * @param module - * @param modules - * @param notFoundModules - * @return true if the given module and all its dependencies are readily available. - */ - private boolean addModules(String module, ArrayList modules, ArrayList notFoundModules) - { - // Module argument is not supposed to be null at this point. - if (modules == null) - return false; // we are in deep shit if this happens - - // Short-cut: If the module is already in our list of previously found modules then we do not - // need to consult the list of downloaded modules. - for (int i=0;i { - @Override - public int compare(Module a, Module b) { - return a.level-b.level; - } -} - -/** Helper class which allows manipulating libraries. - * - * It is similar to the {@link Library} class but has fewer fields. - */ -static private class Module -{ - String path; - String name; - int level; - -} - -} \ No newline at end of file diff --git a/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl b/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl new file mode 100644 index 0000000..2735e8b --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl @@ -0,0 +1,46 @@ +/* + Copyright (c) 2011, BogDan Vatra + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +package org.kde.necessitas.ministro; + +import org.kde.necessitas.ministro.IMinistroCallback; + +interface IMinistro +{ + /** + * Check/download required libs to run the application + * + * param callback - interface used by the service to notify the client when it has the libs + * param modules - Qt modules you want to check + * param appName - Application name, used to show more informations to user + * param ministroApiLevel - Ministro api level, used to check ministro service compatibility. + * Current API Level is 1 !!! + * param qtApiLevel - Necessitas api level, used to download the right platform plugin. + * Current API Level is 4 !!! + */ + + void checkModules(in IMinistroCallback callback, in String[] modules, in String appName, in int ministroApiLevel, in int qtApiLevel); +} diff --git a/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl b/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl new file mode 100644 index 0000000..9922aa0 --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl @@ -0,0 +1,51 @@ +/* + Copyright (c) 2011, BogDan Vatra + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package org.kde.necessitas.ministro; + +oneway interface IMinistroCallback { +/** +* This method is called by the Ministro service back into the application which +* implements this interface. +* +* param in - loader +* loader fields: +* * Key Name Key type Explanations +* * "error.code" Integer See below +* * "error.message" String Missing if no error, otherwise will contain the error message translated into phone language where available. +* * "dex.path" String The list of jar/apk files containing classes and resources, needed to be passed to application DexClassLoader +* * "lib.path" String The list of directories containing native libraries; may be missing, needed to be passed to application DexClassLoader +* * "loader.class.name" String Loader class name. +* +* "error.code" field possible errors: +* - 0 no error. +* - 1 incompatible Ministro version. Ministro needs to be upgraded. +* - 2 not all modules could be satisfy. +* +* This parameter will contain additional fields which are used by the loader to start your application, so it must be passed to loader. +*/ + + void loaderReady(in Bundle loaderParams); +} diff --git a/Ministro/src/org/kde/necessitas/ministro/Library.java b/Ministro/src/org/kde/necessitas/ministro/Library.java new file mode 100644 index 0000000..211f29b --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/Library.java @@ -0,0 +1,228 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.necessitas.ministro; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + + +class Library +{ + public String name = null; + public String filePath = null; + public String[] depends = null; + public String[] replaces = null; + public NeedsStruct[] needs = null; + public int level=0; + public long size = 0; + public String sha1 = null; + public String url; + + public static String[] getLibNames(Element libNode) + { + if (libNode == null) + return null; + NodeList list=libNode.getElementsByTagName("lib"); + ArrayList libs = new ArrayList(); + for (int i=0;i needs = new ArrayList(); + + for (int i=0;i>> 4) & 0x0F; + int two_halfs = 0; + do + { + if ((0 <= halfbyte) && (halfbyte <= 9)) + buf.append((char) ('0' + halfbyte)); + else + buf.append((char) ('a' + (halfbyte - 10))); + halfbyte = data[i] & 0x0F; + } while(two_halfs++ < 1); + } + return buf.toString(); + } + + public static boolean checkCRC(String fileName, String sha1) throws IOException + { + try + { + byte[] tmp = new byte[2048]; + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + int downloaded; + FileInputStream inFile = new FileInputStream(new File(fileName)); + while ((downloaded = inFile.read(tmp)) != -1) + { + digester.update(tmp, 0, downloaded); + } + return sha1.equalsIgnoreCase(convertToHex(digester.digest())); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + return false; + } + + public static String mkdirParents(String rootPath, String filePath, int skip) + { + String[] paths=filePath.split("/"); + String path = ""; + for (int pit=0;pit s, String delimiter) + { + if (s == null || s.isEmpty()) return ""; + Iterator iter = s.iterator(); + StringBuilder builder = new StringBuilder(iter.next()); + while( iter.hasNext() ) + { + builder.append(delimiter).append(iter.next()); + } + return builder.toString(); + } +}; + +class NeedsStruct +{ + public String name = null; + public String filePath = null; + public String sha1 = null; + public String url = null; + public String type = null; + public long size = 0; +}; \ No newline at end of file diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java new file mode 100644 index 0000000..8956e8a --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -0,0 +1,647 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.necessitas.ministro; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Enumeration; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.http.client.ClientProtocolException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.NotificationManager; +import android.app.ProgressDialog; +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.ServiceConnection; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.AsyncTask; +import android.os.Bundle; +import android.os.IBinder; +import android.provider.Settings; + +public class MinistroActivity extends Activity +{ + + public native static int nativeChmode(String filepath, int mode); + private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/"; + + private String[] m_modules; + private int m_id=-1; + private String m_qtLibsRootPath; + + private void checkNetworkAndDownload(final boolean update) + { + if (isOnline(this)) + new CheckLibraries().execute(update); + else + { + AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); + builder.setMessage(getResources().getString(R.string.ministro_network_access_msg)); + builder.setCancelable(true); + builder.setNeutralButton(getResources().getString(R.string.setting_msg), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + final ProgressDialog m_dialog = ProgressDialog.show(MinistroActivity.this, null, getResources().getString(R.string.wait_for_network_connection_msg), true, true, new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialog) + { + finishMe(); + } + }); + getApplication().registerReceiver(new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) + { + if (isOnline(MinistroActivity.this)) + { + getApplication().unregisterReceiver(this); + runOnUiThread(new Runnable() { + @Override + public void run() + { + m_dialog.dismiss(); + new CheckLibraries().execute(update); + } + }); + } + } + }, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); + startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); + dialog.dismiss(); + } + }); + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) + { + dialog.cancel(); + } + }); + builder.setOnCancelListener(new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialog) + { + finishMe(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + + private ServiceConnection m_ministroConnection=new ServiceConnection() + { + @Override + public void onServiceConnected(ComponentName name, IBinder service) + { + if (getIntent().hasExtra("id") && getIntent().hasExtra("modules")) + { + m_id=getIntent().getExtras().getInt("id"); + m_modules=getIntent().getExtras().getStringArray("modules"); + AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); + builder.setMessage(getResources().getString(R.string.download_app_libs_msg, + getIntent().getExtras().getString("name"))) + .setCancelable(false) + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + checkNetworkAndDownload(false); + } + }) + .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + finishMe(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + else + checkNetworkAndDownload(true); + } + + @Override + public void onServiceDisconnected(ComponentName name) + { + m_ministroConnection = null; + } + }; + + void finishMe() + { + if (-1 != m_id && null != MinistroService.instance()) + MinistroService.instance().retrievalFinished(m_id); + else + { + NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + nm.cancelAll(); + } + finish(); + } + + private static URL getVersionUrl(Context c) throws MalformedURLException + { + return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); + } + + private static URL getLibsXmlUrl(Context c, double version) throws MalformedURLException + { + return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); + } + + public static boolean isOnline(Context c) + { + ConnectivityManager cm = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo netInfo = cm.getActiveNetworkInfo(); + if (netInfo != null && netInfo.isConnectedOrConnecting()) + return true; + return false; + } + + public static double downloadVersionXmlFile(Context c, boolean checkOnly) + { + if (!isOnline(c)) + return-1; + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + URLConnection connection = getVersionUrl(c).openConnection(); + dom = builder.parse(connection.getInputStream()); + root = dom.getDocumentElement(); + root.normalize(); + double version = Double.valueOf(root.getAttribute("latest")); + if ( MinistroService.instance().getVersion() >= version ) + return MinistroService.instance().getVersion(); + + if (checkOnly) + return version; + + connection = getLibsXmlUrl(c, version).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + File file= new File(MinistroService.instance().getVersionXmlFile()); + file.delete(); + FileOutputStream outstream = new FileOutputStream(MinistroService.instance().getVersionXmlFile()); + InputStream instream = connection.getInputStream(); + byte[] tmp = new byte[2048]; + int downloaded; + while ((downloaded = instream.read(tmp)) != -1) + outstream.write(tmp, 0, downloaded); + + outstream.close(); + MinistroService.instance().refreshLibraries(false); + return version; + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (ParserConfigurationException e) { + e.printStackTrace(); + } catch (IllegalStateException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + return -1; + } + + private class DownloadManager extends AsyncTask + { + private ProgressDialog m_dialog = null; + private String m_status = getResources().getString(R.string.start_downloading_msg); + private int m_totalSize=0, m_totalProgressSize=0; + + @Override + protected void onPreExecute() + { + m_dialog = new ProgressDialog(MinistroActivity.this); + m_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + m_dialog.setTitle(getResources().getString(R.string.downloading_qt_libraries_msg)); + m_dialog.setMessage(m_status); + m_dialog.setCancelable(true); + m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ + @Override + public void onCancel(DialogInterface dialog) + { + DownloadManager.this.cancel(false); + finishMe(); + } + }); + m_dialog.show(); + super.onPreExecute(); + } + + private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException + { + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + URLConnection connection = new URL(url).openConnection(); + connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); + Library.mkdirParents(m_qtLibsRootPath, file, 1); + String filePath=m_qtLibsRootPath+file; + int progressSize=0; + try + { + FileOutputStream outstream = new FileOutputStream(filePath); + InputStream instream = connection.getInputStream(); + int downloaded; + byte[] tmp = new byte[2048]; + int oldProgress=-1; + while ((downloaded = instream.read(tmp)) != -1) + { + if (isCancelled()) + break; + progressSize+=downloaded; + m_totalProgressSize+=downloaded; + digester.update(tmp, 0, downloaded); + outstream.write(tmp, 0, downloaded); + int progress=(int)(progressSize*100/size); + if (progress!=oldProgress) + { + publishProgress(progress + , m_totalProgressSize); + oldProgress = progress; + } + } + String sha1 = Library.convertToHex(digester.digest()); + if (sha1.equalsIgnoreCase(fileSha1)) + { + outstream.close(); + nativeChmode(filePath, 0644); + MinistroService.instance().refreshLibraries(false); + return true; + } + outstream.close(); + File f = new File(filePath); + f.delete(); + } catch (Exception e) { + e.printStackTrace(); + File f = new File(filePath); + f.delete(); + } + m_totalProgressSize-=progressSize; + return false; + } + + @Override + protected Long doInBackground(Library... params) + { + try + { + for (int i=0;i + { + private ProgressDialog dialog = null; + private ArrayList newLibs = new ArrayList(); + private String m_message; + @Override + protected void onPreExecute() + { + runOnUiThread(new Runnable() + { + @Override + public void run() + { + dialog = ProgressDialog.show(MinistroActivity.this, null, + getResources().getString(R.string.checking_libraries_msg), true, true); + } + }); + super.onPreExecute(); + } + + @Override + protected Double doInBackground(Boolean... update) + { + double version=0.0; + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document dom = null; + Element root = null; + double oldVersion=MinistroService.instance().getVersion(); + if (update[0] || MinistroService.instance().getVersion()<0) + version = downloadVersionXmlFile(MinistroActivity.this, false); + else + version = MinistroService.instance().getVersion(); + + ArrayList libraries; + if (update[0]) + { + if (oldVersion!=version) + libraries = MinistroService.instance().getDownloadedLibraries(); + else + return version; + } + else + libraries = MinistroService.instance().getAvailableLibraries(); + + ArrayList notFoundModules = new ArrayList(); + if (m_modules!=null) + MinistroService.instance().checkModules(m_modules, notFoundModules); + + dom = builder.parse(new FileInputStream(MinistroService.instance().getVersionXmlFile())); + + factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + root = dom.getDocumentElement(); + root.normalize(); + + // extract device root certificates + SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); + if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || + !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || + !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) + { + m_message = getResources().getString(R.string.extracting_SSL_msg); + publishProgress((Void[])null); + String environmentVariables=root.getAttribute("environmentVariables"); + environmentVariables=environmentVariables.replaceAll("MINISTRO_PATH", ""); + String environmentVariablesList[]=environmentVariables.split("\t"); + for (int i=0;i aliases = ks.aliases(); aliases.hasMoreElements(); ) + { + String aName = aliases.nextElement(); + try + { + X509Certificate cert=(X509Certificate) ks.getCertificate(aName); + if (null==cert) + continue; + String filePath=path+"/"+cert.getType()+"_"+cert.hashCode()+".der"; + FileOutputStream outstream = new FileOutputStream(new File(filePath)); + byte buff[]=cert.getEncoded(); + outstream.write(buff, 0, buff.length); + outstream.close(); + nativeChmode(filePath, 0644); + } catch(KeyStoreException e) { + e.printStackTrace(); + } catch(Exception e) { + e.printStackTrace(); + } + } + } catch (KeyStoreException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (CertificateException e) { + e.printStackTrace(); + } + SharedPreferences.Editor editor= preferences.edit(); + editor.putString("CODENAME",android.os.Build.VERSION.CODENAME); + editor.putString("INCREMENTAL", android.os.Build.VERSION.INCREMENTAL); + editor.putString("RELEASE", android.os.Build.VERSION.RELEASE); + editor.commit(); + break; + } + } + } + + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, true); + if (update[0]) + { // check for updates + for (int j=0;j0 && result>0) + { + Library[] libs = new Library[newLibs.size()]; + libs = newLibs.toArray(libs); + new DownloadManager().execute(libs); + } + else + finishMe(); + super.onPostExecute(result); + } + } + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; + File dir=new File(m_qtLibsRootPath); + dir.mkdirs(); + nativeChmode(m_qtLibsRootPath, 0755); + bindService(new Intent("org.kde.necessitas.ministro"), m_ministroConnection, Context.BIND_AUTO_CREATE); + } + + @Override + protected void onDestroy() + { + super.onDestroy(); + unbindService(m_ministroConnection); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) + { + //Avoid activity from being destroyed/created + super.onConfigurationChanged(newConfig); + } + + static + { + System.loadLibrary("chmode"); + } +} diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java new file mode 100644 index 0000000..e7c8156 --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java @@ -0,0 +1,92 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.necessitas.ministro; + +import android.app.Activity; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ArrayAdapter; +import android.widget.Spinner; +import android.widget.Toast; + +public class MinistroConfigActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + // TODO Auto-generated method stub + super.onCreate(savedInstanceState); + setContentView(R.layout.repoconfig); + Spinner s = (Spinner) findViewById(R.id.spinner); + ArrayAdapter adapter = ArrayAdapter.createFromResource( + this, R.array.repositories, android.R.layout.simple_spinner_item); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + s.setAdapter(adapter); + s.setSelection(adapter.getPosition(MinistroService.getRepository(this))); + s.setOnItemSelectedListener(new OnItemSelectedListener(){ + @Override + public void onItemSelected(AdapterView parent, View view, int pos, + long id) { + // TODO Auto-generated method stub + Toast.makeText(parent.getContext() + , getResources().getString(R.string.ministro_repository_msg + , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_LONG).show(); + MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); + } + + @Override + public void onNothingSelected(AdapterView arg0) { + // TODO Auto-generated method stub + } + }); + } + + @Override + protected void onDestroy() { + NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + int icon = R.drawable.icon; + CharSequence tickerText = getResources().getString(R.string.ministro_repository_changed_msg); // ticker-text + long when = System.currentTimeMillis(); // notification time + Context context = getApplicationContext(); // application Context + CharSequence contentTitle = getResources().getString(R.string.ministro_update_msg); // expanded message title + CharSequence contentText = getResources().getString(R.string.ministro_repository_changed_tap_msg); // expanded message text + + Intent notificationIntent = new Intent(this, MinistroActivity.class); + PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); + + // the next two lines initialize the Notification, using the configurations above + Notification notification = new Notification(icon, tickerText, when); + notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); + notification.defaults |= Notification.DEFAULT_SOUND; + notification.defaults |= Notification.DEFAULT_VIBRATE; + notification.defaults |= Notification.DEFAULT_LIGHTS; + try{ + nm.notify(1, notification); + }catch(Exception e) + { + e.printStackTrace(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java new file mode 100644 index 0000000..db04050 --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -0,0 +1,603 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.necessitas.ministro; + +import java.io.File; +import java.io.FileInputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.Set; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.AsyncTask; +import android.os.Bundle; +import android.os.IBinder; +import android.os.RemoteException; +import android.util.Log; + +public class MinistroService extends Service +{ + private static final String TAG = "MinistroService"; + + private static final String MINISTRO_CHECK_UPDATES_KEY="LASTCHECK"; + private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; + private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; + + /// loader parameter keys + private static final String ERROR_CODE_KEY="error.code"; + private static final String ERROR_MESSAGE_KEY="error.message"; + private static final String DEX_PATH_KEY="dex.path"; + private static final String LIB_PATH_KEY="lib.path"; + private static final String LOADER_CLASS_NAME_KEY="loader.class.name"; + private static final String NATIVE_LIBRARIES_KEY="native.libraries"; + private static final String ENVIRONMENT_VARIABLES_KEY="environment.variables"; + private static final String APPLICATION_PARAMETERS_KEY="application.parameters"; + /// loader parameter keys + + /// loader error codes + private static final int EC_NO_ERROR=0; + private static final int EC_INCOMPATIBLE=1; + private static final int EC_NOT_FOUND=2; + /// loader error codes + + + public static String getRepository(Context c) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + return preferences.getString(MINISTRO_REPOSITORY_KEY,MINISTRO_DEFAULT_REPOSITORY); + } + + public static void setRepository(Context c, String value) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + SharedPreferences.Editor editor= preferences.edit(); + editor.putString(MINISTRO_REPOSITORY_KEY,value); + editor.putLong(MINISTRO_CHECK_UPDATES_KEY,0); + editor.commit(); + } + + // used to check Ministro Service compatibility + private static final int MINISTRO_MIN_API_LEVEL=1; + private static final int MINISTRO_MAX_API_LEVEL=1; + + // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) + private static MinistroService m_instance = null; + private String m_environmentVariables = null; + private String m_applicationParams = null; + private String m_loaderClassName = null; + private String m_pathSeparator = null; + public static MinistroService instance() + { + return m_instance; + } + + public MinistroService() + { + m_instance = this; + } + + private int m_actionId=0; // last actions id + + + // current downloaded libraries + private ArrayList m_downloadedLibraries = new ArrayList(); + + ArrayList getDownloadedLibraries() + { + synchronized (this) + { + return m_downloadedLibraries; + } + } + + // current available libraries + private ArrayList m_availableLibraries = new ArrayList(); + ArrayList getAvailableLibraries() + { + synchronized (this) + { + return m_availableLibraries; + } + } + + class CheckForUpdates extends AsyncTask + { + @Override + protected void onPreExecute() + { + if (m_version refreshLibraries(boolean checkCrc) + { + synchronized (this) + { + try + { + m_downloadedLibraries.clear(); + m_availableLibraries.clear(); + if (! (new File(m_versionXmlFile)).exists()) + return m_downloadedLibraries; + DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); + Document dom = documentBuilder.parse(new FileInputStream(m_versionXmlFile)); + Element root = dom.getDocumentElement(); + m_version = Double.valueOf(root.getAttribute("version")); + m_loaderClassName=root.getAttribute("loaderClassName"); + m_applicationParams=root.getAttribute("applicationParameters"); + m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + m_environmentVariables=root.getAttribute("environmentVariables"); + m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + root.normalize(); + Node node = root.getFirstChild(); + while(node != null) + { + if (node.getNodeType() == Node.ELEMENT_NODE) + { + Library lib= Library.getLibrary((Element)node, false); + File file=new File(m_qtLibsRootPath + lib.filePath); + if (file.exists()) + { + if (checkCrc && !Library.checkCRC(file.getAbsolutePath(), lib.sha1)) + file.delete(); + else + m_downloadedLibraries.add(lib); + } + m_availableLibraries.add(lib); + } + // Workaround for an unbelievable bug !!! + try { + node = node.getNextSibling(); + } catch (Exception e) { + e.printStackTrace(); + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return m_downloadedLibraries; + } + + // version xml file + private String m_versionXmlFile; + public String getVersionXmlFile() + { + return m_versionXmlFile; + } + + private String m_qtLibsRootPath; + public String getQtLibsRootPath() + { + return m_qtLibsRootPath; + } + + private double m_version = -1; + public double getVersion() + { + return m_version; + } + + // class used to fire an action, this class is used + // to start an activity when user needs more libraries to start its application + class ActionStruct + { + ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) + { + id=++m_actionId; + callback = cb; + modules = m; + } + public int id; + public IMinistroCallback callback; + public String[] modules; + } + + // we can have more then one action + ArrayList m_actions = new ArrayList(); + + @Override + public void onCreate() + { + m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; + m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; + m_pathSeparator = System.getProperty("path.separator", ":"); + SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); + long lastCheck = preferences.getLong(MINISTRO_CHECK_UPDATES_KEY,0); + if (MinistroActivity.isOnline(this) && System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day + { + refreshLibraries(true); + SharedPreferences.Editor editor= preferences.edit(); + editor.putLong(MINISTRO_CHECK_UPDATES_KEY,System.currentTimeMillis()); + editor.commit(); + new CheckForUpdates().execute((Void[])null); + } + else + refreshLibraries(false); + super.onCreate(); + } + + @Override + public void onDestroy() + { + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent) + { + return new IMinistro.Stub() + { + @Override + public void checkModules(IMinistroCallback callback, String[] modules + , String appName, int ministroApiLevel + , int necessitasApiLevel) throws RemoteException + { + checkModulesImpl(callback, modules, appName, ministroApiLevel, necessitasApiLevel); + } + }; + } + + /** + * Implements the {@link IMinistro.Stub#checkModules(IMinistroCallback, String[], String, int, int)} + * service method. + * + * @param callback + * @param modules + * @param appName + * @param ministroApiLevel + * @param necessitasApiLevel + * @throws RemoteException + */ + final void checkModulesImpl(IMinistroCallback callback, String[] modules + , String appName, int ministroApiLevel + , int qtApiLevel) throws RemoteException + { + + if (ministroApiLevelMINISTRO_MAX_API_LEVEL) + { + // panic !!! Ministro service is not compatible, user should upgrade Ministro package + Bundle loaderParams = new Bundle(); + loaderParams.putInt(ERROR_CODE_KEY, EC_INCOMPATIBLE); + loaderParams.putString(ERROR_MESSAGE_KEY, getResources().getString(R.string.incompatible_ministo_api)); + try + { + callback.loaderReady(loaderParams); + } + catch (Exception e) { + e.printStackTrace(); + } + Log.w(TAG, "Ministro cannot satisfy API version: " + ministroApiLevel); + return; + } + + // check necessitasApiLevel !!! I'm pretty sure some people will completely ignore my warning + // and they will deploying apps to Android Market, so let's try to give them a chance. + + // this method is called by the activity client who needs modules. + ArrayList notFoundModules = new ArrayList(); + Bundle loaderParams = checkModules(modules, notFoundModules); + if (loaderParams.containsKey(ERROR_CODE_KEY) && EC_NO_ERROR == loaderParams.getInt(ERROR_CODE_KEY)) + { + try + { + callback.loaderReady(loaderParams); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + else + { + // Starts a retrieval of the modules which are not readily accessible. + startRetrieval(callback, modules, notFoundModules, appName); + } + } + + /** + * Creates and sets up a {@link MinistroActivity} to retrieve the modules specified in the + * notFoundModules argument. + * + * @param callback + * @param modules + * @param notFoundModules + * @param appName + * @throws RemoteException + */ + private void startRetrieval(IMinistroCallback callback, String[] modules + , ArrayList notFoundModules, String appName) throws RemoteException + { + ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName); + m_actions.add(as); // if not, lets start an activity to do it. + + Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + intent.putExtra("id", as.id); + String[] libs = notFoundModules.toArray(new String[notFoundModules.size()]); + intent.putExtra("modules", libs); + intent.putExtra("name", appName); + + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + boolean failed = false; + try + { + MinistroService.this.startActivity(intent); + } + catch(Exception e) + { + failed = true; + throw (RemoteException) new RemoteException().initCause(e); + } + finally + { + // Removes the dead Activity from our list as it will never finish by itself. + if (failed) + m_actions.remove(as); + } + } + + /** + * Called by a finished {@link MinistroActivity} in order to let + * the service notify the application which caused the activity about + * the result of the retrieval. + * + * @param id + */ + void retrievalFinished(int id) + { + for (int i=0;iChecks the availability of the requested modules and informs + * the requesting application about it via the {@link IMinistroCallback} + * instance.

+ * + * @param callback + * @param modules + */ + private void postRetrieval(IMinistroCallback callback, String[] modules) + { + // Does a final check whether the libraries are accessible (without caring for + // the non-accessible ones). + try + { + callback.loaderReady(checkModules(modules, null)); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Checks whether a given list of libraries are readily accessible (e.g. usable by a program). + * + *

If the notFoundModules argument is given, the method fills the list with + * libraries that need to be retrieved first.

+ * + * @param libs + * @param notFoundModules + * @return true if all modules are available + */ + Bundle checkModules(String[] modules, ArrayList notFoundModules) + { + Bundle params = new Bundle(); + boolean res=true; + ArrayList libs= new ArrayList(); + Set jars= new HashSet(); + for (String module: modules) + res = res & addModules(module, libs, notFoundModules, jars); // don't stop on first error + + ArrayList tempStringArray = new ArrayList(); + // sort all libraries + Collections.sort(libs, new ModuleCompare()); + for (Module lib: libs) + tempStringArray.add(m_qtLibsRootPath+lib.path); + params.putString(NATIVE_LIBRARIES_KEY, Library.join(tempStringArray, m_pathSeparator)); + + tempStringArray.clear(); + for (String jar: jars) + tempStringArray.add(m_qtLibsRootPath+jar); + params.putString(DEX_PATH_KEY, Library.join(tempStringArray, m_pathSeparator)); + + params.putString(LOADER_CLASS_NAME_KEY, m_loaderClassName); + params.putString(LIB_PATH_KEY, m_qtLibsRootPath); + params.putString(ENVIRONMENT_VARIABLES_KEY, m_environmentVariables); + params.putString(APPLICATION_PARAMETERS_KEY, m_applicationParams); + params.putInt(ERROR_CODE_KEY, res?EC_NO_ERROR:EC_NOT_FOUND); + return params; + } + +/** + * Helper method for the module resolution mechanism. It deals with an individual module's + * resolution request. + * + *

The method checks whether a given single module is already + * accessible or needs to be retrieved first. In the latter case the method returns + * false.

+ * + *

The method traverses a module's dependencies automatically.

+ * + *

In order to find out whether a module is accessible the method consults + * the list of downloaded libraries. If found, an entry to the modules list is + * added.

+ * + *

In case the module is not immediately accessible and the notFoundModules + * argument exists, a list of available libraries is consulted to fill a list of modules which + * yet need to be retrieved.

+ * + * @param module + * @param modules + * @param notFoundModules + * @param jars + * @return true if the given module and all its dependencies are readily available. + */ + private boolean addModules(String module, ArrayList modules + , ArrayList notFoundModules, Set jars) + { + // Module argument is not supposed to be null at this point. + if (modules == null) + return false; // we are in deep shit if this happens + + // Short-cut: If the module is already in our list of previously found modules then we do not + // need to consult the list of downloaded modules. + for (int i=0;i + { + @Override + public int compare(Module a, Module b) + { + return a.level-b.level; + } + } + + /** Helper class which allows manipulating libraries. + * + * It is similar to the {@link Library} class but has fewer fields. + */ + static private class Module + { + String path; + String name; + int level; + } + +} \ No newline at end of file diff --git a/MinistroConfigurationTool/AndroidManifest.xml b/MinistroConfigurationTool/AndroidManifest.xml index b3dd7a8..64e5ce8 100644 --- a/MinistroConfigurationTool/AndroidManifest.xml +++ b/MinistroConfigurationTool/AndroidManifest.xml @@ -1,10 +1,10 @@ - diff --git a/MinistroConfigurationTool/res/values-ro/strings.xml b/MinistroConfigurationTool/res/values-ro/strings.xml new file mode 100644 index 0000000..7933125 --- /dev/null +++ b/MinistroConfigurationTool/res/values-ro/strings.xml @@ -0,0 +1,5 @@ + + + Instrument de configurare Ministro + Acest instrument are nevoie de cel mai recent serviciu Ministro. Doriţi să-l instalaţi? + diff --git a/MinistroConfigurationTool/res/values/strings.xml b/MinistroConfigurationTool/res/values/strings.xml index 6f84e54..67016f5 100644 --- a/MinistroConfigurationTool/res/values/strings.xml +++ b/MinistroConfigurationTool/res/values/strings.xml @@ -1,4 +1,5 @@ Ministro configuration tool + This tool needs latest Ministro service. Would you like to install it? diff --git a/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java b/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java deleted file mode 100644 index 3989cc9..0000000 --- a/MinistroConfigurationTool/src/eu/licentia/ministro/config/MinistroConfigurationToolActivity.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -package eu.licentia.ministro.config; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.ComponentName; -import android.content.DialogInterface; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; - -public class MinistroConfigurationToolActivity extends Activity { - /** Called when the activity is first created. */ - @Override - public void onCreate(Bundle savedInstanceState) { - try - { - Intent intent = new Intent(); - intent.setComponent(new ComponentName("eu.licentia.necessitas.ministro", "eu.licentia.necessitas.ministro.MinistroConfigActivity")); - startActivity(intent); - finish(); - } - catch (Exception e) { - AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); - downloadDialog.setMessage("This tool needs latest Ministro service. Would you like to install it?"); - downloadDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - try - { - Uri uri = Uri.parse("market://search?q=pname:eu.licentia.necessitas.ministro"); - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - startActivity(intent); - finish(); - } - catch (Exception e) { - e.printStackTrace(); - finish(); - } - } - }); - - downloadDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - finish(); - } - }); - downloadDialog.show(); - } - super.onCreate(savedInstanceState); - } -} diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index 23f7abc..ce8395e 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -93,6 +93,7 @@ int main(int argc, char *argv[]) return 1; QStringList excludePaths=element.attribute("excludePaths").split(';'); + QString loaderClassName=element.attribute("loaderClassName"); QString applicationParameters=element.attribute("applicationParameters"); QString environmentVariables=element.attribute("environmentVariables"); @@ -137,6 +138,8 @@ int main(int argc, char *argv[]) NeedsStruct needed; needed.name=childs.attribute("name"); needed.relativePath=childs.attribute("file"); + if (childs.hasAttribute("type")) + needed.type=childs.attribute("type"); libs[libraryName].needs<\n").arg(version).arg(applicationParameters).arg(environmentVariables).toUtf8()); + outXmlFile.write(QString("\n").arg(version).arg(applicationParameters).arg(environmentVariables).arg(loaderClassName).toUtf8()); foreach (const QString & key, libs.keys()) { if (libs[key].platform && libs[key].platform != androdPlatform) @@ -204,8 +207,13 @@ int main(int argc, char *argv[]) qWarning()<<"Warning : Can't find \""<\n") - .arg(needed.name).arg(abiVersion).arg(version).arg(needed.relativePath).arg(fileSize).arg(sha1Hash).toUtf8()); + + QString type; + if (needed.type.length()) + type=QString(" type=\"%1\" ").arg(needed.type); + + outXmlFile.write(QString("\t\t\t\n") + .arg(needed.name).arg(abiVersion).arg(version).arg(needed.relativePath).arg(fileSize).arg(sha1Hash).arg(type).toUtf8()); } outXmlFile.write("\t\t
\n"); } diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index ea75126..2a440dc 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -5,13 +5,13 @@ - - - - + + + + - + diff --git a/Necessitas_SDK/ministrorepogen/sortlibs.h b/Necessitas_SDK/ministrorepogen/sortlibs.h index 8181c21..14c3885 100644 --- a/Necessitas_SDK/ministrorepogen/sortlibs.h +++ b/Necessitas_SDK/ministrorepogen/sortlibs.h @@ -30,6 +30,7 @@ struct NeedsStruct { QString name; QString relativePath; + QString type; }; struct Library -- cgit v1.2.3 From 1f6ca2cfc78f08a512cfac026481174669732383 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 13 Oct 2011 12:36:42 +0300 Subject: Sync Ministro with new java part --- Ministro/AndroidManifest.xml | 10 ++-- Ministro/res/drawable/logo.png | Bin 0 -> 427576 bytes Ministro/res/values-ro/strings.xml | 2 + Ministro/res/values/strings.xml | 2 + .../src/org/kde/necessitas/ministro/IMinistro.aidl | 27 +++++----- .../kde/necessitas/ministro/IMinistroCallback.aidl | 5 +- .../kde/necessitas/ministro/MinistroService.java | 58 +++++++++++++++++---- 7 files changed, 73 insertions(+), 31 deletions(-) create mode 100644 Ministro/res/drawable/logo.png diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 12e6a62..5084596 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,17 +1,17 @@ + package="org.kde.necessitas.ministro" android:versionCode="3" android:versionName="3.0"> + android:label="@string/app_name" + android:configChanges="orientation|locale|fontScale|keyboard|keyboardHidden" > + android:label="@string/app_name"> @@ -19,7 +19,7 @@ - + diff --git a/Ministro/res/drawable/logo.png b/Ministro/res/drawable/logo.png new file mode 100644 index 0000000..8366c4f Binary files /dev/null and b/Ministro/res/drawable/logo.png differ diff --git a/Ministro/res/values-ro/strings.xml b/Ministro/res/values-ro/strings.xml index 116cafb..dfa8bb0 100644 --- a/Ministro/res/values-ro/strings.xml +++ b/Ministro/res/values-ro/strings.xml @@ -17,4 +17,6 @@ Depozitul Ministro s-a schimbat Actualizare Ministro Ministro depozitul sa schimbat, apăsaÅ£i pentru actualizare. + Parametrii sunt invalizi + Ministro nu poate găsi toate dependenÅ£ele aplicaÅ£iei diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index 7194f1e..e212315 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -17,4 +17,6 @@ Ministro repository changed Ministro update Ministro repository changed tap to update. + Invalid parameters + Ministro can not satisfy your application dependencies diff --git a/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl b/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl index 2735e8b..c1101da 100644 --- a/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl +++ b/Ministro/src/org/kde/necessitas/ministro/IMinistro.aidl @@ -30,17 +30,18 @@ import org.kde.necessitas.ministro.IMinistroCallback; interface IMinistro { - /** - * Check/download required libs to run the application - * - * param callback - interface used by the service to notify the client when it has the libs - * param modules - Qt modules you want to check - * param appName - Application name, used to show more informations to user - * param ministroApiLevel - Ministro api level, used to check ministro service compatibility. - * Current API Level is 1 !!! - * param qtApiLevel - Necessitas api level, used to download the right platform plugin. - * Current API Level is 4 !!! - */ - - void checkModules(in IMinistroCallback callback, in String[] modules, in String appName, in int ministroApiLevel, in int qtApiLevel); +/** +* Check/download required libs to run the application +* +* param callback - interface used by Minsitro service to notify the client when the loader is ready +* param parameters +* parameters fields: +* * Key Name Key type Explanations +* "required.modules" StringArray Required modules by your application +* "application.title" String Application name, used to show more informations to user +* "qt.provider" String Qt libs provider, currently only "necessitas" is supported. +* "minimum.ministro.api" Integer Minimum Ministro API level, used to check if Ministro service compatible with your application. Current API Level is 1 ! +* "minimum.qt.version" Integer Minimim Qt version (e.g. 0x040800, which means Qt 4.8.0, check http://doc.trolltech.com/4.8/qtglobal.html#QT_VERSION)! +*/ + void requestLoader(in IMinistroCallback callback, in Bundle parameters); } diff --git a/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl b/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl index 9922aa0..dfd3ea9 100644 --- a/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl +++ b/Ministro/src/org/kde/necessitas/ministro/IMinistroCallback.aidl @@ -30,8 +30,8 @@ oneway interface IMinistroCallback { * This method is called by the Ministro service back into the application which * implements this interface. * -* param in - loader -* loader fields: +* param in - loaderParams +* loaderParams fields: * * Key Name Key type Explanations * * "error.code" Integer See below * * "error.message" String Missing if no error, otherwise will contain the error message translated into phone language where available. @@ -43,6 +43,7 @@ oneway interface IMinistroCallback { * - 0 no error. * - 1 incompatible Ministro version. Ministro needs to be upgraded. * - 2 not all modules could be satisfy. +* - 3 invalid parameters * * This parameter will contain additional fields which are used by the loader to start your application, so it must be passed to loader. */ diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index db04050..fb5df5e 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -53,6 +53,14 @@ public class MinistroService extends Service private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; + /// Ministro server parameter keys + private static final String REQUIRED_MODULES_KEY="required.modules"; + private static final String APPLICATION_TITLE_KEY="application.title"; + private static final String QT_PROVIDER_KEY="qt.provider"; + private static final String MINIMUM_MINISTRO_API_KEY="minimum.ministro.api"; + private static final String MINIMUM_QT_VERSION_KEY="minimum.qt.version"; + /// Ministro server parameter keys + /// loader parameter keys private static final String ERROR_CODE_KEY="error.code"; private static final String ERROR_MESSAGE_KEY="error.message"; @@ -68,6 +76,7 @@ public class MinistroService extends Service private static final int EC_NO_ERROR=0; private static final int EC_INCOMPATIBLE=1; private static final int EC_NOT_FOUND=2; + private static final int EC_INVALID_PARAMETERS=3; /// loader error codes @@ -293,11 +302,10 @@ public class MinistroService extends Service return new IMinistro.Stub() { @Override - public void checkModules(IMinistroCallback callback, String[] modules - , String appName, int ministroApiLevel - , int necessitasApiLevel) throws RemoteException + public void requestLoader(IMinistroCallback callback, Bundle parameters) throws RemoteException { - checkModulesImpl(callback, modules, appName, ministroApiLevel, necessitasApiLevel); + + checkModulesImpl(callback, parameters); } }; } @@ -313,10 +321,37 @@ public class MinistroService extends Service * @param necessitasApiLevel * @throws RemoteException */ - final void checkModulesImpl(IMinistroCallback callback, String[] modules - , String appName, int ministroApiLevel - , int qtApiLevel) throws RemoteException + final void checkModulesImpl(IMinistroCallback callback, Bundle parameters) throws RemoteException { + if (!parameters.containsKey(REQUIRED_MODULES_KEY) + || !parameters.containsKey(APPLICATION_TITLE_KEY) + || !parameters.containsKey(MINIMUM_MINISTRO_API_KEY) + || !parameters.containsKey(MINIMUM_QT_VERSION_KEY)) + { + Bundle loaderParams = new Bundle(); + loaderParams.putInt(ERROR_CODE_KEY, EC_INVALID_PARAMETERS); + loaderParams.putString(ERROR_MESSAGE_KEY, getResources().getString(R.string.invalid_parameters)); + try + { + callback.loaderReady(loaderParams); + } + catch (Exception e) { + e.printStackTrace(); + } + Log.e(TAG, "Invalid parameters: " + parameters.toString()); + return; + } + int ministroApiLevel = parameters.getInt(MINIMUM_MINISTRO_API_KEY); + String[] modules = parameters.getStringArray(REQUIRED_MODULES_KEY); + String appName = parameters.getString(APPLICATION_TITLE_KEY); + + + @SuppressWarnings("unused") + int qtApiLevel = parameters.getInt(MINIMUM_QT_VERSION_KEY); // TODO check if current QT version is compatible with required version + @SuppressWarnings("unused") + String qtProvider="necessitas"; + if (parameters.containsKey(QT_PROVIDER_KEY)) + qtProvider=parameters.getString(QT_PROVIDER_KEY); // TODO add the possibility to have more than one provider if (ministroApiLevelMINISTRO_MAX_API_LEVEL) { @@ -331,7 +366,7 @@ public class MinistroService extends Service catch (Exception e) { e.printStackTrace(); } - Log.w(TAG, "Ministro cannot satisfy API version: " + ministroApiLevel); + Log.e(TAG, "Ministro cannot satisfy API version: " + ministroApiLevel); return; } @@ -483,6 +518,8 @@ public class MinistroService extends Service params.putString(ENVIRONMENT_VARIABLES_KEY, m_environmentVariables); params.putString(APPLICATION_PARAMETERS_KEY, m_applicationParams); params.putInt(ERROR_CODE_KEY, res?EC_NO_ERROR:EC_NOT_FOUND); + if (!res) + params.putString(ERROR_MESSAGE_KEY, getResources().getString(R.string.dependencies_error)); return params; } @@ -511,7 +548,7 @@ public class MinistroService extends Service * @return true if the given module and all its dependencies are readily available. */ private boolean addModules(String module, ArrayList modules - , ArrayList notFoundModules, Set jars) + , ArrayList notFoundModules, Set jars) { // Module argument is not supposed to be null at this point. if (modules == null) @@ -599,5 +636,4 @@ public class MinistroService extends Service String name; int level; } - -} \ No newline at end of file +} -- cgit v1.2.3 From a9eac656ec076830768952245e9e0434d317accc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 14 Oct 2011 14:18:38 +0300 Subject: Fix typo --- Ministro/res/values-ro/strings.xml | 2 +- Ministro/res/values/strings.xml | 2 +- Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Ministro/res/values-ro/strings.xml b/Ministro/res/values-ro/strings.xml index dfa8bb0..e3998bf 100644 --- a/Ministro/res/values-ro/strings.xml +++ b/Ministro/res/values-ro/strings.xml @@ -4,7 +4,7 @@ AlegeÅ£i un depozit Ministro nu este compatibil cu aplicaÅ£ia dumneavoastră. Vă rugăm să actualizaÅ£i serviciul Ministro. Ministro necesită acces la reÅ£ea. ActivaÅ£i reÅ£eaua mobilă sau Wi-Fi pentru a descărca datele. - Setări + Setări AÅŸtept conexiunea de reÅ£ea %1$s are nevoie de biblioteci suplimentare pentru a rula.\nDoriÅ£i să le descărcaÅ£i acum? ÃŽncep descărcarea ... diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index e212315..c3b5777 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -4,7 +4,7 @@ Choose a repository Ministro is not compatible with your application. Please upgrade Ministro service. Ministro requires network access. Enable mobile network or Wi-Fi to download data. - Setting + Settings Waiting for network connection %1$s needs extra libraries to run.\nDo you want to download them now? Start downloading ... diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 8956e8a..11568b9 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -82,7 +82,7 @@ public class MinistroActivity extends Activity AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); builder.setMessage(getResources().getString(R.string.ministro_network_access_msg)); builder.setCancelable(true); - builder.setNeutralButton(getResources().getString(R.string.setting_msg), new DialogInterface.OnClickListener() { + builder.setNeutralButton(getResources().getString(R.string.settings_msg), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { final ProgressDialog m_dialog = ProgressDialog.show(MinistroActivity.this, null, getResources().getString(R.string.wait_for_network_connection_msg), true, true, new DialogInterface.OnCancelListener() { @Override -- cgit v1.2.3 From 8cd9df6d4412a2a7f3644dba6337a7cd2c608495 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 15 Oct 2011 11:07:33 +0300 Subject: Add translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Estonian tänu Lauri Laanmets * Duch dank aan Joost Bloemen , Maarten Ditzel * Russian Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Alexander Wolf * Greek χάÏη στην Nikos Gerontidis * French grâce à la Samuel Gaist * Brazilian graças a Andrius da Costa Ribas * Malay, Chinese (Simplified and Traditional) terima kasih kepada Leonard Lee * German dank Thomas Senyk , Josua Dietze alcesalces45@googlemail.com --- Ministro/res/values-de/mstrings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-et/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-fr/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-gr/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-ms/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-nl/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-pt-rBR/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-ru/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-zh-rCN/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-zh-rTW/strings.xml | 22 ++++++++++++++++++++++ 10 files changed, 220 insertions(+) create mode 100644 Ministro/res/values-de/mstrings.xml create mode 100644 Ministro/res/values-et/strings.xml create mode 100644 Ministro/res/values-fr/strings.xml create mode 100644 Ministro/res/values-gr/strings.xml create mode 100644 Ministro/res/values-ms/strings.xml create mode 100644 Ministro/res/values-nl/strings.xml create mode 100644 Ministro/res/values-pt-rBR/strings.xml create mode 100644 Ministro/res/values-ru/strings.xml create mode 100644 Ministro/res/values-zh-rCN/strings.xml create mode 100644 Ministro/res/values-zh-rTW/strings.xml diff --git a/Ministro/res/values-de/mstrings.xml b/Ministro/res/values-de/mstrings.xml new file mode 100644 index 0000000..b61f268 --- /dev/null +++ b/Ministro/res/values-de/mstrings.xml @@ -0,0 +1,22 @@ + + + Ministro + Bitte wählen Sie eine Quelle + Ministro ist nicht kompatibel mit ihrer Applikation. Bitte aktualisieren Sie Minstro-Service. + Ministor benötigt Internetzugang. Bitte schalten Sie Wi-Fi oder mobiles Internet an. + Einstellungen + Warte auf Internet-Verbindung + %1$s benötigt eine zusätzliche Bibliothek.\nMöchten Sie diese nun herunterladen? + Beginne den Download... + Lade Qt Bibliotheken herunter + Ãœberprüfe Bibliotheken. Bitte warten... + Extrahiere SSL Wurzelzertifikate. Bitte warten... + Neue Qt Bibliotheken gefunden + Neue Qt Bibliotheken wurden gefunden. Zum Aktualisieren antippen. + Ministro wird %1$s Quelle benutzen + Ministro Quelle geändert + Ministro Update + Ministro Quelle wurde geändert. Zum Aktualisieren antippen. + Ungültige Parameter + Ministro kann die Abhängigkeiten ihrer Applikation nicht zur verfügen stellen. + diff --git a/Ministro/res/values-et/strings.xml b/Ministro/res/values-et/strings.xml new file mode 100644 index 0000000..29c5ae8 --- /dev/null +++ b/Ministro/res/values-et/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Vali varamu + Ministro ei ühildu selle programmiga. Palun uuenda Ministro teenust. + Ministro vajab võrgu ligipääsu. Aktiveeri mobiilne internet või WiFi. + Seaded + Ootan võrguühendust + %1$s vajab lisateeke.\nSoovite need kohe alla laadida? + Alustan allalaadimist... + Laadin alla Qt teeke + Kontrollin teeke. Palun oota... + Eraldan välja SSL juurserte. Palun oota... + Uued Qt teegid leitud + Uued Qt teegid leitud, puuduta uuenduse alustamiseks. + Ministro kasutab %1$s varamut. + Ministro varamu on muutunud. + Ministro uuendus + Ministro varamu on muutunud, puuduta uuenduse alustamiseks. + Vigased parameetrid + Ministro ei suuda selle programmi sõltuvusi lahendada. + diff --git a/Ministro/res/values-fr/strings.xml b/Ministro/res/values-fr/strings.xml new file mode 100644 index 0000000..4dc81e6 --- /dev/null +++ b/Ministro/res/values-fr/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Choisissez un dépôt + Ministro n\'est pas compatible avec votre application. Veuillez mettre à jour votre service Ministro. + Ministro requires network access. Enable mobile network or Wi-Fi to download data. + Préférences + Attente de la connection réseau + %1$ a besoin de librairies supplémentaires.\nVoulez-vous les télécharger maintenant? + Début du téléchargement ... + Téléchargement des librairies Qt + Vérification des librairies. Veuillez attendre... + Extraction des certificats racines SSL. Veuillez attendre... + Nouvelle version des librairies Qt trouvée + Nouvelle version des librairies Qt trouvée, tapez pour mettre à jour. + Ministro usera le dépôt %1$ + Dépôt Ministro changé + Mise à jour Ministro + Dépôt Ministro changé, tapez pour mettre à jour. + Parametres invalides + Ministro ne peut pas satisfaire les dépendances de votre application + diff --git a/Ministro/res/values-gr/strings.xml b/Ministro/res/values-gr/strings.xml new file mode 100644 index 0000000..f8c5c6c --- /dev/null +++ b/Ministro/res/values-gr/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Επιλέξτε την τοποθεσία + Η εφαÏμογή Ministro δεν είναι συμβατή με την εφαÏμογή. ΠαÏακαλώ αναβαθμίστε την εφαÏμογή Ministro. + Η εφαÏμογή Ministro απαιτεί την ÏπαÏξη σÏνδεσης διαδικτÏου. Ξεκινήστε την σÏνδεση για το κατέβασμα των δεδομένων. + Ρυθμίσεις + Αναμονή για την σÏνδεση διαδικτÏου + %1$s απαιτεί Ï€Ïόσθετες βιβλιοθήκες για να ξεκινήσει.\nÎα Ï€Ïαγματοποιηθεί το κατέβασμα των δεδομένων? + Εκκίνηση κατεβάσματος δεδομένων... + Κατεβαίνουν οι βιβλιοθήκες της Qt + Έλεγχος βιβλιοθηκών. ΠαÏακαλώ πεÏιμένετε... + Αποσυμπίσεση των πιστοποιητικών SSL. ΠαÏακαλώ πεÏιμένετε... + Î’Ïέθηκαν νέες βιβλιοθήκες της Qt + Î’Ïέθηκαν νέες βιβλιοθήκες της Qt, πατήστε για αναβάθμιση. + Η εφαÏμογή Ministro θα χÏησιμοποιήσει την τοποθεσία %1$s + Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει + Αναβάθμιση της εφαÏμογής Ministro + Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει,πατήστε για αναβάθμιση. + Μή εγκυÏες παÏάμετÏοι + Η εφαÏμογή Ministro δεν ικανοποιεί τις απαιτήσεις της εφαÏμογής σας + diff --git a/Ministro/res/values-ms/strings.xml b/Ministro/res/values-ms/strings.xml new file mode 100644 index 0000000..4cc61ae --- /dev/null +++ b/Ministro/res/values-ms/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Pilih satu repositori + Ministro tidak serasi dengan aplikasi anda. Sila naik taraf servis Ministro. + Ministro memerlukan akses rangkaian. Guna rangkaian mudah alih atau rangkaian tanpa talian untuk muat turun data. + Tetapan + Menunggu sambungan rangkaian + %1$s memerlukan pustaka tambahan untuk jalan.\nAdakah anda ingin muat turun sekarang? + Mula muat turun ... + Muat turun pustaka Qt + Semak pustaka. Sila tunggu... + Mengekstrak sijil akar SSL. Sila tunggu... + Pustaka baru Qt dijumpa + Pustaka baru Qt telah dijumpai ketuk untuk kemas kini + Ministro akan menggunakan %1$s repositori. + Repositori Ministro telah berubah + Kemas kini Ministro + Repositori Ministro telah berubah ketuk untuk kemas kini. + Parameter-parameter tidak sah. + Ministro tidak dapat memuaskan kebergantungan aplikasi anda + diff --git a/Ministro/res/values-nl/strings.xml b/Ministro/res/values-nl/strings.xml new file mode 100644 index 0000000..6b3a3bd --- /dev/null +++ b/Ministro/res/values-nl/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Kies een repository + Ministro is niet compatibel met uw applicatie. Update uw Ministro service. + Ministro heeft netwerk-toegang nodig. Schakel mobiele data netwerk of Wi-Fi in. + Instelling + Wachten op netwerkverbinding + %1$s heeft extra libraries nodig.\nWilt u deze nu downloaden? + Start downloaden ... + Qt libraries aan het downloaden + Libraries aan het controleren. Even wachten... + SSL certificaten extracten. Even wachten... + Nieuwe Qt libs gevonden + Nieuwe Qt libs zijn gevonden, raak aan om te updaten. + Ministro gebruikt %1$s repository + Ministro repository is veranderd + Ministro update + Ministro repository is veranderd, raak aan om te updaten. + Ongeldige parameters + Ministro kan niet alle libraries die uw applicatie nodig heeft vinden. + diff --git a/Ministro/res/values-pt-rBR/strings.xml b/Ministro/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000..a216729 --- /dev/null +++ b/Ministro/res/values-pt-rBR/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Escolha um repositório + O Ministro não é compatível com sua aplicação. Por favor atualize o serviço Ministro. + O Ministro requer acesso à rede. Habilite a rede móvel ou o Wi-Fi para baixar os dados. + Configurações + Aguardando conexão de rede + %1$s precisa de bibliotecas extras para executar.\nVocê gostaria de baixá-las agora? + Iniciando o download ... + Baixando as bibliotecas do Qt + Verificando bibliotecas. Por favor aguarde... + Extraindo os certificados raiz SSL. Por favor aguarde... + Novas bibliotecas Qt encontradas + Novas bibliotecas Qt foram encontradas, toque para atualizar. + O Ministro utilizará o repositório %1$s + Repositório do Ministro modificado + Atualização do Ministro + O repositório do Ministro foi modificado, toque para atualizar. + Parâmetros inválidos + O Ministro não pode satisfazer as dependências da sua aplicação + diff --git a/Ministro/res/values-ru/strings.xml b/Ministro/res/values-ru/strings.xml new file mode 100644 index 0000000..6adf397 --- /dev/null +++ b/Ministro/res/values-ru/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Выберите репозиторий + Ministro не ÑовмеÑтим Ñ Ð²Ð°ÑˆÐ¸Ð¼ приложением. Обновите ÑÐµÑ€Ð²Ð¸Ñ Ministro. + Ministro требуетÑÑ Ñетевой доÑтуп. Включите мобильную Ñеть или Wi-Fi Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ данных. + ÐаÑтройка + Ожидание Ñетевого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ + %1$s необходимы дополнительные библиотеки Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹.\nЗагрузить их прÑмо ÑейчаÑ? + ÐачалаÑÑŒ загрузка ... + Загрузка библиотек Qt + Проверка библиотек. Подождите... + Извлечение корневых Ñертификатов SSL. Подождите... + Ðайдены новые библиотеки Qt + Ðажмите Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка новых библиотек Qt. + Ministro будет иÑпользовать репозиторий %1$s + Репозиторий Ministro изменён + Обновление Ministro + Ðажмите Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ministro. + Ðеверные параметры + Ministro не может удовлетворить завиÑимоÑти вашего Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ + diff --git a/Ministro/res/values-zh-rCN/strings.xml b/Ministro/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000..6e0e864 --- /dev/null +++ b/Ministro/res/values-zh-rCN/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + 选择一个资æºåº“ + Ministro与您的应用程åºä¸ç›¸å®¹ã€‚请å‡çº§MinistroæœåŠ¡ã€‚ + Ministro需è¦è¿žæŽ¥ç½‘络。请å¯ç”¨ç§»åŠ¨ç½‘络或无线网络下载数æ®ã€‚ + 设置 + 等待网络连接 + %1$s 需è¦é¢å¤–的程å¼åº“è¿è¡Œã€‚\n您想现在下载它å—? + 开始下载。。。 + 下载Qt程å¼åº“ + 检查程å¼åº“。请ç¨å€™ã€‚。。 + æå–SSLæ ¹è¯ä¹¦ã€‚请ç¨å€™ã€‚。。 + 找到新的Qt程å¼åº“ + 已找到新的Qt程å¼åº“ 轻敲进行更新。 + Ministro将使用 %1$s 资æºåº“ + Ministro资æºåº“已更改 + Ministroæ›´æ–° + Ministro资æºåº“已更改 轻敲进行更新。 + å‚数无效 + Ministroä¸èƒ½æ»¡è¶³æ‚¨çš„应用程åºä¾èµ–需求 + diff --git a/Ministro/res/values-zh-rTW/strings.xml b/Ministro/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000..83a19fa --- /dev/null +++ b/Ministro/res/values-zh-rTW/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + é¸æ“‡ä¸€å€‹è³‡æºåº« + Ministro與您的應用程åºä¸ç›¸å®¹ã€‚è«‹å‡ç´šMinistroæœå‹™ã€‚ + Ministro需è¦é€£æŽ¥ç¶²çµ¡ã€‚請啟用移動網絡或無線網絡下載數據。 + 設置 + 等待網絡連接 + %1$s 需è¦é¡å¤–的程å¼åº«é‹è¡Œã€‚\n您想ç¾åœ¨ä¸‹è¼‰å®ƒå—Žï¼Ÿ + 開始下載。。。 + 下載Qt程å¼åº« + 檢查程å¼åº«ã€‚è«‹ç¨å€™ã€‚。。 + æå–SSL根證書。請ç¨å€™ã€‚。。 + 找到新的Qt程å¼åº« + 已找到新的Qt程å¼åº« 輕敲進行更新。 + Ministro將使用 %1$s 資æºåº« + Ministro資æºåº«å·²æ›´æ”¹ + Ministroæ›´æ–° + Ministro資æºåº«å·²æ›´æ”¹ 輕敲進行更新。 + åƒæ•¸ç„¡æ•ˆ + Ministroä¸èƒ½æ»¿è¶³æ‚¨çš„應用程åºä¾è³´éœ€æ±‚ + -- cgit v1.2.3 From 486811ed4d7d01449597af88b1fbc2992d9c5b34 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sat, 15 Oct 2011 13:53:51 +0300 Subject: Send "native.libraries" parameter correctly --- Ministro/src/org/kde/necessitas/ministro/MinistroService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index fb5df5e..be65923 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -67,6 +67,7 @@ public class MinistroService extends Service private static final String DEX_PATH_KEY="dex.path"; private static final String LIB_PATH_KEY="lib.path"; private static final String LOADER_CLASS_NAME_KEY="loader.class.name"; + private static final String NATIVE_LIBRARIES_KEY="native.libraries"; private static final String ENVIRONMENT_VARIABLES_KEY="environment.variables"; private static final String APPLICATION_PARAMETERS_KEY="application.parameters"; @@ -506,7 +507,7 @@ public class MinistroService extends Service Collections.sort(libs, new ModuleCompare()); for (Module lib: libs) tempStringArray.add(m_qtLibsRootPath+lib.path); - params.putString(NATIVE_LIBRARIES_KEY, Library.join(tempStringArray, m_pathSeparator)); + params.putStringArrayList(NATIVE_LIBRARIES_KEY, tempStringArray); tempStringArray.clear(); for (String jar: jars) -- cgit v1.2.3 From 150add4b8f634b2c9158531b1589d68c898cf526 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 19 Oct 2011 22:53:09 +0300 Subject: Big change for alpha3 release this is WIP --- Necessitas_SDK/build_ndk.sh | 0 Necessitas_SDK/build_sdk.sh | 697 ++++++++++++--------- Necessitas_SDK/config/config.xml | 4 +- Necessitas_SDK/config/watermark.png | Bin 38119 -> 52649 bytes Necessitas_SDK/ministrorepogen/rules.xml | 2 + .../meta/installscript.qs | 9 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 59 ++ .../meta/package.xml | 11 + .../meta/installscript.qs | 11 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 6 +- .../meta/installscript.qs | 9 +- .../meta/package.xml | 1 + .../meta/installscript.qs | 2 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 6 +- .../meta/installscript.qs | 2 +- .../meta/package.xml | 1 + .../meta/installscript.qs | 2 +- .../meta/package.xml | 1 + .../meta/installscript.qs | 6 +- .../meta/installscript.qs | 25 +- .../org.kde.necessitas.misc.ant/meta/package.xml | 6 +- .../meta/installscript.qs | 10 +- .../meta/package.xml | 6 +- .../meta/installscript.qs | 10 +- .../meta/installscript.qs | 20 +- .../meta/installscript.qs | 23 +- .../meta/package.xml | 1 + .../meta/installscript.qs | 5 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 31 + .../meta/package.xml | 10 + .../meta/package.xml | 3 +- .../meta/package.xml | 3 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 15 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 4 +- .../meta/installscript.qs | 13 +- .../meta/package.xml | 3 +- .../meta/installscript.qs | 27 +- .../meta/package.xml | 1 + .../meta/package.xml | 1 + .../meta/installscript.qs | 181 +++--- .../meta/package.xml | 1 + .../meta/installscript.qs | 110 ++++ .../meta/package.xml | 11 + .../org.kde.necessitas/meta/installscript.qs | 111 +--- .../packages/org.kde.necessitas/meta/package.xml | 1 - Necessitas_SDK/sdk_cleanup.sh | 16 + Necessitas_SDK/sdk_vars.sh | 37 +- 63 files changed, 867 insertions(+), 748 deletions(-) mode change 100755 => 100644 Necessitas_SDK/build_ndk.sh create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml create mode 100644 Necessitas_SDK/sdk_cleanup.sh diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh old mode 100755 new mode 100644 diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 7f02fa8..bb65a15 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # Copyright (c) 2011, BogDan Vatra # Copyright (c) 2011, Ray Donnelly @@ -21,6 +21,11 @@ . sdk_vars.sh +function help +{ + echo "Help" +} + while getopts "h:c:" arg; do case $arg in h) @@ -52,27 +57,32 @@ if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. sudo mkdir -p $TEMP_PATH sudo chmod 777 $TEMP_PATH - sudo mkdir -p $TEMP_PATH_PREFIX/www - sudo chmod 777 $TEMP_PATH_PREFIX/www + sudo mkdir -p $TEMP_PATH/out + sudo chmod 777 $TEMP_PATH/out STRIP="strip -S" CPRL="cp -RL" else - mkdir -p $TEMP_PATH + mkdir -p $TEMP_PATH/out/necessitas STRIP="strip -s" CPRL="cp -rL" fi +. sdk_cleanup.sh + # Global just because 2 functions use them, only acceptable values for GDB_VER are 7.2 and 7.3 -#GDB_VER=7.3 -GDB_VER=7.2 +GDB_VER=7.3 +#GDB_VER=7.2 pushd $TEMP_PATH -MINISTRO_REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/qt -REPO_PATH=$TEMP_PATH_PREFIX/www/necessitas/sdk -REPO_PATH_PACKAGES=$REPO_SRC_PATH/packages -# TODO :: Ask BogDan what this was here for -# cp -a $REPO_PATH_PACKAGES $TEMP_PATH_PREFIX/www/necessitas/sdk_src +MINISTRO_REPO_PATH=$TEMP_PATH/out/necessitas/qt +REPO_PATH=$TEMP_PATH/out/necessitas/sdk +if [ ! -d $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas ] +then + mkdir -p $TEMP_PATH/out/necessitas/sdk_src + cp -a $REPO_SRC_PATH/packages/* $TEMP_PATH/out/necessitas/sdk_src/ +fi +REPO_PATH_PACKAGES=$TEMP_PATH/out/necessitas/sdk_src STATIC_QT_PATH="" SHARED_QT_PATH="" SDK_TOOLS_PATH="" @@ -104,7 +114,7 @@ else JOBS=`sysctl -n hw.ncpu` JOBS=`expr $JOBS + 2` else - HOST_CFG_OPTIONS=" -platform linux-g++ " + HOST_CFG_OPTIONS=" -platform linux-g++ -arch i386" HOST_TAG=linux-x86 HOST_TAG_NDK=linux-x86 SHLIB_EXT=.so @@ -119,6 +129,21 @@ function error_msg exit 1 } +function createArchive # params $1 folder, $2 archive name, $3 extra params +{ + if [ $EXTERNAL_7Z != "" ] + then + EXTRA_PARAMS="" + if [ $HOST_TAG = "windows" ] + then + EXTRA_PARAMS="-l" + fi + $EXTERNAL_7Z $EXTERNAL_7Z_PARAMS -mmt=$JOBS $EXTRA_PARAMS $3 $2 $1 || error_msg "Can't create archive $EXTERNAL_7Z $EXTERNAL_7Z_PARAMS -mmt=$JOBS $2 $1" + else + $SDK_TOOLS_PATH/archivegen $1 $2 + fi +} + function removeAndExit { rm -fr $1 && error_msg "Can't download $1" @@ -164,7 +189,7 @@ function doMake done echo $2>all_done else - make -j$JOBS || error_msg $1 + make -j$JOBS $4|| error_msg $1 echo $2>all_done fi } @@ -213,20 +238,13 @@ function doSed fi } -function downloadLighthouseSource -{ - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT - pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -d qt-src ] - then - git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone android-qt" - fi +function cloneCheckoutKDEGitRepo #params $1 repo name, $2 branch +{ pushd qt-src - git checkout $CHECKOUT_BRANCH + git checkout $2 git pull popd - popd # Android/Qt/$NECESSITAS_QT_VERSION_SHORT } # $1 is either -d (debug build) or nothing. @@ -234,53 +252,18 @@ function prepareHostQt { # download, compile & install qt, it is used to compile the installer HOST_QT_CONFIG=$1 - if [ ! "$HOST_QT_VERSION" = "lighthouse" ] + if [ ! -d qt-src ] then -# if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] - if [ "1" = "1" ] - then - if [ ! -d $HOST_QT_SRCDIR ] - then - git clone git://gitorious.org/~mingwandroid/qt/mingw-android-official-qt.git $HOST_QT_SRCDIR || error_msg "Can't clone mingw qt" - pushd $HOST_QT_SRCDIR - if [ "$HOST_QT_BRANCH" = "4.8" ] ; then - # TODORMD :: Ask BogDan how to get it setup so "git checkout -b $HOST_QT_BRANCH" works for my 4.8 branch. - git checkout -b 4.8 refs/remotes/origin/4.8 - else - git checkout -b $HOST_QT_BRANCH - fi - popd - fi - else - if [ "$OSTYPE" = "msys" ] ; then - HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.zip - downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE - if [ ! -d $HOST_QT_VERSION ] - then - unzip $HOST_QT_SRC_ARCHIVE || error_msg "Can't unzip $HOST_QT_SRC_ARCHIVE" - fi - else - HOST_QT_SRC_ARCHIVE=$HOST_QT_VERSION_DL.tar.gz - downloadIfNotExists HOST_QT_SRC_ARCHIVE http://get.qt.nokia.com/qt/source/$HOST_QT_SRC_ARCHIVE - if [ ! -d $HOST_QT_VERSION ] - then - tar -xzvf $HOST_QT_SRC_ARCHIVE || error_msg "Can't untar $HOST_QT_SRC_ARCHIVE" - fi - fi - fi - else - downloadLighthouseSource + git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone ${1}" + pushd qt-src + git config --add remote.origin.fetch +refs/upstream/*:refs/remotes/upstream/* + git fetch + popd fi - #build qt statically, needed by Sdk installer - if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - HOST_QT_SRCDIR=lighthouse - fi - mkdir b-$HOST_QT_SRCDIR-st$HOST_QT_CONFIG - pushd b-$HOST_QT_SRCDIR-st$HOST_QT_CONFIG - OPTS_CFG=" -developer-build " + export QT_SRCDIR=$PWD/qt-src + if [ "$HOST_QT_CONFIG" = "-d" ] ; then - STATIC_QT_PATH_DEBUG=$PWD if [ "$OSTYPE" = "msys" ] ; then OPTS_CFG=" -debug " HOST_QT_CFG="CONFIG+=debug" @@ -291,22 +274,23 @@ function prepareHostQt fi fi else - STATIC_QT_PATH=$PWD - STATIC_QT_PATH_DEBUG=$PWD - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - OPTS_CFG=" -release " - HOST_QT_CFG="CONFIG+=release" - fi + OPTS_CFG=" -release " + HOST_QT_CFG="CONFIG+=release QT+=network" fi + + # Even on Linux, static Qt 4.8 doesn't build! + mkdir static-build$HOST_QT_CONFIG + pushd static-build$HOST_QT_CONFIG + STATIC_QT_PATH=$PWD if [ ! -f all_done ] then + pushd $QT_SRCDIR + git checkout $HOST_QT_BRANCH + git pull + popd rm -fr * - if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - else - ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -qt-sql-sqlite -plugin-sql-sqlite -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - fi + $QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -qt-zlib -no-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile static $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. @@ -318,17 +302,17 @@ function prepareHostQt popd #build qt shared, needed by QtCreator - mkdir b-$HOST_QT_SRCDIR-sh$HOST_QT_CONFIG - pushd b-$HOST_QT_SRCDIR-sh$HOST_QT_CONFIG + mkdir shared-build$HOST_QT_CONFIG + pushd shared-build$HOST_QT_CONFIG SHARED_QT_PATH=$PWD if [ ! -f all_done ] then + pushd $QT_SRCDIR + git checkout $HOST_QT_BRANCH + git pull + popd rm -fr * - if [ "$HOST_QT_VERSION" = "lighthouse" ] ; then - ../Android/Qt/4762/qt-src/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - else - ../$HOST_QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - fi + $QT_SRCDIR/configure $HOST_CFG_OPTIONS -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" doMake "Can't compile shared $HOST_QT_VERSION" "all done" ma-make if [ "$OSTYPE" = "msys" ]; then # Horrible; need to fix this properly. @@ -338,23 +322,24 @@ function prepareHostQt fi fi popd + } function prepareSdkInstallerTools { # get installer source code - SDK_TOOLS_PATH=$PWD/necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG/installerbuilder/bin - if [ ! -d necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG ] + SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin + if [ ! -d necessitas-installer-framework ] then - git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG || error_msg "Can't clone necessitas-installer-framework" + git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework || error_msg "Can't clone necessitas-installer-framework" fi - pushd necessitas-installer-framework-$HOST_QT_BRANCH$HOST_QT_CONFIG/installerbuilder + pushd necessitas-installer-framework/installerbuilder git checkout $CHECKOUT_BRANCH git pull if [ ! -f all_done ] then - $STATIC_QT_PATH_DEBUG/bin/qmake CONFIG+=static $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" + $STATIC_QT_PATH/bin/qmake CONFIG+=static $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" doMake "Can't compile necessitas-installer-framework" "all done" ma-make fi popd @@ -380,8 +365,9 @@ function prepareNecessitasQtCreator pushd $QTC_PATH QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG if [ ! -f all_done ] ; then - git checkout 2.3-necessitas + git checkout unstable git pull + export UPDATEINFO_DISABLE=false $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" doMake "Can't compile $QTC_PATH" "all done" ma-make fi @@ -389,18 +375,18 @@ function prepareNecessitasQtCreator export INSTALL_ROOT=$QTC_INST_PATH make install - #download and install sdk-updater-plugin - export QTC_SOURCE=$PWD - downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz - if [ ! -d research-sdk-updater-plugin-master-snapshot-20110524185306 ] - then - tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz - fi - pushd research-sdk-updater-plugin-master-snapshot-20110524185306 - $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" - doMake "Can't compile sdk-updater-plugin" "all done" ma-make - make install - popd +# #download and install sdk-updater-plugin +# export QTC_SOURCE=$PWD +# downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz +# if [ ! -d research-sdk-updater-plugin-master-snapshot-20110524185306 ] +# then +# tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz +# fi +# pushd research-sdk-updater-plugin-master-snapshot-20110524185306 +# $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" +# doMake "Can't compile sdk-updater-plugin" "all done" ma-make +# make install +# popd mkdir -p $QTC_INST_PATH/Qt/imports mkdir -p $QTC_INST_PATH/Qt/plugins @@ -452,7 +438,7 @@ function prepareNecessitasQtCreator find . -name "*$SHLIB_EXT" | xargs $STRIP fi popd - $SDK_TOOLS_PATH/archivegen QtCreator$HOST_QT_CONFIG qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z + createArchive QtCreator$HOST_QT_CONFIG qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data mv qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z popd @@ -566,7 +552,7 @@ function prepareNDKs downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip rm -fr android-ndk-${ANDROID_NDK_VERSION} unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z + createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} @@ -578,7 +564,7 @@ function prepareNDKs downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z + createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} @@ -590,67 +576,79 @@ function prepareNDKs downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 rm -fr android-ndk-${ANDROID_NDK_VERSION} tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z + createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z rm -fr android-ndk-${ANDROID_NDK_VERSION} fi - # mingw android NDKs are only r6 for now, not r6b. - # repack mingw android windows NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - fi - - # repack mingw android mac NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - fi - - # repack mingw android linux-x86 NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z - rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} - fi - - export ANDROID_NDK_HOST=$HOST_TAG_NDK - if [ "$USE_MA_NDK" = "0" ]; then - USED_ANDROID_NDK_VERSION=r6b - else - USED_ANDROID_NDK_VERSION=r6 - fi - - if [ $BUILD_ANDROID_GIT_NDK = 1 ] - then - export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git - export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git - else - export ANDROID_NDK_ROOT=$PWD/android-ndk-${USED_ANDROID_NDK_VERSION} - export ANDROID_NDK_FOLDER_NAME=android-ndk-${USED_ANDROID_NDK_VERSION} - fi +# TODO Ray should uncomment/review it when Linaro toolchain is ready +# if [ $BUILD_ANDROID_GIT_NDK = 1 ] +# then +# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 +# rm -fr android-ndk-${ANDROID_NDK_VERSION} +# tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 +# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z +# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data +# mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z +# rm -fr android-ndk-${ANDROID_NDK_VERSION} +# fi +# +# # mingw android NDKs are only r6 for now, not r6b. +# # repack mingw android windows NDK +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z ] +# then +# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z +# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z +# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z +# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data +# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# fi +# +# # repack mingw android mac NDK +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z ] +# then +# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z +# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z +# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data +# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# fi +# +# # repack mingw android linux-x86 NDK +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z ] +# then +# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z +# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z +# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data +# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z +# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} +# fi +# +# export ANDROID_NDK_HOST=$HOST_TAG_NDK +# if [ "$USE_MA_NDK" = "0" ]; then +# ANDROID_NDK_VERSION=r6b +# else +# ANDROID_NDK_VERSION=r6 +# fi +# +# if [ $BUILD_ANDROID_GIT_NDK = 1 ] +# then +# export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git +# export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git +# else + export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION} + export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} +# fi if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then if [ "$USE_MA_NDK" = "0" ]; then @@ -697,7 +695,7 @@ function prepareNDKs popd rm -fr android_git_ndk mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data - $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION}-git $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z + createArchive android-ndk-${ANDROID_NDK_VERSION}-git $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z fi fi @@ -880,14 +878,15 @@ function prepareGDB OLDPATH=$PATH export PATH=$install_dir/bin/:$PATH if [ -z $GDB_TARG_HOST_TAG ] ; then - CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls + CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls else CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=$HOST --host=$HOST --build=$HOST --disable-nls fi doMake "Can't compile android gdb $GDB_VER" "all done" cp -a gdb/gdb$EXE_EXT $target_dir/ - cp -a gdb/gdbtui$EXE_EXT $target_dir/ -# $STRIP $target_dir/gdb$EXE_EXT .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. +# cp -a gdb/gdbtui$EXE_EXT $target_dir/ + $STRIP $target_dir/gdb$EXE_EXT # .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. +# $STRIP $target_dir/gdbtui$EXE_EXT # .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. export PATH=$OLDPATH popd fi @@ -902,7 +901,7 @@ function prepareGDB find . -name tests | xargs rm -fr popd - $SDK_TOOLS_PATH/archivegen $GDB_FLDR_NAME $GDB_PKG_NAME.7z + createArchive $GDB_FLDR_NAME $GDB_PKG_NAME.7z mkdir -p $package_path mv $GDB_PKG_NAME.7z $package_path/ @@ -937,11 +936,11 @@ function prepareGDBServer pushd gdb-src/build-gdbserver-$GDB_VER mkdir android-sysroot - $CPRL $TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" + $CPRL $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" rm -f android-sysroot/usr/lib/libthread_db* rm -f android-sysroot/usr/include/thread_db.h - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi + TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi OLD_CC="$CC" OLD_CFLAGS="$CFLAGS" @@ -956,7 +955,7 @@ function prepareGDBServer export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" fi - LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x + LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" $GDB_ROOT_PATH/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" @@ -973,7 +972,7 @@ function prepareGDBServer cp gdbserver $PWD/gdbserver-$GDB_VER/gdbserver fi - $SDK_TOOLS_PATH/archivegen gdbserver-$GDB_VER gdbserver-$GDB_VER.7z + createArchive gdbserver-$GDB_VER gdbserver-$GDB_VER.7z mkdir -p $package_path mv gdbserver-$GDB_VER.7z $package_path/ @@ -982,22 +981,6 @@ function prepareGDBServer popd #gdb-build } -function repackSDK -{ - package_name=${4//-/_} # replace - with _ - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] - then - downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip - unzip $1.zip - mkdir -p $3 - mv $1 $3/$4 - $SDK_TOOLS_PATH/archivegen $3 $2.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data - mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z - rm -fr $3 - fi -} - function prepareGDBVersion { GDB_VER=$1 @@ -1020,46 +1003,82 @@ function prepareGDBVersion fi } +function repackSDK +{ + package_name=${4//-/_} # replace - with _ + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] + then + downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip + rm -fr temp_repack + mkdir temp_repack + pushd temp_repack + unzip ../$1.zip + mv * temp_name + mkdir -p $3 + mv temp_name $3/$4 + createArchive $3 $2.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data + mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z + popd + rm -fr temp_repack + fi +} + +function repackSDKPlatform-tools +{ + package_name=${4//-/_} # replace - with _ + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] + then + downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip + rm -fr android-sdk + unzip $1.zip + mkdir -p $3 + mv $4 $3/$4 + createArchive $3 $2.7z + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data + mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z + rm -fr $3 + fi +} + + function prepareSDKs { echo "prepare SDKs" - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z ] then - downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz - if [ ! -d android-sdk-linux_x86 ] - then - tar -xzvf android-sdk_${ANDROID_SDK_VERSION}-linux_x86.tgz - fi - $SDK_TOOLS_PATH/archivegen android-sdk-linux_x86 android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z + rm -fr android-sdk + downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-linux.tgz http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-linux.tgz + tar -xzvf android-sdk_${ANDROID_SDK_VERSION}-linux.tgz + mv android-sdk-linux android-sdk + createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-linux.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-linux_x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux_x86.7z - rm -fr android-sdk-linux_x86 + mv android-sdk_${ANDROID_SDK_VERSION}-linux.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z + rm -fr android-sdk fi - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z ] + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-macosx.7z ] then - downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip - if [ ! -d android-sdk-mac_x86 ] - then - unzip android-sdk_${ANDROID_SDK_VERSION}-mac_x86.zip - fi - $SDK_TOOLS_PATH/archivegen android-sdk-mac_x86 android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z + rm -fr android-sdk + downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-macosx.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-macosx.zip + unzip android-sdk_${ANDROID_SDK_VERSION}-macosx.zip + mv android-sdk-macosx android-sdk + createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-macosx.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-mac_x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-mac_x86.7z - rm -fr android-sdk-mac_x86 + mv android-sdk_${ANDROID_SDK_VERSION}-macosx.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-macosx.7z + rm -fr android-sdk fi if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] then + rm -fr android-sdk downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-windows.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-windows.zip - if [ ! -d android-sdk-windows ] - then - unzip android-sdk_${ANDROID_SDK_VERSION}-windows.zip - fi - $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk_${ANDROID_SDK_VERSION}-windows.7z + unzip android-sdk_${ANDROID_SDK_VERSION}-windows.zip + mv android-sdk-windows android-sdk + createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-windows.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data mv android-sdk_${ANDROID_SDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z - rm -fr android-sdk-windows + rm -fr android-sdk fi if [ "$OSTYPE" = "msys" ] @@ -1071,68 +1090,68 @@ function prepareSDKs gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O2 -o android.exe popd mkdir -p android-sdk-windows/tools/ - cp android-various/android-sdk/android.exe android-sdk-windows/tools/ - $SDK_TOOLS_PATH/archivegen android-sdk-windows android-sdk-windows-tools-mingw-android.7z + cp android-various/android-sdk/android.exe android-sdk/tools/ + createArchive android-sdk-windows android-sdk-windows-tools-mingw-android.7z mv android-sdk-windows-tools-mingw-android.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z rm -rf android-various fi fi - # repack platform-tools - repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux android-sdk-linux_x86 platform-tools - repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx android-sdk-mac_x86 platform-tools - # should we also include ant binary for windows ? - repackSDK platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows android-sdk-windows platform-tools + # repack platform-tools + repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux android-sdk platform-tools + repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx android-sdk platform-tools + repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows android-sdk platform-tools # repack api-4 - repackSDK android-${ANDROID_API_4_VERSION}-linux android-${ANDROID_API_4_VERSION}-linux android-sdk-linux_x86/platforms android-4 - repackSDK android-${ANDROID_API_4_VERSION}-macosx android-${ANDROID_API_4_VERSION}-macosx android-sdk-mac_x86/platforms android-4 - repackSDK android-${ANDROID_API_4_VERSION}-windows android-${ANDROID_API_4_VERSION}-windows android-sdk-windows/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-linux android-${ANDROID_API_4_VERSION}-linux android-sdk/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-macosx android-${ANDROID_API_4_VERSION}-macosx android-sdk/platforms android-4 + repackSDK android-${ANDROID_API_4_VERSION}-windows android-${ANDROID_API_4_VERSION}-windows android-sdk/platforms android-4 # repack api-5 - repackSDK android-${ANDROID_API_5_VERSION}-linux android-${ANDROID_API_5_VERSION}-linux android-sdk-linux_x86/platforms android-5 - repackSDK android-${ANDROID_API_5_VERSION}-macosx android-${ANDROID_API_5_VERSION}-macosx android-sdk-mac_x86/platforms android-5 - repackSDK android-${ANDROID_API_5_VERSION}-windows android-${ANDROID_API_5_VERSION}-windows android-sdk-windows/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-linux android-${ANDROID_API_5_VERSION}-linux android-sdk/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-macosx android-${ANDROID_API_5_VERSION}-macosx android-sdk/platforms android-5 + repackSDK android-${ANDROID_API_5_VERSION}-windows android-${ANDROID_API_5_VERSION}-windows android-sdk/platforms android-5 # repack api-6 - repackSDK android-${ANDROID_API_6_VERSION}-linux android-${ANDROID_API_6_VERSION}-linux android-sdk-linux_x86/platforms android-6 - repackSDK android-${ANDROID_API_6_VERSION}-macosx android-${ANDROID_API_6_VERSION}-macosx android-sdk-mac_x86/platforms android-6 - repackSDK android-${ANDROID_API_6_VERSION}-windows android-${ANDROID_API_6_VERSION}-windows android-sdk-windows/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-linux android-${ANDROID_API_6_VERSION}-linux android-sdk/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-macosx android-${ANDROID_API_6_VERSION}-macosx android-sdk/platforms android-6 + repackSDK android-${ANDROID_API_6_VERSION}-windows android-${ANDROID_API_6_VERSION}-windows android-sdk/platforms android-6 # repack api-7 - repackSDK android-${ANDROID_API_7_VERSION}-linux android-${ANDROID_API_7_VERSION}-linux android-sdk-linux_x86/platforms android-7 - repackSDK android-${ANDROID_API_7_VERSION}-macosx android-${ANDROID_API_7_VERSION}-macosx android-sdk-mac_x86/platforms android-7 - repackSDK android-${ANDROID_API_7_VERSION}-windows android-${ANDROID_API_7_VERSION}-windows android-sdk-windows/platforms android-7 + repackSDK android-${ANDROID_API_7_VERSION}-linux android-${ANDROID_API_7_VERSION} android-sdk/platforms android-7 # repack api-8 - repackSDK android-${ANDROID_API_8_VERSION}-linux android-${ANDROID_API_8_VERSION}-linux android-sdk-linux_x86/platforms android-8 - repackSDK android-${ANDROID_API_8_VERSION}-macosx android-${ANDROID_API_8_VERSION}-macosx android-sdk-mac_x86/platforms android-8 - repackSDK android-${ANDROID_API_8_VERSION}-windows android-${ANDROID_API_8_VERSION}-windows android-sdk-windows/platforms android-8 + repackSDK android-${ANDROID_API_8_VERSION}-linux android-${ANDROID_API_8_VERSION} android-sdk/platforms android-8 # repack api-9 - repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-linux android-sdk-linux_x86/platforms android-9 - repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-macosx android-sdk-mac_x86/platforms android-9 - repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION}-windows android-sdk-windows/platforms android-9 + repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION} android-sdk/platforms android-9 # repack api-10 - repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-linux android-sdk-linux_x86/platforms android-10 - repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-macosx android-sdk-mac_x86/platforms android-10 - repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION}-windows android-sdk-windows/platforms android-10 + repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION} android-sdk/platforms android-10 # repack api-11 - repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-linux android-sdk-linux_x86/platforms android-11 - repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-macosx android-sdk-mac_x86/platforms android-11 - repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION}-windows android-sdk-windows/platforms android-11 + repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION} android-sdk/platforms android-11 # repack api-12 - repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-linux android-sdk-linux_x86/platforms android-12 - repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-macosx android-sdk-mac_x86/platforms android-12 - repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION}-windows android-sdk-windows/platforms android-12 + repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION} android-sdk/platforms android-12 # repack api-13 - repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-linux android-sdk-linux_x86/platforms android-13 - repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-macosx android-sdk-mac_x86/platforms android-13 - repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION}-windows android-sdk-windows/platforms android-13 + repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION} android-sdk/platforms android-13 + + # repack api-14 + repackSDK android-${ANDROID_API_14_VERSION} android-${ANDROID_API_14_VERSION} android-sdk/platforms android-14 + if [ "$OSTYPE" = "linux-gnu" ] ; then + if [ ! -d android-sdk-linux/platform-tools ] + then + rm -fr android-sdk-linux + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_14/data/android-${ANDROID_API_14_VERSION}.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_8/data/android-${ANDROID_API_8_VERSION}.7z + fi + export ANDROID_SDK_TOOLS_PATH=$PWD/android-sdk/tools/ + export ANDROID_SDK_PLATFORM_TOOLS_PATH=$PWD/android-sdk/platform-tools/ + fi } function patchQtFiles @@ -1148,7 +1167,7 @@ function patchQtFiles cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ fi echo files_to_patch > qpatch.cmdline - echo /data/data/eu.licentia.necessitas.ministro/files/qt >> qpatch.cmdline + echo /data/data/org.kde.necessitas.ministro/files/qt >> qpatch.cmdline echo $PWD >> qpatch.cmdline echo . >> qpatch.cmdline # $QPATCH_PATH @qpatch.cmdline @@ -1173,7 +1192,7 @@ function packSource echo cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ pushd $TEMP_PATH/source_temp_path - $SDK_TOOLS_PATH/archivegen Android $1.7z + createArchive Android $1.7z mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data mv $1.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data/$1.7z popd @@ -1191,75 +1210,85 @@ function packSource rm -fr $TEMP_PATH/source_temp_path } -function compileNecessitasQt + +function compileNecessitasQt #params $1 architecture, $2 package path, $3 NDK_TARGET, $4 android architecture { package_name=${1//-/_} # replace - with _ - # Only android-ndk-r6/platforms/android-9/arch-$ARCH/usr/lib (yes both arm and x86) contains crtbegin_so.o, it's missing on - # other platforms; this file also exists in android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/sysroot/usr/lib - # but not in the x86 equivalent, so for now, build it all for 9). - NDK_TARGET=9 - # NQT_INSTALL_DIR=/data/data/eu.licentia.necessitas.ministro/files/qt + NDK_TARGET=$3 + ANDROID_ARCH=$1 + if [ ! -z $4 ] ; then + ANDROID_ARCH=$4 + fi + # NQT_INSTALL_DIR=/data/data/org.kde.necessitas.ministro/files/qt NQT_INSTALL_DIR=$PWD/install if [ ! -f all_done ] then - pushd ../qt-src - git checkout experimental - git pull - mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ - # The examples need qtmain_android.cpp in the install dir. - cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ - popd - ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${USED_ANDROID_NDK_VERSION} -a $1 -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" + pushd ../qt-src + git checkout -f mkspecs + mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ + # The examples need qtmain_android.cpp in the install dir. + cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ + popd + ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $ANDROID_ARCH -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" echo "all done">all_done fi - if [ $package_name = "armeabi_v7a" ] + rm -fr install + rm -fr Android + export INSTALL_ROOT="" + make QtJar + ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 0 -q 0 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $ANDROID_ARCH -b 0 -k 1 -i $NQT_INSTALL_DIR || error_msg "Can't install android-qt" + + doSed $"s/= android-5/= android-${NDK_TARGET}/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= android-5/= android-${NDK_TARGET}/g" install/mkspecs/default/qmake.conf + if [ $ANDROID_ARCH = "armeabi-v7a" ] then - doSed $"s/= armeabi/= armeabi-v7a/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/default/qmake.conf else - doSed $"s/= armeabi-v7a/= armeabi/g" mkspecs/android-g++/qmake.conf - doSed $"s/= android-4/= android-$NDK_TARGET/g" install/mkspecs/android-g++/qmake.conf + if [ $ANDROID_ARCH = "x86" ] + then + doSed $"s/= armeabi/= x86/g" install/mkspecs/android-g++/qmake.conf + doSed $"s/= armeabi/= x86/g" install/mkspecs/default/qmake.conf + fi fi - rm -fr install - export INSTALL_ROOT="" - make install -# doMakeInstall "Failed to make-install Qt Android $package_name" make mkdir -p $2/$1 cp -rf $NQT_INSTALL_DIR/bin $2/$1 - $SDK_TOOLS_PATH/archivegen Android qt-tools-${HOST_TAG}.7z + createArchive Android qt-tools-${HOST_TAG}.7z rm -fr $2/$1/bin mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data mv qt-tools-${HOST_TAG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z cp -rf $NQT_INSTALL_DIR/* $2/$1 cp -rf ../qt-src/lib/*.xml $2/$1/lib/ - $SDK_TOOLS_PATH/archivegen Android qt-framework.7z + cp -rf jar $2/$1/ + rm -fr $2/$1/bin + createArchive Android qt-framework.7z mv qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z # Not sure why we're using a different qt-framework package for Windows. cp $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z + rm -fr ../install-$1 + cp -a install ../install-$1 # patchQtFiles } function prepareNecessitasQt { - downloadLighthouseSource - + mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] + if [ ! -d qt-src ] then - mkdir build-x86 - pushd build-x86 - compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-x86 + git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone ${1}" fi + cloneCheckoutKDEGitRepo android-qt $CHECKOUT_BRANCH + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] then mkdir build-armeabi pushd build-armeabi - compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT + compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT 5 popd #build-armeabi fi @@ -1267,10 +1296,26 @@ function prepareNecessitasQt then mkdir build-armeabi-v7a pushd build-armeabi-v7a - compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT + compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT 5 popd #build-armeabi-v7a fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_android_4/data/qt-tools-${HOST_TAG}.7z ] + then + mkdir build-armeabi-android-4 + pushd build-armeabi-android-4 + compileNecessitasQt armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT 4 armeabi + popd #build-armeabi + fi +# Enable it when QtCreator is ready +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] +# then +# mkdir build-x86 +# pushd build-x86 +# compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT 9 +# popd #build-x86 +# fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/qt-src.7z ] then packSource qt-src @@ -1288,8 +1333,7 @@ function compileNecessitasQtMobility git checkout $CHECKOUT_BRANCH git pull popd -# ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $PWD/../build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" - ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" + ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" doMake "Can't compile android-qtmobility" "all done" ma-make fi package_name=${1//-/_} # replace - with _ @@ -1300,11 +1344,9 @@ function compileNecessitasQtMobility mkdir -p $2/$1 mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data mv $PWD/install/* $2/$1 - cp -a $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 - rm -fr $PWD/$TEMP_PATH - $SDK_TOOLS_PATH/archivegen Android qtmobility.7z + createArchive Android qtmobility.7z mv qtmobility.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z - cp -a $2/$1/* ../build-$1 + cp -a $2/$1/* ../install-$1 # copy files to ministro repository # pushd ../build-$1 # patchQtFiles # popd @@ -1349,7 +1391,7 @@ function prepareNecessitasQtMobility function compileNecessitasQtWebkit { export ANDROID_TARGET_ARCH=$1 - export SQLITE3SRCDIR=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/qt-src/src/3rdparty/sqlite + export SQLITE3SRCDIR=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/qt-src/src/3rdparty/sqlite if [ ! -f all_done ] then if [ "$OSTYPE" = "msys" ] ; then @@ -1376,7 +1418,7 @@ function compileNecessitasQtWebkit fi export WEBKITOUTPUTDIR=$PWD echo "doing perl" - ../qtwebkit-src/WebKitTools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" + ../qtwebkit-src/Tools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" echo "all done">all_done fi package_name=${1//-/_} # replace - with _ @@ -1388,11 +1430,11 @@ function compileNecessitasQtWebkit rm -fr $2 mkdir -p $2/$1 mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data - mv $PWD/$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/* $2/$1 + mv $PWD/$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/* $2/$1 pushd $2/$1 - qt_build_path=$TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1 + qt_build_path=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install qt_build_path=${qt_build_path//\//\\\/} - sed_cmd="s/$qt_build_path/\/data\/data\/eu.licentia.necessitas.ministro\/files\/qt/g" + sed_cmd="s/$qt_build_path/\/data\/data\/org.kde.necessitas.ministro\/files\/qt/g" if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then find . -name *.pc | xargs sed -i '.bak' $sed_cmd find . -name *.pc.bak | xargs rm -f @@ -1401,9 +1443,9 @@ function compileNecessitasQtWebkit fi popd rm -fr $PWD/$TEMP_PATH - $SDK_TOOLS_PATH/archivegen Android qtwebkit.7z + createArchive Android qtwebkit.7z mv qtwebkit.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z - cp -a $2/$1/* ../build-$1/ + cp -a $2/$1/* ../install-$1/ # pushd ../build-$1 # patchQtFiles # popd @@ -1457,9 +1499,9 @@ function prepareOpenJDK if [ "$OSTYPE" = "msys" -o "$WINE" = "1" ] ; then downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe rm -rf openjdk6b21-windows - oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows + wine oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows pushd openjdk6b21-windows - $SDK_TOOLS_PATH/archivegen openjdk-6.0.21 openjdk-windows.7z + createArchive openjdk-6.0.21 openjdk-windows.7z mv openjdk-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ popd fi @@ -1470,16 +1512,15 @@ function prepareOpenJDK ar x openjdk-1.6.0-b21.i386.openscg.deb tar xzf data.tar.gz pushd opt - $SDK_TOOLS_PATH/archivegen openjdk openjdk-linux-x86.7z + createArchive openjdk openjdk-linux-x86.7z mv openjdk-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ popd - tar fi if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then downloadIfNotExists oscg-openjdk6b16-5a-osx-installer.zip http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b16-5a-osx-installer.zip unzip -o oscg-openjdk6b16-5a-osx-installer.zip - $SDK_TOOLS_PATH/archivegen oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z + createArchive oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z mv openjdk-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ fi @@ -1488,13 +1529,16 @@ function prepareOpenJDK function prepareAnt { + mkdir ant + pushd ant if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ant.7z ] ; then mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data downloadIfNotExists apache-ant-1.8.2-bin.tar.bz2 http://mirror.ox.ac.uk/sites/rsync.apache.org//ant/binaries/apache-ant-1.8.2-bin.tar.bz2 tar xjvf apache-ant-1.8.2-bin.tar.bz2 - $SDK_TOOLS_PATH/archivegen apache-ant-1.8.2 ant.7z + createArchive apache-ant-1.8.2 ant.7z mv ant.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ fi + popd } function patchPackages @@ -1554,13 +1598,38 @@ function setPackagesVariables patchPackage "@@ANDROID_API_11_VERSION@@" $ANDROID_API_11_VERSION "org.kde.necessitas.misc.sdk.android_11" patchPackage "@@ANDROID_API_12_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_12" patchPackage "@@ANDROID_API_13_VERSION@@" $ANDROID_API_13_VERSION "org.kde.necessitas.misc.sdk.android_13" + patchPackage "@@ANDROID_API_14_VERSION@@" $ANDROID_API_14_VERSION "org.kde.necessitas.misc.sdk.android_14" patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" + +# patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" $ANDROID_SDK_VERSION +# patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" $ANDROID_SDK_VERSION +# patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" $ANDROID_SDK_VERSION +# patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" $ANDROID_SDK_VERSION + } function prepareSDKBinary { $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_PATH_PACKAGES -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas + mkdir sdkmaintenance + pushd sdkmaintenance + rm -fr *.7z + if [ "$OSTYPE" = "msys" ] ; then + mkdir temp + cp -a $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT temp/SDKMaintenanceToolBase.exe + createArchive temp sdkmaintenance-windows.7z + else + cp -a $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT .tempSDKMaintenanceTool + if [ "$OSTYPE" = "linux-gnu" ] ; then + createArchive . sdkmaintenance-linux-x86.7z + else + createArchive . sdkmaintenance-darwin-x86.7z + fi + fi + mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.tools.sdkmaintenance/data/ + cp -f *.7z $REPO_PATH_PACKAGES/org.kde.necessitas.tools.sdkmaintenance/data/ + popd } function prepareSDKRepository @@ -1582,7 +1651,7 @@ function prepareMinistroRepository do rm -fr $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION - pushd $TEMP_PATH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$architecture || error_msg "Can't prepare ministro repo, Android Qt not built?" + pushd $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/install-$architecture || error_msg "Can't prepare ministro repo, Android Qt not built?" rm -fr Android for lib in `find . -name *.so` do @@ -1618,7 +1687,7 @@ function packforWindows rm -fr Android_old find -name *.so.4* | xargs rm -fr find -name *.so.1* | xargs rm -fr - $SDK_TOOLS_PATH/archivegen Android $1/$2-windows.7z + createArchive Android $1/$2-windows.7z -l popd rm -fr $TEMP_PATH/packforWindows } @@ -1682,15 +1751,17 @@ if [ "$OSTYPE" = "msys" ] ; then fi prepareHostQt prepareSdkInstallerTools -prepareOpenJDK -prepareAnt prepareNDKs -prepareGDBVersion head $HOST_TAG -prepareGDBVersion head prepareSDKs +# prepareOpenJDK +prepareAnt prepareNecessitasQtCreator +# prepareGDBVersion head $HOST_TAG +prepareGDBVersion 7.3 +# prepareGDBVersion head +mkdir $CHECKOUT_BRANCH +pushd $CHECKOUT_BRANCH prepareNecessitasQt - # TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) # git clone often fails for webkit # Webkit is broken currently. @@ -1700,7 +1771,9 @@ if [ "$OSTYPE" != "msys" ] ; then prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' fi -prepareWindowsPackages +popd + +#prepareWindowsPackages setPackagesVariables prepareSDKBinary @@ -1712,7 +1785,9 @@ if [ "$MAKE_DEBUG_HOST_APPS" = "1" ] ; then prepareSDKBinary fi +removeUnusedPackages + prepareSDKRepository -prepareMinistroRepository +#prepareMinistroRepository popd diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index 4931289..aeb2d07 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -12,8 +12,8 @@ SDKMaintenanceTool - http://files.kde.org/necessitas/sdk - + http://files.kde.org/necessitas/test + true diff --git a/Necessitas_SDK/config/watermark.png b/Necessitas_SDK/config/watermark.png index 47bac13..add2e74 100644 Binary files a/Necessitas_SDK/config/watermark.png and b/Necessitas_SDK/config/watermark.png differ diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml index 2a440dc..1081ca3 100644 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ b/Necessitas_SDK/ministrorepogen/rules.xml @@ -9,6 +9,8 @@ + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs index 2fd0ed2..48f5c8c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs @@ -44,11 +44,12 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch", qtPath ); - component.addOperation( "RegisterQtInCreator", - "@TargetDir@", + component.addOperation( "QtPatch2", qtPath ); + component.addOperation( "RegisterQtInCreatorV23", "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv5", - qtPath ); + qtPath, + "Android", + "Android_Platform_API_5_ARMv5"); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index 3bb6a48..f21a97d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,11 +1,12 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi + Qt @@NECESSITAS_QT_VERSION@@-armeabi API 5+ Development libraries for development applications on Android devices, armeabi architecture. @@NECESSITAS_QT_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.armeabi + true 0 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs new file mode 100644 index 0000000..16610a2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs @@ -0,0 +1,59 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "qt-framework.7z" ); + component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qt-framework-windows.7z" ); + component.addDownloadableArchive( "qt-tools-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "qt-framework.7z" ); + component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-android-4"; + component.addOperation( "QtPatch2", qtPath ); + + component.addOperation( "RegisterQtInCreatorV23", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android API 4+ armv5", + qtPath, + "Android", + "Android_Platform_API_4_ARMv5"); + } + catch( e ) + { + print( e ); + } +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml new file mode 100644 index 0000000..6529b3d --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml @@ -0,0 +1,11 @@ + + + Qt @@NECESSITAS_QT_VERSION@@-armeabi for Android API 4+ + Development libraries for development applications on Android API+ devices, armeabi architecture. This package desn't support OpenGL, if you need it pllease consider to use API 5+ package + @@NECESSITAS_QT_VERSION@@ + @@TODAY@@ + org.kde.necessitas.android.qt.armeabi_android_4 + + 0 + 0 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs index e206cf5..fdbb979 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs @@ -44,11 +44,12 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch", qtPath ); - component.addOperation( "RegisterQtInCreator", - "@TargetDir@", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7", - qtPath ); + component.addOperation( "QtPatch2", qtPath ); + component.addOperation( "RegisterQtInCreatorV23", + "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7a", + qtPath, + "Android", + "Android_Platform_API_5_ARMv7a"); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 27ebe6c..5d5fb9a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,11 +1,12 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a + Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a API 5+ Development libraries for development applications on Android devices, armeabi_v7a architecture. @@NECESSITAS_QT_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.armeabi_v7a + true 0 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index 3817efc..2ec8ca0 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -36,8 +36,10 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); + component.addOperation( "RegisterPersistentSettings", + "source_mapping.xml", + "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", + "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs index 8910d5e..3259d9c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs @@ -44,11 +44,12 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/x86"; - component.addOperation( "QtPatch", qtPath ); - component.addOperation( "RegisterQtInCreator", - "@TargetDir@", + component.addOperation( "QtPatch2", qtPath ); + component.addOperation( "RegisterQtInCreatorV23", "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android x86", - qtPath ); + qtPath, + "Android", + "Android_Platform_API_9_x86"); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml index 385a6a8..80638fc 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml @@ -6,6 +6,7 @@ @@TODAY@@ org.kde.necessitas.android.qt.x86 + true 0 0
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs index 0d1e8d2..3d0e487 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index a98fbe6..57d4c63 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -5,9 +5,9 @@ @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi - org.kde.necessitas.android.qt.armeabi - org.kde.necessitas.android.qtwebkit.armeabi + org.kde.necessitas.android.qt.armeabi,org.kde.necessitas.android.qtwebkit.armeabi + true 2 2
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs index 46d4814..e06cc67 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index d149833..7e3f341 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -5,9 +5,9 @@ @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_v7a - org.kde.necessitas.android.qt.armeabi_v7a - org.kde.necessitas.android.qtwebkit.armeabi_v7a + org.kde.necessitas.android.qt.armeabi_v7a,org.kde.necessitas.android.qtwebkit.armeabi_v7a + true 2 2
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 836b44b..95aa240 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -36,8 +36,10 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); + component.addOperation( "RegisterPersistentSettings", + "source_mapping.xml", + "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", + "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs index a8caf6e..bdf0844 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index cd96408..449222e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -7,6 +7,7 @@ org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi + true 1 1
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs index ce7cea1..534dab2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs @@ -37,7 +37,7 @@ Component.prototype.createOperations = function() { component.createOperations(); var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch", qtPath, "/data/data/eu.licentia.necessitas.ministro/files/qt" ); + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index 49380c8..25e7885 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -7,6 +7,7 @@ org.kde.necessitas.android.qtwebkit.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a + true 1 1
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index d0eda00..1543d19 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -36,8 +36,10 @@ Component.prototype.createOperations = function() try { component.createOperations(); - var qtPath = ""; - component.addOperation( "RegisterQtCreatorSourceMapping", "@TargetDir@", "@@TEMP_PATH@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); + component.addOperation( "RegisterPersistentSettings", + "source_mapping.xml", + "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", + "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); } catch( e ) { diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs index 75fc78c..23df821 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs @@ -45,9 +45,28 @@ Component.prototype.createOperations = function() // Call the base createOperations(unpacking ...) component.createOperations(); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "AntLocation", "@TargetDir@/apache-ant-1.8.2/bin/"+OsToAnt() ); } + +Component.prototype.isDefault = function() +{ + if (installer.value("os") == "x11" || installer.value("os") == "mac") + { + ant = installer.execute( "/usr/bin/which", new Array( "ant" ) )[0]; + if (!ant) + { + return true; + } + else + { + return false; + } + } + else + { + return true; + } +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml index b53b0f7..7bc0bc2 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml @@ -1,12 +1,12 @@ Apache Ant - Apache Ant Build Tool + Apache Ant Build Tool, you need it ONLY if you don't have it already installed. 1.8.2 @@TODAY@@ org.kde.necessitas.misc.ant - 99999 + script + 99 94 - false diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs index 404e972..aea8e0f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs @@ -50,15 +50,13 @@ Component.prototype.createOperations = function() pythonPath+=".exe"; } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbLocation", gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbserverLocation", gdbserverPath ); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml index 3ae23bd..f179f6d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -6,7 +6,7 @@ @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_7_3 - 99999 - 94 - false + true + 99 + 99
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs index b5cc95c..5201c63 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs @@ -50,15 +50,13 @@ Component.prototype.createOperations = function() pythonPath+=".exe"; } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbLocation", gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbserverLocation", gdbserverPath ); diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs index 933e48d..b41e56c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs @@ -40,15 +40,13 @@ Component.prototype.createOperations = function() // Call the base createOperations(unpacking ...) component.createOperations(); // set NDK Location - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "NDKLocation", "@TargetDir@/android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@" ); // set NDK toolchain version - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "NDKToolchainVersion", "arm-linux-androideabi-4.4.3" ); @@ -68,14 +66,12 @@ Component.prototype.createOperations = function() gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbLocation", gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbserverLocation", gdbserverPath ); } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs index 089af39..c6f9e7f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs @@ -40,18 +40,16 @@ Component.prototype.createOperations = function() // Call the base createOperations(unpacking ...) component.createOperations(); // set NDK Location - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "NDKLocation", "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); // set NDK toolchain version - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "NDKToolchainVersion", "arm-linux-androideabi-4.4.3" ); - +/* // set DEFAULT gdb location var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; @@ -68,14 +66,13 @@ Component.prototype.createOperations = function() gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbLocation", gdbPath ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "GdbserverLocation", gdbserverPath ); +*/ } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index db7a70a..298c5fb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -7,6 +7,7 @@ org.kde.necessitas.misc.ndk.@@ANDROID_NDK_MAJOR_VERSION@@ org.kde.necessitas.tools.qtcreator + true 90 90
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs index 59ec934..7ac66e9 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs @@ -61,9 +61,8 @@ Component.prototype.createOperations = function() // Call the base createOperations(unpacking ...) component.createOperations(); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + component.addOperation( "RegisterPersistentSettings", + "android.xml", "OpenJDKLocation", "@TargetDir@/openjdk/"+OsToTargetDir() ); } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs index 201d26a..f2acd83 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml index 5ca0e04..67c5015 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml @@ -5,7 +5,7 @@ @@ANDROID_API_10_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_10 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools + true
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs index 798b6f9..f4aa4f7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml index a09fadf..21be9a4 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_11_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_11 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs index 037c11c..8dbb2d7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml index e4b0565..918376a 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_12_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_12 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs index b76137b..f6466c5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml index c2670c2..6cd110c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_13_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_13 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs new file mode 100644 index 0000000..4e4a3c0 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs @@ -0,0 +1,31 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + component.addDownloadableArchive( "android-@@ANDROID_API_14_VERSION@@.7z" ); + } +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml new file mode 100644 index 0000000..b76328b --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml @@ -0,0 +1,10 @@ + + + API 14 + Android SDK API 14 (@@ANDROID_API_14_VERSION@@) + @@ANDROID_API_14_VERSION@@ + @@TODAY@@ + org.kde.necessitas.misc.sdk.android_14 + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools + + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml index 240443d..b6dbbc3 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_4_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_4 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml index 3fc687c..a229ae7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_5_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_5 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml index 983d20b..87fd190 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_6_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_6 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs index 7e369f4..d4ef563 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs @@ -20,24 +20,11 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@.7z" ); } } Component.prototype.createOperations = function() { - // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml index c107f46..b531b01 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml @@ -5,7 +5,7 @@ @@ANDROID_API_7_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_7 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools + true
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs index 317d11b..c078f4f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml index a597d1f..2b097c5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml @@ -5,7 +5,7 @@ @@ANDROID_API_8_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_8 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools + true
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs index 6b3a0c7..bdb00fa 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs @@ -20,18 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@-macosx.7z" ); - } + component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml index b6384c9..102172f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml @@ -5,7 +5,6 @@ @@ANDROID_API_9_VERSION@@ @@TODAY@@ org.kde.necessitas.misc.sdk.android_9 - org.kde.necessitas.misc.sdk.base - org.kde.necessitas.misc.sdk.platform_tools + org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs index a1c153b..453f6aa 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs @@ -22,7 +22,7 @@ function Component() { if (installer.value("os") == "x11") { - component.addDownloadableArchive( "android-sdk-linux_x86.7z" ); + component.addDownloadableArchive( "android-sdk-linux.7z" ); } else if (installer.value("os") == "win") { @@ -30,7 +30,7 @@ function Component() } else if (installer.value("os") == "mac") { - component.addDownloadableArchive( "android-sdk-mac_x86.7z" ); + component.addDownloadableArchive( "android-sdk-macosx.7z" ); } } } @@ -39,25 +39,10 @@ Component.prototype.createOperations = function() { // Call the base createOperations(unpacking ...) component.createOperations(); - // set SDK Location - var sdkPath; - if (installer.value("os") == "x11") - { - sdkPath="@TargetDir@/android-sdk-linux_x86"; - } - else if (installer.value("os") == "win") - { - sdkPath="@TargetDir@/android-sdk-windows"; - } - else if (installer.value("os") == "mac") - { - sdkPath="@TargetDir@/android-sdk-mac_x86"; - } - - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", + // set SDK Location + component.addOperation( "RegisterPersistentSettings", + "android.xml", "SDKLocation", - sdkPath ); + "@TargetDir@/android-sdk" ); } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml index b02c7df..35ef6cb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml @@ -6,4 +6,5 @@ @@TODAY@@ org.kde.necessitas.misc.sdk.base + true
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml index 1980a65..c6bff7d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml @@ -7,4 +7,5 @@ org.kde.necessitas.misc.sdk.platform_tools org.kde.necessitas.misc.sdk.base + true
diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs index 8f928f4..bf8991c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs @@ -18,7 +18,6 @@ // constructor function Component() { - installer.installationFinished.connect( this, Component.prototype.installationFinished ); if (installer.value("os") == "win") { component.selectedChanged.connect( this, checkWhetherStopProcessIsNeeded ); @@ -62,134 +61,116 @@ checkWhetherStopProcessIsNeeded = function() } - -Component.prototype.createOperations = function() +registerWindowsFileTypeExtensions = function() { - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); + var headerExtensions = new Array("h", "hh", "hxx", "h++", "hpp", "hpp"); - if (installer.value("os") == "win") { - var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - win_application ); - } else if (installer.value("os") == "x11") { - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - "@TargetDir@/SDKMaintenanceTool" ); - } else if (installer.value("os") == "mac") { - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "Application", - "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); + for (var i = 0; i < headerExtensions.length; ++i) { + component.addOperation( "RegisterFileType", + headerExtensions[i], + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C++ Header file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,3"); } - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "CheckOnlyArgument", - "--checkupdates" ); - component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "Updater", - "RunUiArgument", - "--updater" ); - if ( installer.value("os") == "x11" ) - { -// component.addOperation( "SetPluginPathOnQtCore", -// "@TargetDir@/QtCreator/lib/qtcreator", -// "@TargetDir@/QtCreator/lib/qtcreator/plugins"); + var cppExtensions = new Array("cc", "cxx", "c++", "cp", "cpp"); - component.addOperation( "InstallIcons", "@TargetDir@/QtCreator/icons" ); - component.addOperation( "CreateDesktopEntry", - "Necessitas-qtcreator.desktop", - "Type=Application\nExec=@TargetDir@/QtCreator/bin/necessitas\nPath=@homeDir@\nName=Necessitas Qt Creator\nGenericName=The IDE of choice for development on Android devices.\nIcon=necessitas\nTerminal=false\nCategories=Development;IDE;Qt;\nMimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;" - ); + for (var i = 0; i < cppExtensions.length; ++i) { + component.addOperation( "RegisterFileType", + cppExtensions[i], + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C++ Source file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,2"); } + + component.addOperation( "RegisterFileType", + "c", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "C Source file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,1"); + component.addOperation( "RegisterFileType", + "ui", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt UI file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,4"); + component.addOperation( "RegisterFileType", + "pro", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Project file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,5"); + component.addOperation( "RegisterFileType", + "pri", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Project Include file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); + component.addOperation( "RegisterFileType", + "qs", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Script file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,0"); + component.addOperation( "RegisterFileType", + "qml", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", + "Qt Quick Markup language file", + "", + "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,0"); +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations and afterwards set some registry settings + component.createOperations(); if ( installer.value("os") == "win" ) { component.addOperation( "SetPluginPathOnQtCore", "@TargetDir@/QtCreator/bin", "@TargetDir@/QtCreator/plugins"); + component.addOperation( "SetImportsPathOnQtCore", + "@TargetDir@/QtCreator/bin", + "@TargetDir@/QtCreator/bin"); component.addOperation( "CreateShortcut", "@TargetDir@\\QtCreator\\bin\\qtcreator.exe", "@StartMenuDir@/Qt Creator.lnk", "workingDirectory=@homeDir@" ); - - var headerExtensions = new Array("h", "hh", "hxx", "h++", "hpp", "hpp"); - - for (var i = 0; i < headerExtensions.length; ++i) { - component.addOperation( "RegisterFileType", - headerExtensions[i], - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C++ Header file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,3"); - } - - var cppExtensions = new Array("cc", "cxx", "c++", "cp", "cpp"); - - for (var i = 0; i < cppExtensions.length; ++i) { - component.addOperation( "RegisterFileType", - cppExtensions[i], - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C++ Source file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,2"); - } - - component.addOperation( "RegisterFileType", - "c", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C Source file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,1"); - component.addOperation( "RegisterFileType", - "ui", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt UI file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,4"); - component.addOperation( "RegisterFileType", - "pro", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Project file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,5"); - component.addOperation( "RegisterFileType", - "pri", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Project Include file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); - + registerWindowsFileTypeExtensions(); } -} + if ( installer.value("os") == "x11" ) + { + component.addOperation( "SetPluginPathOnQtCore", + "@TargetDir@/QtCreator/lib/qtcreator", + "@TargetDir@/QtCreator/lib/qtcreator/plugins"); + component.addOperation( "SetImportsPathOnQtCore", + "@TargetDir@/QtCreator/lib/qtcreator", + "@TargetDir@/QtCreator/bin"); -Component.prototype.installationFinished = function() -{ - if (installer.isInstaller() && component.selected) + component.addOperation( "InstallIcons", "@TargetDir@/QtCreator/images" ); + component.addOperation( "CreateDesktopEntry", + "Necessitas-qtcreator.desktop", + "Type=Application\nExec=@TargetDir@/QtCreator/bin/necessitas\nPath=@homeDir@\nName=Necessitas Qt Creator\nGenericName=The IDE of choice for development on Android devices.\nIcon=necessitas\nTerminal=false\nCategories=Development;IDE;Qt;\nMimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;" + ); + } + if (!installer.isUpdater()) { if (installer.value("os") == "win") { installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\qtcreator.exe"); - installer.setValue("RunProgramDescription", "Launch Qt Creator"); } else if (installer.value("os") == "x11") { installer.setValue("RunProgram", installer.value("TargetDir") + "/QtCreator/bin/necessitas"); - installer.setValue("RunProgramDescription", "Launch Qt Creator"); } else if (installer.value("os") == "mac") { installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/QtCreator/bin/NecessitasQtCreator.app/Contents/MacOS/NecessitasQtCreator\""); - installer.setValue("RunProgramDescription", "Launch Qt Creator"); } + installer.setValue("RunProgramDescription", "Launch Qt Creator"); } + } - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml index ee94558..b506582 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml @@ -2,6 +2,7 @@ Necessitas Qt Creator Application The IDE for Qt development on Android devices. + Update to 2.3.1 release @@NECESSITAS_QT_CREATOR_VERSION@@ @@TODAY@@ org.kde.necessitas.tools.qtcreator diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs new file mode 100644 index 0000000..0e54d3c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs @@ -0,0 +1,110 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if ( component.fromOnlineRepository ) + { + if (installer.value("os") == "x11") + { + component.addDownloadableArchive( "sdkmaintenance-linux-x86.7z" ); + } + else if (installer.value("os") == "win") + { + component.addDownloadableArchive( "sdkmaintenance-windows.7z" ); + } + else if (installer.value("os") == "mac") + { + component.addDownloadableArchive( "sdkmaintenance-darwin-x86.7z" ); + } + } + + if (installer.value("os") == "win") { + component.installerbaseBinaryPath = "@TargetDir@/temp/SDKMaintenanceToolBase.exe"; + } + else if (installer.value("os") == "x11" || installer.value("os") == "mac") + { + component.installerbaseBinaryPath = "@TargetDir@/.tempSDKMaintenanceTool"; + } + installer.setInstallerBaseBinary(component.installerbaseBinaryPath); +} + + +Component.prototype.createOperationsForArchive = function(archive) +{ + //installer.performOperation in older versions of the installer framework don't supports @TargetDir@ + var normalizedInstallerbaseBinaryPath = component.installerbaseBinaryPath.replace(/@TargetDir@/, + installer.value("TargetDir")); + + installer.performOperation("SimpleMoveFile", + new Array(normalizedInstallerbaseBinaryPath, normalizedInstallerbaseBinaryPath + "_backup")); + component.createOperationsForArchive(archive); +} + +Component.prototype.createOperations = function() +{ + // Call the base createOperations(unpacking ...) + component.createOperations(); + if (installer.value("os") == "win") { + var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; + component.addOperation( "RegisterPersistentSettings", + "updateInfo.xml", + "Application", + win_application ); + component.addOperation( "CreateShortcut", + win_application, + "@StartMenuDir@/Maintain Qt SDK.lnk", + " --manage-packages"); + component.addOperation( "CreateShortcut", + win_application, + "@StartMenuDir@/Update Qt SDK.lnk", + " --updater"); + } + else if (installer.value("os") == "x11") + { + component.addOperation( "RegisterPersistentSettings", + "updateInfo.xml", + "Application", + "@TargetDir@/SDKMaintenanceTool" ); + component.addOperation( "InstallIcons", "@TargetDir@/icons" ); + component.addOperation( "CreateDesktopEntry", + "Necessitas-SDKMaintenanceTool.desktop", + "Type=Application\nExec=@TargetDir@/SDKMaintenanceTool\nPath=@TargetDir@\nName=SDK-Maintenance-Tool\nGenericName=Install or uninstall components of the Qt SDK.\nIcon=Nokia-SDKPM\nTerminal=false\nCategories=Development;Qt;" + ); + component.addOperation( "CreateDesktopEntry", + "Necessitas-SDKUpdater.desktop", + "Type=Application\nExec=@TargetDir@/SDKMaintenanceTool --updater\nPath=@TargetDir@\nName=SDK-Update-Tool\nGenericName=Update components of the Qt SDK.\nIcon=Nokia-SDKUp\nTerminal=false\nCategories=Development;Qt;" + ); + } + else if (installer.value("os") == "mac") + { + component.addOperation( "RegisterPersistentSettings", + "updateInfo.xml", + "Application", + "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); + } + + component.addOperation( "RegisterPersistentSettings", + "updateInfo.xml", + "CheckOnlyArgument", + "--checkupdates" ); + component.addOperation( "RegisterPersistentSettings", + "updateInfo.xml", + "RunUiArgument", + "--updater" ); +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml new file mode 100644 index 0000000..f497b0c --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml @@ -0,0 +1,11 @@ + + + SDKMaintenance + SDKMaintenance is a tool to update/install/uninstall components to the Qt SDK. + 1.2.0-11 + @@TODAY@@ + org.kde.necessitas.tools.sdkmaintenance + + true + true + diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs index 9e01985..55921c1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs @@ -18,123 +18,22 @@ // constructor function Component() { - component.loaded.connect( this, Component.prototype.loaded ); - - if(installer.isInstaller()) { - //bugfix to get the value at the beginning - before the wizard is not shown, we can't use installer.setDefaultPageVisible - installer.currentPageChanged.connect( this, updateComponentSelectionPageNeedState ); - } - if (installer.value("os") == "x11" || installer.value("os") == "mac") { - compiler = installer.execute( "/usr/bin/which", new Array( "g++" ) )[0]; - if (!compiler) { - QMessageBox["warning"]( "compilerError", "No compiler!", "You need a C++ compiler. Please install it using the System Package Management tools." ); - } compiler = installer.execute( "/usr/bin/which", new Array( "make" ) )[0]; if (!compiler) { QMessageBox["warning"]( "Error", "No *make* tool!", "You need *make* tool. Please install it using the System Package Management tools." ); } - compiler = installer.execute( "/usr/bin/which", new Array( "ant" ) )[0]; - if (!compiler) { - QMessageBox["warning"]( "Error", "No *ant* tool!", "You need *ant* tool. Please install it using the System Package Management tools." ); - } compiler = installer.execute( "/usr/bin/which", new Array( "java" ) )[0]; if (!compiler) { - QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools." ); + QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools (e.g. sudo apt-get install openjdk-6-jdk)." ); } compiler = installer.execute( "/usr/bin/which", new Array( "javac" ) )[0]; if (!compiler) { - QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools." ); - } - } -} - -// called as soon as the component was loaded -Component.prototype.loaded = function() -{ - try - { - if(installer.isInstaller()) { - // preselect the complete component tree - component.selected = true; - - adjustToDefaultSelection(); - - installer.addWizardPageItem( component, "InstallationKindWidget", QInstaller.TargetDirectory ); - component.userInterface( "InstallationKindWidget" ).DefaultRadioButton['toggled(bool)'].connect(this, changeInstallationKind); - component.userInterface( "InstallationKindWidget" ).CustomRadioButton['toggled(bool)'].connect(this, updateComponentSelectionPageNeedState); - - if (installer.value("QtCreatorSettingsFile") != "") - installer.addWizardPageItem( component, "CreatorSettingsWidget", QInstaller.TargetDirectory ); + QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools (e.g. sudo apt-get install openjdk-6-jdk)." ); } - - installer.setValue("GlobalExamplesDir", "Examples"); - installer.setValue("GlobalDemosDir", "Demos"); - installer.setValue("QtVersionLabel", "Qt SDK"); - } - catch( e ) - { - print( e ); - } -} - -updateComponentSelectionPageNeedState = function() -{ - installer.setDefaultPageVisible( QInstaller.ComponentSelection, component.userInterface( "InstallationKindWidget" ).CustomRadioButton.checked ); -} - - -changeInstallationKind = function() -{ - //if the DefaultRadioButton is choosen we have to select all components again - if( component.userInterface( "InstallationKindWidget" ).DefaultRadioButton.checked ) { - //reset all selections - component.selected = false; - //now set the full selection again(the change from unselected to selected results in calling the preselect functions in other scripts) - component.selected = true; - adjustToDefaultSelection(); - } -} - -adjustToDefaultSelection = function() -{ - //remove sources - if (installer.componentByName("org.kde.necessitas.android.qt.src") != null - && installer.componentByName("org.kde.necessitas.android.qt.src").selected) - { - installer.componentByName("org.kde.necessitas.android.qt.src").selected = false; - } - - if (installer.componentByName("org.kde.necessitas.android.qtmobility.src") != null && - installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected) - { - installer.componentByName("org.kde.necessitas.android.qtmobility.src").selected = false; - } - - if (installer.componentByName("org.kde.necessitas.android.qtwebkit.src") != null && - installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected) - { - installer.componentByName("org.kde.necessitas.android.qtwebkit.src").selected = false; - } - - - // deselect all deprecated packages by default - if (installer.componentByName("org.kde.necessitas.misc.sdk.android_5") != null && - installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected) - { - installer.componentByName("org.kde.necessitas.misc.sdk.android_5").selected = false; - } - - if (installer.componentByName("org.kde.necessitas.misc.sdk.android_6") != null && - installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected) - { - installer.componentByName("org.kde.necessitas.misc.sdk.android_6").selected = false; - } - - if (installer.componentByName("org.kde.necessitas.misc.sdk.android_9") != null && - installer.componentByName("org.kde.necessitas.misc.sdk.android_9").selected) - { - installer.componentByName("org.kde.necessitas.misc.sdk.android_9").selected = false; } + installer.setValue("GlobalExamplesDir", "Examples"); + installer.setValue("GlobalDemosDir", "Demos"); + installer.setValue("QtVersionLabel", "Necessitas Qt SDK"); } diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml index e63a842..818b4ab 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml @@ -6,5 +6,4 @@ @@TODAY@@ org.kde.necessitas - 1 diff --git a/Necessitas_SDK/sdk_cleanup.sh b/Necessitas_SDK/sdk_cleanup.sh new file mode 100644 index 0000000..0d1d161 --- /dev/null +++ b/Necessitas_SDK/sdk_cleanup.sh @@ -0,0 +1,16 @@ +# remove things which are not ready for release +function removeUnusedPackages +{ + # x86 support needs much more love than just a compilation, QtCreator needs to handle it correctly + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.android.qt.x86 + + # Wait until Linaro toolchain is ready + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.ma_r6 + + # Do we really need this packages ? + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.gdb_head + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.host_gdb_head + + # OpenJDK needs to be handled into QtCeator + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.openjdk +} diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index c64bd43..c7bdc96 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -1,25 +1,15 @@ MINISTRO_VERSION="0.3" #Ministro repo version -# There's no qpa plugin for Windows in Lighthouse yet. -# The easiest workaround is probably to use angle (a Google Chrome spin-off project): -# svn checkout http://angleproject.googlecode.com/svn/trunk/ angleproject-read-only -# ..which translates GL to DirectX and apparently works quite well, and as used by -# http://code.google.com/p/gamekit/source/browse/#svn%2Ftrunk%2FDependencies%2FWin32%2Fgles2 -# But for now, lighthouse can only be used as the Host Qt on Mac and Linux. -# Configure options from http://wayland.freedesktop.org/toolkits.html are -qpa -egl -opengl es2 -# if [ "$OSTYPE" = "msys" ] ; then -if [ "$1" = "$1" ] ; then - HOST_QT_VERSION=qt-everywhere-opensource-src-4.8.0 # Qt which is used to build QtCreator and the SDK installer (only matters that this isn't lighthouse) - HOST_QT_BRANCH=4.8 - HOST_QT_SRCDIR=qeos-$HOST_QT_BRANCH -else - HOST_QT_VERSION=lighthouse -fi +HOST_QT_BRANCH="remotes/upstream/tags/v4.7.4" CHECKOUT_BRANCH="unstable" NECESSITAS_QT_CREATOR_VERSION="2.3.81" + +EXTERNAL_7Z=7z +EXTERNAL_7Z_PARAMS="a -t7z -mx=9" + # Qt Framework versions NECESSITAS_QT_VERSION_SHORT=4763 #Necessitas Qt Framework Version NECESSITAS_QT_VERSION="4.7.63" #Necessitas Qt Framework Long Version @@ -32,21 +22,22 @@ NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name (and ma ndk) ANDROID_NDK_VERSION=r6b # NDK full package version -USE_MA_NDK=1 +USE_MA_NDK=0 # SDK variables -ANDROID_SDK_VERSION=r12 -ANDROID_PLATFORM_TOOLS_VERSION=r06 +ANDROID_SDK_VERSION=r14 +ANDROID_PLATFORM_TOOLS_VERSION=r08 ANDROID_API_4_VERSION=1.6_r03 ANDROID_API_5_VERSION=2.0_r01 ANDROID_API_6_VERSION=2.0.1_r01 -ANDROID_API_7_VERSION=2.1_r02 -ANDROID_API_8_VERSION=2.2_r02 +ANDROID_API_7_VERSION=2.1_r03 +ANDROID_API_8_VERSION=2.2_r03 ANDROID_API_9_VERSION=2.3.1_r02 -ANDROID_API_10_VERSION=2.3.3_r01 -ANDROID_API_11_VERSION=3.0_r01 -ANDROID_API_12_VERSION=3.1_r01 +ANDROID_API_10_VERSION=2.3.3_r02 +ANDROID_API_11_VERSION=3.0_r02 +ANDROID_API_12_VERSION=3.1_r03 ANDROID_API_13_VERSION=3.2_r01 +ANDROID_API_14_VERSION=14_r01 # Make debug versions of host applications (Qt Creator and installer). MAKE_DEBUG_HOST_APPS=0 -- cgit v1.2.3 From 6332d44de78ecb66ab1aab5d5811863aef5f9dff Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 20 Oct 2011 18:40:36 +0300 Subject: Fix ministrorepoggen tool --- Necessitas_SDK/build_sdk.sh | 115 ++++++++---- Necessitas_SDK/config/config.xml | 4 +- Necessitas_SDK/ministrorepogen/main.cpp | 43 +++-- .../ministrorepogen/rules-armeabi-android-4.xml | 190 +++++++++++++++++++ .../ministrorepogen/rules-armeabi-v7a.xml | 201 +++++++++++++++++++++ Necessitas_SDK/ministrorepogen/rules-armeabi.xml | 201 +++++++++++++++++++++ Necessitas_SDK/ministrorepogen/rules.xml | 189 ------------------- 7 files changed, 704 insertions(+), 239 deletions(-) create mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml create mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml create mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi.xml delete mode 100644 Necessitas_SDK/ministrorepogen/rules.xml diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index bb65a15..8176055 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -75,7 +75,7 @@ GDB_VER=7.3 pushd $TEMP_PATH -MINISTRO_REPO_PATH=$TEMP_PATH/out/necessitas/qt +MINISTRO_REPO_PATH=$TEMP_PATH/out/necessitas/qt/$CHECKOUT_BRANCH REPO_PATH=$TEMP_PATH/out/necessitas/sdk if [ ! -d $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas ] then @@ -1140,18 +1140,6 @@ function prepareSDKs # repack api-14 repackSDK android-${ANDROID_API_14_VERSION} android-${ANDROID_API_14_VERSION} android-sdk/platforms android-14 - if [ "$OSTYPE" = "linux-gnu" ] ; then - if [ ! -d android-sdk-linux/platform-tools ] - then - rm -fr android-sdk-linux - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_14/data/android-${ANDROID_API_14_VERSION}.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_8/data/android-${ANDROID_API_8_VERSION}.7z - fi - export ANDROID_SDK_TOOLS_PATH=$PWD/android-sdk/tools/ - export ANDROID_SDK_PLATFORM_TOOLS_PATH=$PWD/android-sdk/platform-tools/ - fi } function patchQtFiles @@ -1221,6 +1209,20 @@ function compileNecessitasQt #params $1 architecture, $2 package path, $3 NDK_TA fi # NQT_INSTALL_DIR=/data/data/org.kde.necessitas.ministro/files/qt NQT_INSTALL_DIR=$PWD/install + + if [ "$OSTYPE" = "linux-gnu" ] ; then + if [ ! -d android-sdk-linux/platform-tools ] + then + rm -fr android-sdk-linux + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_14/data/android-${ANDROID_API_14_VERSION}.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_8/data/android-${ANDROID_API_8_VERSION}.7z + fi + export ANDROID_SDK_TOOLS_PATH=$PWD/android-sdk/tools/ + export ANDROID_SDK_PLATFORM_TOOLS_PATH=$PWD/android-sdk/platform-tools/ + fi + if [ ! -f all_done ] then pushd ../qt-src @@ -1269,6 +1271,7 @@ function compileNecessitasQt #params $1 architecture, $2 package path, $3 NDK_TA cp $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework-windows.7z rm -fr ../install-$1 cp -a install ../install-$1 + cp -rf jar ../install-$1/ # patchQtFiles } @@ -1326,7 +1329,6 @@ function prepareNecessitasQt function compileNecessitasQtMobility { - export ANDROID_TARGET_ARCH=$1 if [ ! -f all_done ] then pushd ../qtmobility-src @@ -1381,6 +1383,22 @@ function prepareNecessitasQtMobility popd #build-mobility-armeabi-v7a fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_android_4/data/qtmobility.7z ] + then + mkdir build-mobility-armeabi-android-4 + pushd build-mobility-armeabi-android-4 + compileNecessitasQtMobility armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT + popd #build-mobility-armeabi-android-4 + fi + +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.x86/data/qtmobility.7z ] +# then +# mkdir build-mobility-x86 +# pushd build-mobility-x86 +# compileNecessitasQtMobility x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT +# popd #build-mobility-x86 +# fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] then packSource qtmobility-src @@ -1390,7 +1408,6 @@ function prepareNecessitasQtMobility function compileNecessitasQtWebkit { - export ANDROID_TARGET_ARCH=$1 export SQLITE3SRCDIR=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/qt-src/src/3rdparty/sqlite if [ ! -f all_done ] then @@ -1480,6 +1497,22 @@ function prepareNecessitasQtWebkit popd #build-webkit-armeabi-v7a fi + if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_android_4/data/qtwebkit.7z ] + then + mkdir build-webkit-armeabi-android-4 + pushd build-webkit-armeabi-android-4 + compileNecessitasQtWebkit armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT + popd #build-webkit-armeabi-android-4 + fi + +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.x86/data/qtwebkit.7z ] +# then +# mkdir build-webkit-x86 +# pushd build-webkit-x86 +# compileNecessitasQtWebkit x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT +# popd #build-webkit-x86 +# fi +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] then packSource qtwebkit-src @@ -1580,6 +1613,7 @@ function setPackagesVariables patchPackages "@@NECESSITAS_QT_VERSION_SHORT@@" $NECESSITAS_QT_VERSION_SHORT patchPackages "@@NECESSITAS_QTWEBKIT_VERSION@@" $NECESSITAS_QTWEBKIT_VERSION patchPackages "@@NECESSITAS_QTMOBILITY_VERSION@@" $NECESSITAS_QTMOBILITY_VERSION + patchPackages "@@REPOSITORY@@" $CHECKOUT_BRANCH patchPackages "@@TEMP_PATH@@" $TEMP_PATH patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" @@ -1602,10 +1636,12 @@ function setPackagesVariables patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" -# patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" $ANDROID_SDK_VERSION -# patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" $ANDROID_SDK_VERSION -# patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" $ANDROID_SDK_VERSION -# patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" $ANDROID_SDK_VERSION + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi" + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-android-4" + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-v7a" + patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" + patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_ANDROID_4_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" + patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" } @@ -1640,37 +1676,50 @@ function prepareSDKRepository function prepareMinistroRepository { + rm -fr $MINISTRO_REPO_PATH pushd $REPO_SRC_PATH/ministrorepogen if [ ! -f all_done ] then $STATIC_QT_PATH/bin/qmake CONFIG+=static -r || error_msg "Can't configure ministrorepogen" doMake "Can't compile ministrorepogen" "all done" ma-make + if [ "$OSTYPE" = "msys" ] ; then + cp $REPO_SRC_PATH/ministrorepogen/release/ministrorepogen$EXE_EXT $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT + fi fi popd - for architecture in armeabi armeabi-v7a + for platfromArchitecture in armeabi armeabi-v7a armeabi-android-4 do - rm -fr $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION - mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION - pushd $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/install-$architecture || error_msg "Can't prepare ministro repo, Android Qt not built?" + pushd $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/install-$platfromArchitecture || error_msg "Can't prepare ministro repo, Android Qt not built?" + architecture=$platfromArchitecture; + repoVersion=$MINISTRO_VERSION-$platfromArchitecture + if [ $architecture = "armeabi-android-4" ] ; then + architecture="armeabi" + fi + MINISTRO_OBJECTS_PATH=$MINISTRO_REPO_PATH/android/$architecture/objects/$repoVersion + rm -fr $MINISTRO_OBJECTS_PATH + mkdir -p $MINISTRO_OBJECTS_PATH rm -fr Android for lib in `find . -name *.so` do libDirname=`dirname $lib` - mkdir -p $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$libDirname - cp $lib $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$libDirname/ - $ANDROID_STRIP_BINARY --strip-unneeded $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$lib + mkdir -p $MINISTRO_OBJECTS_PATH/$libDirname + cp $lib $MINISTRO_OBJECTS_PATH/$libDirname/ + $ANDROID_STRIP_BINARY --strip-unneeded $MINISTRO_OBJECTS_PATH/$lib + done + + for jar in `find . -name *.jar` + do + jarDirname=`dirname $jar` + mkdir -p $MINISTRO_OBJECTS_PATH/$jarDirname + cp $jar $MINISTRO_OBJECTS_PATH/$jarDirname/ done for qmldirfile in `find . -name qmldir` do qmldirfileDirname=`dirname $qmldirfile` - cp $qmldirfile $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION/$qmldirfileDirname/ + cp $qmldirfile $MINISTRO_OBJECTS_PATH/$qmldirfileDirname/ done - - if [ "$OSTYPE" = "msys" ] ; then - cp $REPO_SRC_PATH/ministrorepogen/release/ministrorepogen$EXE_EXT $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT - fi - $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_REPO_PATH/android/$architecture/objects/$MINISTRO_VERSION $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules.xml $MINISTRO_REPO_PATH + $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_OBJECTS_PATH $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules-$platfromArchitecture.xml $MINISTRO_REPO_PATH $repoVersion $CHECKOUT_BRANCH popd done } @@ -1788,6 +1837,6 @@ fi removeUnusedPackages prepareSDKRepository -#prepareMinistroRepository +prepareMinistroRepository popd diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml index aeb2d07..69ea49f 100644 --- a/Necessitas_SDK/config/config.xml +++ b/Necessitas_SDK/config/config.xml @@ -12,8 +12,8 @@ SDKMaintenanceTool - http://files.kde.org/necessitas/test - + + file:///var/debian/tmp/necessitas/out/necessitas/sdk true diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index ce8395e..1560fdf 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -32,7 +32,7 @@ void printHelp() { - qDebug()<<"Usage:./ministrorepogen "; + qDebug()<<"Usage:./ministrorepogen "; } @@ -51,7 +51,7 @@ void getFileInfo(const QString & filePath, qint64 & fileSize, QString & sha1) int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); - if (argc<7) + if (argc<9) { printHelp(); return 1; @@ -63,6 +63,8 @@ int main(int argc, char *argv[]) const char * abiVersion=argv[4]; const char * rulesFile=argv[5]; const char * outputFolder=argv[6]; + const char * objfolder =argv [7]; + const char * repository =argv [8]; QDomDocument document("libs"); QFile f(rulesFile); @@ -77,14 +79,25 @@ int main(int argc, char *argv[]) if (element.isNull()) return 1; - QMap >platforms; - element=element.firstChildElement("version"); + QMap >platformLibs; + element=element.firstChildElement("libs").firstChildElement("version"); while(!element.isNull()) { if (element.hasAttribute("symlink")) - platforms[element.attribute("symlink", 0).toInt()].push_back(element.attribute("value", 0).toInt()); + platformLibs[element.attribute("symlink", 0).toInt()].push_back(element.attribute("value", 0).toInt()); else - platforms[element.attribute("value", 0).toInt()].clear(); + platformLibs[element.attribute("value", 0).toInt()].clear(); + element = element.nextSiblingElement(); + } + + QMapplatformJars; + element=root.firstChildElement("platforms").firstChildElement("jars").firstChildElement("version"); + while(!element.isNull()) + { + if (element.hasAttribute("symlink")) + platformJars[element.attribute("value", 0).toInt()]=element.attribute("symlink", 0).toInt(); + else + platformJars[element.attribute("value", 0).toInt()]=element.attribute("value", 0).toInt(); element = element.nextSiblingElement(); } @@ -129,7 +142,7 @@ int main(int argc, char *argv[]) while(!childs.isNull()) { libs[libraryName].dependencies<\n\n"); @@ -201,10 +214,10 @@ int main(int argc, char *argv[]) { qint64 fileSize; QString sha1Hash; - getFileInfo(libsPath+"/"+needed.relativePath, fileSize, sha1Hash); + getFileInfo(libsPath+"/"+needed.relativePath.arg(platformJars[androdPlatform]), fileSize, sha1Hash); if (-1==fileSize) { - qWarning()<<"Warning : Can't find \""<\n") - .arg(needed.name).arg(abiVersion).arg(version).arg(needed.relativePath).arg(fileSize).arg(sha1Hash).arg(type).toUtf8()); + outXmlFile.write(QString("\t\t\t\n") + .arg(needed.name).arg(abiVersion).arg(objfolder).arg(needed.relativePath.arg(platformJars[androdPlatform])).arg(fileSize).arg(sha1Hash).arg(type).arg(repository).toUtf8()); } outXmlFile.write("\t\t\n"); } diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml new file mode 100644 index 0000000..3bb63e2 --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml new file mode 100644 index 0000000..535f13e --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml new file mode 100644 index 0000000..535f13e --- /dev/null +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Necessitas_SDK/ministrorepogen/rules.xml b/Necessitas_SDK/ministrorepogen/rules.xml deleted file mode 100644 index 1081ca3..0000000 --- a/Necessitas_SDK/ministrorepogen/rules.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3 From c5a0b8021ddeea8450d469b4661db448d1eadc7f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 20 Oct 2011 18:49:26 +0300 Subject: Fix Estonian translation. --- Ministro/res/values-et/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Ministro/res/values-et/strings.xml b/Ministro/res/values-et/strings.xml index 29c5ae8..525f858 100644 --- a/Ministro/res/values-et/strings.xml +++ b/Ministro/res/values-et/strings.xml @@ -2,21 +2,21 @@ Ministro Vali varamu - Ministro ei ühildu selle programmiga. Palun uuenda Ministro teenust. - Ministro vajab võrgu ligipääsu. Aktiveeri mobiilne internet või WiFi. + Ministro ei ühildu selle programmiga. Palun uuenda Ministro teenust. + Ministro vajab võrgu ligipääsu. Aktiveeri mobiilne internet või WiFi. Seaded - Ootan võrguühendust + Ootan võrguühendust %1$s vajab lisateeke.\nSoovite need kohe alla laadida? Alustan allalaadimist... Laadin alla Qt teeke Kontrollin teeke. Palun oota... - Eraldan välja SSL juurserte. Palun oota... + Eraldan välja SSL juurserte. Palun oota... Uued Qt teegid leitud Uued Qt teegid leitud, puuduta uuenduse alustamiseks. - Ministro kasutab %1$s varamut. + Uued Qt teegid leitud, puuduta uuenduse alustamiseks. Ministro varamu on muutunud. Ministro uuendus Ministro varamu on muutunud, puuduta uuenduse alustamiseks. Vigased parameetrid - Ministro ei suuda selle programmi sõltuvusi lahendada. + Ministro ei suuda selle programmi sõltuvusi lahendada. -- cgit v1.2.3 From e41868a3119245c5002eb21c1bc1369a0654c85e Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 20 Oct 2011 18:50:14 +0300 Subject: Check device cpu extensions (e.g. vfp, neon) and download the best one for your device (if avaiable). --- .../kde/necessitas/ministro/MinistroActivity.java | 49 ++++++++++++++-- .../config/MinistroConfigurationToolActivity.java | 67 ++++++++++++++++++++++ 2 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 MinistroConfigurationTool/src/org/kde/ministro/config/MinistroConfigurationToolActivity.java diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 11568b9..65f6985 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -17,11 +17,14 @@ package org.kde.necessitas.ministro; +import java.io.BufferedReader; +import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; @@ -67,7 +70,7 @@ public class MinistroActivity extends Activity { public native static int nativeChmode(String filepath, int mode); - private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/"; + private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/necessitas/"; private String[] m_modules; private int m_id=-1; @@ -187,7 +190,7 @@ public class MinistroActivity extends Activity return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/versions.xml"); } - private static URL getLibsXmlUrl(Context c, double version) throws MalformedURLException + private static URL getLibsXmlUrl(Context c, String version) throws MalformedURLException { return new URL(DOMAIN_NAME+MinistroService.getRepository(c)+"/android/"+android.os.Build.CPU_ABI+"/android-"+android.os.Build.VERSION.SDK_INT+"/libs-"+version+".xml"); } @@ -201,6 +204,40 @@ public class MinistroActivity extends Activity return false; } + private static String deviceSupportedFeatures(String supportedFeatures) + { + if (null==supportedFeatures) + return ""; + String [] serverFeaturesList=supportedFeatures.trim().split(" "); + String [] deviceFeaturesList=null; + try { + FileInputStream fstream = new FileInputStream("/proc/cpuinfo"); + DataInputStream in = new DataInputStream(fstream); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + String strLine; + while ((strLine = br.readLine()) != null) + { + if (strLine.startsWith("Features")) + { + deviceFeaturesList=strLine.substring(strLine.indexOf(":")+1).trim().split(" "); + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + + String features=""; + for(String sfeature: serverFeaturesList) + for (String dfeature: deviceFeaturesList) + if (sfeature.equals(dfeature)) + features+="_"+dfeature; + + return features; + } + + public static double downloadVersionXmlFile(Context c, boolean checkOnly) { if (!isOnline(c)) @@ -221,8 +258,10 @@ public class MinistroActivity extends Activity if (checkOnly) return version; - - connection = getLibsXmlUrl(c, version).openConnection(); + String supportedFeatures=null; + if (root.hasAttribute("features")) + supportedFeatures=root.getAttribute("features"); + connection = getLibsXmlUrl(c, version+deviceSupportedFeatures(supportedFeatures)).openConnection(); connection.setRequestProperty("Accept-Encoding", "gzip,deflate"); File file= new File(MinistroService.instance().getVersionXmlFile()); file.delete(); @@ -623,7 +662,7 @@ public class MinistroActivity extends Activity File dir=new File(m_qtLibsRootPath); dir.mkdirs(); nativeChmode(m_qtLibsRootPath, 0755); - bindService(new Intent("org.kde.necessitas.ministro"), m_ministroConnection, Context.BIND_AUTO_CREATE); + bindService(new Intent("org.kde.necessitas.ministro.IMinistro"), m_ministroConnection, Context.BIND_AUTO_CREATE); } @Override diff --git a/MinistroConfigurationTool/src/org/kde/ministro/config/MinistroConfigurationToolActivity.java b/MinistroConfigurationTool/src/org/kde/ministro/config/MinistroConfigurationToolActivity.java new file mode 100644 index 0000000..d62b828 --- /dev/null +++ b/MinistroConfigurationTool/src/org/kde/ministro/config/MinistroConfigurationToolActivity.java @@ -0,0 +1,67 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.ministro.config; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.ComponentName; +import android.content.DialogInterface; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; + +public class MinistroConfigurationToolActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + try + { + Intent intent = new Intent(); + intent.setComponent(new ComponentName("org.kde.necessitas.ministro", "org.kde.necessitas.ministro.MinistroConfigActivity")); + startActivity(intent); + finish(); + } + catch (Exception e) { + AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); + downloadDialog.setMessage("This tool needs latest Ministro service. Would you like to install it?"); + downloadDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + try + { + Uri uri = Uri.parse("market://search?q=pname:org.kde.necessitas.ministro"); + Intent intent = new Intent(Intent.ACTION_VIEW, uri); + startActivity(intent); + finish(); + } + catch (Exception e) { + e.printStackTrace(); + finish(); + } + } + }); + + downloadDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + finish(); + } + }); + downloadDialog.show(); + } + super.onCreate(savedInstanceState); + } +} -- cgit v1.2.3 From e78e011eff6da08ff405f4e4554fb76c010aa862 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 20 Oct 2011 21:20:25 +0300 Subject: Add QtMobility & QtWebkit android-4 packages --- .../meta/installscript.qs | 46 ++++++++++++++++++++++ .../meta/package.xml | 13 ++++++ .../meta/installscript.qs | 46 ++++++++++++++++++++++ .../meta/package.xml | 13 ++++++ 4 files changed, 118 insertions(+) create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs create mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs new file mode 100644 index 0000000..fc75f13 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs @@ -0,0 +1,46 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtmobility-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtmobility.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" ); + } + catch( e ) + { + print( e ); + } +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml new file mode 100644 index 0000000..d9d0f2d --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml @@ -0,0 +1,13 @@ + + + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi + Development libraries for development applications on Android devices, armeabi architecture. + @@NECESSITAS_QTMOBILITY_VERSION@@ + @@TODAY@@ + org.kde.necessitas.android.qtmobility.armeabi_android_4 + org.kde.necessitas.android.qt.armeabi_android_4,org.kde.necessitas.android.qtwebkit.armeabi_android_4 + + true + 2 + 2 + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs new file mode 100644 index 0000000..a6e4be2 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs @@ -0,0 +1,46 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +// constructor +function Component() +{ + if( component.fromOnlineRepository ) + { + if (installer.value("os") == "win") + { + component.addDownloadableArchive( "qtwebkit-windows.7z" ); + } + else + { + component.addDownloadableArchive( "qtwebkit.7z" ); + } + } +} + +Component.prototype.createOperations = function() +{ + try + { + component.createOperations(); + var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; + component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI_ANDROID_4_INSTALL_PATH@@" ); + } + catch( e ) + { + print( e ); + } +} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml new file mode 100644 index 0000000..9026869 --- /dev/null +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml @@ -0,0 +1,13 @@ + + + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi + Development libraries for development applications on Android devices, armeabi architecture. + @@NECESSITAS_QTWEBKIT_VERSION@@ + @@TODAY@@ + org.kde.necessitas.android.qtwebkit.armeabi_android_4 + org.kde.necessitas.android.qt.armeabi_android_4 + + true + 1 + 1 + -- cgit v1.2.3 From b0a6da8c68ae6a30e163ff981300b4f337e527a8 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 20 Oct 2011 22:02:23 +0300 Subject: =?UTF-8?q?Add=20Polish=20translation=20dzi=C4=99ki=20Maciej=20Kuj?= =?UTF-8?q?alowicz=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ministro/AndroidManifest.xml | 2 +- Ministro/res/values-el/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-gr/strings.xml | 22 ---------------------- Ministro/res/values-pl/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-ru/strings.xml | 2 +- 5 files changed, 46 insertions(+), 24 deletions(-) create mode 100644 Ministro/res/values-el/strings.xml delete mode 100644 Ministro/res/values-gr/strings.xml create mode 100644 Ministro/res/values-pl/strings.xml diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 5084596..763e343 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="1.0" android:versionCode="1"> + + Ministro + Επιλέξτε την τοποθεσία + Η εφαÏμογή Ministro δεν είναι συμβατή με την εφαÏμογή. ΠαÏακαλώ αναβαθμίστε την εφαÏμογή Ministro. + Η εφαÏμογή Ministro απαιτεί την ÏπαÏξη σÏνδεσης διαδικτÏου. Ξεκινήστε την σÏνδεση για το κατέβασμα των δεδομένων. + Ρυθμίσεις + Αναμονή για την σÏνδεση διαδικτÏου + %1$s απαιτεί Ï€Ïόσθετες βιβλιοθήκες για να ξεκινήσει.\nÎα Ï€Ïαγματοποιηθεί το κατέβασμα των δεδομένων? + Εκκίνηση κατεβάσματος δεδομένων... + Κατεβαίνουν οι βιβλιοθήκες της Qt + Έλεγχος βιβλιοθηκών. ΠαÏακαλώ πεÏιμένετε... + Αποσυμπίσεση των πιστοποιητικών SSL. ΠαÏακαλώ πεÏιμένετε... + Î’Ïέθηκαν νέες βιβλιοθήκες της Qt + Î’Ïέθηκαν νέες βιβλιοθήκες της Qt, πατήστε για αναβάθμιση. + Η εφαÏμογή Ministro θα χÏησιμοποιήσει την τοποθεσία %1$s + Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει + Αναβάθμιση της εφαÏμογής Ministro + Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει,πατήστε για αναβάθμιση. + Μή εγκυÏες παÏάμετÏοι + Η εφαÏμογή Ministro δεν ικανοποιεί τις απαιτήσεις της εφαÏμογής σας + diff --git a/Ministro/res/values-gr/strings.xml b/Ministro/res/values-gr/strings.xml deleted file mode 100644 index f8c5c6c..0000000 --- a/Ministro/res/values-gr/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Ministro - Επιλέξτε την τοποθεσία - Η εφαÏμογή Ministro δεν είναι συμβατή με την εφαÏμογή. ΠαÏακαλώ αναβαθμίστε την εφαÏμογή Ministro. - Η εφαÏμογή Ministro απαιτεί την ÏπαÏξη σÏνδεσης διαδικτÏου. Ξεκινήστε την σÏνδεση για το κατέβασμα των δεδομένων. - Ρυθμίσεις - Αναμονή για την σÏνδεση διαδικτÏου - %1$s απαιτεί Ï€Ïόσθετες βιβλιοθήκες για να ξεκινήσει.\nÎα Ï€Ïαγματοποιηθεί το κατέβασμα των δεδομένων? - Εκκίνηση κατεβάσματος δεδομένων... - Κατεβαίνουν οι βιβλιοθήκες της Qt - Έλεγχος βιβλιοθηκών. ΠαÏακαλώ πεÏιμένετε... - Αποσυμπίσεση των πιστοποιητικών SSL. ΠαÏακαλώ πεÏιμένετε... - Î’Ïέθηκαν νέες βιβλιοθήκες της Qt - Î’Ïέθηκαν νέες βιβλιοθήκες της Qt, πατήστε για αναβάθμιση. - Η εφαÏμογή Ministro θα χÏησιμοποιήσει την τοποθεσία %1$s - Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει - Αναβάθμιση της εφαÏμογής Ministro - Η τοποθεσία της εφαÏμογής Ministro έχει αλλάξει,πατήστε για αναβάθμιση. - Μή εγκυÏες παÏάμετÏοι - Η εφαÏμογή Ministro δεν ικανοποιεί τις απαιτήσεις της εφαÏμογής σας - diff --git a/Ministro/res/values-pl/strings.xml b/Ministro/res/values-pl/strings.xml new file mode 100644 index 0000000..ee5a86b --- /dev/null +++ b/Ministro/res/values-pl/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Wybierz repozytorium + UsÅ‚uga Ministro nie jest zgodna z tÄ… aplikacjÄ…. Uaktualnij Ministro. + UsÅ‚uga Ministro wymaga poÅ‚Ä…czenia z Internetem. Aktywuj Wi-Fi lub mobilny Internet, aby pobrać dane. + Ustawienia + Oczekiwanie na poÅ‚Ä…czenie z Internetem + %1$s wymaga dodatkowych bibliotek do uruchomienia.\nCzy chcesz je pobrać teraz? + RozpoczÄ™cie pobierania... + Pobieranie bibliotek Qt + Weryfikacja bibliotek. ProszÄ™ czekać... + WyodrÄ™bnianie certyfikatów SSL. ProszÄ™ czekać... + DostÄ™pne nowe biblioteki Qt + DostÄ™pna nowa wersja bibliotek Qt. Dotknij, aby zaktualizować. + Ministro bÄ™dzie używaÅ‚ repozytorium „%1$s†+ Zmienione repozytorium Ministro + Aktualizacja Ministro + Zmienione repozytorium Ministro. Dotknij, aby zaktualizować. + NieprawidÅ‚owe parametry + Ministro nie jest w stanie odnaleźć wszystkich zależnoÅ›ci dla aplikacji + diff --git a/Ministro/res/values-ru/strings.xml b/Ministro/res/values-ru/strings.xml index 6adf397..0b7bd4a 100644 --- a/Ministro/res/values-ru/strings.xml +++ b/Ministro/res/values-ru/strings.xml @@ -4,7 +4,7 @@ Выберите репозиторий Ministro не ÑовмеÑтим Ñ Ð²Ð°ÑˆÐ¸Ð¼ приложением. Обновите ÑÐµÑ€Ð²Ð¸Ñ Ministro. Ministro требуетÑÑ Ñетевой доÑтуп. Включите мобильную Ñеть или Wi-Fi Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ данных. - ÐаÑтройка + ÐаÑтройка Ожидание Ñетевого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ %1$s необходимы дополнительные библиотеки Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹.\nЗагрузить их прÑмо ÑейчаÑ? ÐачалаÑÑŒ загрузка ... -- cgit v1.2.3 From b14948dddaa520857660aae03b1fe73e2474695a Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 21 Oct 2011 00:11:12 +0300 Subject: Fix french translation file --- Ministro/AndroidManifest.xml | 2 +- Ministro/res/values-fr/strings.xml | 4 ++-- Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 763e343..547eb51 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="3.0" android:versionCode="3"> Ministro requires network access. Enable mobile network or Wi-Fi to download data.
Préférences Attente de la connection réseau - %1$ a besoin de librairies supplémentaires.\nVoulez-vous les télécharger maintenant? + %1$s a besoin de librairies supplémentaires.\nVoulez-vous les télécharger maintenant? Début du téléchargement ... Téléchargement des librairies Qt Vérification des librairies. Veuillez attendre... Extraction des certificats racines SSL. Veuillez attendre... Nouvelle version des librairies Qt trouvée Nouvelle version des librairies Qt trouvée, tapez pour mettre à jour. - Ministro usera le dépôt %1$ + Ministro usera le dépôt %1$s Dépôt Ministro changé Mise à jour Ministro Dépôt Ministro changé, tapez pour mettre à jour. diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 65f6985..c87b83a 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -68,7 +68,6 @@ import android.provider.Settings; public class MinistroActivity extends Activity { - public native static int nativeChmode(String filepath, int mode); private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/necessitas/"; -- cgit v1.2.3 From 5405ce3211228af0de4a96904b4cc366c70c4741 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 21 Oct 2011 17:23:44 +0300 Subject: Final touches --- Necessitas_SDK/build_sdk.sh | 2 +- Necessitas_SDK/ministrorepogen/main.cpp | 14 ++++++++++++++ .../ministrorepogen/rules-armeabi-android-4.xml | 6 ++---- Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml | 18 +++++++++++++++--- Necessitas_SDK/ministrorepogen/rules-armeabi.xml | 18 +++++++++++++++--- Necessitas_SDK/ministrorepogen/sortlibs.h | 1 + .../meta/package.xml | 2 +- .../meta/package.xml | 2 +- .../meta/package.xml | 2 +- 9 files changed, 51 insertions(+), 14 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 8176055..d45dcf0 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -480,7 +480,7 @@ function makeInstallMinGWLibsAndTools mkdir texinfo pushd texinfo - downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma + downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma rm -rf texinfo-4.13a-2-msys-1.0.13-bin.tar 7za x texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma tar -xvf texinfo-4.13a-2-msys-1.0.13-bin.tar diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index 1560fdf..b0e1368 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -145,6 +145,13 @@ int main(int argc, char *argv[]) childs=childs.nextSiblingElement("lib"); } + childs=element.firstChildElement("replaces").firstChildElement("lib"); + while(!childs.isNull()) + { + libs[libraryName].replaces<\n"); } + if (libs[key].replaces.size()) + { + outXmlFile.write("\t\t\n"); + foreach(const QString & libName, libs[key].replaces) + outXmlFile.write(QString("\t\t\t\n").arg(libName).toUtf8()); + outXmlFile.write("\t\t\n"); + } if (libs[key].needs.size()) { diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml index 3bb63e2..9f273d9 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml @@ -8,7 +8,7 @@ - + @@ -67,8 +67,6 @@ - - @@ -186,5 +184,5 @@ - + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml index 535f13e..cfd58c4 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml @@ -19,7 +19,7 @@ - + @@ -77,9 +77,21 @@ - + + + + + + + + + + + + + @@ -197,5 +209,5 @@ - + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml index 535f13e..f578d28 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml @@ -19,7 +19,7 @@ - + @@ -77,9 +77,21 @@ - + + + + + + + + + + + + + @@ -197,5 +209,5 @@ - + diff --git a/Necessitas_SDK/ministrorepogen/sortlibs.h b/Necessitas_SDK/ministrorepogen/sortlibs.h index 14c3885..e52a923 100644 --- a/Necessitas_SDK/ministrorepogen/sortlibs.h +++ b/Necessitas_SDK/ministrorepogen/sortlibs.h @@ -43,6 +43,7 @@ struct Library int level; QString relativePath; QStringList dependencies; + QStringList replaces; QVector needs; QString name; int platform; diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index 449222e..94c0a17 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,6 +1,6 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi android 5+ Development libraries for development applications on Android devices, armeabi architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml index 9026869..f9455f8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml @@ -1,6 +1,6 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi Android API 4+ Development libraries for development applications on Android devices, armeabi architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index 25e7885..3958ed7 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,6 +1,6 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a Android API 5+ Development libraries for development applications on Android devices, armeabi_v7a architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ -- cgit v1.2.3 From 8a726991f6b203e1796716b65d8535da8b93b506 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 21 Oct 2011 17:25:55 +0300 Subject: Fix Ministro --- .../kde/necessitas/ministro/MinistroActivity.java | 2 +- .../kde/necessitas/ministro/MinistroService.java | 42 +++++++++++++--------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index c87b83a..0901975 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -350,7 +350,6 @@ public class MinistroActivity extends Activity { outstream.close(); nativeChmode(filePath, 0644); - MinistroService.instance().refreshLibraries(false); return true; } outstream.close(); @@ -452,6 +451,7 @@ public class MinistroActivity extends Activity m_dialog.dismiss(); m_dialog = null; } + MinistroService.instance().refreshLibraries(false); finishMe(); } } diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index be65923..b5f43f3 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -207,7 +207,7 @@ public class MinistroService extends Service { if (node.getNodeType() == Node.ELEMENT_NODE) { - Library lib= Library.getLibrary((Element)node, false); + Library lib= Library.getLibrary((Element)node, true); File file=new File(m_qtLibsRootPath + lib.filePath); if (file.exists()) { @@ -502,17 +502,17 @@ public class MinistroService extends Service for (String module: modules) res = res & addModules(module, libs, notFoundModules, jars); // don't stop on first error - ArrayList tempStringArray = new ArrayList(); + ArrayList librariesArray = new ArrayList(); // sort all libraries Collections.sort(libs, new ModuleCompare()); for (Module lib: libs) - tempStringArray.add(m_qtLibsRootPath+lib.path); - params.putStringArrayList(NATIVE_LIBRARIES_KEY, tempStringArray); + librariesArray.add(m_qtLibsRootPath+lib.path); + params.putStringArrayList(NATIVE_LIBRARIES_KEY, librariesArray); - tempStringArray.clear(); + ArrayList jarsArray = new ArrayList(); for (String jar: jars) - tempStringArray.add(m_qtLibsRootPath+jar); - params.putString(DEX_PATH_KEY, Library.join(tempStringArray, m_pathSeparator)); + jarsArray.add(m_qtLibsRootPath+jar); + params.putString(DEX_PATH_KEY, Library.join(jarsArray, m_pathSeparator)); params.putString(LOADER_CLASS_NAME_KEY, m_loaderClassName); params.putString(LIB_PATH_KEY, m_qtLibsRootPath); @@ -565,23 +565,31 @@ public class MinistroService extends Service // Consult the list of downloaded modules. If a matching entry is found, it is added to the // list of readily accessible modules and its dependencies are checked via a recursive call. - for (int i = 0; i< m_downloadedLibraries.size(); i++) + for (Library library:m_downloadedLibraries) { - if (m_downloadedLibraries.get(i).name.equals(module)) + if (library.name.equals(module)) { Module m = new Module(); - m.name=m_downloadedLibraries.get(i).name; - m.path=m_downloadedLibraries.get(i).filePath; - m.level=m_downloadedLibraries.get(i).level; - if (m_downloadedLibraries.get(i).needs != null) - for(NeedsStruct needed: m_downloadedLibraries.get(i).needs) + m.name=library.name; + m.path=library.filePath; + m.level=library.level; + if (library.needs != null) + for(NeedsStruct needed: library.needs) if (needed.type != null && needed.type.equals("jar")) jars.add(needed.filePath); modules.add(m); + boolean res = true; - if (m_downloadedLibraries.get(i).depends != null) - for (int depIt=0;depIt Date: Fri, 21 Oct 2011 20:39:53 +0300 Subject: Remove Accept-Encoding from request, bump version to 5.0 --- Ministro/AndroidManifest.xml | 2 +- Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 547eb51..fb5d403 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="5.0" android:versionCode="5"> Date: Sat, 22 Oct 2011 12:09:52 +0300 Subject: Fix Mobility install path --- Necessitas_SDK/build_sdk.sh | 6 +++--- .../org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml | 2 +- .../meta/package.xml | 3 +-- .../meta/package.xml | 2 +- .../meta/package.xml | 1 - 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index d45dcf0..099ad43 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1636,9 +1636,9 @@ function setPackagesVariables patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi" - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-android-4" - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-v7a" + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi/install" + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-android-4/install" + patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-v7a/install" patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_ANDROID_4_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index 57d4c63..b5fe7af 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,6 +1,6 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Android API 5+ Development libraries for development applications on Android devices, armeabi architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml index d9d0f2d..930baa8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml @@ -1,13 +1,12 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Android API 4+ Development libraries for development applications on Android devices, armeabi architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_android_4 org.kde.necessitas.android.qt.armeabi_android_4,org.kde.necessitas.android.qtwebkit.armeabi_android_4 - true 2 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index 7e3f341..003850d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,6 +1,6 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a Android API 5+ Development libraries for development applications on Android devices, armeabi_v7a architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml index f9455f8..205864e 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml @@ -7,7 +7,6 @@ org.kde.necessitas.android.qtwebkit.armeabi_android_4 org.kde.necessitas.android.qt.armeabi_android_4 - true 1 1 -- cgit v1.2.3 From b748aad5e195a2664f971cf2c4d3c8330838e79a Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 24 Oct 2011 17:56:31 +0000 Subject: Fix Android API 4,7 JARs Clean up the packages. --- Necessitas_SDK/build_sdk.sh | 10 +++++++--- Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml | 2 +- Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml | 2 +- Necessitas_SDK/ministrorepogen/rules-armeabi.xml | 2 +- .../org.kde.necessitas.android.qt.armeabi/meta/package.xml | 4 ++-- .../meta/package.xml | 10 +++++----- .../org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml | 6 +++--- .../org.kde.necessitas.android.qt.src/meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qt.x86/meta/package.xml | 2 +- .../meta/package.xml | 8 ++++---- .../meta/package.xml | 8 ++++---- .../meta/package.xml | 8 ++++---- .../meta/package.xml | 8 ++++---- .../meta/package.xml | 8 ++++---- .../meta/package.xml | 4 ++-- .../org.kde.necessitas.android.qtwebkit.src/meta/package.xml | 4 ++-- .../org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml | 4 ++-- .../org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml | 5 ++--- .../org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml | 4 ++-- .../packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml | 4 ++-- Necessitas_SDK/sdk_vars.sh | 5 +++-- 21 files changed, 58 insertions(+), 54 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 099ad43..2a4b08e 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1097,7 +1097,7 @@ function prepareSDKs fi fi - # repack platform-tools + # repack platform-tools repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux android-sdk platform-tools repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx android-sdk platform-tools repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows android-sdk platform-tools @@ -1218,6 +1218,8 @@ function compileNecessitasQt #params $1 architecture, $2 package path, $3 NDK_TA 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux.7z 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_14/data/android-${ANDROID_API_14_VERSION}.7z 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_8/data/android-${ANDROID_API_8_VERSION}.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_7/data/android-${ANDROID_API_7_VERSION}.7z + 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_4/data/android-${ANDROID_API_4_VERSION}-linux.7z fi export ANDROID_SDK_TOOLS_PATH=$PWD/android-sdk/tools/ export ANDROID_SDK_PLATFORM_TOOLS_PATH=$PWD/android-sdk/platform-tools/ @@ -1512,7 +1514,7 @@ function prepareNecessitasQtWebkit # compileNecessitasQtWebkit x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT # popd #build-webkit-x86 # fi -# +# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] then packSource qtwebkit-src @@ -1611,6 +1613,8 @@ function setPackagesVariables patchPackages "@@NECESSITAS_QT_VERSION@@" $NECESSITAS_QT_VERSION patchPackages "@@NECESSITAS_QT_VERSION_SHORT@@" $NECESSITAS_QT_VERSION_SHORT + patchPackages "@@NECESSITAS_QT_PACKAGE_VERSION@@" $NECESSITAS_QT_PACKAGE_VERSION + patchPackages "@@NECESSITAS_QTWEBKIT_VERSION@@" $NECESSITAS_QTWEBKIT_VERSION patchPackages "@@NECESSITAS_QTMOBILITY_VERSION@@" $NECESSITAS_QTMOBILITY_VERSION patchPackages "@@REPOSITORY@@" $CHECKOUT_BRANCH @@ -1687,7 +1691,7 @@ function prepareMinistroRepository fi fi popd - for platfromArchitecture in armeabi armeabi-v7a armeabi-android-4 + for platfromArchitecture in armeabi armeabi-v7a armeabi-android-4 do pushd $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/install-$platfromArchitecture || error_msg "Can't prepare ministro repo, Android Qt not built?" architecture=$platfromArchitecture; diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml index 9f273d9..a22f27c 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml @@ -4,7 +4,7 @@ - + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml index cfd58c4..a3f32cd 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml @@ -13,7 +13,7 @@ - + diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml index f578d28..b1ee0bf 100644 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml +++ b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml @@ -13,7 +13,7 @@ - + diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml index f21a97d..1ff328c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml @@ -1,8 +1,8 @@ Qt @@NECESSITAS_QT_VERSION@@-armeabi API 5+ - Development libraries for development applications on Android devices, armeabi architecture. - @@NECESSITAS_QT_VERSION@@ + Development libraries for development applications on Android API 5+ devices, armeabi architecture. + @@NECESSITAS_QT_PACKAGE_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.armeabi diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml index 6529b3d..3043d80 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml @@ -1,11 +1,11 @@ - Qt @@NECESSITAS_QT_VERSION@@-armeabi for Android API 4+ - Development libraries for development applications on Android API+ devices, armeabi architecture. This package desn't support OpenGL, if you need it pllease consider to use API 5+ package - @@NECESSITAS_QT_VERSION@@ + Qt @@NECESSITAS_QT_VERSION@@-armeabi API 4+ + Development libraries for development applications on Android API 4+ devices, armeabi architecture. This package desn't support OpenGL, if you need it please consider to use API 5+ package + @@NECESSITAS_QT_PACKAGE_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.armeabi_android_4 - 0 - 0 + 3 + 3 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml index 5d5fb9a..45745a1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml @@ -1,12 +1,12 @@ Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a API 5+ - Development libraries for development applications on Android devices, armeabi_v7a architecture. - @@NECESSITAS_QT_VERSION@@ + Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. + @@NECESSITAS_QT_PACKAGE_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.armeabi_v7a true 0 - 0 + 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml index 018162f..0f72bb6 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml @@ -2,10 +2,10 @@ Qt @@NECESSITAS_QT_VERSION@@-src Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QT_VERSION@@ + @@NECESSITAS_QT_PACKAGE_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.src 0 - 1 + 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml index 80638fc..eb0f989 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml @@ -2,7 +2,7 @@ Qt @@NECESSITAS_QT_VERSION@@-x86 Development libraries for development applications on Android devices, x86 architecture. - @@NECESSITAS_QT_VERSION@@ + @@NECESSITAS_QT_PACKAGE_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qt.x86 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml index b5fe7af..5862cf0 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml @@ -1,13 +1,13 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Android API 5+ - Development libraries for development applications on Android devices, armeabi architecture. + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi API 5+ + Development libraries for development applications on Android API 5+ devices, armeabi architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi org.kde.necessitas.android.qt.armeabi,org.kde.necessitas.android.qtwebkit.armeabi true - 2 - 2 + 0 + 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml index 930baa8..09ea5f3 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml @@ -1,12 +1,12 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi Android API 4+ - Development libraries for development applications on Android devices, armeabi architecture. + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi API 4+ + Development libraries for development applications on Android API 4+ devices, armeabi architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_android_4 org.kde.necessitas.android.qt.armeabi_android_4,org.kde.necessitas.android.qtwebkit.armeabi_android_4 - 2 - 2 + 3 + 3 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml index 003850d..bcb7d8d 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml @@ -1,13 +1,13 @@ - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a Android API 5+ - Development libraries for development applications on Android devices, armeabi_v7a architecture. + QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a API 5+ + Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. @@NECESSITAS_QTMOBILITY_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtmobility.armeabi_v7a org.kde.necessitas.android.qt.armeabi_v7a,org.kde.necessitas.android.qtwebkit.armeabi_v7a true - 2 - 2 + 1 + 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml index 94c0a17..2c0f0eb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml @@ -1,13 +1,13 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi android 5+ - Development libraries for development applications on Android devices, armeabi architecture. + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi API 5+ + Development libraries for development applications on Android API 5+ devices, armeabi architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi org.kde.necessitas.android.qt.armeabi true - 1 - 1 + 0 + 0 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml index 205864e..7581a5f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml @@ -1,12 +1,12 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi Android API 4+ - Development libraries for development applications on Android devices, armeabi architecture. + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi API 4+ + Development libraries for development applications on Android API 4+ devices, armeabi architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi_android_4 org.kde.necessitas.android.qt.armeabi_android_4 - 1 - 1 + 3 + 3 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml index 3958ed7..78e16d5 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml @@ -1,7 +1,7 @@ - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a Android API 5+ - Development libraries for development applications on Android devices, armeabi_v7a architecture. + QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a API 5+ + Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. @@NECESSITAS_QTWEBKIT_VERSION@@ @@TODAY@@ org.kde.necessitas.android.qtwebkit.armeabi_v7a diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml index df19fb8..332387b 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml @@ -6,6 +6,6 @@ @@TODAY@@ org.kde.necessitas.android.qtwebkit.src - 1 - 1 + 2 + 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml index f179f6d..eacef62 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml @@ -7,6 +7,6 @@ org.kde.necessitas.misc.ndk.gdb_7_3 true - 99 - 99 + 2 + 2 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml index 71c3127..44cf63c 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml @@ -6,7 +6,6 @@ @@TODAY@@ org.kde.necessitas.misc.ndk.gdb_head - 99999 - 94 - false + 4 + 4 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml index 2951c7c..7f59de8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml @@ -7,6 +7,6 @@ org.kde.necessitas.misc.ndk.ma_@@ANDROID_NDK_MAJOR_VERSION@@ org.kde.necessitas.tools.qtcreator - 90 - 90 + 1 + 1 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index 298c5fb..3b3c519 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -8,6 +8,6 @@ org.kde.necessitas.tools.qtcreator true - 90 - 90 + 0 + 0 diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index c7bdc96..7a314f7 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -11,8 +11,9 @@ EXTERNAL_7Z=7z EXTERNAL_7Z_PARAMS="a -t7z -mx=9" # Qt Framework versions -NECESSITAS_QT_VERSION_SHORT=4763 #Necessitas Qt Framework Version -NECESSITAS_QT_VERSION="4.7.63" #Necessitas Qt Framework Long Version +NECESSITAS_QT_VERSION_SHORT=480 #Necessitas Qt Framework Version +NECESSITAS_QT_VERSION="4.8.0 Alpha 3" #Necessitas Qt Framework Long Version +NECESSITAS_QT_PACKAGE_VERSION="4.8.0-3" NECESSITAS_QTWEBKIT_VERSION="2.2" #Necessitas QtWebkit Version -- cgit v1.2.3 From e42e5ac779cb94bfb8738c994b58ee5c2b932212 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 24 Oct 2011 19:46:53 +0000 Subject: Switch to Linaro NDK --- Necessitas_SDK/build_sdk.sh | 2 +- .../packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs | 5 ++--- .../packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml | 2 +- Necessitas_SDK/sdk_cleanup.sh | 1 + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh index 2a4b08e..3faaacd 100755 --- a/Necessitas_SDK/build_sdk.sh +++ b/Necessitas_SDK/build_sdk.sh @@ -1810,7 +1810,7 @@ prepareSDKs prepareAnt prepareNecessitasQtCreator # prepareGDBVersion head $HOST_TAG -prepareGDBVersion 7.3 +# prepareGDBVersion 7.3 # prepareGDBVersion head mkdir $CHECKOUT_BRANCH pushd $CHECKOUT_BRANCH diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs index c6f9e7f..6cf432f 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs @@ -48,8 +48,8 @@ Component.prototype.createOperations = function() component.addOperation( "RegisterPersistentSettings", "android.xml", "NDKToolchainVersion", - "arm-linux-androideabi-4.4.3" ); -/* + "4.4.3" ); + // set DEFAULT gdb location var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; var gdbserverPath = gdbPath+"gdbserver"; @@ -74,5 +74,4 @@ Component.prototype.createOperations = function() "android.xml", "GdbserverLocation", gdbserverPath ); -*/ } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index 3b3c519..7021d70 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -2,7 +2,7 @@ Android NDK-@@ANDROID_NDK_VERSION@@ Android NDK-@@ANDROID_NDK_VERSION@@ - 5.0.0-@@ANDROID_NDK_VERSION@@ + 6.1.2011.10 @@TODAY@@ org.kde.necessitas.misc.ndk.@@ANDROID_NDK_MAJOR_VERSION@@ diff --git a/Necessitas_SDK/sdk_cleanup.sh b/Necessitas_SDK/sdk_cleanup.sh index 0d1d161..29cbb6b 100644 --- a/Necessitas_SDK/sdk_cleanup.sh +++ b/Necessitas_SDK/sdk_cleanup.sh @@ -10,6 +10,7 @@ function removeUnusedPackages # Do we really need this packages ? rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.gdb_head rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.host_gdb_head + rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.gdb_7_3 # OpenJDK needs to be handled into QtCeator rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.openjdk -- cgit v1.2.3 From 49e0876b6b5e9409c60ead559faeb6ea83bcfccd Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 25 Oct 2011 17:34:39 +0000 Subject: Update NDK description, fix QtCreator version. --- Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml | 2 +- Necessitas_SDK/sdk_vars.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml index 7021d70..65d9bdb 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml @@ -1,7 +1,7 @@ Android NDK-@@ANDROID_NDK_VERSION@@ - Android NDK-@@ANDROID_NDK_VERSION@@ + Android NDK-@@ANDROID_NDK_VERSION@@ Linaro 4.6-2011-10 and Google 4.4.3, includes binutils 2.10.1 and gdb 7.3.50.20110709 6.1.2011.10 @@TODAY@@ org.kde.necessitas.misc.ndk.@@ANDROID_NDK_MAJOR_VERSION@@ diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh index 7a314f7..80ba3da 100644 --- a/Necessitas_SDK/sdk_vars.sh +++ b/Necessitas_SDK/sdk_vars.sh @@ -4,7 +4,7 @@ HOST_QT_BRANCH="remotes/upstream/tags/v4.7.4" CHECKOUT_BRANCH="unstable" -NECESSITAS_QT_CREATOR_VERSION="2.3.81" +NECESSITAS_QT_CREATOR_VERSION="2.3.1" EXTERNAL_7Z=7z -- cgit v1.2.3 From d71d1648db9ae39761bacc2f4942f2c1158b742e Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 27 Oct 2011 20:44:16 +0000 Subject: Ministro repo refactoring Fix windows src packages --- Ministro/AndroidManifest.xml | 2 +- .../src/org/kde/necessitas/ministro/MinistroActivity.java | 6 +++--- Necessitas_SDK/BootstrapMinGWAndroid.vbs | 2 +- Necessitas_SDK/build_sdk.sh | 13 +++++++------ Necessitas_SDK/config/config.xml | 4 ++-- Necessitas_SDK/ministrorepogen/main.cpp | 13 ++++++------- .../org.kde.necessitas.android.qt.src/meta/installscript.qs | 9 +-------- .../meta/installscript.qs | 9 +-------- .../meta/installscript.qs | 9 +-------- 9 files changed, 23 insertions(+), 44 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index fb5d403..aabad18 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="6.0" android:versionCode="6"> SDKMaintenanceTool - - file:///var/debian/tmp/necessitas/out/necessitas/sdk + http://files.kde.org/necessitas/sdk_master + true diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp index b0e1368..2d26638 100644 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ b/Necessitas_SDK/ministrorepogen/main.cpp @@ -51,7 +51,7 @@ void getFileInfo(const QString & filePath, qint64 & fileSize, QString & sha1) int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); - if (argc<9) + if (argc<8) { printHelp(); return 1; @@ -64,7 +64,6 @@ int main(int argc, char *argv[]) const char * rulesFile=argv[5]; const char * outputFolder=argv[6]; const char * objfolder =argv [7]; - const char * repository =argv [8]; QDomDocument document("libs"); QFile f(rulesFile); @@ -168,7 +167,7 @@ int main(int argc, char *argv[]) SortLibraries(libs, readelfPath, libsPath, excludePaths); QDir path; - QString xmlPath(outputFolder+QString("/android/%1/").arg(abiVersion)); + QString xmlPath(outputFolder+QString("/%1/").arg(abiVersion)); path.mkpath(xmlPath); path.cd(xmlPath); chdir(path.absolutePath().toUtf8().constData()); @@ -197,8 +196,8 @@ int main(int argc, char *argv[]) qWarning()<<"Warning : Can't find \""<\n\n"); @@ -239,8 +238,8 @@ int main(int argc, char *argv[]) if (needed.type.length()) type=QString(" type=\"%1\" ").arg(needed.type); - outXmlFile.write(QString("\t\t\t\n") - .arg(needed.name).arg(abiVersion).arg(objfolder).arg(needed.relativePath.arg(platformJars[androdPlatform])).arg(fileSize).arg(sha1Hash).arg(type).arg(repository).toUtf8()); + outXmlFile.write(QString("\t\t\t\n") + .arg(needed.name).arg(objfolder).arg(needed.relativePath.arg(platformJars[androdPlatform])).arg(fileSize).arg(sha1Hash).arg(type).toUtf8()); } outXmlFile.write("\t\t\n"); } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs index 2ec8ca0..8d88be8 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs @@ -20,14 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qt-src-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qt-src.7z" ); - } + component.addDownloadableArchive( "qt-src.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs index 95aa240..0a77bb1 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs @@ -20,14 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtmobility-src-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtmobility-src.7z" ); - } + component.addDownloadableArchive( "qtmobility-src.7z" ); } } diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs index 1543d19..8d27584 100644 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs @@ -20,14 +20,7 @@ function Component() { if( component.fromOnlineRepository ) { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtwebkit-src-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtwebkit-src.7z" ); - } + component.addDownloadableArchive( "qtwebkit-src.7z" ); } } -- cgit v1.2.3 From 83a075ea66f67673e0b240a9688eedb3324e979e Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 2 Nov 2011 21:57:15 +0200 Subject: More translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Norwegian takket være Tomas - Japanese ãŠã‹ã’㧠Taro - Persian mulÅ£umită lui Seyyed Razi Alavizadeh - Italian grazie a Roberto Luttino Maria Antonietta Ricagno - Spanish gracias a Maria Antonietta Ricagno --- Ministro/res/values-es/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-fa/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-id/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-it/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-ja/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-nb/strings.xml | 22 ++++++++++++++++++++++ Ministro/res/values-rs/strings.xml | 22 ++++++++++++++++++++++ 7 files changed, 154 insertions(+) create mode 100644 Ministro/res/values-es/strings.xml create mode 100644 Ministro/res/values-fa/strings.xml create mode 100644 Ministro/res/values-id/strings.xml create mode 100644 Ministro/res/values-it/strings.xml create mode 100644 Ministro/res/values-ja/strings.xml create mode 100644 Ministro/res/values-nb/strings.xml create mode 100644 Ministro/res/values-rs/strings.xml diff --git a/Ministro/res/values-es/strings.xml b/Ministro/res/values-es/strings.xml new file mode 100644 index 0000000..52159cf --- /dev/null +++ b/Ministro/res/values-es/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Elegir un repositorio + Ministro no es compatible con la aplicación. Actualizar el servicio Ministro. + Ministro requiere el acceso de red. Habilitar la red móvil o Wi-Fi para descargar los datos. + Impostaciones + Conectando a la red... + %1$s requiere librerias extra para la ejecución.\nDescargarlas ahora? + Iniciando descarga... + Descarga de las librerias Qt + Controlando las librerias. Esperar + Extracción de los certificados de root SSL. Esperar + Encontradas nuevas librerias Qt + Encontradas nuevas librerias Qt. Presionar para actualizar. + Ministro utilizará el repositorio %1$s + Modificar el repositorio de Ministro + Actualizando Ministro + Modificado repositorio de Ministro. Presionar para actualizar. + Parámetros no validos + Ministro no puede satisfacer las dependencias de la aplicación + diff --git a/Ministro/res/values-fa/strings.xml b/Ministro/res/values-fa/strings.xml new file mode 100644 index 0000000..3072a56 --- /dev/null +++ b/Ministro/res/values-fa/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + مخزن را انتخاب Ú©Ù† + سرویس Ministro با برنامه‌تان سازگار نیست. لطÙا سرویس Ministro را بروز کنید. + سرویس Ministro نیاز به دسترسی به شبکه اینترنت دارد. شبکه اینترنت موبایل یا شبکه اینترنت بی‌سیم را برای دانلود داده‌ها Ùعال کنید. + تنظیمات + انتظار برای اتصال به شبکه + †%1$s برای اجرا شدن به کتابخانه‌های اضاÙÛŒ نیاز دارد.\nآیا اکنون آنها را دانلود می‌کنید؟ + آغاز دانلود کردن...†+ دانلود کردن کتابخانه‌های Qt†+ بررسی کتابخانه‌ها. لطÙا منتظر بمانید...†+ استخراج کردن اعتبارنامه ریشه SSL. لطÙا منتظر بمانید...†+ کتابخانه‌های جدید Qt یاÙت شدند + کتابخانه‌های جدید Qt یاÙت شده‌اند برای بروزرسانی tap کنید. + سرویس Ministro مخزن %1$s را استÙاده خواهد کرد + مخزن سرویس Ministro تغییر کرده است. + بروزرسانی سرویس Ministro†+ مخزن سرویس Ministro تغییر کرده است برای بروزرسانی tap کنید. + پارامترهای نامعتبر + سرویس Ministro نمی‌تواند وابستگی‌های برنامه‌تان را برآورده کند + diff --git a/Ministro/res/values-id/strings.xml b/Ministro/res/values-id/strings.xml new file mode 100644 index 0000000..c0930c1 --- /dev/null +++ b/Ministro/res/values-id/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Pilih indeks + Ministro tidak cocok dengan aplikasi Anda. Silakan meningkatkan layanan Ministro. + Ministro memerlukan akses jaringan. Aktifkan jaringan bergerak atau Wi-Fi untuk mengunduh data. + tata latar + Menunggu koneksi jaringan + %1$s memerlukan ekstra daftar pustaka untuk dioperasikan.\nUnduh sekarang? + Mulai mengunduh ... + Mengunduh daftar pustaka Qt + mengecek daftar pustaka. Harap tunggu... + Mengekstrak certifikat akar SSL root. Harap tunggu... + Ditemukan daftar pustaka Qt aktual + Telah ditemukan daftar pustaka Qt aktual tekan untuk memperbarui. + Ministro akan menggunakan indeks %1$s + Indeks Ministro berubah + Ministro aktual + Indeks Ministro berubah tekan untuk memperbarui. + Parameter tidak berfungsi + Ministro tidak dapat memenuhi dependensi aplikasi Anda + diff --git a/Ministro/res/values-it/strings.xml b/Ministro/res/values-it/strings.xml new file mode 100644 index 0000000..d9fdffe --- /dev/null +++ b/Ministro/res/values-it/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Scegliere un repository + Ministro non è compatibile con l\'applicazione. Aggiornare il servizio Ministro. + Ministro richiede l\'accesso di rete. Abilitare rete mobile o Wi-Fi per scaricare i dati. + Impostazioni + In attesa della connessione di rete + %1$s richiede librerie extra per l\'esecuzione.\nScaricarle ora? + Inizio scaricamento in corso + Scaricamento delle librerie Qt + Controllo delle librerie in corso. Attendere + Estrazione dei certificati di root SSL. Attendere + Trovate nuove librerie Qt + Trovate nuove librerie Qt. Premere per aggiornare. + Ministro userà il repository %1$s + Modificato repository di Ministro + Aggiornamento di Ministro + Modificato repository di Ministro. Premere per aggiornare. + Parametri non validi + Ministro non può soddisfare le dipendenze dell\'applicazione + diff --git a/Ministro/res/values-ja/strings.xml b/Ministro/res/values-ja/strings.xml new file mode 100644 index 0000000..b109d77 --- /dev/null +++ b/Ministro/res/values-ja/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + リãƒã‚¸ãƒˆãƒªã®é¸æŠž + Ministroã¯ã‚ãªãŸã®ã‚¢ãƒ—リケーションã¨äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“。 Ministroサービスをアップグレードã—ã¦ãã ã•ã„。 + Ministroã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚ モãƒã‚¤ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‹Wi-Fiã§ãƒ‡ãƒ¼ã‚¿ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’許å¯ã—ã¦ãã ã•ã„。 + セッティング + ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®æŽ¥ç¶šå¾…ã¡ + %1$sã¯æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリを必è¦ã¨ã—ã¾ã™ã€‚\n今ダウンロードã—ã¾ã™ã‹ï¼Ÿ + ダウンロード開始 ... + Qtライブラリーダウンロード中 + ライブラリーを確èªä¸­ã§ã™ã€‚ ãŠå¾…ã¡ãã ã•ã„... + SSLルート証明書を抽出中。 ãŠå¾…ã¡ãã ã•ã„... + æ–°ã—ã„QtライブラリーãŒè¦‹ã¤ã‹ã‚Šã¾ã—㟠+ æ–°ã—ã„QtライブラリーãŒè¦‹ã¤ã‹ã£ãŸã®ã§æ›´æ–°ã‚’タップã—ã¦ãã ã•ã„。 + Ministroã¯%1$sã®ãƒªãƒã‚¸ãƒˆãƒªã‚’使用ã—ã¾ã™ã€‚ + Ministroリãƒã‚¸ãƒˆãƒªãŒå¤‰æ›´ã•ã‚Œã¾ã—㟠+ Ministroæ›´æ–° + Ministroã®ãƒªãƒã‚¸ãƒˆãƒªãŒå¤‰æ›´ã•ã‚ŒãŸã®ã§æ›´æ–°ã‚’タップã—ã¦ãã ã•ã„。 + 無効ãªãƒ‘ラメータ + Ministroã¯ã‚ãªãŸã®ã‚¢ãƒ—リケーションã®ä¾å­˜é–¢ä¿‚を解決ã§ãã¾ã›ã‚“ + diff --git a/Ministro/res/values-nb/strings.xml b/Ministro/res/values-nb/strings.xml new file mode 100644 index 0000000..d9f3f26 --- /dev/null +++ b/Ministro/res/values-nb/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Velg et kodelager + Ministro er ikke kompatibel med din applikasjon. Vennligst oppgrader tjenesten Ministro. + Ministro krever nettverkstilgang. Tillat datatrafikk i mobilnett eller skru pÃ¥ trÃ¥dløst nettverk for Ã¥ laste ned data. + Innstillinger + Venter pÃ¥ nettverkstilkobling + %1$s trenger flere biblioteker for Ã¥ kjøre.\nVil du laste ned disse nÃ¥? + Start nedlasting ... + Laster ned Qt biblioteker + Sjekker biblioteker. Vennligst vent... + Trekker ut SSL rotsertifikater. Vennligst vent... + Fant nye Qt biblioteker + Fant nye Qt biblioteker, trykk for Ã¥ oppdatere + Ministro vil bruke %1$s kodelager + Ministro kodelager endret + Ministro oppdatering + Ministro kodelager endret, trykk for Ã¥ oppdatere + Ugyldige parametere + Din applikasjon har avhengigheter Ministro ikke kan tilfredsstille + diff --git a/Ministro/res/values-rs/strings.xml b/Ministro/res/values-rs/strings.xml new file mode 100644 index 0000000..496ede2 --- /dev/null +++ b/Ministro/res/values-rs/strings.xml @@ -0,0 +1,22 @@ + + + Ministro + Izaberite spremiÅ¡te. + Ministro nije kompatibilan sa VaÅ¡om aplikacijom. Molimo ažurirajte Ministro servis. + Ministro zahteva pristup mreži. Omogućite mobilnu ili bežiÄnu mrežu radi preuzimanja podataka. + PodeÅ¡avanja + ÄŒekam konekciju sa mrežom + %1$s zahteva dodatne biblioteke da bi se pokrenuo. Želite li sada da ih preuzmete? + Preuzimanje zapoÄeto ... + Preuzimanje Qt biblioteka + Proveravanje biblioteka. Molimo saÄekajte... + Ekstraktovanje SSL sertifikata. Molimo saÄekajte... + PronaÄ‘ene nove Qt biblioteke + Nove Qt biblioteke su pronaÄ‘ene, klik za ažuriranje. + Ministro će koristiti %1$s spremiÅ¡te + Ministro spremiÅ¡te promenjeno + Ministro ažuriranje + Ministro spremiÅ¡te promenjeno, klik za ažuriranje. + PogreÅ¡ni parametri + Ministro ne može da pronaÄ‘e zavisnosti VaÅ¡e aplikacije + -- cgit v1.2.3 From 853f3fcf061ca02749135672266016019fa55e6c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 27 May 2012 22:00:35 +0300 Subject: WIP Android native style plugin. --- Ministro/AndroidManifest.xml | 2 +- Ministro/jni/Android.mk | 6 +- Ministro/jni/Application.mk | 1 + Ministro/jni/extract.cpp | 178 +++ Ministro/jni/extract.h | 101 ++ Ministro/res/layout/repoconfig.xml | 15 +- Ministro/res/values/arrays.xml | 5 + Ministro/res/values/strings.xml | 2 + .../org/kde/necessitas/ministro/ExtractStyle.java | 1288 ++++++++++++++++++++ .../kde/necessitas/ministro/MinistroActivity.java | 30 +- .../ministro/MinistroConfigActivity.java | 37 +- .../kde/necessitas/ministro/MinistroService.java | 70 +- 12 files changed, 1701 insertions(+), 34 deletions(-) create mode 100644 Ministro/jni/Application.mk create mode 100644 Ministro/jni/extract.cpp create mode 100644 Ministro/jni/extract.h create mode 100644 Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index aabad18..5610a9e 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="7.0" android:versionCode="7"> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include +#include +#include + +#define LOG_TAG "extractSyleInfo" +#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) +#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) +#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,LOG_TAG,__VA_ARGS__) + +const char * const NinePatchDrawableClassName = "android/graphics/drawable/NinePatchDrawable"; +const char * const NinePatchFieldIDName = "mNinePatch"; +static jfieldID m_ninePatchFieldID=0; + +const char * const NinePatchClassName = "android/graphics/NinePatch"; +const char * const ChunkFieldIDName = "mChunk"; +static jfieldID m_chunkFieldID=0; + +const char * const ClipStateClassName = "android/graphics/drawable/ClipDrawable$ClipState"; +const char * const ClipStateDrawableFieldIDName = "mDrawable"; +static jfieldID m_clipStateDrawableFieldID=0; + +bool setup(JNIEnv * env, jobject /*obj*/) +{ + jclass ninePatchClass = env->FindClass(NinePatchClassName); + if (!ninePatchClass) + { + LOGF("Unable to find class '%s'", NinePatchClassName); + return JNI_FALSE; + } + + m_chunkFieldID = env->GetFieldID(ninePatchClass, ChunkFieldIDName, "[B"); + if(!m_chunkFieldID) + { + LOGF("Unable to find field '%s'", ChunkFieldIDName); + return JNI_FALSE; + } + + jclass ninePatchDrawableClass = env->FindClass(NinePatchDrawableClassName); + if (!ninePatchDrawableClass) + { + LOGF("Unable to find class '%s'", NinePatchDrawableClassName); + return JNI_FALSE; + } + + m_ninePatchFieldID = env->GetFieldID(ninePatchDrawableClass, NinePatchFieldIDName, "Landroid/graphics/NinePatch;"); + if(!m_ninePatchFieldID) + { + LOGF("Unable to find field '%s'", NinePatchFieldIDName); + return JNI_FALSE; + } + + jclass clipStateDrawableClass = env->FindClass(ClipStateClassName); + if (!clipStateDrawableClass) + { + LOGF("Unable to find class '%s'", ClipStateClassName); + return JNI_FALSE; + } + + m_clipStateDrawableFieldID = env->GetFieldID(clipStateDrawableClass, ClipStateDrawableFieldIDName, "Landroid/graphics/drawable/Drawable;"); + if(!m_ninePatchFieldID) + { + LOGF("Unable to find field '%s'", NinePatchFieldIDName); + return JNI_FALSE; + } + + return JNI_TRUE; +} + +static void printChunkInformation(Res_png_9patch* chunk) +{ + LOGI("printChunkInformation x:%d , y:%d",chunk->numXDivs, chunk->numYDivs); + for (int x = 0; x < chunk->numXDivs; x ++) + LOGI("X CHUNK %d %d", x, chunk->xDivs[x]); + for (int y = 0; y < chunk->numYDivs; y ++) + LOGI("Y CHUNK %d %d", y, chunk->yDivs[y]); + LOGI("----"); +} + +extern "C" JNIEXPORT jintArray JNICALL Java_org_kde_necessitas_ministro_ExtractStyle_extractChunkInfo(JNIEnv * env, jobject obj, jbyteArray chunkObj) +{ + size_t chunkSize = env->GetArrayLength(chunkObj); + void* storage = alloca(chunkSize); + env->GetByteArrayRegion(chunkObj, 0, chunkSize, + reinterpret_cast(storage)); + + if (!env->ExceptionCheck()) + { + // need to deserialize the chunk + Res_png_9patch* chunk = static_cast(storage); + Res_png_9patch::deserialize(chunk); + printChunkInformation(chunk); + jintArray result; + size_t size = 3+chunk->numXDivs+chunk->numYDivs+chunk->numColors; + result = env->NewIntArray(size); + if (!result) + return 0; + + jint *data = (jint*)malloc(sizeof(jint)*size); + size_t pos = 0; + data[pos++]=chunk->numXDivs; + data[pos++]=chunk->numYDivs; + data[pos++]=chunk->numColors; + for (int x = 0; x numXDivs; x ++) + data[pos++]=chunk->xDivs[x]; + for (int y = 0; y numYDivs; y ++) + data[pos++]=chunk->yDivs[y]; + for (int c = 0; c numColors; c ++) + data[pos++]=chunk->colors[c]; + env->SetIntArrayRegion(result, 0, size, data); + free(data); + return result; + } + return 0; +} + +extern "C" JNIEXPORT jintArray JNICALL Java_org_kde_necessitas_ministro_ExtractStyle_extract9PatchInfo(JNIEnv * env, jobject obj, jobject ninePatchObject) +{ + if (!m_ninePatchFieldID || !m_chunkFieldID) + if (!setup(env, obj)) + return 0; + return Java_org_kde_necessitas_ministro_ExtractStyle_extractChunkInfo(env, obj + ,reinterpret_cast(env->GetObjectField( + env->GetObjectField(ninePatchObject, m_ninePatchFieldID) + , m_chunkFieldID)) ); +} + +extern "C" JNIEXPORT jobject JNICALL Java_org_kde_necessitas_ministro_ExtractStyle_getClipStateDrawableObject(JNIEnv * env, jobject obj, jobject clipStateObject) +{ + if (!m_ninePatchFieldID || !m_chunkFieldID || !m_clipStateDrawableFieldID) + if (!setup(env, obj)) + return 0; + return env->GetObjectField(clipStateObject, m_clipStateDrawableFieldID); +} + +// The following part was shamelessly stolen from ResourceTypes.cpp Android's sources +static void deserializeInternal(const void* inData, Res_png_9patch* outData) { + char* patch = (char*) inData; + if (inData != outData) { + memmove(&outData->wasDeserialized, patch, 4); // copy wasDeserialized, numXDivs, numYDivs, numColors + memmove(&outData->paddingLeft, patch + 12, 4); // copy wasDeserialized, numXDivs, numYDivs, numColors + } + outData->wasDeserialized = true; + char* data = (char*)outData; + data += sizeof(Res_png_9patch); + outData->xDivs = (int32_t*) data; + data += outData->numXDivs * sizeof(int32_t); + outData->yDivs = (int32_t*) data; + data += outData->numYDivs * sizeof(int32_t); + outData->colors = (uint32_t*) data; +} + +Res_png_9patch* Res_png_9patch::deserialize(const void* inData) +{ + if (sizeof(void*) != sizeof(int32_t)) { + LOGE("Cannot deserialize on non 32-bit system\n"); + return NULL; + } + deserializeInternal(inData, (Res_png_9patch*) inData); + return (Res_png_9patch*) inData; +} diff --git a/Ministro/jni/extract.h b/Ministro/jni/extract.h new file mode 100644 index 0000000..498ba7a --- /dev/null +++ b/Ministro/jni/extract.h @@ -0,0 +1,101 @@ +#ifndef EXTRACT_H +#define EXTRACT_H + +#include +#include +// shamelessly stolen from ResourceTypes.h Android's sources +/** + * This chunk specifies how to split an image into segments for + * scaling. + * + * There are J horizontal and K vertical segments. These segments divide + * the image into J*K regions as follows (where J=4 and K=3): + * + * F0 S0 F1 S1 + * +-----+----+------+-------+ + * S2| 0 | 1 | 2 | 3 | + * +-----+----+------+-------+ + * | | | | | + * | | | | | + * F2| 4 | 5 | 6 | 7 | + * | | | | | + * | | | | | + * +-----+----+------+-------+ + * S3| 8 | 9 | 10 | 11 | + * +-----+----+------+-------+ + * + * Each horizontal and vertical segment is considered to by either + * stretchable (marked by the Sx labels) or fixed (marked by the Fy + * labels), in the horizontal or vertical axis, respectively. In the + * above example, the first is horizontal segment (F0) is fixed, the + * next is stretchable and then they continue to alternate. Note that + * the segment list for each axis can begin or end with a stretchable + * or fixed segment. + * + * The relative sizes of the stretchy segments indicates the relative + * amount of stretchiness of the regions bordered by the segments. For + * example, regions 3, 7 and 11 above will take up more horizontal space + * than regions 1, 5 and 9 since the horizontal segment associated with + * the first set of regions is larger than the other set of regions. The + * ratios of the amount of horizontal (or vertical) space taken by any + * two stretchable slices is exactly the ratio of their corresponding + * segment lengths. + * + * xDivs and yDivs point to arrays of horizontal and vertical pixel + * indices. The first pair of Divs (in either array) indicate the + * starting and ending points of the first stretchable segment in that + * axis. The next pair specifies the next stretchable segment, etc. So + * in the above example xDiv[0] and xDiv[1] specify the horizontal + * coordinates for the regions labeled 1, 5 and 9. xDiv[2] and + * xDiv[3] specify the coordinates for regions 3, 7 and 11. Note that + * the leftmost slices always start at x=0 and the rightmost slices + * always end at the end of the image. So, for example, the regions 0, + * 4 and 8 (which are fixed along the X axis) start at x value 0 and + * go to xDiv[0] and slices 2, 6 and 10 start at xDiv[1] and end at + * xDiv[2]. + * + * The array pointed to by the colors field lists contains hints for + * each of the regions. They are ordered according left-to-right and + * top-to-bottom as indicated above. For each segment that is a solid + * color the array entry will contain that color value; otherwise it + * will contain NO_COLOR. Segments that are completely transparent + * will always have the value TRANSPARENT_COLOR. + * + * The PNG chunk type is "npTc". + */ +struct Res_png_9patch +{ + Res_png_9patch() : wasDeserialized(false), xDivs(NULL), + yDivs(NULL), colors(NULL) { } + + int8_t wasDeserialized; + int8_t numXDivs; + int8_t numYDivs; + int8_t numColors; + + // These tell where the next section of a patch starts. + // For example, the first patch includes the pixels from + // 0 to xDivs[0]-1 and the second patch includes the pixels + // from xDivs[0] to xDivs[1]-1. + // Note: allocation/free of these pointers is left to the caller. + int32_t* xDivs; + int32_t* yDivs; + + int32_t paddingLeft, paddingRight; + int32_t paddingTop, paddingBottom; + + enum { + // The 9 patch segment is not a solid color. + NO_COLOR = 0x00000001, + + // The 9 patch segment is completely transparent. + TRANSPARENT_COLOR = 0x00000000 + }; + // Note: allocation/free of this pointer is left to the caller. + uint32_t* colors; + + // Deserialize/Unmarshall the patch data + static Res_png_9patch* deserialize(const void* data); +}; + +#endif diff --git a/Ministro/res/layout/repoconfig.xml b/Ministro/res/layout/repoconfig.xml index c9a9969..f730e0e 100644 --- a/Ministro/res/layout/repoconfig.xml +++ b/Ministro/res/layout/repoconfig.xml @@ -11,10 +11,23 @@ android:text="@string/repositories_prompt" /> + + diff --git a/Ministro/res/values/arrays.xml b/Ministro/res/values/arrays.xml index a02e6a6..7a9bfce 100644 --- a/Ministro/res/values/arrays.xml +++ b/Ministro/res/values/arrays.xml @@ -5,4 +5,9 @@ testing unstable + + 1 + 7 + 30 + diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index c3b5777..9ad938a 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -19,4 +19,6 @@ Ministro repository changed tap to update. Invalid parameters Ministro can not satisfy your application dependencies + Check for updates frequency (days) + Extracting the device look&feel information. Please wait... diff --git a/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java b/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java new file mode 100644 index 0000000..ccdda31 --- /dev/null +++ b/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java @@ -0,0 +1,1288 @@ +/* + Copyright (c) 2011, BogDan Vatra + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package org.kde.necessitas.ministro; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.util.ArrayList; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.xmlpull.v1.XmlPullParser; + +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; +import android.graphics.Bitmap; +import android.graphics.Bitmap.Config; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.ClipDrawable; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; +import android.graphics.drawable.GradientDrawable.Orientation; +import android.graphics.drawable.LayerDrawable; +import android.graphics.drawable.NinePatchDrawable; +import android.graphics.drawable.StateListDrawable; +import android.os.Build; +import android.util.AttributeSet; +import android.util.Xml; +import android.view.inputmethod.EditorInfo; + +public class ExtractStyle { + + native static int[] extractChunkInfo(byte[] chunkData); + native static int[] extract9PatchInfo(Object ninePatchDrawable); + native static Object getClipStateDrawableObject(Object clipStateObject); + + Class styleableClass = getStylableClass(); + final int[] EMPTY_STATE_SET = {}; + final int[] ENABLED_STATE_SET = {android.R.attr.state_enabled}; + final int[] FOCUSED_STATE_SET = {android.R.attr.state_focused}; + final int[] SELECTED_STATE_SET = {android.R.attr.state_selected}; + final int[] PRESSED_STATE_SET = {android.R.attr.state_pressed}; + final int[] WINDOW_FOCUSED_STATE_SET = {android.R.attr.state_window_focused}; + final int[] ENABLED_FOCUSED_STATE_SET = stateSetUnion(ENABLED_STATE_SET, FOCUSED_STATE_SET); + final int[] ENABLED_SELECTED_STATE_SET = stateSetUnion(ENABLED_STATE_SET, SELECTED_STATE_SET); + final int[] ENABLED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(ENABLED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] FOCUSED_SELECTED_STATE_SET = stateSetUnion(FOCUSED_STATE_SET, SELECTED_STATE_SET); + final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(FOCUSED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] ENABLED_FOCUSED_SELECTED_STATE_SET = stateSetUnion(ENABLED_FOCUSED_STATE_SET, SELECTED_STATE_SET); + final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(ENABLED_FOCUSED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(ENABLED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(FOCUSED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(ENABLED_FOCUSED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_SELECTED_STATE_SET = stateSetUnion(PRESSED_STATE_SET, SELECTED_STATE_SET); + final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_FOCUSED_STATE_SET = stateSetUnion(PRESSED_STATE_SET, FOCUSED_STATE_SET); + final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_FOCUSED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_FOCUSED_SELECTED_STATE_SET = stateSetUnion(PRESSED_FOCUSED_STATE_SET, SELECTED_STATE_SET); + final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_FOCUSED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_ENABLED_STATE_SET = stateSetUnion(PRESSED_STATE_SET, ENABLED_STATE_SET); + final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_ENABLED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_ENABLED_SELECTED_STATE_SET = stateSetUnion(PRESSED_ENABLED_STATE_SET, SELECTED_STATE_SET); + final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_ENABLED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_ENABLED_FOCUSED_STATE_SET = stateSetUnion(PRESSED_ENABLED_STATE_SET, FOCUSED_STATE_SET); + final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_ENABLED_FOCUSED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET = stateSetUnion(PRESSED_ENABLED_FOCUSED_STATE_SET, SELECTED_STATE_SET); + final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET = stateSetUnion(PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, WINDOW_FOCUSED_STATE_SET); + + + final int View_background = getField(styleableClass,"View_background"); + final int View_padding = getField(styleableClass,"View_padding"); + final int View_paddingLeft = getField(styleableClass,"View_paddingLeft"); + final int View_paddingTop = getField(styleableClass,"View_paddingTop"); + final int View_paddingRight = getField(styleableClass,"View_paddingRight"); + final int View_paddingBottom = getField(styleableClass,"View_paddingBottom"); + final int View_scrollX = getField(styleableClass,"View_scrollX"); + final int View_scrollY = getField(styleableClass,"View_scrollY"); + final int View_id = getField(styleableClass,"View_id"); + final int View_tag = getField(styleableClass,"View_tag"); + final int View_fitsSystemWindows = getField(styleableClass,"View_fitsSystemWindows"); + final int View_focusable = getField(styleableClass,"View_focusable"); + final int View_focusableInTouchMode = getField(styleableClass,"View_focusableInTouchMode"); + final int View_clickable = getField(styleableClass,"View_clickable"); + final int View_longClickable = getField(styleableClass,"View_longClickable"); + final int View_saveEnabled = getField(styleableClass,"View_saveEnabled"); + final int View_duplicateParentState = getField(styleableClass,"View_duplicateParentState"); + final int View_visibility = getField(styleableClass,"View_visibility"); + final int View_drawingCacheQuality = getField(styleableClass,"View_drawingCacheQuality"); + final int View_contentDescription = getField(styleableClass,"View_contentDescription"); + final int View_soundEffectsEnabled = getField(styleableClass,"View_soundEffectsEnabled"); + final int View_hapticFeedbackEnabled = getField(styleableClass,"View_hapticFeedbackEnabled"); + final int View_scrollbars = getField(styleableClass,"View_scrollbars"); + final int View_fadingEdge = getField(styleableClass,"View_fadingEdge"); + final int View_scrollbarStyle = getField(styleableClass,"View_scrollbarStyle"); + final int View_isScrollContainer = getField(styleableClass,"View_isScrollContainer"); + final int View_keepScreenOn = getField(styleableClass,"View_keepScreenOn"); + final int View_filterTouchesWhenObscured = getField(styleableClass,"View_filterTouchesWhenObscured"); + final int View_nextFocusLeft = getField(styleableClass,"View_nextFocusLeft"); + final int View_nextFocusRight = getField(styleableClass,"View_nextFocusRight"); + final int View_nextFocusUp = getField(styleableClass,"View_nextFocusUp"); + final int View_nextFocusDown = getField(styleableClass,"View_nextFocusDown"); + final int View_minWidth = getField(styleableClass,"View_minWidth"); + final int View_minHeight = getField(styleableClass,"View_minHeight"); + final int View_onClick = getField(styleableClass,"View_onClick"); + final int View_overScrollMode = getField(styleableClass,"View_overScrollMode"); + + + final int TextAppearance_textColorHighlight = getField(styleableClass,"TextAppearance_textColorHighlight"); + final int TextAppearance_textColor = getField(styleableClass,"TextAppearance_textColor"); + final int TextAppearance_textColorHint = getField(styleableClass,"TextAppearance_textColorHint"); + final int TextAppearance_textColorLink = getField(styleableClass,"TextAppearance_textColorLink"); + final int TextAppearance_textSize = getField(styleableClass,"TextAppearance_textSize"); + final int TextAppearance_typeface = getField(styleableClass,"TextAppearance_typeface"); + final int TextAppearance_textStyle = getField(styleableClass,"TextAppearance_textStyle"); + final int TextAppearance_textAllCaps = getField(styleableClass,"TextAppearance_textAllCaps"); + final int TextView_editable = getField(styleableClass,"TextView_editable"); + final int TextView_inputMethod = getField(styleableClass,"TextView_inputMethod"); + final int TextView_numeric = getField(styleableClass,"TextView_numeric"); + final int TextView_digits = getField(styleableClass,"TextView_digits"); + final int TextView_phoneNumber = getField(styleableClass,"TextView_phoneNumber"); + final int TextView_autoText = getField(styleableClass,"TextView_autoText"); + final int TextView_capitalize = getField(styleableClass,"TextView_capitalize"); + final int TextView_bufferType = getField(styleableClass,"TextView_bufferType"); + final int TextView_selectAllOnFocus = getField(styleableClass,"TextView_selectAllOnFocus"); + final int TextView_autoLink = getField(styleableClass,"TextView_autoLink"); + final int TextView_linksClickable = getField(styleableClass,"TextView_linksClickable"); + final int TextView_drawableLeft = getField(styleableClass,"TextView_drawableLeft"); + final int TextView_drawableTop = getField(styleableClass,"TextView_drawableTop"); + final int TextView_drawableRight = getField(styleableClass,"TextView_drawableRight"); + final int TextView_drawableBottom = getField(styleableClass,"TextView_drawableBottom"); + final int TextView_drawableStart = getField(styleableClass,"TextView_drawableStart"); + final int TextView_drawableEnd = getField(styleableClass,"TextView_drawableEnd"); + final int TextView_drawablePadding = getField(styleableClass,"TextView_drawablePadding"); + final int TextView_textCursorDrawable = getField(styleableClass,"TextView_textCursorDrawable"); + final int TextView_maxLines = getField(styleableClass,"TextView_maxLines"); + final int TextView_maxHeight = getField(styleableClass,"TextView_maxHeight"); + final int TextView_lines = getField(styleableClass,"TextView_lines"); + final int TextView_height = getField(styleableClass,"TextView_height"); + final int TextView_minLines = getField(styleableClass,"TextView_minLines"); + final int TextView_minHeight = getField(styleableClass,"TextView_minHeight"); + final int TextView_maxEms = getField(styleableClass,"TextView_maxEms"); + final int TextView_maxWidth = getField(styleableClass,"TextView_maxWidth"); + final int TextView_ems = getField(styleableClass,"TextView_ems"); + final int TextView_width = getField(styleableClass,"TextView_width"); + final int TextView_minEms = getField(styleableClass,"TextView_minEms"); + final int TextView_minWidth = getField(styleableClass,"TextView_minWidth"); + final int TextView_gravity = getField(styleableClass,"TextView_gravity"); + final int TextView_hint = getField(styleableClass,"TextView_hint"); + final int TextView_text = getField(styleableClass,"TextView_text"); + final int TextView_scrollHorizontally = getField(styleableClass,"TextView_scrollHorizontally"); + final int TextView_singleLine = getField(styleableClass,"TextView_singleLine"); + final int TextView_ellipsize = getField(styleableClass,"TextView_ellipsize"); + final int TextView_marqueeRepeatLimit = getField(styleableClass,"TextView_marqueeRepeatLimit"); + final int TextView_includeFontPadding = getField(styleableClass,"TextView_includeFontPadding"); + final int TextView_cursorVisible = getField(styleableClass,"TextView_cursorVisible"); + final int TextView_maxLength = getField(styleableClass,"TextView_maxLength"); + final int TextView_textScaleX = getField(styleableClass,"TextView_textScaleX"); + final int TextView_freezesText = getField(styleableClass,"TextView_freezesText"); + final int TextView_shadowColor = getField(styleableClass,"TextView_shadowColor"); + final int TextView_shadowDx = getField(styleableClass,"TextView_shadowDx"); + final int TextView_shadowDy = getField(styleableClass,"TextView_shadowDy"); + final int TextView_shadowRadius = getField(styleableClass,"TextView_shadowRadius"); + final int TextView_enabled = getField(styleableClass,"TextView_enabled"); + final int TextView_textColorHighlight = getField(styleableClass,"TextView_textColorHighlight"); + final int TextView_textColor = getField(styleableClass,"TextView_textColor"); + final int TextView_textColorHint = getField(styleableClass,"TextView_textColorHint"); + final int TextView_textColorLink = getField(styleableClass,"TextView_textColorLink"); + final int TextView_textSize = getField(styleableClass,"TextView_textSize"); + final int TextView_typeface = getField(styleableClass,"TextView_typeface"); + final int TextView_textStyle = getField(styleableClass,"TextView_textStyle"); + final int TextView_password = getField(styleableClass,"TextView_password"); + final int TextView_lineSpacingExtra = getField(styleableClass,"TextView_lineSpacingExtra"); + final int TextView_lineSpacingMultiplier = getField(styleableClass,"TextView_lineSpacingMultiplier"); + final int TextView_inputType = getField(styleableClass,"TextView_inputType"); + final int TextView_imeOptions = getField(styleableClass,"TextView_imeOptions"); + final int TextView_imeActionLabel = getField(styleableClass,"TextView_imeActionLabel"); + final int TextView_imeActionId = getField(styleableClass,"TextView_imeActionId"); + final int TextView_privateImeOptions = getField(styleableClass,"TextView_privateImeOptions"); + final int TextView_textSelectHandleLeft = getField(styleableClass,"TextView_textSelectHandleLeft"); + final int TextView_textSelectHandleRight = getField(styleableClass,"TextView_textSelectHandleRight"); + final int TextView_textSelectHandle = getField(styleableClass,"TextView_textSelectHandle"); + final int TextView_textIsSelectable = getField(styleableClass,"TextView_textIsSelectable"); + final int TextView_textAllCaps = getField(styleableClass,"TextView_textAllCaps"); + + final int ImageView_src = getField(styleableClass,"ImageView_src"); + final int ImageView_baselineAlignBottom = getField(styleableClass,"ImageView_baselineAlignBottom"); + final int ImageView_adjustViewBounds = getField(styleableClass,"ImageView_adjustViewBounds"); + final int ImageView_maxWidth = getField(styleableClass,"ImageView_maxWidth"); + final int ImageView_maxHeight = getField(styleableClass,"ImageView_maxHeight"); + final int ImageView_scaleType = getField(styleableClass,"ImageView_scaleType"); + final int ImageView_tint = getField(styleableClass,"ImageView_tint"); + final int ImageView_cropToPadding = getField(styleableClass,"ImageView_cropToPadding"); + + final Resources.Theme m_theme; + final String m_extractPath; + Context m_context; + + + class FakeCanvas extends Canvas { + int[] chunkData= null; + class Size { + public int s,e; + Size(int start, int end) + { + s=start; + e=end; + } + } + public boolean isHardwareAccelerated() { + return true; + } + public void drawPatch(Bitmap bmp, byte[] chunks, RectF dst, Paint paint) { + chunkData=extractChunkInfo(chunks); + } + } + + + + private int[] stateSetUnion(final int[] stateSet1, final int[] stateSet2) + { + try + { + final int stateSet1Length = stateSet1.length; + final int stateSet2Length = stateSet2.length; + final int[] newSet = new int[stateSet1Length + stateSet2Length]; + int k = 0; + int i = 0; + int j = 0; + // This is a merge of the two input state sets and assumes that the + // input sets are sorted by the order imposed by ViewDrawableStates. + int[] viewDrawableStatesState=(int[]) styleableClass.getDeclaredField("ViewDrawableStates").get(null); + for (int viewState : viewDrawableStatesState) + { + if (i < stateSet1Length && stateSet1[i] == viewState) + { + newSet[k++] = viewState; + i++; + } else if (j < stateSet2Length && stateSet2[j] == viewState) { + newSet[k++] = viewState; + j++; + } + if (k > 1) { + assert(newSet[k - 1] > newSet[k - 2]); + } + } + return newSet; + } + catch(Exception e) + { + e.printStackTrace(); + } + return null; + } + + private Class getStylableClass() { + try { + return Class.forName("android.R$styleable"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + return null; + } + + int getField(Class clazz, String fieldName) + { + try { + return clazz.getDeclaredField(fieldName).getInt(null); + } catch (Exception e) { + e.printStackTrace(); + } + return -1; + } + + JSONObject getColorStateList(ColorStateList colorList) + { + JSONObject json = new JSONObject(); + try + { + json.put("EMPTY_STATE_SET", colorList.getColorForState(EMPTY_STATE_SET, 0)); + json.put("WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(WINDOW_FOCUSED_STATE_SET, 0)); + json.put("SELECTED_STATE_SET", colorList.getColorForState(SELECTED_STATE_SET, 0)); + json.put("SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("FOCUSED_STATE_SET", colorList.getColorForState(FOCUSED_STATE_SET, 0)); + json.put("FOCUSED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(FOCUSED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("FOCUSED_SELECTED_STATE_SET", colorList.getColorForState(FOCUSED_SELECTED_STATE_SET, 0)); + json.put("FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("ENABLED_STATE_SET", colorList.getColorForState(ENABLED_STATE_SET, 0)); + json.put("ENABLED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(ENABLED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("ENABLED_SELECTED_STATE_SET", colorList.getColorForState(ENABLED_SELECTED_STATE_SET, 0)); + json.put("ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("ENABLED_FOCUSED_STATE_SET", colorList.getColorForState(ENABLED_FOCUSED_STATE_SET, 0)); + json.put("ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("ENABLED_FOCUSED_SELECTED_STATE_SET", colorList.getColorForState(ENABLED_FOCUSED_SELECTED_STATE_SET, 0)); + json.put("ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_STATE_SET", colorList.getColorForState(PRESSED_STATE_SET, 0)); + json.put("PRESSED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_SELECTED_STATE_SET", colorList.getColorForState(PRESSED_SELECTED_STATE_SET, 0)); + json.put("PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_FOCUSED_SELECTED_STATE_SET", colorList.getColorForState(PRESSED_FOCUSED_SELECTED_STATE_SET, 0)); + json.put("PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_SELECTED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_SELECTED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, 0)); + json.put("PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET", colorList.getColorForState(PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, 0)); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json; + } + + final int [] DrawableStates ={android.R.attr.state_active, android.R.attr.state_checked + , android.R.attr.state_enabled, android.R.attr.state_focused + , android.R.attr.state_pressed, android.R.attr.state_selected + , android.R.attr.state_window_focused, 16908288}; + final String[] DrawableStatesLabels = {"active", "checked", "enabled", "focused", "pressed", "selected", "window_focused", "backdroud"}; + final String[] DisableDrawableStatesLabels = {"inactive", "unchecked", "disabled", "not_focused", "no_pressed", "unselected", "window_not_focused", "backdroud"}; + + String getFileName(String file, String[] states) + { + for (String state: states) + file+="__"+state; + return file; + } + + String getStatesName(String[] states) + { + String statesName=""; + for (String state: states) + { + if (statesName.length()>0) + statesName+="__"; + statesName += state; + } + return statesName; + } + + void addDrawableItemIfNotExists(JSONObject json, ArrayList list, Drawable item, String[] states, String filename) + { + for(Integer it : list) + { + if (it.equals(item.hashCode())) + return; + } + list.add(item.hashCode()); + try { + json.put(getStatesName(states), getDrawable(item, getFileName(filename, states))); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + void addSolution(String filename, JSONObject json, int c, Drawable drawable, ArrayList drawableList, int u) + { + int pos=0; + int states[] = new int[c]; + String [] statesText = new String[c]; + + for(int n= 0;u > 0;++n, u>>= 1) + if((u & 1) > 0) + { + statesText[pos]=DrawableStatesLabels[n]; + states[pos++]=DrawableStates[n]; + } + drawable.setState(states); + addDrawableItemIfNotExists(json, drawableList, drawable.getCurrent(), statesText, filename); + } + + int bitCount(int u) + { + int n; + for(n= 0;u > 0;++n, u&= (u - 1)); + return n; + } + + Object getStateListDrawable_old(Drawable drawable, String filename) + { + JSONObject json = new JSONObject(); + ArrayList drawableList= new ArrayList(); + drawable.setState(EMPTY_STATE_SET); + try { + json.put("empty", getDrawable(drawable.getCurrent(), filename)); + drawableList.add(drawable.getCurrent().hashCode()); + } catch (JSONException e) { + e.printStackTrace(); + } + for (int c = 1;c<=DrawableStates.length;c++) + for(int u= 0;u < 1 << DrawableStates.length;u++) + if(bitCount(u) == c) + addSolution(filename, json, c, drawable, drawableList, u); + return json; + } + + JSONObject getStatesList(int [] states) throws JSONException + { + JSONObject json = new JSONObject(); + for (int s : states) + { + boolean found=false; + for (int d = 0;d0); + } + } + return json; + } + + String getStatesName(int [] states) + { + String statesName=""; + for (int s : states) + { + boolean found=false; + for (int d = 0;d0) + statesName+="__"; + statesName+=DrawableStatesLabels[d]; + found=true; + break; + } + else if (s==-DrawableStates[d]) + { + if (statesName.length()>0) + statesName+="__"; + statesName+=DisableDrawableStatesLabels[d]; + found=true; + break; + } + } + if (!found) + { + if (statesName.length()>0) + statesName+=";"; + statesName+=s; + } + } + if (statesName.length()>0) + return statesName; + return "empty"; + } + + private JSONObject getLayerDrawable(Object drawable, String filename) + { + JSONObject json = new JSONObject(); + LayerDrawable layers = (LayerDrawable) drawable; + final int nr=layers.getNumberOfLayers(); + try { + JSONArray array =new JSONArray(); + for (int i = 0; i < nr; i++) + { + JSONObject layerJsonObject=getDrawable(layers.getDrawable(i), filename+"__"+layers.getId(i)); + layerJsonObject.put("id", layers.getId(i)); + array.put(layerJsonObject); + } + json.put("type", "layer"); + Rect padding = new Rect(); + if (layers.getPadding(padding)) + json.put("padding", getJsonRect(padding)); + json.put("layers", array); + } catch (JSONException e) { + e.printStackTrace(); + } + return json; + } + + private JSONObject getStateListDrawable(Object drawable, String filename) + { + JSONObject json = new JSONObject(); + try { + StateListDrawable stateList = (StateListDrawable) drawable; + final int numStates = (Integer) StateListDrawable.class.getMethod("getStateCount").invoke(stateList); + JSONArray array =new JSONArray(); + for (int i = 0; i < numStates; i++) + { + JSONObject stateJson = new JSONObject(); + final Drawable d = (Drawable) StateListDrawable.class.getMethod("getStateDrawable", Integer.TYPE).invoke(stateList, i); + final int [] states = (int[]) StateListDrawable.class.getMethod("getStateSet", Integer.TYPE).invoke(stateList, i); + stateJson.put("states", getStatesList(states)); + stateJson.put("drawable", getDrawable(d, filename+"__"+getStatesName(states))); + array.put(stateJson); + } + json.put("type", "stateslist"); + Rect padding = new Rect(); + if (stateList.getPadding(padding)) + json.put("padding", getJsonRect(padding)); + json.put("stateslist", array); + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + + private JSONObject getGradientDrawable(GradientDrawable drawable) { + JSONObject json = new JSONObject(); + try { + json.put("type", "gradient"); + Object obj=drawable.getConstantState(); + Class gradientStateClass=obj.getClass(); + json.put("shape",gradientStateClass.getField("mShape").getInt(obj)); + json.put("gradient",gradientStateClass.getField("mGradient").getInt(obj)); + GradientDrawable.Orientation orientation=(Orientation) gradientStateClass.getField("mOrientation").get(obj); + json.put("orientation",orientation.name()); + int [] intArray=(int[]) gradientStateClass.getField("mColors").get(obj); + json.put("colors",getJsonArray(intArray, 0, intArray.length)); + json.put("positions",getJsonArray((float[]) gradientStateClass.getField("mPositions").get(obj))); + json.put("solidColor",gradientStateClass.getField("mSolidColor").getInt(obj)); + json.put("strokeWidth",gradientStateClass.getField("mStrokeWidth").getInt(obj)); + json.put("strokeColor",gradientStateClass.getField("mStrokeColor").getInt(obj)); + json.put("strokeDashWidth",gradientStateClass.getField("mStrokeDashWidth").getFloat(obj)); + json.put("strokeDashGap",gradientStateClass.getField("mStrokeDashGap").getFloat(obj)); + json.put("radius",gradientStateClass.getField("mRadius").getFloat(obj)); + float [] floatArray=(float[]) gradientStateClass.getField("mRadiusArray").get(obj); + if (floatArray!=null) + json.put("radiusArray",getJsonArray(floatArray)); + Rect rc= (Rect) gradientStateClass.getField("mPadding").get(obj); + if (rc!=null) + json.put("padding",getJsonRect(rc)); + json.put("width",gradientStateClass.getField("mWidth").getInt(obj)); + json.put("height",gradientStateClass.getField("mHeight").getInt(obj)); + json.put("innerRadiusRatio",gradientStateClass.getField("mInnerRadiusRatio").getFloat(obj)); + json.put("thicknessRatio",gradientStateClass.getField("mThicknessRatio").getFloat(obj)); + json.put("innerRadius",gradientStateClass.getField("mInnerRadius").getInt(obj)); + json.put("thickness",gradientStateClass.getField("mThickness").getInt(obj)); + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + + private JSONObject getJsonRect(Rect rect) throws JSONException + { + JSONObject jsonRect = new JSONObject(); + jsonRect.put("left", rect.left); + jsonRect.put("top", rect.top); + jsonRect.put("right", rect.right); + jsonRect.put("bottom", rect.bottom); + return jsonRect; + + } + + private JSONArray getJsonArray(int[] array, int pos, int len) + { + JSONArray a = new JSONArray(); + final int l = pos+len; + for (int i=pos; i=11) + { + FakeCanvas fc = new FakeCanvas(); + d.draw(fc); + return getJsonChunkInfo(fc.chunkData); + } + return getJsonChunkInfo(extract9PatchInfo(d)); + } + + public JSONObject getDrawable(Object drawable, String filename) + { + JSONObject json = new JSONObject(); + Bitmap bmp = null; + if (drawable instanceof Bitmap) + bmp = (Bitmap) drawable; + else + { + if (drawable instanceof BitmapDrawable) + bmp = ((BitmapDrawable)drawable).getBitmap(); + else + { + if (drawable instanceof LayerDrawable) + { + return getLayerDrawable(drawable, filename); + } + if (drawable instanceof StateListDrawable) + { + return getStateListDrawable(drawable, filename); + } + if (drawable instanceof GradientDrawable) + { + return getGradientDrawable((GradientDrawable) drawable); + } + if (drawable instanceof ClipDrawable) + { + try { + json.put("type", "clipDrawable"); + json.put("drawable", getDrawable(getClipStateDrawableObject(((ClipDrawable)drawable).getConstantState()), filename)); + Rect padding = new Rect(); + if (((Drawable) drawable).getPadding(padding)) + json.put("padding", getJsonRect(padding)); + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + if (drawable instanceof ColorDrawable) + { + bmp = Bitmap.createBitmap(1, 1, Config.ARGB_8888); + Drawable d = (Drawable) drawable; + d.setBounds(0, 0, 1, 1); + d.draw(new Canvas(bmp)); + Rect padding = new Rect(); + try { + json.put("type", "color"); + json.put("color", bmp.getPixel(0, 0)); + if (d.getPadding(padding)) + json.put("padding", getJsonRect(padding)); + } catch (JSONException e) { + e.printStackTrace(); + } + return json; } + else + { + Drawable d = (Drawable) drawable; + int w=d.getIntrinsicWidth(); + int h=d.getIntrinsicHeight(); + d.setLevel(10000); + if (w<1 || h< 1) + { + w=100; + h=100; + } + bmp = Bitmap.createBitmap(w, h, Config.ARGB_8888); + d.setBounds(0, 0, w, h); + d.draw(new Canvas(bmp)); + if (drawable instanceof NinePatchDrawable) + { + NinePatchDrawable npd = (NinePatchDrawable) drawable; + try { + json.put("type", "9patch"); + json.put("drawable", getDrawable(bmp, filename)); + Rect padding = new Rect(); + if (npd.getPadding(padding)) + json.put("padding", getJsonRect(padding)); + json.put("chunkInfo", findPatchesMarings(d)); + return json; + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + } + } + FileOutputStream out; + try { + filename = m_extractPath+filename+".png"; + out = new FileOutputStream(filename); + bmp.compress(Bitmap.CompressFormat.PNG, 100, out); + out.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + json.put("type", "image"); + json.put("path", filename); + json.put("width", bmp.getWidth()); + json.put("height", bmp.getHeight()); + MinistroActivity.nativeChmode(filename, 0644); + } catch (JSONException e) { + e.printStackTrace(); + } + return json; + } + + public void extractViewInformations(String styleName, int styleId, JSONObject json, String qtClassName, AttributeSet attribSet) + { + try { + int[] viewAttrs; + viewAttrs = (int[]) styleableClass.getDeclaredField("View").get(null); + TypedArray a =m_theme.obtainStyledAttributes(attribSet, viewAttrs, styleId, 0); + + if (null != qtClassName) + json.put("qtClass", qtClassName); + + final int N = a.getIndexCount(); + for (int i = 0; i < N; i++) { + int attr = a.getIndex(i); + if (attr == View_background) + json.put("View_background", getDrawable(a.getDrawable(attr), styleName + "_View_background")); + else if (attr == View_padding) + json.put("View_padding", a.getDimensionPixelSize(attr, -1)); + else if (attr == View_paddingLeft) + json.put("View_paddingLeft", a.getDimensionPixelSize(attr, -1)); + else if (attr == View_paddingTop) + json.put("View_paddingTop", a.getDimensionPixelSize(attr, -1)); + else if (attr == View_paddingRight) + json.put("View_paddingRight", a.getDimensionPixelSize(attr, -1)); + else if (attr == View_paddingBottom) + json.put("View_paddingBottom", a.getDimensionPixelSize(attr, -1)); + else if (attr == View_scrollX) + json.put("View_paddingBottom", a.getDimensionPixelOffset(attr, 0)); + else if (attr == View_scrollY) + json.put("View_scrollY", a.getDimensionPixelOffset(attr, 0)); + else if (attr == View_id) + json.put("View_id", a.getResourceId(attr, -1)); + else if (attr == View_tag) + json.put("View_tag", a.getText(attr)); + else if (attr == View_fitsSystemWindows) + json.put("View_fitsSystemWindows", a.getBoolean(attr, false)); + else if (attr == View_focusable) + json.put("View_focusable", a.getBoolean(attr, false)); + else if (attr == View_focusableInTouchMode) + json.put("View_focusableInTouchMode", a.getBoolean(attr, false)); + else if (attr == View_clickable) + json.put("View_clickable", a.getBoolean(attr, false)); + else if (attr == View_longClickable) + json.put("View_longClickable", a.getBoolean(attr, false)); + else if (attr == View_saveEnabled) + json.put("View_saveEnabled", a.getBoolean(attr, true)); + else if (attr == View_duplicateParentState) + json.put("View_duplicateParentState", a.getBoolean(attr, false)); + else if (attr == View_visibility) + json.put("View_visibility", a.getInt(attr, 0)); + else if (attr == View_drawingCacheQuality) + json.put("View_drawingCacheQuality", a.getInt(attr, 0)); + else if (attr == View_drawingCacheQuality) + json.put("View_contentDescription", a.getString(attr)); + else if (attr == View_soundEffectsEnabled) + json.put("View_soundEffectsEnabled", a.getBoolean(attr, true)); + else if (attr == View_hapticFeedbackEnabled) + json.put("View_hapticFeedbackEnabled", a.getBoolean(attr, true)); + else if (attr == View_scrollbars) + json.put("View_scrollbars", a.getInt(attr, 0)); + else if (attr == View_fadingEdge) + json.put("View_fadingEdge", a.getInt(attr, 0)); + else if (attr == View_scrollbarStyle) + json.put("View_scrollbarStyle", a.getInt(attr, 0)); + else if (attr == View_isScrollContainer) + json.put("View_isScrollContainer", a.getBoolean(attr, false)); + else if (attr == View_keepScreenOn) + json.put("View_keepScreenOn", a.getBoolean(attr, false)); + else if (attr == View_filterTouchesWhenObscured) + json.put("View_filterTouchesWhenObscured", a.getBoolean(attr, false)); + else if (attr == View_nextFocusLeft) + json.put("View_nextFocusLeft", a.getResourceId(attr, -1)); + else if (attr == View_nextFocusRight) + json.put("View_nextFocusRight", a.getResourceId(attr, -1)); + else if (attr == View_nextFocusUp) + json.put("View_nextFocusUp", a.getResourceId(attr, -1)); + else if (attr == View_nextFocusDown) + json.put("View_nextFocusDown", a.getResourceId(attr, -1)); + else if (attr == View_minWidth) + json.put("View_minWidth", a.getDimensionPixelSize(attr, 0)); + else if (attr == View_minHeight) + json.put("View_minHeight", a.getDimensionPixelSize(attr, 0)); + else if (attr == View_onClick) + json.put("View_onClick", a.getString(attr)); + else if (attr == View_overScrollMode) + json.put("View_overScrollMode", a.getInt(attr, 1)); + } + a.recycle(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet ) + { + JSONObject json = new JSONObject(); + try + { + int textColorHighlight = 0; // + ColorStateList textColor = null; // + ColorStateList textColorHint = null; // + ColorStateList textColorLink = null; // + int textSize = 15; // + int typefaceIndex = -1; // + int styleIndex = -1; + boolean allCaps = false; + + Class attrClass= Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField(styleName).getInt(null); + + extractViewInformations(styleName, styleId, json, qtClass, attribSet); + + int[] textViewAttrs=(int[]) styleableClass.getDeclaredField("TextView").get(null); + TypedArray a =m_theme.obtainStyledAttributes(null, textViewAttrs, styleId, 0); + + TypedArray appearance = null; + int ap = a.getResourceId(styleableClass.getDeclaredField("TextView_textAppearance").getInt(null), -1); + if (ap != -1) + appearance = m_theme.obtainStyledAttributes(ap, (int[]) styleableClass.getDeclaredField("TextAppearance").get(null)); + + if (appearance != null) + { + int n = appearance.getIndexCount(); + for (int i = 0; i < n; i++) + { + int attr = appearance.getIndex(i); + if (attr == TextAppearance_textColorHighlight) + textColorHighlight = appearance.getColor(attr, textColorHighlight); + else if (attr == TextAppearance_textColor) + textColor = appearance.getColorStateList(attr); + else if (attr == TextAppearance_textColorHint) + textColorHint = appearance.getColorStateList(attr); + else if (attr == TextAppearance_textColorLink) + textColorLink = appearance.getColorStateList(attr); + else if (attr == TextAppearance_textSize) + textSize = appearance.getDimensionPixelSize(attr, textSize); + else if (attr == TextAppearance_typeface) + typefaceIndex = appearance.getInt(attr, -1); + else if (attr == TextAppearance_textStyle) + styleIndex = appearance.getInt(attr, -1); + else if (attr == TextAppearance_textAllCaps) + allCaps = appearance.getBoolean(attr, false); + } + appearance.recycle(); + } + + int n = a.getIndexCount(); + + for (int i = 0; i < n; i++) { + int attr = a.getIndex(i); + + if (attr == TextView_editable) + json.put("TextView_editable", a.getBoolean(attr, false)); + else if (attr == TextView_inputMethod) + json.put("TextView_inputMethod", a.getText(attr)); + else if (attr == TextView_numeric) + json.put("TextView_numeric", a.getInt(attr, 0)); + else if (attr == TextView_digits) + json.put("TextView_digits", a.getText(attr)); + else if (attr == TextView_phoneNumber) + json.put("TextView_phoneNumber", a.getBoolean(attr, false)); + else if (attr == TextView_autoText) + json.put("TextView_autoText", a.getBoolean(attr, false)); + else if (attr == TextView_capitalize) + json.put("TextView_capitalize", a.getInt(attr, -1)); + else if (attr == TextView_bufferType) + json.put("TextView_bufferType", a.getInt(attr, 0)); + else if (attr == TextView_selectAllOnFocus) + json.put("TextView_selectAllOnFocus", a.getBoolean(attr, false)); + else if (attr == TextView_autoLink) + json.put("TextView_autoLink", a.getInt(attr, 0)); + else if (attr == TextView_linksClickable) + json.put("TextView_linksClickable", a.getBoolean(attr, true)); + else if (attr == TextView_linksClickable) + json.put("TextView_linksClickable", a.getBoolean(attr, true)); + else if (attr == TextView_drawableLeft) + json.put("TextView_drawableLeft", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableLeft")); + else if (attr == TextView_drawableTop) + json.put("TextView_drawableTop", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableTop")); + else if (attr == TextView_drawableRight) + json.put("TextView_drawableRight", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableRight")); + else if (attr == TextView_drawableBottom) + json.put("TextView_drawableBottom", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableBottom")); + else if (attr == TextView_drawableStart) + json.put("TextView_drawableStart", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableStart")); + else if (attr == TextView_drawableEnd) + json.put("TextView_drawableEnd", getDrawable(a.getDrawable(attr), styleName + "_TextView_drawableEnd")); + else if (attr == TextView_drawablePadding) + json.put("TextView_drawablePadding", a.getDimensionPixelSize(attr, 0)); + else if (attr == TextView_textCursorDrawable) + json.put("TextView_textCursorDrawable", getDrawable(m_context.getResources().getDrawable(a.getResourceId(attr, 0)), styleName + "_TextView_textCursorDrawable")); + else if (attr == TextView_maxLines) + json.put("TextView_maxLines", a.getInt(attr, -1)); + else if (attr == TextView_maxHeight) + json.put("TextView_maxHeight", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_lines) + json.put("TextView_lines", a.getInt(attr, -1)); + else if (attr == TextView_height) + json.put("TextView_height", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_minLines) + json.put("TextView_minLines", a.getInt(attr, -1)); + else if (attr == TextView_minHeight) + json.put("TextView_minHeight", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_maxEms) + json.put("TextView_maxEms", a.getInt(attr, -1)); + else if (attr == TextView_maxWidth) + json.put("TextView_maxWidth", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_ems) + json.put("TextView_ems", a.getInt(attr, -1)); + else if (attr == TextView_width) + json.put("TextView_width", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_minEms) + json.put("TextView_minEms", a.getInt(attr, -1)); + else if (attr == TextView_minWidth) + json.put("TextView_minWidth", a.getDimensionPixelSize(attr, -1)); + else if (attr == TextView_gravity) + json.put("TextView_gravity", a.getInt(attr, -1)); + else if (attr == TextView_hint) + json.put("TextView_hint", a.getText(attr)); + else if (attr == TextView_text) + json.put("TextView_text", a.getText(attr)); + else if (attr == TextView_scrollHorizontally) + json.put("TextView_scrollHorizontally", a.getBoolean(attr, false)); + else if (attr == TextView_singleLine) + json.put("TextView_singleLine", a.getBoolean(attr, false)); + else if (attr == TextView_ellipsize) + json.put("TextView_ellipsize", a.getInt(attr, -1)); + else if (attr == TextView_marqueeRepeatLimit) + json.put("TextView_marqueeRepeatLimit", a.getInt(attr, 3)); + else if (attr == TextView_includeFontPadding) + json.put("TextView_includeFontPadding", a.getBoolean(attr, true)); + else if (attr == TextView_cursorVisible) + json.put("TextView_cursorVisible", a.getBoolean(attr, true)); + else if (attr == TextView_maxLength) + json.put("TextView_maxLength", a.getInt(attr, -1)); + else if (attr == TextView_textScaleX) + json.put("TextView_textScaleX", a.getFloat(attr, 1.0f)); + else if (attr == TextView_freezesText) + json.put("TextView_freezesText", a.getBoolean(attr, false)); + else if (attr == TextView_shadowColor) + json.put("TextView_shadowColor", a.getInt(attr, 0)); + else if (attr == TextView_shadowDx) + json.put("TextView_shadowDx", a.getFloat(attr, 0)); + else if (attr == TextView_shadowDy) + json.put("TextView_shadowDy", a.getFloat(attr, 0)); + else if (attr == TextView_shadowRadius) + json.put("TextView_shadowRadius", a.getFloat(attr, 0)); + else if (attr == TextView_enabled) + json.put("TextView_enabled", a.getBoolean(attr,true)); + else if (attr == TextView_textColorHighlight) + textColorHighlight = a.getColor(attr, textColorHighlight); + else if (attr == TextView_textColor) + textColor = a.getColorStateList(attr); + else if (attr == TextView_textColorHint) + textColorHint = a.getColorStateList(attr); + else if (attr == TextView_textColorLink) + textColorLink = a.getColorStateList(attr); + else if (attr == TextView_textSize) + textSize = a.getDimensionPixelSize(attr, textSize); + else if (attr == TextView_typeface) + typefaceIndex = a.getInt(attr, typefaceIndex); + else if (attr == TextView_textStyle) + styleIndex = a.getInt(attr, styleIndex); + else if (attr == TextView_password) + json.put("TextView_password", a.getBoolean(attr,false)); + else if (attr == TextView_lineSpacingExtra) + json.put("TextView_lineSpacingExtra", a.getDimensionPixelSize(attr, 0)); + else if (attr == TextView_lineSpacingMultiplier) + json.put("TextView_lineSpacingMultiplier", a.getFloat(attr, 1.0f)); + else if (attr == TextView_inputType) + json.put("TextView_inputType", a.getInt(attr, EditorInfo.TYPE_NULL)); + else if (attr == TextView_imeOptions) + json.put("TextView_imeOptions", a.getInt(attr, EditorInfo.IME_NULL)); + else if (attr == TextView_imeActionLabel) + json.put("TextView_imeActionLabel", a.getText(attr)); + else if (attr == TextView_imeActionId) + json.put("TextView_imeActionId", a.getInt(attr,0)); + else if (attr == TextView_privateImeOptions) + json.put("TextView_privateImeOptions", a.getString(attr)); + else if (attr == TextView_textSelectHandleLeft && styleName.equals("textViewStyle")) + json.put("TextView_textSelectHandleLeft", getDrawable(m_context.getResources().getDrawable(a.getResourceId(attr, 0)), styleName + "_TextView_textSelectHandleLeft")); + else if (attr == TextView_textSelectHandleRight && styleName.equals("textViewStyle")) + json.put("TextView_textSelectHandleRight", getDrawable(m_context.getResources().getDrawable(a.getResourceId(attr, 0)), styleName + "_TextView_textSelectHandleRight")); + else if (attr == TextView_textSelectHandle && styleName.equals("textViewStyle")) + json.put("TextView_textSelectHandle", getDrawable(m_context.getResources().getDrawable(a.getResourceId(attr, 0)), styleName + "_TextView_textSelectHandle")); + else if (attr == TextView_textIsSelectable) + json.put("TextView_textIsSelectable", a.getBoolean(attr, false)); + else if (attr == TextView_textAllCaps) + allCaps = a.getBoolean(attr, false); + } + a.recycle(); + + json.put("TextAppearance_textColorHighlight",textColorHighlight); + json.put("TextAppearance_textColor", getColorStateList(textColor)); + json.put("TextAppearance_textColorHint", getColorStateList(textColorHint)); + json.put("TextAppearance_textColorLink", getColorStateList(textColorLink)); + json.put("TextAppearance_textSize",textSize); + json.put("TextAppearance_typeface",typefaceIndex); + json.put("TextAppearance_textStyle",styleIndex); + json.put("TextAppearance_textAllCaps",allCaps); + } + catch(Exception e) + { + e.printStackTrace(); + } + return json; + } + + final String[] sScaleTypeArray = { + "MATRIX", + "FIT_XY", + "FIT_START", + "FIT_CENTER", + "FIT_END", + "CENTER", + "CENTER_CROP", + "CENTER_INSIDE" + }; + + public JSONObject extractImageViewInformations(String styleName, String qtClassName ) + { + JSONObject json = new JSONObject(); + try + { + Class attrClass= Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField(styleName).getInt(null); + + extractViewInformations(styleName, styleId, json, qtClassName, null); + + int[] imageViewAttrs=(int[]) styleableClass.getDeclaredField("ImageView").get(null); + TypedArray a =m_theme.obtainStyledAttributes(null, imageViewAttrs, styleId, 0); + Drawable d = a.getDrawable(ImageView_src); + if (d != null) + json.put("ImageView_src", getDrawable(d, styleName + "_ImageView_src")); + + json.put("ImageView_baselineAlignBottom", a.getBoolean(ImageView_baselineAlignBottom, false)); + json.put("ImageView_adjustViewBounds", a.getBoolean(ImageView_adjustViewBounds, false)); + json.put("ImageView_maxWidth", a.getDimensionPixelSize(ImageView_maxWidth, Integer.MAX_VALUE)); + json.put("ImageView_maxHeight", a.getDimensionPixelSize(ImageView_maxHeight, Integer.MAX_VALUE)); + int index = a.getInt(ImageView_scaleType, -1); + if (index >= 0) + json.put("ImageView_scaleType", sScaleTypeArray[index]); + + int tint = a.getInt(ImageView_tint, 0); + if (tint != 0) + json.put("ImageView_tint", tint); + + + json.put("ImageView_cropToPadding",a.getBoolean(ImageView_cropToPadding, false)); + a.recycle(); + } + catch(Exception e) + { + e.printStackTrace(); + } + return json; + + } + + void extractCompoundButton(JSONObject parentObject, String styleName, String qtClass) + { + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + Class attrClass; + try { + attrClass = Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField(styleName).getInt(null); + int[] compoundButtonAttrs=(int[]) styleableClass.getDeclaredField("CompoundButton").get(null); + + TypedArray a = m_theme.obtainStyledAttributes( + null, compoundButtonAttrs, styleId, 0); + + Drawable d = a.getDrawable(getField(styleableClass,"CompoundButton_button")); + if (d != null) + json.put("CompoundButton_button", getDrawable(d, styleName + "_CompoundButton_button")); + + a.recycle(); + parentObject.put(styleName, json); + } catch (Exception e) { + e.printStackTrace(); + } + } + + void extractProgressBarInfo(JSONObject json, String styleName) + { + Class attrClass; + try { + attrClass = Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField(styleName).getInt(null); + int[] progressBarAttrs=(int[]) styleableClass.getDeclaredField("ProgressBar").get(null); + + TypedArray a = m_theme.obtainStyledAttributes(null, progressBarAttrs, styleId, 0); + int mMinWidth = 24; + int mMaxWidth = 48; + int mMinHeight = 24; + int mMaxHeight = 48; + mMinWidth = a.getDimensionPixelSize(getField(styleableClass, "ProgressBar_minWidth"), mMinWidth); + mMaxWidth = a.getDimensionPixelSize(getField(styleableClass, "ProgressBar_maxWidth"), mMaxWidth); + mMinHeight = a.getDimensionPixelSize(getField(styleableClass, "ProgressBar_minHeight"), mMinHeight); + mMaxHeight = a.getDimensionPixelSize(getField(styleableClass, "ProgressBar_maxHeight"), mMaxHeight); + + json.put("ProgressBar_indeterminateDuration", a.getInt(getField(styleableClass, "ProgressBar_indeterminateDuration"), 4000)); + json.put("ProgressBar_minWidth", mMinWidth); + json.put("ProgressBar_maxWidth", mMaxWidth); + json.put("ProgressBar_minHeight", mMinHeight); + json.put("ProgressBar_maxHeight", mMaxHeight); + json.put("ProgressBar_progress_id", android.R.id.progress); + json.put("ProgressBar_secondaryProgress_id", android.R.id.secondaryProgress); + + Drawable d = a.getDrawable(getField(styleableClass,"ProgressBar_progressDrawable")); + if (d != null) + json.put("ProgressBar_progressDrawable", getDrawable(d, styleName + "_ProgressBar_progressDrawable")); + + d = a.getDrawable(getField(styleableClass,"ProgressBar_indeterminateDrawable")); + if (d != null) + json.put("ProgressBar_indeterminateDrawable", getDrawable(d, styleName + "_ProgressBar_indeterminateDrawable")); + + a.recycle(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + void extractProgressBar(JSONObject parentObject, String styleName, String qtClass) + { + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + try { + extractProgressBarInfo(json, styleName); + parentObject.put(styleName, json); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + void extractAbsSeekBar(JSONObject parentObject, String styleName, String qtClass) + { + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + extractProgressBarInfo(json, styleName); + Class attrClass; + try { + attrClass = Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField(styleName).getInt(null); + int[] compoundButtonAttrs=(int[]) styleableClass.getDeclaredField("SeekBar").get(null); + + TypedArray a = m_theme.obtainStyledAttributes( + null, compoundButtonAttrs, styleId, 0); + + Drawable d = a.getDrawable(getField(styleableClass,"SeekBar_thumb")); + if (d != null) + json.put("SeekBar_thumb", getDrawable(d, styleName + "_SeekBar_thumb")); + + a.recycle(); + parentObject.put(styleName, json); + } catch (Exception e) { + e.printStackTrace(); + } + } + + JSONObject extractCheckedTextView(AttributeSet attribSet, String itemName) + { + JSONObject json = extractTextAppearanceInformations("textViewStyle", itemName, attribSet); + try { + Class attrClass= Class.forName("android.R$attr"); + int styleId = attrClass.getDeclaredField("textViewStyle").getInt(null); + int[] compoundButtonAttrs=(int[]) styleableClass.getDeclaredField("CheckedTextView").get(null); + + TypedArray a = m_theme.obtainStyledAttributes(attribSet, compoundButtonAttrs, styleId, 0); + + Drawable d = a.getDrawable(getField(styleableClass,"CheckedTextView_checkMark")); + if (d != null) + json.put("CheckedTextView_checkMark", getDrawable(d, itemName+"_CheckedTextView_checkMark")); + + a.recycle(); + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + + private JSONObject extractItemStyle(int resourceId, String itemName) { + try + { + XmlResourceParser parser = m_context.getResources().getLayout(resourceId); + int type; + while ((type = parser.next()) != XmlPullParser.START_TAG && + type != XmlPullParser.END_DOCUMENT) { + // Empty + } + + if (type != XmlPullParser.START_TAG) { + return null; + } + + AttributeSet attributes = Xml.asAttributeSet(parser); + String name = parser.getName(); + if (name.equals("TextView")) + return extractTextAppearanceInformations("textViewStyle", itemName, attributes); + if (name.equals("CheckedTextView")) + return extractCheckedTextView(attributes, itemName); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private void extractItemsStyle(JSONObject json) { + try + { + json.put("simple_list_item",extractItemStyle(android.R.layout.simple_list_item_1, "simple_list_item")); + json.put("simple_list_item_checked",extractItemStyle(android.R.layout.simple_list_item_checked, "simple_list_item_checked")); + json.put("simple_list_item_multiple_choice",extractItemStyle(android.R.layout.simple_list_item_multiple_choice, "simple_list_item_multiple_choice")); + json.put("simple_list_item_single_choice",extractItemStyle(android.R.layout.simple_list_item_single_choice, "simple_list_item_single_choice")); + json.put("simple_spinner_item",extractItemStyle(android.R.layout.simple_spinner_item, "simple_spinner_item")); + json.put("simple_spinner_dropdown_item",extractItemStyle(android.R.layout.simple_spinner_dropdown_item, "simple_spinner_dropdown_item")); + json.put("simple_dropdown_item_1line",extractItemStyle(android.R.layout.simple_dropdown_item_1line, "simple_dropdown_item_1line")); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public ExtractStyle(Context context, String extractPath) + { + m_extractPath = extractPath; + new File(m_extractPath).mkdirs(); + MinistroActivity.nativeChmode(m_extractPath, 0755); + m_context = context; + m_theme = context.getTheme(); + JSONObject json = new JSONObject(); + try { + json.put("buttonStyle", extractTextAppearanceInformations("buttonStyle", "QPushButton", null)); + json.put("spinnerStyle", extractTextAppearanceInformations("spinnerStyle", "QComboBox", null)); + extractProgressBar(json, "progressBarStyleHorizontal", "QProgressBar"); + extractAbsSeekBar(json, "seekBarStyle", "QSlider"); + extractCompoundButton(json, "checkboxStyle", "QCheckBox"); + json.put("editTextStyle", extractTextAppearanceInformations("editTextStyle", "QLineEdit", null)); + extractCompoundButton(json, "radioButtonStyle", "QRadioButton"); + json.put("textViewStyle", extractTextAppearanceInformations("textViewStyle", "QWidget", null)); + extractItemsStyle(json); + //extractCompoundButton(json, "buttonStyleToggle", null); + //extractCompoundButton(json, "switchStyle", null); + //json.put("imageButtonStyle", extractImageViewInformations("imageButtonStyle", null)); + OutputStreamWriter jsonWriter; + jsonWriter = new OutputStreamWriter(new FileOutputStream(m_extractPath+"style.json")); + jsonWriter.write(json.toString(1)); + jsonWriter.close(); + MinistroActivity.nativeChmode(m_extractPath+"style.json", 0644); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 90562f1..ed5e6f2 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -68,6 +68,9 @@ import android.provider.Settings; public class MinistroActivity extends Activity { + private static final int CONNECTION_TIMEOUT = 20000; // 20 seconds for connection timeout + private static final int READ_TIMEOUT = 2000; // 20 seconds for connection timeout + public native static int nativeChmode(String filepath, int mode); private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/android/necessitas/"; @@ -85,6 +88,7 @@ public class MinistroActivity extends Activity builder.setMessage(getResources().getString(R.string.ministro_network_access_msg)); builder.setCancelable(true); builder.setNeutralButton(getResources().getString(R.string.settings_msg), new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { final ProgressDialog m_dialog = ProgressDialog.show(MinistroActivity.this, null, getResources().getString(R.string.wait_for_network_connection_msg), true, true, new DialogInterface.OnCancelListener() { @Override @@ -116,6 +120,7 @@ public class MinistroActivity extends Activity } }); builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { dialog.cancel(); @@ -147,12 +152,14 @@ public class MinistroActivity extends Activity getIntent().getExtras().getString("name"))) .setCancelable(false) .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); checkNetworkAndDownload(false); } }) .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { dialog.cancel(); finishMe(); @@ -248,6 +255,8 @@ public class MinistroActivity extends Activity Document dom = null; Element root = null; URLConnection connection = getVersionUrl(c).openConnection(); + connection.setConnectTimeout(CONNECTION_TIMEOUT); + connection.setReadTimeout(READ_TIMEOUT); dom = builder.parse(connection.getInputStream()); root = dom.getDocumentElement(); root.normalize(); @@ -457,7 +466,7 @@ public class MinistroActivity extends Activity private class CheckLibraries extends AsyncTask { private ProgressDialog dialog = null; - private ArrayList newLibs = new ArrayList(); + private final ArrayList newLibs = new ArrayList(); private String m_message; @Override protected void onPreExecute() @@ -490,6 +499,22 @@ public class MinistroActivity extends Activity else version = MinistroService.instance().getVersion(); + SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); + // extract device look&feel + if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || + !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || + !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE) || + !preferences.getString("MINISTRO_VERSION", "").equals(getPackageManager().getPackageInfo(getPackageName(), 0).versionName) || + !(new File(m_qtLibsRootPath+"style").exists())) + { + m_message = getResources().getString(R.string.extracting_look_n_feel_msg); + publishProgress((Void[])null); + new ExtractStyle(MinistroActivity.this, m_qtLibsRootPath+"style/"); + SharedPreferences.Editor editor= preferences.edit(); + editor.putString("MINISTRO_VERSION",getPackageManager().getPackageInfo(getPackageName(), 0).versionName); + editor.commit(); + } + ArrayList libraries; if (update[0]) { @@ -513,7 +538,6 @@ public class MinistroActivity extends Activity root.normalize(); // extract device root certificates - SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); if (!preferences.getString("CODENAME", "").equals(android.os.Build.VERSION.CODENAME) || !preferences.getString("INCREMENTAL", "").equals(android.os.Build.VERSION.INCREMENTAL) || !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) @@ -678,6 +702,6 @@ public class MinistroActivity extends Activity static { - System.loadLibrary("chmode"); + System.loadLibrary("ministro"); } } diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java index e7c8156..9b80e4d 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java @@ -35,31 +35,48 @@ public class MinistroConfigActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { - // TODO Auto-generated method stub - super.onCreate(savedInstanceState); setContentView(R.layout.repoconfig); - Spinner s = (Spinner) findViewById(R.id.spinner); - ArrayAdapter adapter = ArrayAdapter.createFromResource( + Spinner repositoriesSpinner = (Spinner) findViewById(R.id.repositories); + ArrayAdapter repositories = ArrayAdapter.createFromResource( this, R.array.repositories, android.R.layout.simple_spinner_item); - adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - s.setAdapter(adapter); - s.setSelection(adapter.getPosition(MinistroService.getRepository(this))); - s.setOnItemSelectedListener(new OnItemSelectedListener(){ + repositories.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + repositoriesSpinner.setAdapter(repositories); + repositoriesSpinner.setSelection(repositories.getPosition(MinistroService.getRepository(this))); + repositoriesSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView parent, View view, int pos, long id) { - // TODO Auto-generated method stub Toast.makeText(parent.getContext() , getResources().getString(R.string.ministro_repository_msg , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_LONG).show(); MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); } + @Override + public void onNothingSelected(AdapterView arg0) { + } + }); + + Spinner checkFrequencySpinner = (Spinner) findViewById(R.id.check_frequency); + ArrayAdapter checkFrequency = ArrayAdapter.createFromResource( + this, R.array.check_frequency, android.R.layout.simple_spinner_item); + checkFrequency.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + checkFrequencySpinner.setAdapter(checkFrequency); + checkFrequencySpinner.setSelection(checkFrequency.getPosition(MinistroService.getCheckFrequency(this).toString())); + checkFrequencySpinner.setOnItemSelectedListener(new OnItemSelectedListener(){ + @Override + public void onItemSelected(AdapterView parent, View view, int pos, + long id) { + Toast.makeText(parent.getContext() + , getResources().getString(R.string.ministro_repository_msg + , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_LONG).show(); + MinistroService.setCheckFrequency(MinistroConfigActivity.this, Long.parseLong(parent.getItemAtPosition(pos).toString())); + } @Override public void onNothingSelected(AdapterView arg0) { - // TODO Auto-generated method stub } }); + super.onCreate(savedInstanceState); } @Override diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index b5f43f3..71bdc9c 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -50,6 +50,7 @@ public class MinistroService extends Service private static final String TAG = "MinistroService"; private static final String MINISTRO_CHECK_UPDATES_KEY="LASTCHECK"; + private static final String MINISTRO_CHECK_FREQUENCY_KEY="CHECKFREQUENCY"; private static final String MINISTRO_REPOSITORY_KEY="REPOSITORY"; private static final String MINISTRO_DEFAULT_REPOSITORY="stable"; @@ -96,9 +97,24 @@ public class MinistroService extends Service editor.commit(); } + public static Long getCheckFrequency(Context c) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + return preferences.getLong(MINISTRO_CHECK_FREQUENCY_KEY, 7l*24*3600*1000)/(24l*3600*1000); + } + + public static void setCheckFrequency(Context c, long value) + { + SharedPreferences preferences=c.getSharedPreferences("Ministro", MODE_PRIVATE); + SharedPreferences.Editor editor= preferences.edit(); + editor.putLong(MINISTRO_CHECK_FREQUENCY_KEY, value*24*3600*1000); + editor.putLong(MINISTRO_CHECK_UPDATES_KEY,0); + editor.commit(); + } + // used to check Ministro Service compatibility private static final int MINISTRO_MIN_API_LEVEL=1; - private static final int MINISTRO_MAX_API_LEVEL=1; + private static final int MINISTRO_MAX_API_LEVEL=2; // MinistroService instance, its used by MinistroActivity to directly access services data (e.g. libraries) private static MinistroService m_instance = null; @@ -120,7 +136,7 @@ public class MinistroService extends Service // current downloaded libraries - private ArrayList m_downloadedLibraries = new ArrayList(); + private final ArrayList m_downloadedLibraries = new ArrayList(); ArrayList getDownloadedLibraries() { @@ -131,7 +147,7 @@ public class MinistroService extends Service } // current available libraries - private ArrayList m_availableLibraries = new ArrayList(); + private final ArrayList m_availableLibraries = new ArrayList(); ArrayList getAvailableLibraries() { synchronized (this) @@ -201,6 +217,9 @@ public class MinistroService extends Service m_applicationParams=m_applicationParams.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); m_environmentVariables=root.getAttribute("environmentVariables"); m_environmentVariables=m_environmentVariables.replaceAll("MINISTRO_PATH", getFilesDir().getAbsolutePath()); + m_environmentVariables="MINISTRO_ANDROID_STYLE_PATH="+m_qtLibsRootPath+"style/\t"+m_environmentVariables; + if (root.hasAttribute("qtVersion")) + m_qtVersion = Integer.valueOf(root.getAttribute("qtVersion")); root.normalize(); Node node = root.getFirstChild(); while(node != null) @@ -252,19 +271,27 @@ public class MinistroService extends Service return m_version; } + private double m_qtVersion = 0x040800; + public double getQtVersion() + { + return m_qtVersion; + } + // class used to fire an action, this class is used // to start an activity when user needs more libraries to start its application class ActionStruct { - ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName) + ActionStruct(IMinistroCallback cb, String[] m, ArrayList notFoundMoules, String appName, Bundle p) { id=++m_actionId; callback = cb; modules = m; + parameters = p; } public int id; public IMinistroCallback callback; public String[] modules; + public Bundle parameters; } // we can have more then one action @@ -278,7 +305,8 @@ public class MinistroService extends Service m_pathSeparator = System.getProperty("path.separator", ":"); SharedPreferences preferences=getSharedPreferences("Ministro", MODE_PRIVATE); long lastCheck = preferences.getLong(MINISTRO_CHECK_UPDATES_KEY,0); - if (MinistroActivity.isOnline(this) && System.currentTimeMillis()-lastCheck>24l*3600*100) // check once/day + long checkFrequency = preferences.getLong(MINISTRO_CHECK_FREQUENCY_KEY,7l*24*3600*1000); // check once per week by default + if (MinistroActivity.isOnline(this) && System.currentTimeMillis()-lastCheck>checkFrequency) { refreshLibraries(true); SharedPreferences.Editor editor= preferences.edit(); @@ -346,9 +374,13 @@ public class MinistroService extends Service String[] modules = parameters.getStringArray(REQUIRED_MODULES_KEY); String appName = parameters.getString(APPLICATION_TITLE_KEY); + int qtApiLevel = parameters.getInt(MINIMUM_QT_VERSION_KEY); + if (qtApiLevel > m_qtVersion) // the application needs a newer qt version + { + startRetrieval(callback, null, null, appName, parameters); + return; + } - @SuppressWarnings("unused") - int qtApiLevel = parameters.getInt(MINIMUM_QT_VERSION_KEY); // TODO check if current QT version is compatible with required version @SuppressWarnings("unused") String qtProvider="necessitas"; if (parameters.containsKey(QT_PROVIDER_KEY)) @@ -391,7 +423,7 @@ public class MinistroService extends Service else { // Starts a retrieval of the modules which are not readily accessible. - startRetrieval(callback, modules, notFoundModules, appName); + startRetrieval(callback, modules, notFoundModules, appName, parameters); } } @@ -406,16 +438,19 @@ public class MinistroService extends Service * @throws RemoteException */ private void startRetrieval(IMinistroCallback callback, String[] modules - , ArrayList notFoundModules, String appName) throws RemoteException + , ArrayList notFoundModules, String appName, Bundle parameters) throws RemoteException { - ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName); + ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName, parameters); m_actions.add(as); // if not, lets start an activity to do it. Intent intent = new Intent(MinistroService.this, MinistroActivity.class); intent.putExtra("id", as.id); - String[] libs = notFoundModules.toArray(new String[notFoundModules.size()]); - intent.putExtra("modules", libs); intent.putExtra("name", appName); + if (null != notFoundModules) + { + String[] libs = notFoundModules.toArray(new String[notFoundModules.size()]); + intent.putExtra("modules", libs); + } intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); boolean failed = false; @@ -450,7 +485,7 @@ public class MinistroService extends Service ActionStruct action=m_actions.get(i); if (action.id==id) { - postRetrieval(action.callback, action.modules); + postRetrieval(action); m_actions.remove(i); break; } @@ -469,13 +504,16 @@ public class MinistroService extends Service * @param callback * @param modules */ - private void postRetrieval(IMinistroCallback callback, String[] modules) + private void postRetrieval(ActionStruct action) { // Does a final check whether the libraries are accessible (without caring for // the non-accessible ones). try { - callback.loaderReady(checkModules(modules, null)); + if (null != action.modules) + action.callback.loaderReady(checkModules(action.modules, null)); + else + checkModulesImpl(action.callback, action.parameters); } catch (Exception e) { @@ -538,7 +576,7 @@ public class MinistroService extends Service * the list of downloaded libraries. If found, an entry to the modules list is * added.

* - *

In case the module is not immediately accessible and the notFoundModules + *

In case the module is not immediately accessible and the notFoundModules * argument exists, a list of available libraries is consulted to fill a list of modules which * yet need to be retrieved.

* -- cgit v1.2.3 From 8237d4a7340bce4b91df5fa1f1c35c92529efacb Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 18 Jun 2012 21:33:19 +0300 Subject: Final touches to Ministro for alpha4 release --- Ministro/AndroidManifest.xml | 1 + .../org/kde/necessitas/ministro/ExtractStyle.java | 45 ++++++++++++---------- .../src/org/kde/necessitas/ministro/Library.java | 18 +++++++++ .../kde/necessitas/ministro/MinistroActivity.java | 26 +++++++++---- .../ministro/MinistroConfigActivity.java | 5 +-- .../kde/necessitas/ministro/MinistroService.java | 3 +- 6 files changed, 64 insertions(+), 34 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 5610a9e..30ac068 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -26,4 +26,5 @@ +
diff --git a/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java b/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java index ccdda31..7d02707 100644 --- a/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java +++ b/Ministro/src/org/kde/necessitas/ministro/ExtractStyle.java @@ -54,6 +54,7 @@ import android.util.AttributeSet; import android.util.Xml; import android.view.inputmethod.EditorInfo; + public class ExtractStyle { native static int[] extractChunkInfo(byte[] chunkData); @@ -829,7 +830,7 @@ public class ExtractStyle { } } - public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet ) + public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet, int textAppearance ) { JSONObject json = new JSONObject(); try @@ -852,9 +853,11 @@ public class ExtractStyle { TypedArray a =m_theme.obtainStyledAttributes(null, textViewAttrs, styleId, 0); TypedArray appearance = null; - int ap = a.getResourceId(styleableClass.getDeclaredField("TextView_textAppearance").getInt(null), -1); - if (ap != -1) - appearance = m_theme.obtainStyledAttributes(ap, (int[]) styleableClass.getDeclaredField("TextAppearance").get(null)); + if (-1==textAppearance) + textAppearance = a.getResourceId(styleableClass.getDeclaredField("TextView_textAppearance").getInt(null), -1); + + if (textAppearance != -1) + appearance = m_theme.obtainStyledAttributes(textAppearance, (int[]) styleableClass.getDeclaredField("TextAppearance").get(null)); if (appearance != null) { @@ -1097,7 +1100,7 @@ public class ExtractStyle { void extractCompoundButton(JSONObject parentObject, String styleName, String qtClass) { - JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null, -1); Class attrClass; try { attrClass = Class.forName("android.R$attr"); @@ -1160,7 +1163,7 @@ public class ExtractStyle { void extractProgressBar(JSONObject parentObject, String styleName, String qtClass) { - JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null, -1); try { extractProgressBarInfo(json, styleName); parentObject.put(styleName, json); @@ -1171,7 +1174,7 @@ public class ExtractStyle { void extractAbsSeekBar(JSONObject parentObject, String styleName, String qtClass) { - JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null); + JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null, -1); extractProgressBarInfo(json, styleName); Class attrClass; try { @@ -1195,7 +1198,7 @@ public class ExtractStyle { JSONObject extractCheckedTextView(AttributeSet attribSet, String itemName) { - JSONObject json = extractTextAppearanceInformations("textViewStyle", itemName, attribSet); + JSONObject json = extractTextAppearanceInformations("textViewStyle", itemName, attribSet, -1); try { Class attrClass= Class.forName("android.R$attr"); int styleId = attrClass.getDeclaredField("textViewStyle").getInt(null); @@ -1214,7 +1217,7 @@ public class ExtractStyle { return json; } - private JSONObject extractItemStyle(int resourceId, String itemName) { + private JSONObject extractItemStyle(int resourceId, String itemName, int textAppearance) { try { XmlResourceParser parser = m_context.getResources().getLayout(resourceId); @@ -1231,7 +1234,7 @@ public class ExtractStyle { AttributeSet attributes = Xml.asAttributeSet(parser); String name = parser.getName(); if (name.equals("TextView")) - return extractTextAppearanceInformations("textViewStyle", itemName, attributes); + return extractTextAppearanceInformations("textViewStyle", itemName, attributes, textAppearance); if (name.equals("CheckedTextView")) return extractCheckedTextView(attributes, itemName); } catch (Exception e) { @@ -1243,13 +1246,13 @@ public class ExtractStyle { private void extractItemsStyle(JSONObject json) { try { - json.put("simple_list_item",extractItemStyle(android.R.layout.simple_list_item_1, "simple_list_item")); - json.put("simple_list_item_checked",extractItemStyle(android.R.layout.simple_list_item_checked, "simple_list_item_checked")); - json.put("simple_list_item_multiple_choice",extractItemStyle(android.R.layout.simple_list_item_multiple_choice, "simple_list_item_multiple_choice")); - json.put("simple_list_item_single_choice",extractItemStyle(android.R.layout.simple_list_item_single_choice, "simple_list_item_single_choice")); - json.put("simple_spinner_item",extractItemStyle(android.R.layout.simple_spinner_item, "simple_spinner_item")); - json.put("simple_spinner_dropdown_item",extractItemStyle(android.R.layout.simple_spinner_dropdown_item, "simple_spinner_dropdown_item")); - json.put("simple_dropdown_item_1line",extractItemStyle(android.R.layout.simple_dropdown_item_1line, "simple_dropdown_item_1line")); + json.put("simple_list_item",extractItemStyle(android.R.layout.simple_list_item_1, "simple_list_item", android.R.style.TextAppearance_Large)); + json.put("simple_list_item_checked",extractItemStyle(android.R.layout.simple_list_item_checked, "simple_list_item_checked", android.R.style.TextAppearance_Large)); + json.put("simple_list_item_multiple_choice",extractItemStyle(android.R.layout.simple_list_item_multiple_choice, "simple_list_item_multiple_choice", android.R.style.TextAppearance_Large)); + json.put("simple_list_item_single_choice",extractItemStyle(android.R.layout.simple_list_item_single_choice, "simple_list_item_single_choice", android.R.style.TextAppearance_Large)); + json.put("simple_spinner_item",extractItemStyle(android.R.layout.simple_spinner_item, "simple_spinner_item", -1)); + json.put("simple_spinner_dropdown_item",extractItemStyle(android.R.layout.simple_spinner_dropdown_item, "simple_spinner_dropdown_item",android.R.style.TextAppearance_Large)); + json.put("simple_dropdown_item_1line",extractItemStyle(android.R.layout.simple_dropdown_item_1line, "simple_dropdown_item_1line",android.R.style.TextAppearance_Large)); } catch (Exception e) { e.printStackTrace(); } @@ -1264,14 +1267,14 @@ public class ExtractStyle { m_theme = context.getTheme(); JSONObject json = new JSONObject(); try { - json.put("buttonStyle", extractTextAppearanceInformations("buttonStyle", "QPushButton", null)); - json.put("spinnerStyle", extractTextAppearanceInformations("spinnerStyle", "QComboBox", null)); + json.put("buttonStyle", extractTextAppearanceInformations("buttonStyle", "QPushButton", null, -1)); + json.put("spinnerStyle", extractTextAppearanceInformations("spinnerStyle", "QComboBox", null, -1)); extractProgressBar(json, "progressBarStyleHorizontal", "QProgressBar"); extractAbsSeekBar(json, "seekBarStyle", "QSlider"); extractCompoundButton(json, "checkboxStyle", "QCheckBox"); - json.put("editTextStyle", extractTextAppearanceInformations("editTextStyle", "QLineEdit", null)); + json.put("editTextStyle", extractTextAppearanceInformations("editTextStyle", "QLineEdit", null, -1)); extractCompoundButton(json, "radioButtonStyle", "QRadioButton"); - json.put("textViewStyle", extractTextAppearanceInformations("textViewStyle", "QWidget", null)); + json.put("textViewStyle", extractTextAppearanceInformations("textViewStyle", "QWidget", null, -1)); extractItemsStyle(json); //extractCompoundButton(json, "buttonStyleToggle", null); //extractCompoundButton(json, "switchStyle", null); diff --git a/Ministro/src/org/kde/necessitas/ministro/Library.java b/Ministro/src/org/kde/necessitas/ministro/Library.java index 211f29b..0646d86 100644 --- a/Ministro/src/org/kde/necessitas/ministro/Library.java +++ b/Ministro/src/org/kde/necessitas/ministro/Library.java @@ -30,6 +30,8 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import android.os.Bundle; + class Library { @@ -215,6 +217,22 @@ class Library } return builder.toString(); } + + public static void mergeBundleParameters(Bundle out, String outKey, Bundle in, String inKey) + { + if (!in.containsKey(inKey)) + return; + + String value = null; + if (out.containsKey(outKey)) + value=out.getString(outKey); + + if (value!=null && value.length()>0 && value.charAt(value.length()-1)!='\t') + value=value+"\t"; + + value=value+in.getString(inKey); + out.putString(outKey, value); + } }; class NeedsStruct diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index ed5e6f2..664904a 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -64,12 +64,14 @@ import android.net.NetworkInfo; import android.os.AsyncTask; import android.os.Bundle; import android.os.IBinder; +import android.os.PowerManager; +import android.os.PowerManager.WakeLock; import android.provider.Settings; public class MinistroActivity extends Activity { private static final int CONNECTION_TIMEOUT = 20000; // 20 seconds for connection timeout - private static final int READ_TIMEOUT = 2000; // 20 seconds for connection timeout + private static final int READ_TIMEOUT = 10000; // 10 seconds for read timeout public native static int nativeChmode(String filepath, int mode); private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/android/necessitas/"; @@ -77,6 +79,7 @@ public class MinistroActivity extends Activity private String[] m_modules; private int m_id=-1; private String m_qtLibsRootPath; + private WakeLock m_wakeLock; private void checkNetworkAndDownload(final boolean update) { @@ -143,9 +146,11 @@ public class MinistroActivity extends Activity @Override public void onServiceConnected(ComponentName name, IBinder service) { - if (getIntent().hasExtra("id") && getIntent().hasExtra("modules")) - { + if (getIntent().hasExtra("id")) m_id=getIntent().getExtras().getInt("id"); + + if (getIntent().hasExtra("modules")) + { m_modules=getIntent().getExtras().getStringArray("modules"); AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); builder.setMessage(getResources().getString(R.string.download_app_libs_msg, @@ -183,11 +188,8 @@ public class MinistroActivity extends Activity { if (-1 != m_id && null != MinistroService.instance()) MinistroService.instance().retrievalFinished(m_id); - else - { - NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - nm.cancelAll(); - } + NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + nm.cancelAll(); finish(); } @@ -684,12 +686,20 @@ public class MinistroActivity extends Activity dir.mkdirs(); nativeChmode(m_qtLibsRootPath, 0755); bindService(new Intent("org.kde.necessitas.ministro.IMinistro"), m_ministroConnection, Context.BIND_AUTO_CREATE); + PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + m_wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "Ministro"); + m_wakeLock.acquire(); } @Override protected void onDestroy() { super.onDestroy(); + if (null != m_wakeLock) + { + m_wakeLock.release(); + m_wakeLock = null; + } unbindService(m_ministroConnection); } diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java index 9b80e4d..ca8181d 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java @@ -48,7 +48,7 @@ public class MinistroConfigActivity extends Activity { long id) { Toast.makeText(parent.getContext() , getResources().getString(R.string.ministro_repository_msg - , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_LONG).show(); + , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_SHORT).show(); MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); } @Override @@ -66,9 +66,6 @@ public class MinistroConfigActivity extends Activity { @Override public void onItemSelected(AdapterView parent, View view, int pos, long id) { - Toast.makeText(parent.getContext() - , getResources().getString(R.string.ministro_repository_msg - , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_LONG).show(); MinistroService.setCheckFrequency(MinistroConfigActivity.this, Long.parseLong(parent.getItemAtPosition(pos).toString())); } diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index 71bdc9c..d7bd9af 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -179,7 +179,6 @@ public class MinistroService extends Service Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); notification.defaults |= Notification.DEFAULT_SOUND; - notification.defaults |= Notification.DEFAULT_VIBRATE; notification.defaults |= Notification.DEFAULT_LIGHTS; try { nm.notify(1, notification); @@ -413,6 +412,8 @@ public class MinistroService extends Service { try { + Library.mergeBundleParameters(loaderParams, ENVIRONMENT_VARIABLES_KEY, parameters, ENVIRONMENT_VARIABLES_KEY); + Library.mergeBundleParameters(loaderParams, APPLICATION_PARAMETERS_KEY, parameters, APPLICATION_PARAMETERS_KEY); callback.loaderReady(loaderParams); } catch (Exception e) -- cgit v1.2.3 From 8ccb5b69b2db63d6f336429fde34a3b146e9be95 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 18 Jun 2012 22:21:50 +0300 Subject: Update strings and Romanian translation. --- Ministro/res/values-ja/strings.xml | 2 +- Ministro/res/values-ro/strings.xml | 7 ++++--- Ministro/res/values/arrays.xml | 2 +- Ministro/res/values/strings.xml | 8 ++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Ministro/res/values-ja/strings.xml b/Ministro/res/values-ja/strings.xml index b109d77..ab21299 100644 --- a/Ministro/res/values-ja/strings.xml +++ b/Ministro/res/values-ja/strings.xml @@ -4,7 +4,7 @@ リãƒã‚¸ãƒˆãƒªã®é¸æŠž Ministroã¯ã‚ãªãŸã®ã‚¢ãƒ—リケーションã¨äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“。 Ministroサービスをアップグレードã—ã¦ãã ã•ã„。 Ministroã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚ モãƒã‚¤ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‹Wi-Fiã§ãƒ‡ãƒ¼ã‚¿ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’許å¯ã—ã¦ãã ã•ã„。 - セッティング + セッティング ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®æŽ¥ç¶šå¾…ã¡ %1$sã¯æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリを必è¦ã¨ã—ã¾ã™ã€‚\n今ダウンロードã—ã¾ã™ã‹ï¼Ÿ ダウンロード開始 ... diff --git a/Ministro/res/values-ro/strings.xml b/Ministro/res/values-ro/strings.xml index e3998bf..92a5577 100644 --- a/Ministro/res/values-ro/strings.xml +++ b/Ministro/res/values-ro/strings.xml @@ -8,15 +8,16 @@ AÅŸtept conexiunea de reÅ£ea %1$s are nevoie de biblioteci suplimentare pentru a rula.\nDoriÅ£i să le descărcaÅ£i acum? ÃŽncep descărcarea ... - Descarc bibliotecile Qt + Descarc bibliotecile Verific bibliotecile. Vă rugăm aÅŸteptaÅ£i ... Extrag certificate SSL. Vă rugăm aÅŸteptaÅ£i ... - Au fost găsite biblioteci Qt noi - Au fost găsite biblioteci Qt noi, apăsaÅ£i pentru a le actualiza. + Au fost găsite biblioteci noi + Au fost găsite biblioteci noi, apăsaÅ£i pentru a le actualiza. Ministro va folosi depozitul %1$s Depozitul Ministro s-a schimbat Actualizare Ministro Ministro depozitul sa schimbat, apăsaÅ£i pentru actualizare. Parametrii sunt invalizi Ministro nu poate găsi toate dependenÅ£ele aplicaÅ£iei + Extrag informaÅ£iile de tematică. Vă rugăm aÅŸteptaÅ£i ... diff --git a/Ministro/res/values/arrays.xml b/Ministro/res/values/arrays.xml index 7a9bfce..2c2d00b 100644 --- a/Ministro/res/values/arrays.xml +++ b/Ministro/res/values/arrays.xml @@ -1,5 +1,5 @@ - + stable testing diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index 9ad938a..207321c 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -1,5 +1,5 @@ - + Ministro Choose a repository Ministro is not compatible with your application. Please upgrade Ministro service. @@ -8,11 +8,11 @@ Waiting for network connection %1$s needs extra libraries to run.\nDo you want to download them now? Start downloading ... - Downloading Qt libraries + Downloading libraries Checking libraries. Please wait... Extracting SSL root certificates. Please wait... - New Qt libs found - New Qt libs has been found tap to update. + New libs has been found + New libs has been found tap to update. Ministro will use %1$s repository Ministro repository changed Ministro update -- cgit v1.2.3 From 6105e1d8c56655ad30f82f2f9b91b3ac113293b9 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 22 Jul 2012 21:18:44 +0300 Subject: Fix qt libs retrieval when qt will be upgraded. --- .../org/kde/necessitas/ministro/MinistroService.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index d7bd9af..28292ca 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -41,6 +41,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; @@ -133,7 +134,7 @@ public class MinistroService extends Service } private int m_actionId=0; // last actions id - + private Handler m_handler = null; // current downloaded libraries private final ArrayList m_downloadedLibraries = new ArrayList(); @@ -299,6 +300,7 @@ public class MinistroService extends Service @Override public void onCreate() { + m_handler = new Handler(); m_versionXmlFile = getFilesDir().getAbsolutePath()+"/version.xml"; m_qtLibsRootPath = getFilesDir().getAbsolutePath()+"/qt/"; m_pathSeparator = System.getProperty("path.separator", ":"); @@ -444,7 +446,7 @@ public class MinistroService extends Service ActionStruct as = new ActionStruct(callback, modules, notFoundModules, appName, parameters); m_actions.add(as); // if not, lets start an activity to do it. - Intent intent = new Intent(MinistroService.this, MinistroActivity.class); + final Intent intent = new Intent(MinistroService.this, MinistroActivity.class); intent.putExtra("id", as.id); intent.putExtra("name", appName); if (null != notFoundModules) @@ -457,7 +459,12 @@ public class MinistroService extends Service boolean failed = false; try { - MinistroService.this.startActivity(intent); + m_handler.postDelayed(new Runnable() { + @Override + public void run() { + MinistroService.this.startActivity(intent); + } + }, 100); } catch(Exception e) { @@ -512,7 +519,12 @@ public class MinistroService extends Service try { if (null != action.modules) - action.callback.loaderReady(checkModules(action.modules, null)); + { + Bundle loaderParams = checkModules(action.modules, null); + Library.mergeBundleParameters(loaderParams, ENVIRONMENT_VARIABLES_KEY, action.parameters, ENVIRONMENT_VARIABLES_KEY); + Library.mergeBundleParameters(loaderParams, APPLICATION_PARAMETERS_KEY, action.parameters, APPLICATION_PARAMETERS_KEY); + action.callback.loaderReady(loaderParams); + } else checkModulesImpl(action.callback, action.parameters); } -- cgit v1.2.3 From 84682dfe15420ed0d17107d0020af41b3178b6e1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 22 Jul 2012 21:19:43 +0300 Subject: Be safe, switch to https ! --- Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 664904a..703bfdb 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -74,7 +74,7 @@ public class MinistroActivity extends Activity private static final int READ_TIMEOUT = 10000; // 10 seconds for read timeout public native static int nativeChmode(String filepath, int mode); - private static final String DOMAIN_NAME="http://files.kde.org/necessitas/ministro/android/necessitas/"; + private static final String DOMAIN_NAME="https://files.kde.org/necessitas/ministro/android/necessitas/"; private String[] m_modules; private int m_id=-1; -- cgit v1.2.3 From ac8f6f697a75caa7dbdcda724119803e2864b654 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 22 Jul 2012 21:21:08 +0300 Subject: Remove Necessitas_SDK scrips and tools, we move them to necessitas-tool repo --- Necessitas_SDK/BootstrapMinGWAndroid.vbs | 65 - Necessitas_SDK/build_ndk.sh | 352 ---- Necessitas_SDK/build_sdk.sh | 1847 -------------------- Necessitas_SDK/config/config.xml | 22 - Necessitas_SDK/config/license.txt | 1 - Necessitas_SDK/config/logo.png | Bin 1592 -> 0 bytes Necessitas_SDK/config/qticon.icns | Bin 162568 -> 0 bytes Necessitas_SDK/config/qticon.ico | Bin 355574 -> 0 bytes Necessitas_SDK/config/qticon.png | Bin 2109 -> 0 bytes Necessitas_SDK/config/watermark.png | Bin 52649 -> 0 bytes Necessitas_SDK/ministrorepogen/main.cpp | 252 --- Necessitas_SDK/ministrorepogen/ministrorepogen.pro | 25 - .../ministrorepogen/rules-armeabi-android-4.xml | 188 -- .../ministrorepogen/rules-armeabi-v7a.xml | 213 --- Necessitas_SDK/ministrorepogen/rules-armeabi.xml | 213 --- Necessitas_SDK/ministrorepogen/sortlibs.cpp | 140 -- Necessitas_SDK/ministrorepogen/sortlibs.h | 56 - Necessitas_SDK/ndk_vars.sh | 13 - .../meta/installscript.qs | 58 - .../meta/package.xml | 12 - .../meta/installscript.qs | 59 - .../meta/package.xml | 11 - .../meta/installscript.qs | 58 - .../meta/package.xml | 12 - .../meta/installscript.qs | 42 - .../meta/package.xml | 11 - .../meta/installscript.qs | 58 - .../meta/package.xml | 12 - .../org.kde.necessitas.android.qt/meta/package.xml | 9 - .../meta/installscript.qs | 46 - .../meta/package.xml | 13 - .../meta/installscript.qs | 46 - .../meta/package.xml | 12 - .../meta/installscript.qs | 46 - .../meta/package.xml | 13 - .../meta/installscript.qs | 42 - .../meta/package.xml | 11 - .../meta/package.xml | 9 - .../meta/installscript.qs | 46 - .../meta/package.xml | 13 - .../meta/installscript.qs | 46 - .../meta/package.xml | 12 - .../meta/installscript.qs | 46 - .../meta/package.xml | 13 - .../meta/installscript.qs | 42 - .../meta/package.xml | 11 - .../meta/package.xml | 9 - .../org.kde.necessitas.android/meta/package.xml | 9 - .../meta/installscript.qs | 72 - .../org.kde.necessitas.misc.ant/meta/package.xml | 12 - .../meta/installscript.qs | 75 - .../meta/package.xml | 12 - .../meta/installscript.qs | 72 - .../meta/package.xml | 12 - .../meta/installscript.qs | 72 - .../meta/package.xml | 11 - .../meta/installscript.qs | 77 - .../meta/package.xml | 12 - .../meta/installscript.qs | 77 - .../meta/package.xml | 13 - .../org.kde.necessitas.misc.ndk/meta/package.xml | 8 - .../meta/installscript.qs | 68 - .../meta/package.xml | 12 - .../meta/installscript.qs | 31 - .../meta/package.xml | 11 - .../meta/installscript.qs | 31 - .../meta/package.xml | 10 - .../meta/installscript.qs | 31 - .../meta/package.xml | 10 - .../meta/installscript.qs | 31 - .../meta/package.xml | 10 - .../meta/installscript.qs | 31 - .../meta/package.xml | 10 - .../meta/installscript.qs | 43 - .../meta/package.xml | 10 - .../meta/installscript.qs | 43 - .../meta/package.xml | 10 - .../meta/installscript.qs | 42 - .../meta/package.xml | 10 - .../meta/installscript.qs | 30 - .../meta/package.xml | 11 - .../meta/installscript.qs | 31 - .../meta/package.xml | 11 - .../meta/installscript.qs | 32 - .../meta/package.xml | 10 - .../meta/installscript.qs | 48 - .../meta/package.xml | 10 - .../meta/installscript.qs | 44 - .../meta/package.xml | 11 - .../org.kde.necessitas.misc.sdk/meta/package.xml | 8 - .../org.kde.necessitas.misc/meta/package.xml | 9 - .../meta/installscript.qs | 176 -- .../meta/package.xml | 13 - .../meta/installscript.qs | 110 -- .../meta/package.xml | 11 - .../org.kde.necessitas.tools/meta/package.xml | 9 - .../org.kde.necessitas/meta/installscript.qs | 39 - .../packages/org.kde.necessitas/meta/package.xml | 9 - Necessitas_SDK/sdk_cleanup.sh | 17 - Necessitas_SDK/sdk_vars.sh | 46 - Necessitas_SDK/setup_mingw_for_necessitas_build.sh | 142 -- .../setup_ubuntu_for_necessitas_build.sh | 46 - 102 files changed, 6056 deletions(-) delete mode 100644 Necessitas_SDK/BootstrapMinGWAndroid.vbs delete mode 100644 Necessitas_SDK/build_ndk.sh delete mode 100755 Necessitas_SDK/build_sdk.sh delete mode 100644 Necessitas_SDK/config/config.xml delete mode 100644 Necessitas_SDK/config/license.txt delete mode 100644 Necessitas_SDK/config/logo.png delete mode 100644 Necessitas_SDK/config/qticon.icns delete mode 100644 Necessitas_SDK/config/qticon.ico delete mode 100644 Necessitas_SDK/config/qticon.png delete mode 100644 Necessitas_SDK/config/watermark.png delete mode 100644 Necessitas_SDK/ministrorepogen/main.cpp delete mode 100644 Necessitas_SDK/ministrorepogen/ministrorepogen.pro delete mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml delete mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml delete mode 100644 Necessitas_SDK/ministrorepogen/rules-armeabi.xml delete mode 100644 Necessitas_SDK/ministrorepogen/sortlibs.cpp delete mode 100644 Necessitas_SDK/ministrorepogen/sortlibs.h delete mode 100644 Necessitas_SDK/ndk_vars.sh delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs delete mode 100644 Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml delete mode 100644 Necessitas_SDK/sdk_cleanup.sh delete mode 100644 Necessitas_SDK/sdk_vars.sh delete mode 100755 Necessitas_SDK/setup_mingw_for_necessitas_build.sh delete mode 100755 Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh diff --git a/Necessitas_SDK/BootstrapMinGWAndroid.vbs b/Necessitas_SDK/BootstrapMinGWAndroid.vbs deleted file mode 100644 index ad8484e..0000000 --- a/Necessitas_SDK/BootstrapMinGWAndroid.vbs +++ /dev/null @@ -1,65 +0,0 @@ -' This script sets up a MinGW and MSYS environment ready for Necessitas compilation -' It's a bit different from a 'normal' MinGW environment in that most of MSYS ends -' up in /usr/local (everything except the actual batch file). -dim WshShell -set WshShell = WScript.CreateObject("WScript.Shell") -WshShell.CurrentDirectory = WshShell.ExpandEnvironmentStrings("%TEMP%") - -function downloadHTTP(sourceUrl,destFilepath) - dim xmlhttp - set xmlhttp=createobject("MSXML2.XMLHTTP.3.0") - 'xmlhttp.SetOption 2, 13056 'If https -> Ignore all SSL errors - xmlhttp.Open "GET", sourceUrl, false - xmlhttp.Send - Wscript.Echo "Download-Status: " & xmlhttp.Status & " " & xmlhttp.statusText - if xmlhttp.Status = 200 then - dim objStream - set objStream = CreateObject("ADODB.Stream") - objStream.Type = 1 'adTypeBinary - objStream.Open - objStream.Write xmlhttp.responseBody - objStream.SaveToFile destFilepath, 2 - objStream.Close - end if -end function - -function run(ByVal command) - dim shell - set shell = CreateObject("WScript.Shell") - shell.Run command, 1, true -end function - -function copy(source,dest) - dim FSO - set FSO = CreateObject("Scripting.FileSystemObject") - FSO.CopyFile source, dest -end function - -function move(source,dest) - dim FSO - set FSO = CreateObject("Scripting.FileSystemObject") - if FSO.FolderExists(source) then - FSO.MoveFolder source, dest - end if -end function - -minGWInstaller=WshShell.CurrentDirectory & "\mingw-get-inst-20110530.exe" -gitInstaller=WshShell.CurrentDirectory & "\Git-1.7.4-preview20110204.exe" -wgetExe=WshShell.CurrentDirectory & "\wget.exe" -downloadHTTP "http://kent.dl.sourceforge.net/project/mingw/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110530/mingw-get-inst-20110530.exe", minGWInstaller -downloadHTTP "http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe", gitInstaller -downloadHTTP "http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe", wgetExe -msgbox "Launching MinGW installer, Use pre-packaged repository," & vbcrlf & "install to C:\usr," & vbcrlf & "select C and C++ compilers," & vbcrlf & "MSYS Basic System and MinGW Developer Toolkit" -run minGWInstaller -msgbox "Launching Windows Git installer, install to C:\msys-git" -run gitInstaller -copy wgetExe,"C:\usr\bin\wget.exe" -run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr" -run "cmd /c del /F /Q /S C:\usr\msys" -copy "C:\msys-git\bin\msys-1.0.dll","C:\usr\bin\msys-1.0.dll" -'run "cmd /c mkdir C:\usr\local" -'run "cmd /c xcopy /S /R /Y C:\usr\msys\1.0 C:\usr\local" -'run "cmd /c xcopy /S /R /Y C:\usr\local\msys.bat C:\usr\" -'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\sh.exe C:\usr\bin" -'run "cmd /c xcopy /S /R /Y C:\usr\local\bin\msys-1.0.exe C:\usr\bin" -'run "cmd /c del /F /Q C:\usr\local\msys.bat" diff --git a/Necessitas_SDK/build_ndk.sh b/Necessitas_SDK/build_ndk.sh deleted file mode 100644 index baffd9c..0000000 --- a/Necessitas_SDK/build_ndk.sh +++ /dev/null @@ -1,352 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2011, Ray Donnelly -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License or (at your option) version 3 or any later version -# accepted by the membership of KDE e.V. (or its successor approved -# by the membership of KDE e.V.), which shall act as a proxy -# defined in Section 14 of version 3 of the license. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -. ndk_vars.sh - -function error_msg -{ - echo $1 >&2 - exit 1 -} - -function removeAndExit -{ - rm -fr $1 && error_msg "Can't download $1" -} - -function downloadIfNotExists -{ - if [ ! -f $1 ] - then - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - curl --insecure -S -L -O $2 || removeAndExit $1 - else - wget --no-check-certificate -c $2 || removeAndExit $1 - fi - fi -} - -function makeInstallPython -{ - if [ ! -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ] - then - if [ ! -d Python-2.7.1 ] - then - git clone git://gitorious.org/mingw-python/mingw-python.git Python-2.7.1 || error_msg "Can't clone Python" - fi - pushd Python-2.7.1 - mkdir python-build - pushd python-build -# ../build-python.sh --with-pydebug - ../build-python.sh - # If successful, the build is packaged into /usr/ndk-build/python-mingw.7z - cp ../python-${BUILD_PYTHON}.7z $REPO_SRC_PATH/ - popd - popd - fi -} - -function makeInstallMinGWBits -{ - if [ ! -f /usr/lib/libcurses.a ] ; then - wget -c http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz - rm -rf PDCurses-3.4 - tar -xvzf PDCurses-3.4.tar.gz - pushd PDCurses-3.4/win32 - sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak - make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N - cp pdcurses.a /usr/lib/libcurses.a - cp pdcurses.a /usr/lib/libncurses.a - cp pdcurses.a /usr/lib/libpdcurses.a - cp ../curses.h /usr/include - cp ../panel.h /usr/include - popd - fi - - if [ ! -f /usr/lib/libreadline.a ] ; then - wget -c http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz - rm -rf readline-6.2 - tar -xvzf readline-6.2.tar.gz - pushd readline-6.2 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses --enable-multibyte --prefix=/usr CFLAGS=-O2 - make && make install - popd - fi - - if [ ! -d android-various ] ; then - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" - fi - - if [ ! -f $REPO_SRC_PATH/make.exe ] ; then - mkdir -p android-various/make-3.82-build - pushd android-various/make-3.82-build - ../make-3.82/build-mingw.sh - cp make.exe $REPO_SRC_PATH/ - popd - fi - - pushd android-various/android-sdk - gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O3 -o android.exe - cp android.exe $REPO_SRC_PATH/ - popd -} - -function makeNDKForArch -{ - ARCH=$1 - ROOTDIR=$2 - REPO_SRC_PATH=$3 - if [ "$ARCH" = "arm" ] ; then - ARCH_ABI=$ARCH-linux-androideabi - else - ARCH_ABI=$ARCH - fi -# if [ ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 -o ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - if [ ! -f $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - $NDK/build/tools/rebuild-all-prebuilt.sh --arch=$ARCH --patches-dir=$NDK/build/tools/toolchain-patches --build-dir=$ROOTDIR/ndk-toolchain-${BUILD}-build-tmp --verbose --package-dir=$ROOTDIR --gdb-path=$GDB_ROOT_PATH --gdb-version=$GDB_VER --mpfr-version=2.4.2 --gmp-version=4.2.4 --binutils-version=2.20.1 --toolchain-src-dir=$TCSRC --gdb-with-python=$PYTHONVER --only-latest - else - echo "Skipping NDK build, already done." - echo $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 - fi - cp $ROOTDIR/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-${BUILD_NDK}.tar.bz2 - cp $ROOTDIR/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 $REPO_SRC_PATH/${ARCH_ABI}-4.4.3-gdbserver.tar.bz2 -} - -function makeNDK -{ - PYTHONVER=`pwd`/Python-2.7.1/python-build/install-python-${BUILD_PYTHON} - mkdir src - pushd src -# PYTHONVER=$PWD/python-install - - if [ ! -d $PYTHONVER ] ; then - if [ -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then - mkdir -p $PYTHONVER - pushd $PYTHONVER - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - PYTHONVER=`pwd` - popd - fi - fi - - if [ ! -d "mpfr" ] - then - git clone git://android.git.kernel.org/toolchain/mpfr.git mpfr || error_msg "Can't clone mpfr" - pushd mpfr - downloadIfNotExists mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 - popd - fi - if [ ! -d "binutils" ] - then - git clone git://android.git.kernel.org/toolchain/binutils.git binutils || error_msg "Can't clone binutils" - fi - if [ ! -d "gmp" ] - then - git clone git://android.git.kernel.org/toolchain/gmp.git gmp || error_msg "Can't clone gmp" - fi - if [ ! -d "gold" ] - then - git clone git://android.git.kernel.org/toolchain/gold.git gold || error_msg "Can't clone gold" - fi - if [ ! -d "build" ] - then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-build.git build || error_msg "Can't clone build" - git reset --hard - fi - # reset so that ndk r6 patches apply. - pushd build - git reset --hard - popd - if [ ! -d "gcc" ] - then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gcc.git gcc || error_msg "Can't clone gcc" - fi - # reset so that ndk r6 patches apply (usually this will undo the previously applied patches). - pushd gcc - git reset --hard - git checkout --force integration - if [ -n "$GCC_GIT_DATE" ] ; then - REVISION=`git rev-list -n 1 --until="$GCC_GIT_DATE" HEAD` - echo "Using sources for date '$GCC_GIT_DATE': toolchain/$1 revision $REVISION" - git checkout $REVISION - fi - popd - - mkdir gdb - if [ ! -d "ma-gdb" ] - then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git ma-gdb || error_msg "Can't clone gdb" - fi - pushd ma-gdb - git checkout $GDB_BRANCH - git reset --hard - GDB_ROOT_PATH=$PWD/$GDB_ROOT_PATH - popd - - TCSRC=$PWD - popd - - mkdir build-${BUILD_NDK} - pushd build-${BUILD_NDK} - if [ ! -d "development" ] - then - git clone git://android.git.kernel.org/platform/development.git development || error_msg "Can't clone development" - fi - if [ ! -d "ndk" ] - then - git clone git://gitorious.org/mingw-android-ndk/mingw-android-ndk.git ndk || error_msg "Can't clone ndk" - fi - pushd ndk - git checkout -b integration origin/integration - popd - export NDK=$PWD/ndk - export ANDROID_NDK_ROOT=$NDK - $NDK/build/tools/build-platforms.sh --arch="arm" --verbose - - ROOTDIR=$PWD - RELEASE=`date +%Y%m%d` - NDK=`pwd`/ndk - ANDROID_NDK_ROOT=$NDK - - echo GDB_ROOT_PATH $GDB_ROOT_PATH - PYTHONHOME="" - unset PYTHONHOME - makeNDKForArch arm $ROOTDIR $REPO_SRC_PATH - makeNDKForArch x86 $ROOTDIR $REPO_SRC_PATH -} - -# This also copies the new libstdc++'s over the old ones (the NDK's build scripts are -# buggy (--keep-libstdc++ doesn't work right). -function mixPythonWithNDK -{ - if [ ! -f $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z ]; then - echo "Failed to find python, $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z" - fi - if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 ]; then - echo "Failed to find arm gdbserver, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2" - fi - if [ ! -f $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - echo "Failed to find arm toolchain, $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" - fi - if [ ! -f $REPO_SRC_PATH/x86-4.4.3-gdbserver.tar.bz2 ]; then - echo "Failed to find x86 gdbserver, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-gdbserver.tar.bz2" - fi - if [ ! -f $REPO_SRC_PATH/x86-4.4.3-${BUILD_NDK}.tar.bz2 ]; then - echo "Failed to find x86 toolchain, $REPO_SRC_PATH/x86-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2" - fi - mkdir -p /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack - rm -rf /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack/android-ndk-${NDK_VER} - pushd /tmp/android-ndk-${NDK_VER}-${BUILD_NDK}-repack - if [ "$OSTYPE" = "msys" ] ; then - downloadIfNotExists android-ndk-${NDK_VER}-windows.zip http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-windows.zip - unzip android-ndk-${NDK_VER}-windows.zip - else - if [ "$OSTYPE" = "linux-gnu" ] ; then - downloadIfNotExists android-ndk-${NDK_VER}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-linux-x86.tar.bz2 - tar xjvf android-ndk-${NDK_VER}-linux-x86.tar.bz2 - else - downloadIfNotExists android-ndk-${NDK_VER}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${NDK_VER}-darwin-x86.tar.bz2 - tar xjvf android-ndk-${NDK_VER}-darwin-x86.tar.bz2 - fi - fi - pushd android-ndk-${NDK_VER} - tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-${BUILD_NDK}.tar.bz2 - tar -jxvf $REPO_SRC_PATH/x86-4.4.3-${BUILD_NDK}.tar.bz2 - # The official NDK uses thumb version of libstdc++ for armeabi and - # an arm version for armeabi-v7a, so copy the appropriate one over. - cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/thumb/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi/ - cp toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK}/arm-linux-androideabi/lib/armv7-a/libstdc++.* sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/ - cp toolchains/x86-4.4.3/prebuilt/${BUILD_NDK}/i686-android-linux/lib/ibstdc++.* sources/cxx-stl/gnu-libstdc++/libs/x86/ - tar -jxvf $REPO_SRC_PATH/arm-linux-androideabi-4.4.3-gdbserver.tar.bz2 - tar -jxvf $REPO_SRC_PATH/x86-4.4.3-gdbserver.tar.bz2 - if [ -d toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} ] ; then - pushd toolchains/arm-linux-androideabi-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - popd - fi - if [ -d toolchains/x86-4.4.3/prebuilt/${BUILD_NDK} ] ; then - pushd toolchains/x86-4.4.3/prebuilt/${BUILD_NDK} - 7za x $REPO_SRC_PATH/python-${BUILD_PYTHON}.7z - popd - fi - # Get rid of old and unused stuff. - rm -rf toolchains/arm-eabi-4.4.0 -# rm -rf toolchains/x86-4.4.3 - popd - 7za a -mx9 android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z android-ndk-${NDK_VER} - mv android-ndk-${NDK_VER}-gdb-${GDB_VER}-${BUILD_NDK}.7z $REPO_SRC_PATH - popd -} - -if [ "$OSTYPE" = "linux-gnu" ] ; then - BUILD=linux - BUILD_NDK=linux-x86 - BUILD_PYTHON=$BUILD -else - if [ "$OSTYPE" = "msys" ] ; then - BUILD=windows - BUILD_NDK=windows - BUILD_PYTHON=mingw - else - BUILD=macosx - BUILD_NDK=darwin-x86 - BUILD_PYTHON=$BUILD - fi -fi - -if [ "$OSTYPE" = "linux-gnu" ]; then - TEMP_PATH=/usr/ndk-build -else - TEMP_PATH=/usr/ndk-build - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - sudo mkdir -p $TEMP_PATH - sudo chown `whoami` $TEMP_PATH - fi -fi - -REPO_SRC_PATH=`pwd`/ndk-packages -mkdir $REPO_SRC_PATH -PYTHONVER=/usr -mkdir $TEMP_PATH -pushd $TEMP_PATH - -#cp -rf /usr/ndk-build-old/src . -#mkdir build-windows -#cp -rf /usr/ndk-build-old/build-windows/ndk ./build-windows -#cp -rf /usr/ndk-build-old/build-windows/development ./build-windows - -if [ "$OSTYPE" = "msys" ] ; then - makeInstallMinGWBits -fi - -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - if [ ! -f /usr/local/bin/7za ] ; then - downloadIfNotExists p7zip-macosx.tar.bz2 http://mingw-and-ndk.googlecode.com/files/p7zip-macosx.tar.bz2 - tar xjvf p7zip-macosx.tar.bz2 - chmod 755 opt/bin/7za - cp opt/bin/7za /usr/local/bin - fi -fi - -makeInstallPython -makeNDK -mixPythonWithNDK - -popd diff --git a/Necessitas_SDK/build_sdk.sh b/Necessitas_SDK/build_sdk.sh deleted file mode 100755 index 7e5a9f8..0000000 --- a/Necessitas_SDK/build_sdk.sh +++ /dev/null @@ -1,1847 +0,0 @@ -#!/bin/bash -x - -# Copyright (c) 2011, BogDan Vatra -# Copyright (c) 2011, Ray Donnelly -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License or (at your option) version 3 or any later version -# accepted by the membership of KDE e.V. (or its successor approved -# by the membership of KDE e.V.), which shall act as a proxy -# defined in Section 14 of version 3 of the license. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -. sdk_vars.sh - -function help -{ - echo "Help" -} - -while getopts "h:c:" arg; do -case $arg in - h) - help - exit 0 - ;; - c) - CHECKOUT_BRANCH=$OPTARG - ;; - ?) - help - exit 0 - ;; -esac -done - -REPO_SRC_PATH=$PWD -TODAY=`date +%Y-%m-%d` - -if [ "$OSTYPE" = "linux-gnu" ] ; then - TEMP_PATH_PREFIX=/tmp - TEMP_PATH=$TEMP_PATH_PREFIX/necessitas -else - TEMP_PATH_PREFIX=/usr - TEMP_PATH=$TEMP_PATH_PREFIX/nec -fi - -if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - # On Mac OS X, user accounts don't have write perms for /var, same is true for Ubuntu. - sudo mkdir -p $TEMP_PATH - sudo chmod 777 $TEMP_PATH - sudo mkdir -p $TEMP_PATH/out - sudo chmod 777 $TEMP_PATH/out - STRIP="strip -S" - CPRL="cp -RL" -else - mkdir -p $TEMP_PATH/out/necessitas - STRIP="strip -s" - CPRL="cp -rL" -fi - -. sdk_cleanup.sh - -# Global just because 2 functions use them, only acceptable values for GDB_VER are 7.2 and 7.3 -GDB_VER=7.3 -#GDB_VER=7.2 - -pushd $TEMP_PATH - -MINISTRO_REPO_PATH=$TEMP_PATH/out/ministro -REPO_PATH=$TEMP_PATH/out/necessitas/sdk -if [ ! -d $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas ] -then - mkdir -p $TEMP_PATH/out/necessitas/sdk_src - cp -a $REPO_SRC_PATH/packages/* $TEMP_PATH/out/necessitas/sdk_src/ -fi -REPO_PATH_PACKAGES=$TEMP_PATH/out/necessitas/sdk_src -STATIC_QT_PATH="" -SHARED_QT_PATH="" -SDK_TOOLS_PATH="" -ANDROID_STRIP_BINARY="" -ANDROID_READELF_BINARY="" -#QPATCH_PATH="" -EXE_EXT="" - -if [ "$OSTYPE" = "msys" ] ; then - # -tools-fully-static - HOST_CFG_OPTIONS=" -platform win32-g++ -reduce-exports -ms-bitfields -prefix . " - HOST_QM_CFG_OPTIONS="CONFIG+=ms_bitfields CONFIG+=static_gcclibs" - HOST_TAG=windows - HOST_TAG_NDK=windows - EXE_EXT=.exe - SHLIB_EXT=.dll - SCRIPT_EXT=.bat - JOBS=`expr $NUMBER_OF_PROCESSORS + 2` -else - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - HOST_CFG_OPTIONS=" -platform macx-g++42 -sdk /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -cocoa -prefix . " - HOST_QM_CFG_OPTIONS="CONFIG+=x86 CONFIG+=x86_64" - # -reduce-exports doesn't work for static Mac OS X i386 build. - # (ld: bad codegen, pointer diff in fulltextsearch::clucene::QHelpSearchIndexReaderClucene::run() to global weak symbol vtable for QtSharedPointer::ExternalRefCountDatafor architecture i386) - HOST_CFG_OPTIONS_STATIC=" -no-reduce-exports " - HOST_TAG=darwin-x86 - HOST_TAG_NDK=darwin-x86 - SHLIB_EXT=.dylib - JOBS=`sysctl -n hw.ncpu` - JOBS=`expr $JOBS + 2` - else - HOST_CFG_OPTIONS=" -platform linux-g++ -arch i386" - HOST_TAG=linux-x86 - HOST_TAG_NDK=linux-x86 - SHLIB_EXT=.so - JOBS=`cat /proc/cpuinfo | grep processor | wc -l` - JOBS=`expr $JOBS + 2` - fi -fi - -function error_msg -{ - echo $1 >&2 - exit 1 -} - -function createArchive # params $1 folder, $2 archive name, $3 extra params -{ - if [ $EXTERNAL_7Z != "" ] - then - EXTRA_PARAMS="" - if [ $HOST_TAG = "windows" ] - then - EXTRA_PARAMS="-l" - fi - $EXTERNAL_7Z $EXTERNAL_7Z_PARAMS -mmt=$JOBS $EXTRA_PARAMS $3 $2 $1 || error_msg "Can't create archive $EXTERNAL_7Z $EXTERNAL_7Z_PARAMS -mmt=$JOBS $2 $1" - else - $SDK_TOOLS_PATH/archivegen $1 $2 - fi -} - -function removeAndExit -{ - rm -fr $1 && error_msg "Can't download $1" -} - - -function downloadIfNotExists -{ - if [ ! -f $1 ] - then - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - curl --insecure -S -L -O $2 || removeAndExit $1 - else - wget --no-check-certificate -c $2 || removeAndExit $1 - fi - fi -} - -function doMake -{ - MAKEPROG=make - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - if [ "$OSTYPE" = "msys" ] ; then - MAKEDIR=`pwd -W` - MAKEFOREVER=1 - if [ ! -z $3 ] ; then - MAKEPROG=$3 - fi - else - MAKEDIR=`pwd` - MAKEFOREVER=0 - fi - MAKEFILE=$MAKEDIR/Makefile - $MAKEPROG -f $MAKEFILE -j$JOBS - while [ "$?" != "0" -a "$MAKEFOREVER" = "1" ] - do - if [ -f /usr/break-make ]; then - echo "Detected break-make" - rm -f /usr/break-make - error_msg $1 - fi - $MAKEPROG -f $MAKEFILE -j$JOBS - done - echo $2>all_done - else - make -j$JOBS $4|| error_msg $1 - echo $2>all_done - fi -} - -function doMakeInstall -{ - MAKEPROG=make - if [ "$OSTYPE" = "msys" -o "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - if [ "$OSTYPE" = "msys" ] ; then - MAKEDIR=`pwd -W` - MAKEFOREVER=1 - if [ ! -z $2 ] ; then - MAKEPROG=$2 - fi - else - MAKEDIR=`pwd` - MAKEFOREVER=0 - fi - MAKEFILE=$MAKEDIR/Makefile - $MAKEPROG -f $MAKEFILE install - while [ "$?" != "0" -a "$MAKEFOREVER" = "1" ] - do - if [ -f /usr/break-make ]; then - echo "Detected break-make" - rm -f /usr/break-make - error_msg $1 - fi - $MAKEPROG -f $MAKEFILE install - done - echo $2>all_done - else - make install || error_msg $1 - echo $2>all_done - fi -} - - -function doSed -{ - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] - then - sed -i '.bak' "$1" $2 - rm ${2}.bak - else - sed "$1" -i $2 - fi -} - - -function cloneCheckoutKDEGitRepo #params $1 repo name, $2 branch -{ - pushd qt-src - git checkout $2 - git pull - popd -} - -# $1 is either -d (debug build) or nothing. -function prepareHostQt -{ - # download, compile & install qt, it is used to compile the installer - HOST_QT_CONFIG=$1 - if [ ! -d qt-src ] - then - git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone ${1}" - pushd qt-src - git config --add remote.origin.fetch +refs/upstream/*:refs/remotes/upstream/* - git fetch - popd - fi - - export QT_SRCDIR=$PWD/qt-src - - if [ "$HOST_QT_CONFIG" = "-d" ] ; then - if [ "$OSTYPE" = "msys" ] ; then - OPTS_CFG=" -debug " - HOST_QT_CFG="CONFIG+=debug" - else - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - OPTS_CFG=" -debug-and-release " - HOST_QT_CFG="CONFIG+=debug" - fi - fi - else - OPTS_CFG=" -release " - HOST_QT_CFG="CONFIG+=release QT+=network" - fi - - - # Even on Linux, static Qt 4.8 doesn't build! - mkdir static-build$HOST_QT_CONFIG - pushd static-build$HOST_QT_CONFIG - STATIC_QT_PATH=$PWD - if [ ! -f all_done ] - then - pushd $QT_SRCDIR - git checkout $HOST_QT_BRANCH - git pull - popd - rm -fr * - $QT_SRCDIR/configure -fast -nomake examples -nomake demos -nomake tests -qt-zlib -no-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -static -no-webkit -no-phonon -no-dbus -no-opengl -no-qt3support -no-xmlpatterns -no-svg -confirm-license $HOST_CFG_OPTIONS $HOST_CFG_OPTIONS_STATIC $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - doMake "Can't compile static $HOST_QT_VERSION" "all done" ma-make - if [ "$OSTYPE" = "msys" ]; then - # Horrible; need to fix this properly. - doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf - doSed $"s/qt warn_on /qt static ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf - cp -f mkspecs/win32-g++/qplatformdefs.h mkspecs/default/ - fi - fi - popd - - #build qt shared, needed by QtCreator - mkdir shared-build$HOST_QT_CONFIG - pushd shared-build$HOST_QT_CONFIG - SHARED_QT_PATH=$PWD - if [ ! -f all_done ] - then - pushd $QT_SRCDIR - git checkout $HOST_QT_BRANCH - git pull - popd - rm -fr * - $QT_SRCDIR/configure $HOST_CFG_OPTIONS -fast -nomake examples -nomake demos -nomake tests -system-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -opensource -shared -webkit -no-phonon -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -confirm-license $HOST_CFG_OPTIONS $OPTS_CFG -host-little-endian --prefix=$PWD || error_msg "Can't configure $HOST_QT_VERSION" - doMake "Can't compile shared $HOST_QT_VERSION" "all done" ma-make - if [ "$OSTYPE" = "msys" ]; then - # Horrible; need to fix this properly. - doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/win32-g++/qmake.conf - doSed $"s/qt warn_on /qt shared ms_bitfields static_gcclibs warn_on /" mkspecs/default/qmake.conf - cp -f mkspecs/win32-g++/qplatformdefs.h mkspecs/default/ - fi - fi - popd - -} - -function prepareSdkInstallerTools -{ - # get installer source code - SDK_TOOLS_PATH=$PWD/necessitas-installer-framework/installerbuilder/bin - if [ ! -d necessitas-installer-framework ] - then - git clone git://gitorious.org/~taipan/qt-labs/necessitas-installer-framework.git necessitas-installer-framework || error_msg "Can't clone necessitas-installer-framework" - fi - - pushd necessitas-installer-framework/installerbuilder - git checkout $CHECKOUT_BRANCH - git pull - if [ ! -f all_done ] - then - $STATIC_QT_PATH/bin/qmake CONFIG+=static $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure necessitas-installer-framework" - doMake "Can't compile necessitas-installer-framework" "all done" ma-make - fi - popd - pushd $SDK_TOOLS_PATH - if [ -z $HOST_QT_CONFIG ] ; then - $STRIP * - fi - popd -} - - -function prepareNecessitasQtCreator -{ - QTC_PATH=android-qt-creator$HOST_QT_CONFIG - - if [ ! -d $QTC_PATH ] - then - git clone git://anongit.kde.org/android-qt-creator.git $QTC_PATH || error_msg "Can't clone android-qt-creator" - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z ] - then - pushd $QTC_PATH - QTC_INST_PATH=$PWD/QtCreator$HOST_QT_CONFIG - if [ ! -f all_done ] ; then - git checkout unstable - git pull - export UPDATEINFO_DISABLE=false - $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure android-qt-creator" - doMake "Can't compile $QTC_PATH" "all done" ma-make - fi - rm -fr $QTC_INST_PATH - export INSTALL_ROOT=$QTC_INST_PATH - make install - -# #download and install sdk-updater-plugin -# export QTC_SOURCE=$PWD -# downloadIfNotExists research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz http://android-lighthouse.googlecode.com/files/research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz -# if [ ! -d research-sdk-updater-plugin-master-snapshot-20110524185306 ] -# then -# tar xvfz research-sdk-updater-plugin-master-snapshot-20110524185306-updated.tar.gz -# fi -# pushd research-sdk-updater-plugin-master-snapshot-20110524185306 -# $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure sdk-updater-plugin" -# doMake "Can't compile sdk-updater-plugin" "all done" ma-make -# make install -# popd - - mkdir -p $QTC_INST_PATH/Qt/imports - mkdir -p $QTC_INST_PATH/Qt/plugins - if [ "$OSTYPE" = "msys" ]; then - mkdir -p $QTC_INST_PATH/bin - cp -rf lib/qtcreator/* $QTC_INST_PATH/bin/ - cp -a /usr/bin/libgcc_s_dw2-1.dll $QTC_INST_PATH/bin/ - cp -a /usr/bin/libstdc++-6.dll $QTC_INST_PATH/bin/ - QT_LIB_DEST=$QTC_INST_PATH/bin/ - cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST - cp -a bin/necessitas.bat $QTC_INST_PATH/bin/ -# Want to re-enable this, but libintl-8.dll is getting used. -# git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various -# mkdir -p android-various/make-3.82-build -# pushd android-various/make-3.82-build -# ../make-3.82/build-mingw.sh -# popd -# cp android-various/make-3.82-build/make.exe $QTC_INST_PATH/bin/ - cp /usr/local/bin/ma-make.exe $QTC_INST_PATH/bin/make.exe - else - if [ "$OSTYPE" = "linux-gnu" ]; then - mkdir -p $QTC_INST_PATH/Qt/lib - QT_LIB_DEST=$QTC_INST_PATH/Qt/lib/ - cp -a $SHARED_QT_PATH/lib/* $QT_LIB_DEST - rm -fr $QT_LIB_DEST/pkgconfig - find . $QT_LIB_DEST -name *.la | xargs rm -fr - find . $QT_LIB_DEST -name *.prl | xargs rm -fr - cp -a $SHARED_QT_PATH/imports/* ${QT_LIB_DEST}../imports - cp -a $SHARED_QT_PATH/plugins/* ${QT_LIB_DEST}../plugins - cp -a bin/necessitas $QTC_INST_PATH/bin/ - else - pushd macdeployqt - $SHARED_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r || error_msg "Can't configure macdeployqt" - doMake "Can't compile macdeployqt" "all done" ma-make - popd - pushd bin - rm -rf NecessitasQtCreatorBackup.app - cp -rf NecessitasQtCreator.app NecessitasQtCreatorBackup.app - ../macdeployqt/macdeployqt/macdeployqt NecessitasQtCreator.app - popd - mv bin/NecessitasQtCreator.app $QTC_INST_PATH/bin/NecessitasQtCreator.app - mv bin/NecessitasQtCreatorBackup.app bin/NecessitasQtCreator.app - fi - fi - mkdir $QTC_INST_PATH/images - cp -a bin/necessitas*.png $QTC_INST_PATH/images/ - pushd $QTC_INST_PATH - if [ -z $HOST_QT_CONFIG ] ; then - find . -name "*$SHLIB_EXT" | xargs $STRIP - fi - popd - createArchive QtCreator$HOST_QT_CONFIG qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data - mv qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.tools.qtcreator/data/qtcreator-${HOST_TAG}${HOST_QT_CONFIG}.7z - popd - fi - -# mkdir qpatch-build -# pushd qpatch-build -# if [ ! -f all_done ] -# then -# $STATIC_QT_PATH/bin/qmake $HOST_QT_CFG $HOST_QM_CFG_OPTIONS -r ../android-qt-creator/src/tools/qpatch/qpatch.pro -# if [ "$OSTYPE" = "msys" ]; then -# make -f Makefile.Release || error_msg "Can't compile qpatch" -# else -# make || error_msg "Can't compile qpatch" -# fi -# echo "all_done">all_done -# fi - -# if [ "$OSTYPE" = "msys" ]; then -# QPATCH_PATH=$PWD/release/qpatch$EXE_EXT -# else -# QPATCH_PATH=$PWD/qpatch -# fi -# popd -} - -# A few things are downloaded as binaries. -function makeInstallMinGWLibsAndTools -{ - if [ -d mingw-bits ] ; then - return - fi - - mkdir -p /usr/local/bin - mkdir -p /usr/local/share - - mkdir mingw-bits - pushd mingw-bits - - mkdir texinfo - pushd texinfo - downloadIfNotExists texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma http://heanet.dl.sourceforge.net/project/mingw/MSYS/texinfo/texinfo-4.13a-2/texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma - rm -rf texinfo-4.13a-2-msys-1.0.13-bin.tar - 7za x texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma - tar -xvf texinfo-4.13a-2-msys-1.0.13-bin.tar - mv bin/* /usr/local/bin - mv share/* /usr/local/share - popd - - # pdcurses must be in /usr for gdb configure to work (though I'd prefer if mingw gcc would look in /usr/local too!) - downloadIfNotExists PDCurses-3.4.tar.gz http://downloads.sourceforge.net/pdcurses/pdcurses/3.4/PDCurses-3.4.tar.gz - rm -rf PDCurses-3.4 - tar -xvzf PDCurses-3.4.tar.gz - pushd PDCurses-3.4/win32 - sed '90s/-copy/-cp/' mingwin32.mak > mingwin32-fixed.mak - make -f mingwin32-fixed.mak WIDE=Y UTF8=Y DLL=N - cp pdcurses.a /usr/lib/libcurses.a - cp pdcurses.a /usr/lib/libncurses.a - cp pdcurses.a /usr/lib/libpdcurses.a - cp panel.a /usr/lib/libpanel.a - cp ../curses.h /usr/include - cp ../panel.h /usr/include - popd - - # download, compile & install zlib to /usr - downloadIfNotExists zlib-1.2.5.tar.gz http://downloads.sourceforge.net/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz - if [ ! -f /usr/lib/libz.a ] ; then - tar -xvzf zlib-1.2.5.tar.gz - pushd zlib-1.2.5 - doSed $"s#usr/#local/usr#" win32/Makefile.gcc - make -f win32/Makefile.gcc - export INCLUDE_PATH=/usr/include - export LIBRARY_PATH=/usr/lib - make -f win32/Makefile.gcc install - rm -rf zlib-1.2.5 - popd - fi - - # This make can't build gdb or python (it doesn't re-interpret MSYS mounts), but includes jobserver patch from - # Troy Runkel: http://article.gmane.org/gmane.comp.gnu.make.windows/3223/match= - # which fixes the longstanding make.exe -jN process hang, allowing un-attended builds of all Qt things. - downloadIfNotExists make.exe http://mingw-and-ndk.googlecode.com/files/make.exe - mv make.exe /usr/local/bin/ma-make.exe - - popd -} - -function makeInstallMinGWLibs -{ - mkdir mingw-bits - pushd mingw-bits - - install_dir=$1 - - downloadIfNotExists readline-6.2.tar.gz http://ftp.gnu.org/pub/gnu/readline/readline-6.2.tar.gz - rm -rf readline-6.2 - tar -xvzf readline-6.2.tar.gz - pushd readline-6.2 - CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix= CFLAGS=-O2 - make && make DESTDIR=$install_dir install - popd - - popd -} - -function prepareNDKs -{ - # repack official windows NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip - rm -fr android-ndk-${ANDROID_NDK_VERSION} - unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip - createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-windows.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-windows.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} - fi - - # repack official mac NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - rm -fr android-ndk-${ANDROID_NDK_VERSION} - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} - fi - - # repack official linux-x86 NDK - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z ] - then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - rm -fr android-ndk-${ANDROID_NDK_VERSION} - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - createArchive android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data - mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z - rm -fr android-ndk-${ANDROID_NDK_VERSION} - fi - -# TODO Ray should uncomment/review it when Linaro toolchain is ready -# if [ $BUILD_ANDROID_GIT_NDK = 1 ] -# then -# downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 -# rm -fr android-ndk-${ANDROID_NDK_VERSION} -# tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 -# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z -# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data -# mv android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.7z -# rm -fr android-ndk-${ANDROID_NDK_VERSION} -# fi -# -# # mingw android NDKs are only r6 for now, not r6b. -# # repack mingw android windows NDK -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z ] -# then -# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z -# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z -# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z -# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data -# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-windows.7z -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# fi -# -# # repack mingw android mac NDK -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z ] -# then -# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z -# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data -# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-darwin-x86.7z -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# fi -# -# # repack mingw android linux-x86 NDK -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z ] -# then -# downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# # cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# $SDK_TOOLS_PATH/archivegen android-ndk-${ANDROID_NDK_MAJOR_VERSION} android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z -# mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data -# mv android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.ma_${ANDROID_NDK_MAJOR_VERSION}/data/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-ma-linux-x86.7z -# rm -fr android-ndk-${ANDROID_NDK_MAJOR_VERSION} -# fi -# -# export ANDROID_NDK_HOST=$HOST_TAG_NDK -# if [ "$USE_MA_NDK" = "0" ]; then -# ANDROID_NDK_VERSION=r6b -# else -# ANDROID_NDK_VERSION=r6 -# fi -# -# if [ $BUILD_ANDROID_GIT_NDK = 1 ] -# then -# export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION}-git -# export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION}-git -# else - export ANDROID_NDK_ROOT=$PWD/android-ndk-${ANDROID_NDK_VERSION} - export ANDROID_NDK_FOLDER_NAME=android-ndk-${ANDROID_NDK_VERSION} -# fi - - if [ ! -d $ANDROID_NDK_FOLDER_NAME ]; then - if [ "$USE_MA_NDK" = "0" ]; then - if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-windows.zip http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-windows.zip - unzip android-ndk-${ANDROID_NDK_VERSION}-windows.zip - fi - - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-darwin-x86.tar.bz2 - fi - - if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 http://dl.google.com/android/ndk/android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - tar xjvf android-ndk-${ANDROID_NDK_VERSION}-linux-x86.tar.bz2 - fi - else - if [ "$OSTYPE" = "msys" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z . - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-windows.7z - fi - - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z . - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-darwin-x86.7z - fi - - if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z http://mingw-and-ndk.googlecode.com/files/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z -# cp $REPO_SRC_PATH/ndk-packages/android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z . - 7za x android-ndk-${ANDROID_NDK_MAJOR_VERSION}-gdb-7.3.50.20110709-linux-x86.7z - fi - fi - - if [ $BUILD_ANDROID_GIT_NDK = 1 ] - then - mv android-ndk-${ANDROID_NDK_VERSION} android-ndk-${ANDROID_NDK_VERSION}-git - git clone http://android.git.kernel.org/platform/ndk.git android_git_ndk || error_msg "Can't clone ndk" - pushd android_git_ndk - ./build/tools/rebuild-all-prebuilt.sh --ndk-dir=$ANDROID_NDK_ROOT --git-http --gdb-version=7.1 --sysroot=$USED_ANDROID_NDK_ROOT/platforms/android-9/arch-arm --verbose --package-dir= - popd - rm -fr android_git_ndk - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data - createArchive android-ndk-${ANDROID_NDK_VERSION}-git $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.${ANDROID_NDK_VERSION}_git/data/android-ndk-${ANDROID_NDK_VERSION}-git-${HOST_TAG_NDK}.7z - fi - fi - - ANDROID_STRIP_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-strip$EXE_EXT - ANDROID_READELF_BINARY=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi-readelf$EXE_EXT -} - -function prepareGDB -{ - package_name_ver=${GDB_VER//./_} # replace . with _ - if [ -z $GDB_TARG_HOST_TAG ] ; then - GDB_PKG_NAME=gdb-$GDB_VER-$HOST_TAG - GDB_FLDR_NAME=gdb-$GDB_VER - package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data - else - GDB_PKG_NAME=gdb_$GDB_TARG_HOST_TAG-$GDB_VER - GDB_FLDR_NAME=$GDB_PKG_NAME - package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.host_gdb_$package_name_ver/data - fi - #This function depends on prepareNDKs - if [ -f $package_path/$GDB_PKG_NAME.7z ] - then - return - fi - - mkdir gdb-build - pushd gdb-build - pyversion=2.7 - pyfullversion=2.7.1 - install_dir=$PWD/install - target_dir=$PWD/$GDB_FLDR_NAME - mkdir -p $target_dir - - OLDPATH=$PATH - if [ "$OSTYPE" = "linux-gnu" ] ; then - HOST=i386-linux-gnu - CC32="gcc -m32" - CXX32="g++ -m32" - PYCFGDIR=$install_dir/lib/python$pyversion/config - else - if [ "$OSTYPE" = "msys" ] ; then - SUFFIX=.exe - HOST=i686-pc-mingw32 - PYCFGDIR=$install_dir/bin/Lib/config - export PATH=.:$PATH - CC32=gcc.exe - CXX32=g++.exe - PYCCFG="--enable-shared" - else - # On some OS X installs (case insensitive filesystem), the dir "Python" clashes with the executable "python" - # --with-suffix can be used to get around this. - SUFFIX=Mac - export PATH=.:$PATH - CC32="gcc -m32" - CXX32="g++ -m32" - fi - fi - - OLDCC=$CC - OLDCXX=$CXX - OLDCFLAGS=$CFLAGS - - downloadIfNotExists expat-2.0.1.tar.gz http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz || error_msg "Can't download expat library" - if [ ! -d expat-2.0.1 ] - then - tar xzvf expat-2.0.1.tar.gz - pushd expat-2.0.1 - CC=$CC32 CXX=$CXX32 ./configure --disable-shared --enable-static -prefix=/ - doMake "Can't compile expat" "all done" - make DESTDIR=$install_dir install || error_msg "Can't install expat library" - popd - fi - # Again, what a terrible failure. - unset PYTHONHOME - if [ ! -f Python-$pyfullversion/all_done ] - then - if [ "$OSTYPE" = "linux-gnu" ]; then - downloadIfNotExists Python-$pyfullversion.tar.bz2 http://www.python.org/ftp/python/$pyfullversion/Python-$pyfullversion.tar.bz2 || error_msg "Can't download python library" - tar xjvf Python-$pyfullversion.tar.bz2 - USINGMAPYTHON=0 - else - if [ "$OSTYPE" = "msys" ]; then - makeInstallMinGWLibs $install_dir - fi - rm -rf Python-$pyfullversion - git clone git://gitorious.org/mingw-python/mingw-python.git Python-$pyfullversion || error_msg "Can't clone MinGW Python" - USINGMAPYTHON=1 - fi - - pushd Python-$pyfullversion - if [ "$OSTYPE" = "msys" ] ; then - # Hack for MSI. - cp /c/strawberry/c/i686-w64-mingw32/include/fci.h fci.h - fi - if [ "$USINGMAPYTHON" = "1" ] ; then - autoconf - touch Include/Python-ast.h - touch Include/Python-ast.c - fi - - CC=$CC32 CXX=$CXX32 ./configure $PYCCFG --host=$HOST --prefix=$install_dir --with-suffix=$SUFFIX || error_msg "Can't configure Python" - doMake "Can't compile Python" "all done" - if [ "$OSTYPE" = "msys" ] ; then - pushd pywin32-216 - # TODO :: Fix this, builds ok but then tries to copy pywintypes27.lib instead of libpywintypes27.a and pywintypes27.dll. - ../python$EXE_EXT setup.py build - popd - fi - make install - - if [ "$OSTYPE" = "msys" ] ; then - mkdir -p $PYCFGDIR - cp Modules/makesetup $PYCFGDIR - cp Modules/config.c.in $PYCFGDIR - cp Modules/config.c $PYCFGDIR - cp libpython$pyversion.a $PYCFGDIR - cp Makefile $PYCFGDIR - cp Modules/python.o $PYCFGDIR - cp Modules/Setup.local $PYCFGDIR - cp install-sh $PYCFGDIR - cp Modules/Setup $PYCFGDIR - cp Modules/Setup.config $PYCFGDIR - mkdir $install_dir/lib/python$pyversion - cp libpython$pyversion.a $install_dir/lib/python$pyversion/ - cp libpython$pyversion.dll $install_dir/lib/python$pyversion/ - fi - - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ] ; then - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/2to3 - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/idle - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/pydoc - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/python-config - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/python2.7-config - doSed $"s/python2\.7Mac/python2\.7/g" $install_dir/bin/smtpd.py - fi - - popd - fi - - pushd Python-$pyfullversion - mkdir -p $target_dir/python/lib - cp LICENSE $target_dir/PYTHON-LICENSE - cp libpython$pyversion$SHLIB_EXT $target_dir/ - popd - export PATH=$OLDPATH - cp -a $install_dir/lib/python$pyversion $target_dir/python/lib/ - mkdir -p $target_dir/python/include/python$pyversion - mkdir -p $target_dir/python/bin - cp $install_dir/include/python$pyversion/pyconfig.h $target_dir/python/include/python$pyversion/ - # Remove the $SUFFIX if present (OS X) - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - mv $install_dir/bin/python$pyversion$SUFFIX $install_dir/bin/python$pyversion - mv $install_dir/bin/python$SUFFIX $install_dir/bin/python - fi - cp -a $install_dir/bin/python$pyversion* $target_dir/python/bin/ - if [ "$OSTYPE" = "msys" ] ; then - cp -fr $install_dir/bin/Lib $target_dir/ - cp -f $install_dir/bin/libpython$pyversion.dll $target_dir/python/bin/ - fi - $STRIP $target_dir/python/bin/python$pyversion$EXE_EXT - - # Something is setting PYTHONHOME as an Env. Var for Windows and I'm not sure what... installer? NQTC? Python build process? - # TODOMA :: Fix the real problem. - unset PYTHONHOME - unset PYTHONPATH - - if [ ! -d gdb-src ] - then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src || error_msg "Can't clone gdb" - fi - pushd gdb-src - git checkout $GDB_BRANCH -# git reset --hard - popd - - if [ ! -d gdb-src/build-$GDB_PKG_NAME ] - then - mkdir -p gdb-src/build-$GDB_PKG_NAME - pushd gdb-src/build-$GDB_PKG_NAME - OLDPATH=$PATH - export PATH=$install_dir/bin/:$PATH - if [ -z $GDB_TARG_HOST_TAG ] ; then - CC=$CC32 CXX=$CXX32 CFLAGS="-O0 -g" $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-sysroot=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=arm-elf-linux --host=$HOST --build=$HOST --disable-nls - else - CC=$CC32 CXX=$CXX32 $GDB_ROOT_PATH/configure --enable-initfini-array --enable-gdbserver=no --enable-tui=yes --with-python=$install_dir --with-expat=yes --with-libexpat-prefix=$install_dir --prefix=$target_dir --target=$HOST --host=$HOST --build=$HOST --disable-nls - fi - doMake "Can't compile android gdb $GDB_VER" "all done" - cp -a gdb/gdb$EXE_EXT $target_dir/ -# cp -a gdb/gdbtui$EXE_EXT $target_dir/ - $STRIP $target_dir/gdb$EXE_EXT # .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. -# $STRIP $target_dir/gdbtui$EXE_EXT # .. Just while I fix native host GDB (can't debug the installer exe) and thumb-2 issues. - export PATH=$OLDPATH - popd - fi - - CC=$OLDCC - CXX=$OLDCXX - CFLAGS=$OLDCFLAGS - - pushd $target_dir - find . -name *.py[co] | xargs rm -f - find . -name test | xargs rm -fr - find . -name tests | xargs rm -fr - popd - - createArchive $GDB_FLDR_NAME $GDB_PKG_NAME.7z - mkdir -p $package_path - - mv $GDB_PKG_NAME.7z $package_path/ - - popd #gdb-build -} - -function prepareGDBServer -{ - package_name_ver=${GDB_VER//./_} # replace - with _ - package_path=$REPO_PATH_PACKAGES/org.kde.necessitas.misc.ndk.gdb_$package_name_ver/data - - if [ -f $package_path/gdbserver-$GDB_VER.7z ] - then - return - fi - - export NDK_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} - - mkdir gdb-build - pushd gdb-build - - if [ ! -d gdb-src ] - then - git clone git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git gdb-src || error_msg "Can't clone gdb" - pushd gdb-src - git checkout $GDB_BRANCH - popd - fi - - mkdir -p gdb-src/build-gdbserver-$GDB_VER - pushd gdb-src/build-gdbserver-$GDB_VER - - mkdir android-sysroot - $CPRL $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/platforms/android-9/arch-arm/* android-sysroot/ || error_msg "Can't copy android sysroot" - rm -f android-sysroot/usr/lib/libthread_db* - rm -f android-sysroot/usr/include/thread_db.h - - TOOLCHAIN_PREFIX=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$HOST_TAG_NDK/bin/arm-linux-androideabi - - OLD_CC="$CC" - OLD_CFLAGS="$CFLAGS" - OLD_LDFLAGS="$LDFLAGS" - - export CC="$TOOLCHAIN_PREFIX-gcc --sysroot=$PWD/android-sysroot" - if [ "$MAKE_DEBUG_GDBSERVER" = "1" ] ; then - export CFLAGS="-O0 -g -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" - export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" - else - export CFLAGS="-O2 -nostdlib -D__ANDROID__ -DANDROID -DSTDC_HEADERS -I$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include -I$PWD/android-sysroot/usr/include -fno-short-enums" - export LDFLAGS="-static -Wl,-z,nocopyreloc -Wl,--no-undefined $PWD/android-sysroot/usr/lib/crtbegin_static.o -lc -lm -lgcc -lc $PWD/android-sysroot/usr/lib/crtend_android.o" - fi - - LIBTHREAD_DB_DIR=$TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION}/sources/android/libthread_db/gdb-7.1.x - cp $LIBTHREAD_DB_DIR/thread_db.h android-sysroot/usr/include/ - $TOOLCHAIN_PREFIX-gcc$EXE_EXT --sysroot=$PWD/android-sysroot -o $PWD/android-sysroot/usr/lib/libthread_db.a -c $LIBTHREAD_DB_DIR/libthread_db.c || error_msg "Can't compile android threaddb" - $GDB_ROOT_PATH/gdb/gdbserver/configure --host=arm-eabi-linux --with-libthread-db=$PWD/android-sysroot/usr/lib/libthread_db.a || error_msg "Can't configure gdbserver" - doMake "Can't compile gdbserver" "all done" - - export CC="$OLD_CC" - export CFLAGS="$OLD_CFLAGS" - export LDFLAGS="$OLD_LDFLAGS" - - mkdir gdbserver-$GDB_VER - if [ "$MAKE_DEBUG_GDBSERVER" = "0" ] ; then - $TOOLCHAIN_PREFIX-objcopy --strip-unneeded gdbserver $PWD/gdbserver-$GDB_VER/gdbserver - else - cp gdbserver $PWD/gdbserver-$GDB_VER/gdbserver - fi - - createArchive gdbserver-$GDB_VER gdbserver-$GDB_VER.7z - mkdir -p $package_path - mv gdbserver-$GDB_VER.7z $package_path/ - - popd #gdb-src/build-gdbserver-$GDB_VER - - popd #gdb-build -} - -function prepareGDBVersion -{ - GDB_VER=$1 - GDB_TARG_HOST_TAG=$2 # windows, linux-x86, darwin-x86 or nothing for android. - if [ "$GDB_VER" = "7.3" ]; then - GDB_ROOT_PATH=.. - GDB_BRANCH=integration_7_3 - else - if [ "$GDB_VER" = "head" ]; then - GDB_ROOT_PATH=.. - GDB_BRANCH=fsf_head - else - GDB_ROOT_PATH=../gdb - GDB_BRANCH=master - fi - fi - prepareGDB - if [ -z $GDB_TARG_HOST_TAG ] ; then - prepareGDBServer - fi -} - -function repackSDK -{ - package_name=${4//-/_} # replace - with _ - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] - then - downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip - rm -fr temp_repack - mkdir temp_repack - pushd temp_repack - unzip ../$1.zip - mv * temp_name - mkdir -p $3 - mv temp_name $3/$4 - createArchive $3 $2.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data - mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z - popd - rm -fr temp_repack - fi -} - -function repackSDKPlatform-tools -{ - package_name=${4//-/_} # replace - with _ - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z ] - then - downloadIfNotExists $1.zip http://dl.google.com/android/repository/$1.zip - rm -fr android-sdk - unzip $1.zip - mkdir -p $3 - mv $4 $3/$4 - createArchive $3 $2.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data - mv $2.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.$package_name/data/$2.7z - rm -fr $3 - fi -} - - -function prepareSDKs -{ - echo "prepare SDKs" - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z ] - then - rm -fr android-sdk - downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-linux.tgz http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-linux.tgz - tar -xzvf android-sdk_${ANDROID_SDK_VERSION}-linux.tgz - mv android-sdk-linux android-sdk - createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-linux.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-linux.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z - rm -fr android-sdk - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-macosx.7z ] - then - rm -fr android-sdk - downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-macosx.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-macosx.zip - unzip android-sdk_${ANDROID_SDK_VERSION}-macosx.zip - mv android-sdk-macosx android-sdk - createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-macosx.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-macosx.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-macosx.7z - rm -fr android-sdk - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z ] - then - rm -fr android-sdk - downloadIfNotExists android-sdk_${ANDROID_SDK_VERSION}-windows.zip http://dl.google.com/android/android-sdk_${ANDROID_SDK_VERSION}-windows.zip - unzip android-sdk_${ANDROID_SDK_VERSION}-windows.zip - mv android-sdk-windows android-sdk - createArchive android-sdk android-sdk_${ANDROID_SDK_VERSION}-windows.7z - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data - mv android-sdk_${ANDROID_SDK_VERSION}-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-windows.7z - rm -fr android-sdk - fi - - if [ "$OSTYPE" = "msys" ] - then - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z ] - then - git clone git://gitorious.org/mingw-android-various/mingw-android-various.git android-various || error_msg "Can't clone android-various" - pushd android-various/android-sdk - gcc -Wl,-subsystem,windows -Wno-write-strings android.cpp -static-libgcc -s -O2 -o android.exe - popd - mkdir -p android-sdk-windows/tools/ - cp android-various/android-sdk/android.exe android-sdk/tools/ - createArchive android-sdk-windows android-sdk-windows-tools-mingw-android.7z - mv android-sdk-windows-tools-mingw-android.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/android-sdk-windows-tools-mingw-android.7z - rm -rf android-various - fi - fi - - # repack platform-tools - repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux android-sdk platform-tools - repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-macosx android-sdk platform-tools - repackSDKPlatform-tools platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-windows android-sdk platform-tools - - # repack api-4 - repackSDK android-${ANDROID_API_4_VERSION}-linux android-${ANDROID_API_4_VERSION}-linux android-sdk/platforms android-4 - repackSDK android-${ANDROID_API_4_VERSION}-macosx android-${ANDROID_API_4_VERSION}-macosx android-sdk/platforms android-4 - repackSDK android-${ANDROID_API_4_VERSION}-windows android-${ANDROID_API_4_VERSION}-windows android-sdk/platforms android-4 - - # repack api-5 - repackSDK android-${ANDROID_API_5_VERSION}-linux android-${ANDROID_API_5_VERSION}-linux android-sdk/platforms android-5 - repackSDK android-${ANDROID_API_5_VERSION}-macosx android-${ANDROID_API_5_VERSION}-macosx android-sdk/platforms android-5 - repackSDK android-${ANDROID_API_5_VERSION}-windows android-${ANDROID_API_5_VERSION}-windows android-sdk/platforms android-5 - - # repack api-6 - repackSDK android-${ANDROID_API_6_VERSION}-linux android-${ANDROID_API_6_VERSION}-linux android-sdk/platforms android-6 - repackSDK android-${ANDROID_API_6_VERSION}-macosx android-${ANDROID_API_6_VERSION}-macosx android-sdk/platforms android-6 - repackSDK android-${ANDROID_API_6_VERSION}-windows android-${ANDROID_API_6_VERSION}-windows android-sdk/platforms android-6 - - # repack api-7 - repackSDK android-${ANDROID_API_7_VERSION}-linux android-${ANDROID_API_7_VERSION} android-sdk/platforms android-7 - - # repack api-8 - repackSDK android-${ANDROID_API_8_VERSION}-linux android-${ANDROID_API_8_VERSION} android-sdk/platforms android-8 - - # repack api-9 - repackSDK android-${ANDROID_API_9_VERSION}-linux android-${ANDROID_API_9_VERSION} android-sdk/platforms android-9 - - # repack api-10 - repackSDK android-${ANDROID_API_10_VERSION}-linux android-${ANDROID_API_10_VERSION} android-sdk/platforms android-10 - - # repack api-11 - repackSDK android-${ANDROID_API_11_VERSION}-linux android-${ANDROID_API_11_VERSION} android-sdk/platforms android-11 - - # repack api-12 - repackSDK android-${ANDROID_API_12_VERSION}-linux android-${ANDROID_API_12_VERSION} android-sdk/platforms android-12 - - # repack api-13 - repackSDK android-${ANDROID_API_13_VERSION}-linux android-${ANDROID_API_13_VERSION} android-sdk/platforms android-13 - - # repack api-14 - repackSDK android-${ANDROID_API_14_VERSION} android-${ANDROID_API_14_VERSION} android-sdk/platforms android-14 -} - -function patchQtFiles -{ - echo "bin/qmake$EXE_EXT" >files_to_patch - echo "bin/lrelease$EXE_EXT" >>files_to_patch - echo "%%" >>files_to_patch - find . -name *.pc >>files_to_patch - find . -name *.la >>files_to_patch - find . -name *.prl >>files_to_patch - find . -name *.prf >>files_to_patch - if [ "$OSTYPE" = "msys" ] ; then - cp -a $SHARED_QT_PATH/bin/*.dll ../qt-src/ - fi - echo files_to_patch > qpatch.cmdline - echo /data/data/org.kde.necessitas.ministro/files/qt >> qpatch.cmdline - echo $PWD >> qpatch.cmdline - echo . >> qpatch.cmdline -# $QPATCH_PATH @qpatch.cmdline -} - -function packSource -{ - package_name=${1//-/.} # replace - with . - rm -fr $TEMP_PATH/source_temp_path - mkdir -p $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT - mv $1/.git . - if [ $1 = "qt-src" ] - then - mv $1/src/3rdparty/webkit . - mv $1/tests . - fi - - if [ $1 = "qtwebkit-src" ] - then - mv $1/LayoutTests . - fi - echo cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ - cp -rf $1 $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/ - pushd $TEMP_PATH/source_temp_path - createArchive Android $1.7z -l - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data - mv $1.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.$package_name/data/$1.7z - popd - #mv $TEMP_PATH/source_temp_path/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/$1 . - mv .git $1/ - if [ $1 = "qt-src" ] - then - mv webkit $1/src/3rdparty/ - mv tests $1/ - fi - if [ $1 = "qtwebkit-src" ] - then - mv LayoutTests $1/ - fi - rm -fr $TEMP_PATH/source_temp_path -} - - -function compileNecessitasQt #params $1 architecture, $2 package path, $3 NDK_TARGET, $4 android architecture -{ - package_name=${1//-/_} # replace - with _ - NDK_TARGET=$3 - ANDROID_ARCH=$1 - if [ ! -z $4 ] ; then - ANDROID_ARCH=$4 - fi - # NQT_INSTALL_DIR=/data/data/org.kde.necessitas.ministro/files/qt - NQT_INSTALL_DIR=$PWD/install - - if [ "$OSTYPE" = "linux-gnu" ] ; then - if [ ! -d android-sdk-linux/platform-tools ] - then - rm -fr android-sdk-linux - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.base/data/android-sdk-linux.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.platform_tools/data/platform-tools_${ANDROID_PLATFORM_TOOLS_VERSION}-linux.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_14/data/android-${ANDROID_API_14_VERSION}.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_8/data/android-${ANDROID_API_8_VERSION}.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_7/data/android-${ANDROID_API_7_VERSION}.7z - 7z -y x $REPO_PATH_PACKAGES/org.kde.necessitas.misc.sdk.android_4/data/android-${ANDROID_API_4_VERSION}-linux.7z - fi - export ANDROID_SDK_TOOLS_PATH=$PWD/android-sdk/tools/ - export ANDROID_SDK_PLATFORM_TOOLS_PATH=$PWD/android-sdk/platform-tools/ - fi - - if [ ! -f all_done ] - then - pushd ../qt-src - git checkout -f mkspecs - mkdir -p $NQT_INSTALL_DIR/src/android/cpp/ - # The examples need qtmain_android.cpp in the install dir. - cp src/android/cpp/qtmain_android.cpp $NQT_INSTALL_DIR/src/android/cpp/ - popd - ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 1 -q 1 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $ANDROID_ARCH -k 0 -i $NQT_INSTALL_DIR || error_msg "Can't configure android-qt" - echo "all done">all_done - fi - - rm -fr install - rm -fr Android - export INSTALL_ROOT="" - make QtJar - ../qt-src/android/androidconfigbuild.sh -l $NDK_TARGET -c 0 -q 0 -n $TEMP_PATH/android-ndk-${ANDROID_NDK_VERSION} -a $ANDROID_ARCH -b 0 -k 1 -i $NQT_INSTALL_DIR || error_msg "Can't install android-qt" - - doSed $"s/= android-5/= android-${NDK_TARGET}/g" install/mkspecs/android-g++/qmake.conf - doSed $"s/= android-5/= android-${NDK_TARGET}/g" install/mkspecs/default/qmake.conf - if [ $ANDROID_ARCH = "armeabi-v7a" ] - then - doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/android-g++/qmake.conf - doSed $"s/= armeabi/= armeabi-v7a/g" install/mkspecs/default/qmake.conf - else - if [ $ANDROID_ARCH = "x86" ] - then - doSed $"s/= armeabi/= x86/g" install/mkspecs/android-g++/qmake.conf - doSed $"s/= armeabi/= x86/g" install/mkspecs/default/qmake.conf - fi - fi - - mkdir -p $2/$1 - cp -rf $NQT_INSTALL_DIR/bin $2/$1 - createArchive Android qt-tools-${HOST_TAG}.7z - rm -fr $2/$1/bin - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data - mv qt-tools-${HOST_TAG}.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-tools-${HOST_TAG}.7z - cp -rf $NQT_INSTALL_DIR/* $2/$1 - cp -rf ../qt-src/lib/*.xml $2/$1/lib/ - cp -rf jar $2/$1/ - rm -fr $2/$1/bin - createArchive Android qt-framework.7z - mv qt-framework.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/qt-framework.7z - rm -fr ../install-$1 - cp -a install ../install-$1 - cp -rf jar ../install-$1/ - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.$package_name/data/ qt-framework -# patchQtFiles -} - -function prepareNecessitasQt -{ - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT - pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - - if [ ! -d qt-src ] - then - git clone git://anongit.kde.org/android-qt.git qt-src|| error_msg "Can't clone ${1}" - fi - - cloneCheckoutKDEGitRepo android-qt $CHECKOUT_BRANCH - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-tools-${HOST_TAG}.7z ] - then - mkdir build-armeabi - pushd build-armeabi - compileNecessitasQt armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT 5 - popd #build-armeabi - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-tools-${HOST_TAG}.7z ] - then - mkdir build-armeabi-v7a - pushd build-armeabi-v7a - compileNecessitasQt armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT 5 - popd #build-armeabi-v7a - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_android_4/data/qt-tools-${HOST_TAG}.7z ] - then - mkdir build-armeabi-android-4 - pushd build-armeabi-android-4 - compileNecessitasQt armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT 4 armeabi - popd #build-armeabi - fi -# Enable it when QtCreator is ready -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.x86/data/qt-tools-${HOST_TAG}.7z ] -# then -# mkdir build-x86 -# pushd build-x86 -# compileNecessitasQt x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT 9 -# popd #build-x86 -# fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/qt-src.7z ] - then - packSource qt-src - fi - - popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT -} - -function compileNecessitasQtMobility -{ - if [ ! -f all_done ] - then - pushd ../qtmobility-src - git checkout $CHECKOUT_BRANCH - git pull - popd - ../qtmobility-src/configure -prefix $PWD/install -staticconfig android -qmake-exec $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT -modules "bearer location contacts multimedia versit messaging systeminfo serviceframework sensors gallery organizer feedback connectivity" || error_msg "Can't configure android-qtmobility" - doMake "Can't compile android-qtmobility" "all done" ma-make - fi - package_name=${1//-/_} # replace - with _ - rm -fr data - rm -fr $2 - export INSTALL_ROOT="" - make install - mkdir -p $2/$1 - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data - mv $PWD/install/* $2/$1 - createArchive Android qtmobility.7z - mv qtmobility.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data/qtmobility.7z - cp -a $2/$1/* ../install-$1 # copy files to ministro repository - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.$package_name/data/ qtmobility -# pushd ../build-$1 -# patchQtFiles -# popd -} - -function prepareNecessitasQtMobility -{ - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT - pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -d qtmobility-src ] - then - git clone git://anongit.kde.org/android-qt-mobility.git qtmobility-src || error_msg "Can't clone android-qt-mobility" - pushd qtmobility-src - git checkout $CHECKOUT_BRANCH - git pull - popd - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility.7z ] - then - mkdir build-mobility-armeabi - pushd build-mobility-armeabi - compileNecessitasQtMobility armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-mobility-armeabi - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility.7z ] - then - mkdir build-mobility-armeabi-v7a - pushd build-mobility-armeabi-v7a - compileNecessitasQtMobility armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-mobility-armeabi-v7a - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_android_4/data/qtmobility.7z ] - then - mkdir build-mobility-armeabi-android-4 - pushd build-mobility-armeabi-android-4 - compileNecessitasQtMobility armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-mobility-armeabi-android-4 - fi - -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.x86/data/qtmobility.7z ] -# then -# mkdir build-mobility-x86 -# pushd build-mobility-x86 -# compileNecessitasQtMobility x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT -# popd #build-mobility-x86 -# fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src.7z ] - then - packSource qtmobility-src - fi - popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT -} - -function compileNecessitasQtWebkit -{ - export SQLITE3SRCDIR=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/qt-src/src/3rdparty/sqlite - if [ ! -f all_done ] - then - if [ "$OSTYPE" = "msys" ] ; then - which gperf && GPERF=1 - if [ ! "$GPERF" = "1" ] ; then - downloadIfNotExists gperf-3.0.4.tar.gz http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz - rm -rf gperf-3.0.4 - tar -xzvf gperf-3.0.4.tar.gz - pushd gperf-3.0.4 - CFLAGS=-O2 LDFLAGS="-enable-auto-import" && ./configure --enable-static --disable-shared --prefix=/usr CFLAGS=-O2 LDFLAGS="-enable-auto-import" - make && make install - popd - fi - downloadIfNotExists strawberry-perl-5.12.2.0.msi http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi - if [ ! -f /${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe ]; then - msiexec //i strawberry-perl-5.12.2.0.msi //q - fi - if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then - export PATH=/${SYSTEMDRIVE:0:1}/strawberry/perl/bin:$PATH - fi - if [ "`which perl`" != "/${SYSTEMDRIVE:0:1}/strawberry/perl/bin/perl.exe" ]; then - error_msg "Not using the correct perl" - fi - fi - export WEBKITOUTPUTDIR=$PWD - echo "doing perl" - ../qtwebkit-src/Tools/Scripts/build-webkit --qt --makeargs="-j$JOBS" --qmake=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/bin/qmake$EXE_EXT --no-video --no-xslt || error_msg "Can't configure android-qtwebkit" - echo "all done">all_done - fi - package_name=${1//-/_} # replace - with _ - rm -fr $PWD/$TEMP_PATH - pushd Release - export INSTALL_ROOT=$PWD/../ - make install - popd - rm -fr $2 - mkdir -p $2/$1 - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data - mv $PWD/$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install/* $2/$1 - pushd $2/$1 - qt_build_path=$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-$1/install - qt_build_path=${qt_build_path//\//\\\/} - sed_cmd="s/$qt_build_path/\/data\/data\/org.kde.necessitas.ministro\/files\/qt/g" - if [ "$OSTYPE" = "darwin9.0" -o "$OSTYPE" = "darwin10.0" ]; then - find . -name *.pc | xargs sed -i '.bak' $sed_cmd - find . -name *.pc.bak | xargs rm -f - else - find . -name *.pc | xargs sed $sed_cmd -i - fi - popd - rm -fr $PWD/$TEMP_PATH - createArchive Android qtwebkit.7z - mv qtwebkit.7z $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data/qtwebkit.7z - cp -a $2/$1/* ../install-$1/ - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.$package_name/data/ qtwebkit -# pushd ../build-$1 -# patchQtFiles -# popd -} - -function prepareNecessitasQtWebkit -{ - mkdir -p Android/Qt/$NECESSITAS_QT_VERSION_SHORT - pushd Android/Qt/$NECESSITAS_QT_VERSION_SHORT - if [ ! -d qtwebkit-src ] - then - git clone git://gitorious.org/~taipan/webkit/android-qtwebkit.git qtwebkit-src || error_msg "Can't clone android-qtwebkit" - pushd qtwebkit-src - git checkout $CHECKOUT_BRANCH - git pull - popd - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit.7z ] - then - mkdir build-webkit-armeabi - pushd build-webkit-armeabi - compileNecessitasQtWebkit armeabi Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-webkit-armeabi - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit.7z ] - then - mkdir build-webkit-armeabi-v7a - pushd build-webkit-armeabi-v7a - compileNecessitasQtWebkit armeabi-v7a Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-webkit-armeabi-v7a - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_android_4/data/qtwebkit.7z ] - then - mkdir build-webkit-armeabi-android-4 - pushd build-webkit-armeabi-android-4 - compileNecessitasQtWebkit armeabi-android-4 Android/Qt/$NECESSITAS_QT_VERSION_SHORT - popd #build-webkit-armeabi-android-4 - fi - -# if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.x86/data/qtwebkit.7z ] -# then -# mkdir build-webkit-x86 -# pushd build-webkit-x86 -# compileNecessitasQtWebkit x86 Android/Qt/$NECESSITAS_QT_VERSION_SHORT -# popd #build-webkit-x86 -# fi -# - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src.7z ] - then - packSource qtwebkit-src - fi - popd #Android/Qt/$NECESSITAS_QT_VERSION_SHORT -} - -function prepareOpenJDK -{ - mkdir openjdk - pushd openjdk - - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data - WINE=0 - which wine && WINE=1 - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-windows.7z ] ; then - if [ "$OSTYPE" = "msys" -o "$WINE" = "1" ] ; then - downloadIfNotExists oscg-openjdk6b21-1-windows-installer.exe http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b21-1-windows-installer.exe - rm -rf openjdk6b21-windows - wine oscg-openjdk6b21-1-windows-installer.exe --unattendedmodeui none --mode unattended --prefix `pwd`/openjdk6b21-windows - pushd openjdk6b21-windows - createArchive openjdk-6.0.21 openjdk-windows.7z - mv openjdk-windows.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ - popd - fi - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-linux-x86.7z ] ; then - downloadIfNotExists openjdk-1.6.0-b21.i386.openscg.deb http://oscg-downloads.s3.amazonaws.com/packages/openjdk-1.6.0-b21.i386.openscg.deb - ar x openjdk-1.6.0-b21.i386.openscg.deb - tar xzf data.tar.gz - pushd opt - createArchive openjdk openjdk-linux-x86.7z - mv openjdk-linux-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ - popd - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/openjdk-darwin-x86.7z ] ; then - downloadIfNotExists oscg-openjdk6b16-5a-osx-installer.zip http://oscg-downloads.s3.amazonaws.com/installers/oscg-openjdk6b16-5a-osx-installer.zip - unzip -o oscg-openjdk6b16-5a-osx-installer.zip - createArchive oscg-openjdk6b16-5a-osx-installer.app openjdk-darwin-x86.7z - mv openjdk-darwin-x86.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.openjdk/data/ - fi - - popd -} - -function prepareAnt -{ - mkdir ant - pushd ant - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ant.7z ] ; then - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data - downloadIfNotExists apache-ant-1.8.2-bin.tar.bz2 http://mirror.ox.ac.uk/sites/rsync.apache.org//ant/binaries/apache-ant-1.8.2-bin.tar.bz2 - tar xjvf apache-ant-1.8.2-bin.tar.bz2 - createArchive apache-ant-1.8.2 ant.7z - mv ant.7z $REPO_PATH_PACKAGES/org.kde.necessitas.misc.ant/data/ - fi - popd -} - -function patchPackages -{ - pushd $REPO_PATH_PACKAGES - for files_name in "*.qs" "*.xml" - do - for file_name in `find . -name $files_name` - do - # Can't use / as a delimiter for paths. - doSed $"s#$1#$2#g" $file_name - done - done - popd -} - -function patchPackage -{ - if [ -d $REPO_PATH_PACKAGES/$3 ] ; then - pushd $REPO_PATH_PACKAGES/$3 - for files_name in "*.qs" "*.xml" - do - for file_name in `find . -name $files_name` - do - doSed $"s#$1#$2#g" $file_name - done - done - popd - else - echo "patchPackage : Warning, failed to find directory $REPO_PATH_PACKAGES/$3" - fi -} - -function setPackagesVariables -{ - patchPackages "@@TODAY@@" $TODAY - - patchPackages "@@NECESSITAS_QT_VERSION@@" $NECESSITAS_QT_VERSION - patchPackages "@@NECESSITAS_QT_VERSION_SHORT@@" $NECESSITAS_QT_VERSION_SHORT - patchPackages "@@NECESSITAS_QT_PACKAGE_VERSION@@" $NECESSITAS_QT_PACKAGE_VERSION - - patchPackages "@@NECESSITAS_QTWEBKIT_VERSION@@" $NECESSITAS_QTWEBKIT_VERSION - patchPackages "@@NECESSITAS_QTMOBILITY_VERSION@@" $NECESSITAS_QTMOBILITY_VERSION - patchPackages "@@REPOSITORY@@" $CHECKOUT_BRANCH - patchPackages "@@TEMP_PATH@@" $TEMP_PATH - - patchPackage "@@NECESSITAS_QT_CREATOR_VERSION@@" $NECESSITAS_QT_CREATOR_VERSION "org.kde.necessitas.tools.qtcreator" - - patchPackage "@@ANDROID_NDK_VERSION@@" $ANDROID_NDK_VERSION "org.kde.necessitas.misc.ndk.r6" - patchPackage "@@ANDROID_NDK_MAJOR_VERSION@@" $ANDROID_NDK_MAJOR_VERSION "org.kde.necessitas.misc.ndk.r6" - patchPackage "@@ANDROID_NDK_MAJOR_VERSION@@" $ANDROID_NDK_MAJOR_VERSION "org.kde.necessitas.misc.ndk.ma_r6" - - patchPackage "@@ANDROID_API_4_VERSION@@" $ANDROID_API_4_VERSION "org.kde.necessitas.misc.sdk.android_4" - patchPackage "@@ANDROID_API_5_VERSION@@" $ANDROID_API_5_VERSION "org.kde.necessitas.misc.sdk.android_5" - patchPackage "@@ANDROID_API_6_VERSION@@" $ANDROID_API_6_VERSION "org.kde.necessitas.misc.sdk.android_6" - patchPackage "@@ANDROID_API_7_VERSION@@" $ANDROID_API_7_VERSION "org.kde.necessitas.misc.sdk.android_7" - patchPackage "@@ANDROID_API_8_VERSION@@" $ANDROID_API_8_VERSION "org.kde.necessitas.misc.sdk.android_8" - patchPackage "@@ANDROID_API_9_VERSION@@" $ANDROID_API_9_VERSION "org.kde.necessitas.misc.sdk.android_9" - patchPackage "@@ANDROID_API_10_VERSION@@" $ANDROID_API_10_VERSION "org.kde.necessitas.misc.sdk.android_10" - patchPackage "@@ANDROID_API_11_VERSION@@" $ANDROID_API_11_VERSION "org.kde.necessitas.misc.sdk.android_11" - patchPackage "@@ANDROID_API_12_VERSION@@" $ANDROID_API_12_VERSION "org.kde.necessitas.misc.sdk.android_12" - patchPackage "@@ANDROID_API_13_VERSION@@" $ANDROID_API_13_VERSION "org.kde.necessitas.misc.sdk.android_13" - patchPackage "@@ANDROID_API_14_VERSION@@" $ANDROID_API_14_VERSION "org.kde.necessitas.misc.sdk.android_14" - patchPackage "@@ANDROID_PLATFORM_TOOLS_VERSION@@" $ANDROID_PLATFORM_TOOLS_VERSION "org.kde.necessitas.misc.sdk.platform_tools" - patchPackage "@@ANDROID_SDK_VERSION@@" $ANDROID_SDK_VERSION "org.kde.necessitas.misc.sdk.base" - - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi/install" - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-android-4/install" - patchPackage "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" "$TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/build-mobility-armeabi-v7a/install" - patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" - patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI_ANDROID_4_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" - patchPackage "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" "/data/data/org.kde.necessitas.ministro/files/qt" - -} - -function prepareSDKBinary -{ - $SDK_TOOLS_PATH/binarycreator -v -t $SDK_TOOLS_PATH/installerbase$EXE_EXT -c $REPO_SRC_PATH/config -p $REPO_PATH_PACKAGES -n $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT org.kde.necessitas - mkdir sdkmaintenance - pushd sdkmaintenance - rm -fr *.7z - if [ "$OSTYPE" = "msys" ] ; then - mkdir temp - cp -a $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT temp/SDKMaintenanceToolBase.exe - createArchive temp sdkmaintenance-windows.7z - else - cp -a $REPO_SRC_PATH/necessitas-sdk-installer$HOST_QT_CONFIG$EXE_EXT .tempSDKMaintenanceTool - if [ "$OSTYPE" = "linux-gnu" ] ; then - createArchive . sdkmaintenance-linux-x86.7z - else - createArchive . sdkmaintenance-darwin-x86.7z - fi - fi - mkdir -p $REPO_PATH_PACKAGES/org.kde.necessitas.tools.sdkmaintenance/data/ - cp -f *.7z $REPO_PATH_PACKAGES/org.kde.necessitas.tools.sdkmaintenance/data/ - popd -} - -function prepareSDKRepository -{ - rm -fr $REPO_PATH - $SDK_TOOLS_PATH/repogen -v -p $REPO_PATH_PACKAGES -c $REPO_SRC_PATH/config $REPO_PATH org.kde.necessitas -} - -function prepareMinistroRepository -{ - rm -fr $MINISTRO_REPO_PATH - pushd $REPO_SRC_PATH/ministrorepogen - if [ ! -f all_done ] - then - $STATIC_QT_PATH/bin/qmake CONFIG+=static -r || error_msg "Can't configure ministrorepogen" - doMake "Can't compile ministrorepogen" "all done" ma-make - if [ "$OSTYPE" = "msys" ] ; then - cp $REPO_SRC_PATH/ministrorepogen/release/ministrorepogen$EXE_EXT $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT - fi - fi - popd - for platfromArchitecture in armeabi armeabi-v7a armeabi-android-4 - do - pushd $TEMP_PATH/$CHECKOUT_BRANCH/Android/Qt/$NECESSITAS_QT_VERSION_SHORT/install-$platfromArchitecture || error_msg "Can't prepare ministro repo, Android Qt not built?" - architecture=$platfromArchitecture; - repoVersion=$MINISTRO_VERSION-$platfromArchitecture - if [ $architecture = "armeabi-android-4" ] ; then - architecture="armeabi" - fi - MINISTRO_OBJECTS_PATH=$MINISTRO_REPO_PATH/objects/$repoVersion - rm -fr $MINISTRO_OBJECTS_PATH - mkdir -p $MINISTRO_OBJECTS_PATH - rm -fr Android - for lib in `find . -name *.so` - do - libDirname=`dirname $lib` - mkdir -p $MINISTRO_OBJECTS_PATH/$libDirname - cp $lib $MINISTRO_OBJECTS_PATH/$libDirname/ - $ANDROID_STRIP_BINARY --strip-unneeded $MINISTRO_OBJECTS_PATH/$lib - done - - for jar in `find . -name *.jar` - do - jarDirname=`dirname $jar` - mkdir -p $MINISTRO_OBJECTS_PATH/$jarDirname - cp $jar $MINISTRO_OBJECTS_PATH/$jarDirname/ - done - - for qmldirfile in `find . -name qmldir` - do - qmldirfileDirname=`dirname $qmldirfile` - cp $qmldirfile $MINISTRO_OBJECTS_PATH/$qmldirfileDirname/ - done - $REPO_SRC_PATH/ministrorepogen/ministrorepogen$EXE_EXT $ANDROID_READELF_BINARY $MINISTRO_OBJECTS_PATH $MINISTRO_VERSION $architecture $REPO_SRC_PATH/ministrorepogen/rules-$platfromArchitecture.xml $MINISTRO_REPO_PATH/$CHECKOUT_BRANCH $repoVersion - popd - done -} - -function packforWindows -{ - echo "packforWindows $1/$2" - rm -fr $TEMP_PATH/packforWindows - mkdir -p $TEMP_PATH/packforWindows - pushd $TEMP_PATH/packforWindows - 7za x $1/$2.7z - mv Android Android_old - $CPRL Android_old Android - rm -fr Android_old - find -name *.so.4* | xargs rm -fr - find -name *.so.1* | xargs rm -fr - createArchive Android $1/$2-windows.7z -l - popd - rm -fr $TEMP_PATH/packforWindows -} - -function prepareWindowsPackages -{ - # Qt framework - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/qt-framework-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi/data/ qt-framework - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/qt-framework-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.armeabi_v7a/data/ qt-framework - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/qt-src-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qt.src/data/ qt-src - fi - - - # Qt Mobility - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/qtmobility-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi/data/ qtmobility - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/qtmobility-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.armeabi_v7a/data/ qtmobility - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/qtmobility-src-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtmobility.src/data/ qtmobility-src - fi - - - # Qt WebKit - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/qtwebkit-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi/data/ qtwebkit - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/qtwebkit-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.armeabi_v7a/data/ qtwebkit - fi - - if [ ! -f $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/qtwebkit-src-windows.7z ] - then - packforWindows $REPO_PATH_PACKAGES/org.kde.necessitas.android.qtwebkit.src/data/ qtwebkit-src - fi - -} - -if [ "$OSTYPE" = "msys" ] ; then - makeInstallMinGWLibsAndTools -fi -prepareHostQt -prepareSdkInstallerTools -prepareNDKs -prepareSDKs -# prepareOpenJDK -prepareAnt -prepareNecessitasQtCreator -# prepareGDBVersion head $HOST_TAG -# prepareGDBVersion 7.3 -# prepareGDBVersion head -mkdir $CHECKOUT_BRANCH -pushd $CHECKOUT_BRANCH -prepareNecessitasQt -# TODO :: Fix webkit build in Windows (-no-video fails) and Mac OS X (debug-and-release config incorrectly used and fails) -# git clone often fails for webkit -# Webkit is broken currently. -prepareNecessitasQtWebkit - -if [ "$OSTYPE" != "msys" ] ; then - prepareNecessitasQtMobility # if [[ `gcc --version` =~ .*llvm.* ]]; => syntax error near `=~' -fi - -popd - -#prepareWindowsPackages -setPackagesVariables -prepareSDKBinary - -# Comment this block in if you want necessitas-sdk-installer-d and qtcreator-d to be built. -if [ "$MAKE_DEBUG_HOST_APPS" = "1" ] ; then - prepareHostQt -d - prepareNecessitasQtCreator - prepareSdkInstallerTools - prepareSDKBinary -fi - -removeUnusedPackages - -prepareSDKRepository -prepareMinistroRepository - -popd diff --git a/Necessitas_SDK/config/config.xml b/Necessitas_SDK/config/config.xml deleted file mode 100644 index 71be359..0000000 --- a/Necessitas_SDK/config/config.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Necessitas Qt SDK - 1.0.0 - Necessitas Qt SDK - Necessitas Qt SDK - KDE.org - http://necessitas.kde.org - license.txt - qticon - watermark.png - SDKMaintenanceTool - - - http://files.kde.org/necessitas/sdk_master - - true - - - - @homeDir@/necessitas - diff --git a/Necessitas_SDK/config/license.txt b/Necessitas_SDK/config/license.txt deleted file mode 100644 index 8da8489..0000000 --- a/Necessitas_SDK/config/license.txt +++ /dev/null @@ -1 +0,0 @@ -license diff --git a/Necessitas_SDK/config/logo.png b/Necessitas_SDK/config/logo.png deleted file mode 100644 index 8a95626..0000000 Binary files a/Necessitas_SDK/config/logo.png and /dev/null differ diff --git a/Necessitas_SDK/config/qticon.icns b/Necessitas_SDK/config/qticon.icns deleted file mode 100644 index 6291dd3..0000000 Binary files a/Necessitas_SDK/config/qticon.icns and /dev/null differ diff --git a/Necessitas_SDK/config/qticon.ico b/Necessitas_SDK/config/qticon.ico deleted file mode 100644 index 9e1b83f..0000000 Binary files a/Necessitas_SDK/config/qticon.ico and /dev/null differ diff --git a/Necessitas_SDK/config/qticon.png b/Necessitas_SDK/config/qticon.png deleted file mode 100644 index d68b205..0000000 Binary files a/Necessitas_SDK/config/qticon.png and /dev/null differ diff --git a/Necessitas_SDK/config/watermark.png b/Necessitas_SDK/config/watermark.png deleted file mode 100644 index add2e74..0000000 Binary files a/Necessitas_SDK/config/watermark.png and /dev/null differ diff --git a/Necessitas_SDK/ministrorepogen/main.cpp b/Necessitas_SDK/ministrorepogen/main.cpp deleted file mode 100644 index 2d26638..0000000 --- a/Necessitas_SDK/ministrorepogen/main.cpp +++ /dev/null @@ -1,252 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License or (at your option) version 3 or any later version - accepted by the membership of KDE e.V. (or its successor approved - by the membership of KDE e.V.), which shall act as a proxy - defined in Section 14 of version 3 of the license. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include -#include "sortlibs.h" -#include -#include -#include -#include -#include - -#if defined(__MINGW32__) -#include -#endif - -void printHelp() -{ - qDebug()<<"Usage:./ministrorepogen "; -} - - -void getFileInfo(const QString & filePath, qint64 & fileSize, QString & sha1) -{ - fileSize = -1; - QFile file(filePath); - if (!file.open(QIODevice::ReadOnly)) - return; - QCryptographicHash hash(QCryptographicHash::Sha1); - hash.addData(file.readAll()); - sha1=hash.result().toHex(); - fileSize=file.size(); -} - -int main(int argc, char *argv[]) -{ - QCoreApplication app(argc, argv); - if (argc<8) - { - printHelp(); - return 1; - } - - const char * readelfPath=argv[1]; - QString libsPath(argv[2]); - const char * version=argv[3]; - const char * abiVersion=argv[4]; - const char * rulesFile=argv[5]; - const char * outputFolder=argv[6]; - const char * objfolder =argv [7]; - - QDomDocument document("libs"); - QFile f(rulesFile); - if (!f.open(QIODevice::ReadOnly)) - return 1; - document.setContent(&f); - QDomElement root=document.documentElement(); - if (root.isNull()) - return 1; - - QDomElement element=root.firstChildElement("platforms"); - if (element.isNull()) - return 1; - - QMap >platformLibs; - element=element.firstChildElement("libs").firstChildElement("version"); - while(!element.isNull()) - { - if (element.hasAttribute("symlink")) - platformLibs[element.attribute("symlink", 0).toInt()].push_back(element.attribute("value", 0).toInt()); - else - platformLibs[element.attribute("value", 0).toInt()].clear(); - element = element.nextSiblingElement(); - } - - QMapplatformJars; - element=root.firstChildElement("platforms").firstChildElement("jars").firstChildElement("version"); - while(!element.isNull()) - { - if (element.hasAttribute("symlink")) - platformJars[element.attribute("value", 0).toInt()]=element.attribute("symlink", 0).toInt(); - else - platformJars[element.attribute("value", 0).toInt()]=element.attribute("value", 0).toInt(); - element = element.nextSiblingElement(); - } - - element=root.firstChildElement("libs"); - if (element.isNull()) - return 1; - - QStringList excludePaths=element.attribute("excludePaths").split(';'); - QString loaderClassName=element.attribute("loaderClassName"); - QString applicationParameters=element.attribute("applicationParameters"); - QString environmentVariables=element.attribute("environmentVariables"); - - element=element.firstChildElement("lib"); - librariesMap libs; - while(!element.isNull()) - { - if (!element.hasAttribute("file")) - { - element=element.nextSiblingElement(); - continue; - } - - const QString filePath=element.attribute("file"); - const QString libraryName=filePath.mid(filePath.lastIndexOf('/')+1); - libs[libraryName].relativePath=filePath; - - if (element.hasAttribute("name")) - libs[libraryName].name=element.attribute("name"); - - if (element.hasAttribute("platform")) - libs[libraryName].platform=element.attribute("platform").toInt(); - - if (element.hasAttribute("level")) - { - bool ok=false; - libs[libraryName].level=element.attribute("level").toInt(&ok); - if (!ok) - libs[libraryName].level=-1; - } - - QDomElement childs=element.firstChildElement("depends").firstChildElement("lib"); - while(!childs.isNull()) - { - libs[libraryName].dependencies<\n").arg(version).arg(applicationParameters).arg(environmentVariables).arg(loaderClassName).toUtf8()); - foreach (const QString & key, libs.keys()) - { - if (libs[key].platform && libs[key].platform != androdPlatform) - continue; - qDebug()<<"Generating "<\n\n"); - continue; - } - outXmlFile.write(">\n"); - if (libs[key].dependencies.size()) - { - outXmlFile.write("\t\t\n"); - foreach(const QString & libName, libs[key].dependencies) - outXmlFile.write(QString("\t\t\t\n").arg(libName).toUtf8()); - outXmlFile.write("\t\t\n"); - } - - if (libs[key].replaces.size()) - { - outXmlFile.write("\t\t\n"); - foreach(const QString & libName, libs[key].replaces) - outXmlFile.write(QString("\t\t\t\n").arg(libName).toUtf8()); - outXmlFile.write("\t\t\n"); - } - - if (libs[key].needs.size()) - { - outXmlFile.write("\t\t\n"); - foreach(const NeedsStruct & needed, libs[key].needs) - { - qint64 fileSize; - QString sha1Hash; - getFileInfo(libsPath+"/"+needed.relativePath.arg(platformJars[androdPlatform]), fileSize, sha1Hash); - if (-1==fileSize) - { - qWarning()<<"Warning : Can't find \""<\n") - .arg(needed.name).arg(objfolder).arg(needed.relativePath.arg(platformJars[androdPlatform])).arg(fileSize).arg(sha1Hash).arg(type).toUtf8()); - } - outXmlFile.write("\t\t\n"); - } - outXmlFile.write("\t\n\n"); - } - outXmlFile.write("\n"); - outXmlFile.close(); - } - return 0; -} diff --git a/Necessitas_SDK/ministrorepogen/ministrorepogen.pro b/Necessitas_SDK/ministrorepogen/ministrorepogen.pro deleted file mode 100644 index 171263c..0000000 --- a/Necessitas_SDK/ministrorepogen/ministrorepogen.pro +++ /dev/null @@ -1,25 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2011-05-02T11:28:13 -# -#------------------------------------------------- - -QT += core xml - -QT -= gui - -TARGET = ministrorepogen -CONFIG += console -CONFIG -= app_bundle - -TEMPLATE = app - - -SOURCES += main.cpp \ - sortlibs.cpp - -HEADERS += \ - sortlibs.h - -OTHER_FILES += rules.xml - diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml deleted file mode 100644 index a22f27c..0000000 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-android-4.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml deleted file mode 100644 index a3f32cd..0000000 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi-v7a.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml b/Necessitas_SDK/ministrorepogen/rules-armeabi.xml deleted file mode 100644 index b1ee0bf..0000000 --- a/Necessitas_SDK/ministrorepogen/rules-armeabi.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Necessitas_SDK/ministrorepogen/sortlibs.cpp b/Necessitas_SDK/ministrorepogen/sortlibs.cpp deleted file mode 100644 index e9acdad..0000000 --- a/Necessitas_SDK/ministrorepogen/sortlibs.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License or (at your option) version 3 or any later version - accepted by the membership of KDE e.V. (or its successor approved - by the membership of KDE e.V.), which shall act as a proxy - defined in Section 14 of version 3 of the license. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include "sortlibs.h" -#include -#include -#include - - -static QStringList getLibs(const QString & readelfPath, const QString & lib) -{ - QStringList libs; - - QProcess readelfProc; - readelfProc.start(readelfPath, QStringList()<<"-d"<<"-W"< lines=readelfProc.readAll().trimmed().split('\n'); - foreach(QByteArray line, lines) - { - if (line.contains("(NEEDED)") && line.contains("Shared library:") ) - { - const int pos=line.lastIndexOf('[')+1; - libs<0) - return maxlevel; - foreach (QString lib, mapLibs[library].dependencies) - { - foreach (const QString & key, mapLibs.keys()) - { - if (library == key) - continue; - if (key==lib) - { - int libLevel=mapLibs[key].level; - - if (libLevel<0) - libLevel=setLevel(key, mapLibs); - - if (libLevel>maxlevel) - maxlevel=libLevel; - break; - } - } - } - if (mapLibs[library].level<0) - mapLibs[library].level=maxlevel+1; - return maxlevel+1; -} - -void SortLibraries(librariesMap & mapLibs, const QString & readelfPath, const QString & path, const QStringList & excludePath) -{ - QDir libPath; - QDir relative; - relative.cd(path); - QDirIterator it(path, QStringList()<<"*.so", QDir::Files, QDirIterator::Subdirectories); - while (it.hasNext()) - { - libPath=it.next(); - const QString library=libPath.absolutePath().mid(libPath.absolutePath().lastIndexOf('/')+1); - const QString relativePath=relative.relativeFilePath(libPath.absolutePath()); - if (excludePath.contains(relativePath.left(relativePath.indexOf('/'))) && !mapLibs.contains(library)) - continue; - - if (!mapLibs[library].relativePath.length()) - mapLibs[library].relativePath=relativePath; - - QStringList depends=getLibs(readelfPath, libPath.absolutePath()); - foreach(const QString & libName, depends) - { - if (!mapLibs[library].dependencies.contains(libName)) - mapLibs[library].dependencies< - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License or (at your option) version 3 or any later version - accepted by the membership of KDE e.V. (or its successor approved - by the membership of KDE e.V.), which shall act as a proxy - defined in Section 14 of version 3 of the license. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#ifndef SORTLIBS_H -#define SORTLIBS_H - -#include -#include -#include - - -struct NeedsStruct -{ - QString name; - QString relativePath; - QString type; -}; - -struct Library -{ - Library() - { - level = -1; - platform = 0; - } - int level; - QString relativePath; - QStringList dependencies; - QStringList replaces; - QVector needs; - QString name; - int platform; -}; - -typedef QMap librariesMap; - -void SortLibraries(librariesMap & libraries, const QString & readelfPath, const QString & path, const QStringList & excludePath); - -#endif // SORTLIBS_H diff --git a/Necessitas_SDK/ndk_vars.sh b/Necessitas_SDK/ndk_vars.sh deleted file mode 100644 index ac9e6b0..0000000 --- a/Necessitas_SDK/ndk_vars.sh +++ /dev/null @@ -1,13 +0,0 @@ -NDK_VER=r6 - -# Refers to the gdb branches and folder structure on -# git://gitorious.org/toolchain-mingw-android/mingw-android-toolchain-gdb.git -GDB_BRANCH=fsf_head -GDB_ROOT_PATH= -# This is the name given to the created package. -GDB_VER=7.3.50.20110709 -# We apply ndk r6 patches and can't use the cutting edge version of ndk gcc anyway (due to crtbegin_so.o, crtend_so.o changes) -GCC_GIT_DATE=2011-02-27 -#GDB_BRANCH=master -#GDB_ROOT_PATH=gdb -#GDB_VER=7.3 diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs deleted file mode 100644 index 48f5c8c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/installscript.qs +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qt-framework-windows.7z" ); - component.addDownloadableArchive( "qt-tools-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch2", qtPath ); - component.addOperation( "RegisterQtInCreatorV23", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv5", - qtPath, - "Android", - "Android_Platform_API_5_ARMv5"); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml deleted file mode 100644 index 1ff328c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Qt @@NECESSITAS_QT_VERSION@@-armeabi API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi architecture. - @@NECESSITAS_QT_PACKAGE_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qt.armeabi - - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs deleted file mode 100644 index 16610a2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/installscript.qs +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qt-framework-windows.7z" ); - component.addDownloadableArchive( "qt-tools-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-android-4"; - component.addOperation( "QtPatch2", qtPath ); - - component.addOperation( "RegisterQtInCreatorV23", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android API 4+ armv5", - qtPath, - "Android", - "Android_Platform_API_4_ARMv5"); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml deleted file mode 100644 index 3043d80..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_android_4/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Qt @@NECESSITAS_QT_VERSION@@-armeabi API 4+ - Development libraries for development applications on Android API 4+ devices, armeabi architecture. This package desn't support OpenGL, if you need it please consider to use API 5+ package - @@NECESSITAS_QT_PACKAGE_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qt.armeabi_android_4 - - 3 - 3 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs deleted file mode 100644 index fdbb979..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/installscript.qs +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qt-framework-windows.7z" ); - component.addDownloadableArchive( "qt-tools-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch2", qtPath ); - component.addOperation( "RegisterQtInCreatorV23", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android armv7a", - qtPath, - "Android", - "Android_Platform_API_5_ARMv7a"); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml deleted file mode 100644 index 45745a1..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.armeabi_v7a/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Qt @@NECESSITAS_QT_VERSION@@-armeabi_v7a API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. - @@NECESSITAS_QT_PACKAGE_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qt.armeabi_v7a - - true - 0 - 1 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs deleted file mode 100644 index 8d88be8..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/installscript.qs +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "qt-src.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - component.addOperation( "RegisterPersistentSettings", - "source_mapping.xml", - "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src", - "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qt-src" ); - } - catch( e ) - { - print( e ); - } -} - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml deleted file mode 100644 index 0f72bb6..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.src/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Qt @@NECESSITAS_QT_VERSION@@-src - Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QT_PACKAGE_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qt.src - - 0 - 2 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs deleted file mode 100644 index 3259d9c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/installscript.qs +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qt-framework-windows.7z" ); - component.addDownloadableArchive( "qt-tools-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "qt-framework.7z" ); - component.addDownloadableArchive( "qt-tools-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/x86"; - component.addOperation( "QtPatch2", qtPath ); - component.addOperation( "RegisterQtInCreatorV23", - "Necessitas Qt @@NECESSITAS_QT_VERSION@@ for Android x86", - qtPath, - "Android", - "Android_Platform_API_9_x86"); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml deleted file mode 100644 index eb0f989..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt.x86/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Qt @@NECESSITAS_QT_VERSION@@-x86 - Development libraries for development applications on Android devices, x86 architecture. - @@NECESSITAS_QT_PACKAGE_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qt.x86 - - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml deleted file mode 100644 index b17ac22..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qt/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Qt - Qt - 1.0 - @@TODAY@@ - org.kde.necessitas.android.qt - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs deleted file mode 100644 index 3d0e487..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtmobility-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtmobility.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml deleted file mode 100644 index 5862cf0..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi architecture. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtmobility.armeabi - org.kde.necessitas.android.qt.armeabi,org.kde.necessitas.android.qtwebkit.armeabi - - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs deleted file mode 100644 index fc75f13..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtmobility-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtmobility.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI_ANDROID_4_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml deleted file mode 100644 index 09ea5f3..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_android_4/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi API 4+ - Development libraries for development applications on Android API 4+ devices, armeabi architecture. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtmobility.armeabi_android_4 - org.kde.necessitas.android.qt.armeabi_android_4,org.kde.necessitas.android.qtwebkit.armeabi_android_4 - - 3 - 3 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs deleted file mode 100644 index e06cc67..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtmobility-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtmobility.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTMOBILITY_ARMEABI-V7A_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml deleted file mode 100644 index bcb7d8d..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.armeabi_v7a/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-armeabi_v7a API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtmobility.armeabi_v7a - org.kde.necessitas.android.qt.armeabi_v7a,org.kde.necessitas.android.qtwebkit.armeabi_v7a - - true - 1 - 1 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs deleted file mode 100644 index 0a77bb1..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/installscript.qs +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "qtmobility-src.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - component.addOperation( "RegisterPersistentSettings", - "source_mapping.xml", - "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src", - "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtmobility-src" ); - } - catch( e ) - { - print( e ); - } -} - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml deleted file mode 100644 index 93ee668..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility.src/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - QtMobility @@NECESSITAS_QTMOBILITY_VERSION@@-src - Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QTMOBILITY_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtmobility.src - - 2 - 2 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml deleted file mode 100644 index 1f57a4b..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtmobility/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - QtMobility - QtMobility - 1.0 - @@TODAY@@ - org.kde.necessitas.android.qtmobility - 2 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs deleted file mode 100644 index bdf0844..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtwebkit-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtwebkit.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml deleted file mode 100644 index 2c0f0eb..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi architecture. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtwebkit.armeabi - org.kde.necessitas.android.qt.armeabi - - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs deleted file mode 100644 index a6e4be2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtwebkit-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtwebkit.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI_ANDROID_4_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml deleted file mode 100644 index 7581a5f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_android_4/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi API 4+ - Development libraries for development applications on Android API 4+ devices, armeabi architecture. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtwebkit.armeabi_android_4 - org.kde.necessitas.android.qt.armeabi_android_4 - - 3 - 3 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs deleted file mode 100644 index 534dab2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/installscript.qs +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtwebkit-windows.7z" ); - } - else - { - component.addDownloadableArchive( "qtwebkit.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - var qtPath = "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/armeabi-v7a"; - component.addOperation( "QtPatch2", qtPath, "@@NECESSITAS_QTWEBKIT_ARMEABI-V7A_INSTALL_PATH@@" ); - } - catch( e ) - { - print( e ); - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml deleted file mode 100644 index 78e16d5..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.armeabi_v7a/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-armeabi_v7a API 5+ - Development libraries for development applications on Android API 5+ devices, armeabi_v7a architecture. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtwebkit.armeabi_v7a - org.kde.necessitas.android.qt.armeabi_v7a - - true - 1 - 1 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs deleted file mode 100644 index 8d27584..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/installscript.qs +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "qtwebkit-src.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - try - { - component.createOperations(); - component.addOperation( "RegisterPersistentSettings", - "source_mapping.xml", - "@@TEMP_PATH@@/@@REPOSITORY@@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src", - "@TargetDir@/Android/Qt/@@NECESSITAS_QT_VERSION_SHORT@@/qtwebkit-src" ); - } - catch( e ) - { - print( e ); - } -} - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml deleted file mode 100644 index 332387b..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit.src/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - QtWebKit @@NECESSITAS_QTWEBKIT_VERSION@@-src - Development libraries for development applications on Android devices, source package. - @@NECESSITAS_QTWEBKIT_VERSION@@ - @@TODAY@@ - org.kde.necessitas.android.qtwebkit.src - - 2 - 2 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml deleted file mode 100644 index 95675af..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android.qtwebkit/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - QtWebkit - QtWebkit - 1.0 - @@TODAY@@ - org.kde.necessitas.android.qtwebkit - 1 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml deleted file mode 100644 index bece9ff..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.android/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Android - Android - 1.0 - @@TODAY@@ - org.kde.necessitas.android - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs deleted file mode 100644 index 23df821..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/installscript.qs +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -function OsToAnt() -{ - if (installer.value("os") == "x11") - { - return "ant"; - } - else if (installer.value("os") == "win") - { - return "ant.bat"; - } - else if (installer.value("os") == "mac") - { - return "ant"; - } -} - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "ant.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "AntLocation", - "@TargetDir@/apache-ant-1.8.2/bin/"+OsToAnt() ); -} - -Component.prototype.isDefault = function() -{ - if (installer.value("os") == "x11" || installer.value("os") == "mac") - { - ant = installer.execute( "/usr/bin/which", new Array( "ant" ) )[0]; - if (!ant) - { - return true; - } - else - { - return false; - } - } - else - { - return true; - } -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml deleted file mode 100644 index 7bc0bc2..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ant/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Apache Ant - Apache Ant Build Tool, you need it ONLY if you don't have it already installed. - 1.8.2 - @@TODAY@@ - org.kde.necessitas.misc.ant - - script - 99 - 94 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs deleted file mode 100644 index 34ab99f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/installscript.qs +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -function OsToHostTag() -{ - if (installer.value("os") == "x11") - { - return "linux-x86"; - } - else if (installer.value("os") == "win") - { - return "windows"; - } - else if (installer.value("os") == "mac") - { - return "darwin-x86"; - } -} - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdb_"+OsToHostTag()+"-head.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var basePath = "@TargetDir@/gdb_"+OsToHostTag()+"-head/"; - var gdbPath = basePath+"gdb"; - var pythonPath=basePath+"python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - -/* component.addOperation( "SetQtCreatorValue", - "@TargetDir@", - "AndroidConfigurations", - "GdbLocation", - gdbPath ); -*/ - if (installer.value("os") != "win") - { - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - basePath+"python" ); - } - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", basePath+"python/lib/python2.7/compileall.py", - "-f", basePath+"python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml deleted file mode 100644 index 5e18990..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.host_gdb_head/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Host gdb-head - Custom host GDB with python capabilities - 7.3.50.20110709 - @@TODAY@@ - org.kde.necessitas.misc.host_gdb_head - - 99999 - 94 - false - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs deleted file mode 100644 index aea8e0f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/installscript.qs +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdbserver-7.3.7z" ); - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "gdb-7.3-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "gdb-7.3-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "gdb-7.3-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var gdbPath = "@TargetDir@/gdb-7.3/gdb"; - var gdbserverPath = "@TargetDir@/gdbserver-7.3/gdbserver"; - var pythonPath="@TargetDir@/gdb-7.3/python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbLocation", - gdbPath ); - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbserverLocation", - gdbserverPath ); - - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - "@TargetDir@/gdb-7.3/python" ); - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", "@TargetDir@/gdb-7.3/python/lib/python2.7/compileall.py", - "-f", "@TargetDir@/gdb-7.3/python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml deleted file mode 100644 index eacef62..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_7_3/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android custom gdb-7.3 - Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb - 7.3.0 - @@TODAY@@ - org.kde.necessitas.misc.ndk.gdb_7_3 - - true - 2 - 2 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs deleted file mode 100644 index 5201c63..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/installscript.qs +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "gdbserver-head.7z" ); - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "gdb-head-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "gdb-head-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "gdb-head-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - var gdbPath = "@TargetDir@/gdb-head/gdb"; - var gdbserverPath = "@TargetDir@/gdbserver-head/gdbserver"; - var pythonPath="@TargetDir@/gdb-head/python/bin/python2.7" - if (installer.value("os") == "win") - { - gdbPath+=".exe"; - pythonPath+=".exe"; - } - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbLocation", - gdbPath ); - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbserverLocation", - gdbserverPath ); - - component.addOperation( "EnvironmentVariable", - "PYTHONHOME", - "@TargetDir@/gdb-head/python" ); - - // Compile python sources - component.addOperation( "Execute", - pythonPath, - "-OO", "@TargetDir@/gdb-head/python/lib/python2.7/compileall.py", - "-f", "@TargetDir@/gdb-head/python/lib" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml deleted file mode 100644 index 44cf63c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.gdb_head/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Android custom gdb-head - Custom GDB/GDBServer with python capabilities used to replace Google's very old gdb - 7.3.50.20110709 - @@TODAY@@ - org.kde.necessitas.misc.ndk.gdb_head - - 4 - 4 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs deleted file mode 100644 index b41e56c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/installscript.qs +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@-ma-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set NDK Location - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@" ); - // set NDK toolchain version - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "NDKToolchainVersion", - "arm-linux-androideabi-4.4.3" ); - - // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_MAJOR_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; - var gdbserverPath = gdbPath+"gdbserver"; - if (installer.value("os") == "x11") - { - gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; - } - else if (installer.value("os") == "win") - { - gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; - } - else if (installer.value("os") == "mac") - { - gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; - } - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbLocation", - gdbPath ); - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbserverLocation", - gdbserverPath ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml deleted file mode 100644 index 7f59de8..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.ma_r6/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Android NDK-@@ANDROID_NDK_MAJOR_VERSION@@ Experimental - Android NDK-@@ANDROID_NDK_MAJOR_VERSION@@ Experimental, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 5.0.0-@@ANDROID_NDK_MAJOR_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.ndk.ma_@@ANDROID_NDK_MAJOR_VERSION@@ - - org.kde.necessitas.tools.qtcreator - 1 - 1 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs deleted file mode 100644 index 6cf432f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/installscript.qs +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-ndk-@@ANDROID_NDK_VERSION@@-darwin-x86.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set NDK Location - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "NDKLocation", - "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@" ); - // set NDK toolchain version - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "NDKToolchainVersion", - "4.4.3" ); - - // set DEFAULT gdb location - var gdbPath = "@TargetDir@/android-ndk-@@ANDROID_NDK_VERSION@@/toolchains/arm-linux-androideabi-4.4.3/prebuilt/"; - var gdbserverPath = gdbPath+"gdbserver"; - if (installer.value("os") == "x11") - { - gdbPath+="linux-x86/bin/arm-linux-androideabi-gdb"; - } - else if (installer.value("os") == "win") - { - gdbPath+="windows/bin/arm-linux-androideabi-gdb.exe"; - } - else if (installer.value("os") == "mac") - { - gdbPath+="darwin-x86/bin/arm-linux-androideabi-gdb"; - } - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbLocation", - gdbPath ); - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "GdbserverLocation", - gdbserverPath ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml deleted file mode 100644 index 65d9bdb..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk.r6/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Android NDK-@@ANDROID_NDK_VERSION@@ - Android NDK-@@ANDROID_NDK_VERSION@@ Linaro 4.6-2011-10 and Google 4.4.3, includes binutils 2.10.1 and gdb 7.3.50.20110709 - 6.1.2011.10 - @@TODAY@@ - org.kde.necessitas.misc.ndk.@@ANDROID_NDK_MAJOR_VERSION@@ - - org.kde.necessitas.tools.qtcreator - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml deleted file mode 100644 index 3a72bed..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.ndk/meta/package.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - Android NDK - Android NDK. - 1.0.0 - @@TODAY@@ - org.kde.necessitas.misc.ndk - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs deleted file mode 100644 index 7ac66e9..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/installscript.qs +++ /dev/null @@ -1,68 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -function OsToHostTag() -{ - if (installer.value("os") == "x11") - { - return "linux-x86"; - } - else if (installer.value("os") == "win") - { - return "windows"; - } - else if (installer.value("os") == "mac") - { - return "darwin-x86"; - } -} - -function OsToTargetDir() -{ - if (installer.value("os") == "x11") - { - return "openjdk/1.6"; - } - else if (installer.value("os") == "win") - { - return "openjdk-6.0.21"; - } - else if (installer.value("os") == "mac") - { - return "darwin-x86"; - } -} - -// constructor -function Component() -{ - if (component.fromOnlineRepository) - { - component.addDownloadableArchive( "openjdk-"+OsToHostTag()+".7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "OpenJDKLocation", - "@TargetDir@/openjdk/"+OsToTargetDir() ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml deleted file mode 100644 index 99a96c9..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.openjdk/meta/package.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - OpenJDK - Open Java Development Kit (oscg) - 6 - @@TODAY@@ - org.kde.necessitas.misc.openjdk - - 99999 - 94 - false - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs deleted file mode 100644 index f2acd83..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_10_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml deleted file mode 100644 index 67c5015..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_10/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - API 10 - Android SDK API 10 (@@ANDROID_API_10_VERSION@@) - @@ANDROID_API_10_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_10 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs deleted file mode 100644 index f4aa4f7..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_11_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml deleted file mode 100644 index 21be9a4..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_11/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 11 - Android SDK API 11 (@@ANDROID_API_11_VERSION@@) - @@ANDROID_API_11_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_11 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs deleted file mode 100644 index 8dbb2d7..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_12_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml deleted file mode 100644 index 918376a..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_12/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 12 - Android SDK API 12 (@@ANDROID_API_12_VERSION@@) - @@ANDROID_API_12_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_12 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs deleted file mode 100644 index f6466c5..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_13_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml deleted file mode 100644 index 6cd110c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_13/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 13 - Android SDK API 13 (@@ANDROID_API_13_VERSION@@) - @@ANDROID_API_13_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_13 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs deleted file mode 100644 index 4e4a3c0..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_14_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml deleted file mode 100644 index b76328b..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_14/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 14 - Android SDK API 14 (@@ANDROID_API_14_VERSION@@) - @@ANDROID_API_14_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_14 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs deleted file mode 100644 index f267489..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/installscript.qs +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_4_VERSION@@-macosx.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set SDK Location -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml deleted file mode 100644 index b6dbbc3..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_4/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 4 - Android SDK API 4 (@@ANDROID_API_4_VERSION@@) - @@ANDROID_API_4_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_4 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs deleted file mode 100644 index 029bfdd..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/installscript.qs +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_5_VERSION@@-macosx.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set SDK Location -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml deleted file mode 100644 index a229ae7..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_5/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 5 (deprecated) - Android SDK API 5 (@@ANDROID_API_5_VERSION@@), Deprecated ! - @@ANDROID_API_5_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_5 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs deleted file mode 100644 index 527cbe7..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/installscript.qs +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-@@ANDROID_API_6_VERSION@@-macosx.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml deleted file mode 100644 index 87fd190..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_6/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 6 (deprecated) - Android SDK API 6 (@@ANDROID_API_6_VERSION@@) Deprecated ! - @@ANDROID_API_6_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_6 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs deleted file mode 100644 index d4ef563..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/installscript.qs +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_7_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml deleted file mode 100644 index b531b01..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_7/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - API 7 - Android SDK API 7 (@@ANDROID_API_7_VERSION@@) - @@ANDROID_API_7_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_7 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs deleted file mode 100644 index c078f4f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/installscript.qs +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_8_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml deleted file mode 100644 index 2b097c5..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_8/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - API 8 - Android SDK API 8 (@@ANDROID_API_8_VERSION@@) - @@ANDROID_API_8_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_8 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs deleted file mode 100644 index bdb00fa..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/installscript.qs +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - component.addDownloadableArchive( "android-@@ANDROID_API_9_VERSION@@.7z" ); - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set SDK Location -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml deleted file mode 100644 index 102172f..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.android_9/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - API 9 (depercated) - Android SDK API 9 (@@ANDROID_API_9_VERSION@@) Depercated ! - @@ANDROID_API_9_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.android_9 - org.kde.necessitas.misc.sdk.base,org.kde.necessitas.misc.sdk.platform_tools - - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs deleted file mode 100644 index 453f6aa..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/installscript.qs +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "android-sdk-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "android-sdk-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "android-sdk-macosx.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - - // set SDK Location - component.addOperation( "RegisterPersistentSettings", - "android.xml", - "SDKLocation", - "@TargetDir@/android-sdk" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml deleted file mode 100644 index 35ef6cb..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.base/meta/package.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - Base package @@ANDROID_SDK_VERSION@@ - Android SDK base package @@ANDROID_SDK_VERSION@@ - @@ANDROID_SDK_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.base - - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs deleted file mode 100644 index 7295246..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/installscript.qs +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-linux.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-windows.7z" ); - component.addDownloadableArchive( "android-sdk-windows-tools-mingw-android.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "platform-tools_@@ANDROID_PLATFORM_TOOLS_VERSION@@-macosx.7z" ); - } - } -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - // set SDK Location -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml deleted file mode 100644 index c6bff7d..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk.platform_tools/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Platform tools @@ANDROID_PLATFORM_TOOLS_VERSION@@ - Android SDK platform tools package @@ANDROID_PLATFORM_TOOLS_VERSION@@ - @@ANDROID_PLATFORM_TOOLS_VERSION@@ - @@TODAY@@ - org.kde.necessitas.misc.sdk.platform_tools - org.kde.necessitas.misc.sdk.base - - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml deleted file mode 100644 index 9737d5b..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc.sdk/meta/package.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - Android SDK - Android SDK. - 1.0.0 - @@TODAY@@ - org.kde.necessitas.misc.sdk - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml deleted file mode 100644 index 15213b7..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.misc/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Miscellaneous - Tools and Applications to ease development. - 1.0.0 - @@TODAY@@ - org.kde.necessitas.misc - 90 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs deleted file mode 100644 index bf8991c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/installscript.qs +++ /dev/null @@ -1,176 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if (installer.value("os") == "win") - { - component.selectedChanged.connect( this, checkWhetherStopProcessIsNeeded ); - //it can't be unselected so we need to check it manually - checkWhetherStopProcessIsNeeded(); - } - - if( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "qtcreator-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "qtcreator-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "qtcreator-darwin-x86.7z" ); - } - } -} - -checkWhetherStopProcessIsNeeded = function() -{ - if (installer.value("os") != "win") - return; - if (component.installationRequested() || component.uninstallationRequested()) - { - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qtcreator.exe", true); - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/linguist.exe", true); - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qmlviewer.exe", true); - } - else - { - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qtcreator.exe", false); - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/linguist.exe", false); - component.setStopProcessForUpdateRequest("@TargetDir@/QtCreator/bin/qmlviewer.exe", false); - } - -} - -registerWindowsFileTypeExtensions = function() -{ - var headerExtensions = new Array("h", "hh", "hxx", "h++", "hpp", "hpp"); - - for (var i = 0; i < headerExtensions.length; ++i) { - component.addOperation( "RegisterFileType", - headerExtensions[i], - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C++ Header file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,3"); - } - - var cppExtensions = new Array("cc", "cxx", "c++", "cp", "cpp"); - - for (var i = 0; i < cppExtensions.length; ++i) { - component.addOperation( "RegisterFileType", - cppExtensions[i], - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C++ Source file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,2"); - } - - component.addOperation( "RegisterFileType", - "c", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "C Source file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,1"); - component.addOperation( "RegisterFileType", - "ui", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt UI file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,4"); - component.addOperation( "RegisterFileType", - "pro", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Project file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,5"); - component.addOperation( "RegisterFileType", - "pri", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Project Include file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,6"); - component.addOperation( "RegisterFileType", - "qs", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Script file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,0"); - component.addOperation( "RegisterFileType", - "qml", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe -client '%1'", - "Qt Quick Markup language file", - "", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe,0"); -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations and afterwards set some registry settings - component.createOperations(); - if ( installer.value("os") == "win" ) - { - component.addOperation( "SetPluginPathOnQtCore", - "@TargetDir@/QtCreator/bin", - "@TargetDir@/QtCreator/plugins"); - component.addOperation( "SetImportsPathOnQtCore", - "@TargetDir@/QtCreator/bin", - "@TargetDir@/QtCreator/bin"); - component.addOperation( "CreateShortcut", - "@TargetDir@\\QtCreator\\bin\\qtcreator.exe", - "@StartMenuDir@/Qt Creator.lnk", - "workingDirectory=@homeDir@" ); - registerWindowsFileTypeExtensions(); - } - if ( installer.value("os") == "x11" ) - { - component.addOperation( "SetPluginPathOnQtCore", - "@TargetDir@/QtCreator/lib/qtcreator", - "@TargetDir@/QtCreator/lib/qtcreator/plugins"); - component.addOperation( "SetImportsPathOnQtCore", - "@TargetDir@/QtCreator/lib/qtcreator", - "@TargetDir@/QtCreator/bin"); - - component.addOperation( "InstallIcons", "@TargetDir@/QtCreator/images" ); - component.addOperation( "CreateDesktopEntry", - "Necessitas-qtcreator.desktop", - "Type=Application\nExec=@TargetDir@/QtCreator/bin/necessitas\nPath=@homeDir@\nName=Necessitas Qt Creator\nGenericName=The IDE of choice for development on Android devices.\nIcon=necessitas\nTerminal=false\nCategories=Development;IDE;Qt;\nMimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;" - ); - } - if (!installer.isUpdater()) - { - if (installer.value("os") == "win") - { - installer.setValue("RunProgram", installer.value("TargetDir") + "\\QtCreator\\bin\\qtcreator.exe"); - } - else if (installer.value("os") == "x11") - { - installer.setValue("RunProgram", installer.value("TargetDir") + "/QtCreator/bin/necessitas"); - } - else if (installer.value("os") == "mac") - { - installer.setValue("RunProgram", "\"" + installer.value("TargetDir") + "/QtCreator/bin/NecessitasQtCreator.app/Contents/MacOS/NecessitasQtCreator\""); - } - installer.setValue("RunProgramDescription", "Launch Qt Creator"); - } - -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml deleted file mode 100644 index b506582..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.qtcreator/meta/package.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Necessitas Qt Creator Application - The IDE for Qt development on Android devices. - Update to 2.3.1 release - @@NECESSITAS_QT_CREATOR_VERSION@@ - @@TODAY@@ - org.kde.necessitas.tools.qtcreator - - true - 0 - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs deleted file mode 100644 index 0e54d3c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/installscript.qs +++ /dev/null @@ -1,110 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if ( component.fromOnlineRepository ) - { - if (installer.value("os") == "x11") - { - component.addDownloadableArchive( "sdkmaintenance-linux-x86.7z" ); - } - else if (installer.value("os") == "win") - { - component.addDownloadableArchive( "sdkmaintenance-windows.7z" ); - } - else if (installer.value("os") == "mac") - { - component.addDownloadableArchive( "sdkmaintenance-darwin-x86.7z" ); - } - } - - if (installer.value("os") == "win") { - component.installerbaseBinaryPath = "@TargetDir@/temp/SDKMaintenanceToolBase.exe"; - } - else if (installer.value("os") == "x11" || installer.value("os") == "mac") - { - component.installerbaseBinaryPath = "@TargetDir@/.tempSDKMaintenanceTool"; - } - installer.setInstallerBaseBinary(component.installerbaseBinaryPath); -} - - -Component.prototype.createOperationsForArchive = function(archive) -{ - //installer.performOperation in older versions of the installer framework don't supports @TargetDir@ - var normalizedInstallerbaseBinaryPath = component.installerbaseBinaryPath.replace(/@TargetDir@/, - installer.value("TargetDir")); - - installer.performOperation("SimpleMoveFile", - new Array(normalizedInstallerbaseBinaryPath, normalizedInstallerbaseBinaryPath + "_backup")); - component.createOperationsForArchive(archive); -} - -Component.prototype.createOperations = function() -{ - // Call the base createOperations(unpacking ...) - component.createOperations(); - if (installer.value("os") == "win") { - var win_application = installer.value("TargetDir") + "/SDKMaintenanceTool.exe"; - component.addOperation( "RegisterPersistentSettings", - "updateInfo.xml", - "Application", - win_application ); - component.addOperation( "CreateShortcut", - win_application, - "@StartMenuDir@/Maintain Qt SDK.lnk", - " --manage-packages"); - component.addOperation( "CreateShortcut", - win_application, - "@StartMenuDir@/Update Qt SDK.lnk", - " --updater"); - } - else if (installer.value("os") == "x11") - { - component.addOperation( "RegisterPersistentSettings", - "updateInfo.xml", - "Application", - "@TargetDir@/SDKMaintenanceTool" ); - component.addOperation( "InstallIcons", "@TargetDir@/icons" ); - component.addOperation( "CreateDesktopEntry", - "Necessitas-SDKMaintenanceTool.desktop", - "Type=Application\nExec=@TargetDir@/SDKMaintenanceTool\nPath=@TargetDir@\nName=SDK-Maintenance-Tool\nGenericName=Install or uninstall components of the Qt SDK.\nIcon=Nokia-SDKPM\nTerminal=false\nCategories=Development;Qt;" - ); - component.addOperation( "CreateDesktopEntry", - "Necessitas-SDKUpdater.desktop", - "Type=Application\nExec=@TargetDir@/SDKMaintenanceTool --updater\nPath=@TargetDir@\nName=SDK-Update-Tool\nGenericName=Update components of the Qt SDK.\nIcon=Nokia-SDKUp\nTerminal=false\nCategories=Development;Qt;" - ); - } - else if (installer.value("os") == "mac") - { - component.addOperation( "RegisterPersistentSettings", - "updateInfo.xml", - "Application", - "@TargetDir@/SDKMaintenanceTool.app/Contents/MacOS/SDKMaintenanceTool" ); - } - - component.addOperation( "RegisterPersistentSettings", - "updateInfo.xml", - "CheckOnlyArgument", - "--checkupdates" ); - component.addOperation( "RegisterPersistentSettings", - "updateInfo.xml", - "RunUiArgument", - "--updater" ); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml deleted file mode 100644 index f497b0c..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools.sdkmaintenance/meta/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - SDKMaintenance - SDKMaintenance is a tool to update/install/uninstall components to the Qt SDK. - 1.2.0-11 - @@TODAY@@ - org.kde.necessitas.tools.sdkmaintenance - - true - true - diff --git a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml deleted file mode 100644 index ac3a1d5..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas.tools/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Development Tools - Tools to develop Qt applications on Android devices. - 1.0.0 - @@TODAY@@ - org.kde.necessitas.tools - 0 - diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs b/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs deleted file mode 100644 index 55921c1..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/installscript.qs +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2011, BogDan Vatra - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// constructor -function Component() -{ - if (installer.value("os") == "x11" || installer.value("os") == "mac") - { - compiler = installer.execute( "/usr/bin/which", new Array( "make" ) )[0]; - if (!compiler) { - QMessageBox["warning"]( "Error", "No *make* tool!", "You need *make* tool. Please install it using the System Package Management tools." ); - } - compiler = installer.execute( "/usr/bin/which", new Array( "java" ) )[0]; - if (!compiler) { - QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools (e.g. sudo apt-get install openjdk-6-jdk)." ); - } - compiler = installer.execute( "/usr/bin/which", new Array( "javac" ) )[0]; - if (!compiler) { - QMessageBox["warning"]( "Error", "No java compiler!", "You need a java compiler. Please install it using the System Package Management tools (e.g. sudo apt-get install openjdk-6-jdk)." ); - } - } - installer.setValue("GlobalExamplesDir", "Examples"); - installer.setValue("GlobalDemosDir", "Demos"); - installer.setValue("QtVersionLabel", "Necessitas Qt SDK"); -} diff --git a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml b/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml deleted file mode 100644 index 818b4ab..0000000 --- a/Necessitas_SDK/packages/org.kde.necessitas/meta/package.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Necessitas Qt SDK - Meta package needed to install the SDK - 1.0.0 - @@TODAY@@ - org.kde.necessitas - - diff --git a/Necessitas_SDK/sdk_cleanup.sh b/Necessitas_SDK/sdk_cleanup.sh deleted file mode 100644 index 29cbb6b..0000000 --- a/Necessitas_SDK/sdk_cleanup.sh +++ /dev/null @@ -1,17 +0,0 @@ -# remove things which are not ready for release -function removeUnusedPackages -{ - # x86 support needs much more love than just a compilation, QtCreator needs to handle it correctly - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.android.qt.x86 - - # Wait until Linaro toolchain is ready - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.ma_r6 - - # Do we really need this packages ? - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.gdb_head - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.host_gdb_head - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.ndk.gdb_7_3 - - # OpenJDK needs to be handled into QtCeator - rm -fr $TEMP_PATH/out/necessitas/sdk_src/org.kde.necessitas.misc.openjdk -} diff --git a/Necessitas_SDK/sdk_vars.sh b/Necessitas_SDK/sdk_vars.sh deleted file mode 100644 index 80ba3da..0000000 --- a/Necessitas_SDK/sdk_vars.sh +++ /dev/null @@ -1,46 +0,0 @@ -MINISTRO_VERSION="0.3" #Ministro repo version - -HOST_QT_BRANCH="remotes/upstream/tags/v4.7.4" - -CHECKOUT_BRANCH="unstable" - -NECESSITAS_QT_CREATOR_VERSION="2.3.1" - - -EXTERNAL_7Z=7z -EXTERNAL_7Z_PARAMS="a -t7z -mx=9" - -# Qt Framework versions -NECESSITAS_QT_VERSION_SHORT=480 #Necessitas Qt Framework Version -NECESSITAS_QT_VERSION="4.8.0 Alpha 3" #Necessitas Qt Framework Long Version -NECESSITAS_QT_PACKAGE_VERSION="4.8.0-3" - -NECESSITAS_QTWEBKIT_VERSION="2.2" #Necessitas QtWebkit Version - -NECESSITAS_QTMOBILITY_VERSION="1.2.0" #Necessitas QtMobility Version - -# NDK variables -BUILD_ANDROID_GIT_NDK=0 # Latest and the greatest NDK built from sources -ANDROID_NDK_MAJOR_VERSION=r6 # NDK major version, used by package name (and ma ndk) -ANDROID_NDK_VERSION=r6b # NDK full package version -USE_MA_NDK=0 - -# SDK variables -ANDROID_SDK_VERSION=r14 -ANDROID_PLATFORM_TOOLS_VERSION=r08 -ANDROID_API_4_VERSION=1.6_r03 -ANDROID_API_5_VERSION=2.0_r01 -ANDROID_API_6_VERSION=2.0.1_r01 -ANDROID_API_7_VERSION=2.1_r03 -ANDROID_API_8_VERSION=2.2_r03 -ANDROID_API_9_VERSION=2.3.1_r02 -ANDROID_API_10_VERSION=2.3.3_r02 -ANDROID_API_11_VERSION=3.0_r02 -ANDROID_API_12_VERSION=3.1_r03 -ANDROID_API_13_VERSION=3.2_r01 -ANDROID_API_14_VERSION=14_r01 - -# Make debug versions of host applications (Qt Creator and installer). -MAKE_DEBUG_HOST_APPS=0 - -MAKE_DEBUG_GDBSERVER=0 diff --git a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh b/Necessitas_SDK/setup_mingw_for_necessitas_build.sh deleted file mode 100755 index d2746b7..0000000 --- a/Necessitas_SDK/setup_mingw_for_necessitas_build.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/bash - -mkdir mingw-temp -pushd mingw-temp - -wget -c http://sourceforge.net/projects/infozip/files/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz/download -tar -xvzf unzip60.tar.gz -pushd unzip60 -mingw32-make.exe -f win32/Makefile.gcc -cp unzip.exe /usr/local/bin -popd - -wget -c http://downloads.sourceforge.net/sevenzip/7za920.zip -SEVEN7LOC=$PWD -pushd /usr/local/bin -unzip -o $SEVEN7LOC/7za920.zip -popd - -# Get git. Awkwardly, git is packed up with a full mingw/msys env, so unzip -# it to a temporary folder and copy across only certain bits, also, copy them -# to /usr/local/bin so as not to pollute /usr/bin -wget -c http://msysgit.googlecode.com/files/PortableGit-1.7.4-preview20110204.7z -mkdir git-temp -"C:\Program Files\7-zip\7z.exe" x -y -ogit-temp PortableGit-1.7.4-preview20110204.7z -mkdir -p /usr/local/bin -cp git-temp/bin/git* /usr/local/bin/ -cp git-temp/bin/ssh* /usr/local/bin/ -cp git-temp/bin/msys-crypto* /usr/local/bin/ -cp git-temp/bin/msys-minires* /usr/local/bin/ -cp git-temp/bin/libcurl-4.dll /usr/local/bin/ -cp git-temp/bin/libcrypto.dll /usr/local/bin/ -cp git-temp/bin/libssl.dll /usr/local/bin/ -cp git-temp/bin/gpg.exe /usr/local/bin/ -cp git-temp/bin/libiconv2.dll /usr/local/bin/ -mkdir -p /usr/local/share -cp -r git-temp/share/git-core /usr/local/share/ -cp -r git-temp/share/gitk /usr/local/share/ -mkdir -p /usr/local/libexec -cp -r git-temp/libexec/* /usr/local/libexec/ - -# Fix mingw include/sys/types.h so that cross libgcc builds. -cat > ./mingw-sys-types-caddr.patch < - -+/* Added by Ray Donnelly (mingw.android@gmail.com). libgcc build fails for Android -+ cross gcc without this. I should find another way as this is a horrible thing to do. */ -+typedef int daddr_t; -+typedef char * caddr_t; -+ - #define __need_wchar_t - #define __need_size_t - #define __need_ptrdiff_t -DELIM - -PATCHFILE=`pwd`/mingw-sys-types-caddr.patch - -pushd . -cd /usr/include -patch -p0 < $PATCHFILE -popd - -mkdir -p /usr/local/bin -mkdir -p /usr/local/include - -# Remove the MinGW iconv.exe and dll, we require a static iconv. -mv /usr/bin/iconv.exe /usr/local/bin/ -mv /usr/bin/libiconv-2.dll /usr/local/bin/ -mv /usr/include/iconv.h /usr/local/include/ -mv /usr/lib/libintl.dll.a /usr/local/lib -mv /usr/lib/libintl.a /usr/local/lib - -# Download and compile new iconv. -wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz -rm -rf libiconv-1.14 -tar -xvzf libiconv-1.14.tar.gz -pushd libiconv-1.14 -CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 -make -# Without the /mingw folder, this fails, but only after copying libiconv.a to the right place. -make install -cp include/iconv.h /usr/include -popd - -wget -c http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz -rm -rf gettext-0.18.1.1 -tar -xvzf gettext-0.18.1.1.tar.gz -pushd gettext-0.18.1.1 -CFLAGS=-O2 && ./configure --enable-static --disable-shared --with-curses=$install_dir --enable-multibyte --prefix=/usr CFLAGS=-O3 -make -make install -popd - -# For mingw Python. Generate libmsi.a and copy msi.h, msidefs.h, msimcntl.h, msimcsdk.h, msiquery.h, fci.h to /usr/include. -wget -c http://downloads.sourceforge.net/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_20101003/mingw-w32-bin_i686-mingw_20101003_sezero.zip -mkdir mingw64-w32-temp -unzip -d mingw64-w32-temp mingw-w32-bin_i686-mingw_20101003_sezero.zip - -cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/msi*.h /usr/include -cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/fci.h /usr/include -cp mingw64-w32-temp/mingw32/i686-w64-mingw32/include/inaddr.h /usr/include/inaddr.h -cp mingw64-w32-temp/mingw32/bin/gendef.exe /usr/local/bin - -if [ ! -z $ProgramW6432 ] ; then - cp C:/Windows/SysWOW64/msi.dll ./msi.dll - cp C:/Windows/SysWOW64/cabinet.dll ./cabinet.dll - cp C:/Windows/SysWOW64/rpcrt4.dll ./rpcrt4.dll -else - cp C:/Windows/System32/msi.dll ./msi.dll - cp C:/Windows/System32/cabinet.dll ./cabinet.dll - cp C:/Windows/System32/rpcrt4.dll ./rpcrt4.dll -fi - -# If don't pass -a (assume stdcall if ambiguous, then link fails to find MsiGetLastErrorRecord, unfortunately we get warnings with this: -# Warning: resolving _MsiGetLastErrorRecord@0 by linking to _MsiGetLastErrorRecord, Warning: resolving _MsiRecordGetInteger@8 by linking to _MsiRecordGetInteger -# Use --enable-stdcall-fixup to disable these warnings - -gendef - msi.dll > msi.def -gendef - cabinet.dll > cabinet.def - -gendef - rpcrt4.dll > rpcrt4.def -cp msi.dll /usr/bin - -cp cabinet.dll /usr/bin -cp rpcrt4.dll /usr/bin -dlltool -C -D --export-all-symbols MSI.dll -A -d msi.def -l libmsi.a -dlltool -C -D --export-all-symbols CABINET.dll -A -d cabinet.def -l libcabinet.a -dlltool -C -D --export-all-symbols RPCRT4.dll -A -d rpcrt4.def -l librpcrt4.a - -mv libmsi.a /usr/lib -mv libcabinet.a /usr/lib -mv librpcrt4.a /usr/lib -rm -rf mingw64-w32-temp - -popd -rm -rf mingw-temp -rm -rf /etc/fstab - -exit diff --git a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh b/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh deleted file mode 100755 index 82a234f..0000000 --- a/Necessitas_SDK/setup_ubuntu_for_necessitas_build.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# Sets up an clean Ubuntu 11.04 install for using (or building) Necessitas SDK. - -# For Oracle's Java; see: -# http://www.ozmox.com/2011/04/30/installing-sun-oracle-java-6-jrejdk-on-ubuntu-11/ -sudo add-apt-repository ppa:ferramroberto/java - -sudo apt-get update - -sudo apt-get -q -y install ia32-libs - -sudo apt-get -q -y install gcc-multilib - -sudo apt-get -q -y install g++-multilib - -sudo apt-get -q -y install aptitude - -sudo apt-get -q -y install p7zip-full - -# Dev tools. -sudo apt-get -q -y install git-core gitk git-gui git-doc curl - -# Needed for QtWebKit. -sudo apt-get -q -y install gperf - -# Dev libs. -sudo apt-get -q -y install zlib1g-dev zlib1g - -# Oracle's Java6; select it when asked. -sudo apt-get -q -y install sun-java6-jdk sun-java6-jre -sudo update-alternatives --config java - -# Dev tools needed for compiling gcc. -sudo apt-get -q -y install flex bison autoconf texinfo build-essential - -# Libraries needed for compiling ??bit gcc (i.e. I might need to find 32 bit versions) -sudo apt-get -q -y install python2.7-dev xorg-dev - -# Libraries needed for compiling 32bit gcc. -sudo apt-get -q -y install lib32gmp3-dev lib32mpfr-dev lib32ncurses5-dev -# There's no 32bit versoin of this? libmpc-dev - -# Libraries needed for compiling 64bit gcc. -# sudo apt-get install libgmp3-dev libmpfr-dev libncurses5-dev - -- cgit v1.2.3 From 721359f96106aec6273cea063cab0d7d1a93f127 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 22 Jul 2012 21:23:08 +0300 Subject: Switch off the chunk info log --- Ministro/jni/extract.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ministro/jni/extract.cpp b/Ministro/jni/extract.cpp index 9855d37..a125bfc 100644 --- a/Ministro/jni/extract.cpp +++ b/Ministro/jni/extract.cpp @@ -106,7 +106,7 @@ extern "C" JNIEXPORT jintArray JNICALL Java_org_kde_necessitas_ministro_ExtractS // need to deserialize the chunk Res_png_9patch* chunk = static_cast(storage); Res_png_9patch::deserialize(chunk); - printChunkInformation(chunk); +// printChunkInformation(chunk); jintArray result; size_t size = 3+chunk->numXDivs+chunk->numYDivs+chunk->numColors; result = env->NewIntArray(size); -- cgit v1.2.3 From 3e629e45e5658a82c32ae9af8d0e4a9b5051455f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 16 Aug 2012 21:28:16 +0300 Subject: Return "Invalid Qt version" error code if Qt version mismatch. --- Ministro/res/values/strings.xml | 1 + .../org/kde/necessitas/ministro/MinistroService.java | 18 ++++++++++++++++++ MinistroConfigurationTool/AndroidManifest.xml | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Ministro/res/values/strings.xml b/Ministro/res/values/strings.xml index 207321c..7885699 100644 --- a/Ministro/res/values/strings.xml +++ b/Ministro/res/values/strings.xml @@ -21,4 +21,5 @@ Ministro can not satisfy your application dependencies Check for updates frequency (days) Extracting the device look&feel information. Please wait... + Invalid Qt version diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index 28292ca..44610da 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -73,6 +73,7 @@ public class MinistroService extends Service private static final String NATIVE_LIBRARIES_KEY="native.libraries"; private static final String ENVIRONMENT_VARIABLES_KEY="environment.variables"; private static final String APPLICATION_PARAMETERS_KEY="application.parameters"; + private static final String QT_VERSION_PARAMETER_KEY="qt.version.parameter"; /// loader parameter keys /// loader error codes @@ -80,6 +81,7 @@ public class MinistroService extends Service private static final int EC_INCOMPATIBLE=1; private static final int EC_NOT_FOUND=2; private static final int EC_INVALID_PARAMETERS=3; + private static final int EC_INVALID_QT_VERSION=3; /// loader error codes @@ -378,7 +380,23 @@ public class MinistroService extends Service int qtApiLevel = parameters.getInt(MINIMUM_QT_VERSION_KEY); if (qtApiLevel > m_qtVersion) // the application needs a newer qt version { + if (parameters.getBoolean(QT_VERSION_PARAMETER_KEY, false)) + { + Bundle loaderParams = new Bundle(); + loaderParams.putInt(ERROR_CODE_KEY, EC_INVALID_QT_VERSION); + loaderParams.putString(ERROR_MESSAGE_KEY, getResources().getString(R.string.invalid_qt_version)); + try + { + callback.loaderReady(loaderParams); + } + catch (Exception e) { + e.printStackTrace(); + } + Log.e(TAG, "Invalid qt verson"); + return; + } startRetrieval(callback, null, null, appName, parameters); + parameters.putBoolean(QT_VERSION_PARAMETER_KEY, true); return; } diff --git a/MinistroConfigurationTool/AndroidManifest.xml b/MinistroConfigurationTool/AndroidManifest.xml index 64e5ce8..175529f 100644 --- a/MinistroConfigurationTool/AndroidManifest.xml +++ b/MinistroConfigurationTool/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="2" + android:versionName="2.0"> -- cgit v1.2.3 From 9afa21ccd6379b45f34e2df62d73fa0747c5e04f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 16 Aug 2012 21:44:49 +0300 Subject: Make sure that all needed libs are downloaded. --- Ministro/AndroidManifest.xml | 2 +- Ministro/res/values/strings.xml | 4 +- .../src/org/kde/necessitas/ministro/Library.java | 17 ++- .../kde/necessitas/ministro/MinistroActivity.java | 120 ++++++++++----------- .../ministro/MinistroConfigActivity.java | 6 +- .../kde/necessitas/ministro/MinistroService.java | 39 ++++++- 6 files changed, 109 insertions(+), 79 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 30ac068..98fbd85 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="8.3" android:versionCode="8"> Downloading libraries
Checking libraries. Please wait... Extracting SSL root certificates. Please wait... - New libs has been found - New libs has been found tap to update. + New libs have been found + New libs have been found tap to update. Ministro will use %1$s repository Ministro repository changed Ministro update diff --git a/Ministro/src/org/kde/necessitas/ministro/Library.java b/Ministro/src/org/kde/necessitas/ministro/Library.java index 0646d86..7e1a9fe 100644 --- a/Ministro/src/org/kde/necessitas/ministro/Library.java +++ b/Ministro/src/org/kde/necessitas/ministro/Library.java @@ -174,6 +174,7 @@ class Library { digester.update(tmp, 0, downloaded); } + inFile.close(); return sha1.equalsIgnoreCase(convertToHex(digester.digest())); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); @@ -199,11 +200,23 @@ class Library public static void removeAllFiles(String path) { - String files[]=new File(path).list(); + File f = new File(path); + if (!f.exists()) + return; + String files[]=f.list(); if (!path.endsWith("/")) path+="/"; for (int i=0;i s, String delimiter) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 703bfdb..8a96208 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -67,6 +67,7 @@ import android.os.IBinder; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.provider.Settings; +import android.util.Log; public class MinistroActivity extends Activity { @@ -91,10 +92,8 @@ public class MinistroActivity extends Activity builder.setMessage(getResources().getString(R.string.ministro_network_access_msg)); builder.setCancelable(true); builder.setNeutralButton(getResources().getString(R.string.settings_msg), new DialogInterface.OnClickListener() { - @Override public void onClick(DialogInterface dialog, int id) { final ProgressDialog m_dialog = ProgressDialog.show(MinistroActivity.this, null, getResources().getString(R.string.wait_for_network_connection_msg), true, true, new DialogInterface.OnCancelListener() { - @Override public void onCancel(DialogInterface dialog) { finishMe(); @@ -108,7 +107,6 @@ public class MinistroActivity extends Activity { getApplication().unregisterReceiver(this); runOnUiThread(new Runnable() { - @Override public void run() { m_dialog.dismiss(); @@ -123,14 +121,12 @@ public class MinistroActivity extends Activity } }); builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { - @Override public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { - @Override public void onCancel(DialogInterface dialog) { finishMe(); @@ -143,7 +139,6 @@ public class MinistroActivity extends Activity private ServiceConnection m_ministroConnection=new ServiceConnection() { - @Override public void onServiceConnected(ComponentName name, IBinder service) { if (getIntent().hasExtra("id")) @@ -157,14 +152,12 @@ public class MinistroActivity extends Activity getIntent().getExtras().getString("name"))) .setCancelable(false) .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { - @Override public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); checkNetworkAndDownload(false); } }) .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { - @Override public void onClick(DialogInterface dialog, int id) { dialog.cancel(); finishMe(); @@ -177,7 +170,6 @@ public class MinistroActivity extends Activity checkNetworkAndDownload(true); } - @Override public void onServiceDisconnected(ComponentName name) { m_ministroConnection = null; @@ -231,6 +223,7 @@ public class MinistroActivity extends Activity break; } } + br.close(); } catch (Exception e) { e.printStackTrace(); return ""; @@ -313,7 +306,6 @@ public class MinistroActivity extends Activity m_dialog.setMessage(m_status); m_dialog.setCancelable(true); m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ - @Override public void onCancel(DialogInterface dialog) { DownloadManager.this.cancel(false); @@ -326,53 +318,64 @@ public class MinistroActivity extends Activity private boolean DownloadItem(String url, String file, long size, String fileSha1) throws NoSuchAlgorithmException, MalformedURLException, IOException { - MessageDigest digester = MessageDigest.getInstance("SHA-1"); - URLConnection connection = new URL(url).openConnection(); - Library.mkdirParents(m_qtLibsRootPath, file, 1); - String filePath=m_qtLibsRootPath+file; - int progressSize=0; - try + for (int i=0;i<2;i++) { - FileOutputStream outstream = new FileOutputStream(filePath); - InputStream instream = connection.getInputStream(); - int downloaded; - byte[] tmp = new byte[2048]; - int oldProgress=-1; - while ((downloaded = instream.read(tmp)) != -1) + MessageDigest digester = MessageDigest.getInstance("SHA-1"); + URLConnection connection = new URL(url).openConnection(); + Library.mkdirParents(m_qtLibsRootPath, file, 1); + String filePath=m_qtLibsRootPath+file; + int progressSize=0; + try { - if (isCancelled()) - break; - progressSize+=downloaded; - m_totalProgressSize+=downloaded; - digester.update(tmp, 0, downloaded); - outstream.write(tmp, 0, downloaded); - int progress=(int)(progressSize*100/size); - if (progress!=oldProgress) + FileOutputStream outstream = new FileOutputStream(filePath); + InputStream instream = connection.getInputStream(); + int downloaded; + byte[] tmp = new byte[2048]; + int oldProgress=-1; + while ((downloaded = instream.read(tmp)) != -1) { - publishProgress(progress - , m_totalProgressSize); - oldProgress = progress; + if (isCancelled()) + break; + progressSize+=downloaded; + m_totalProgressSize+=downloaded; + digester.update(tmp, 0, downloaded); + outstream.write(tmp, 0, downloaded); + int progress=(int)(progressSize*100/size); + if (progress!=oldProgress) + { + publishProgress(progress + , m_totalProgressSize); + oldProgress = progress; + } } - } - String sha1 = Library.convertToHex(digester.digest()); - if (sha1.equalsIgnoreCase(fileSha1)) - { + String sha1 = Library.convertToHex(digester.digest()); + if (sha1.equalsIgnoreCase(fileSha1)) + { + outstream.close(); + nativeChmode(filePath, 0644); + return true; + } + else + Log.e("Ministro", "sha1 mismatch, the file:"+file+" will be removed, expected sha1:"+fileSha1+" got sha1:"+sha1+" file was downloaded from "+url); outstream.close(); - nativeChmode(filePath, 0644); - return true; + File f = new File(filePath); + f.delete(); + } catch (Exception e) { + e.printStackTrace(); + File f = new File(filePath); + f.delete(); } - outstream.close(); - File f = new File(filePath); - f.delete(); - } catch (Exception e) { - e.printStackTrace(); - File f = new File(filePath); - f.delete(); + m_totalProgressSize-=progressSize; } - m_totalProgressSize-=progressSize; return false; } + void removeFile(String file) + { + File f = new File(m_qtLibsRootPath+file); + f.delete(); + } + @Override protected Long doInBackground(Library... params) { @@ -387,7 +390,6 @@ public class MinistroActivity extends Activity } m_dialog.setMax(m_totalSize); - int lastId=-1; for (int i=0;i parent, View view, int pos, long id) { Toast.makeText(parent.getContext() @@ -51,7 +50,6 @@ public class MinistroConfigActivity extends Activity { , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_SHORT).show(); MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString()); } - @Override public void onNothingSelected(AdapterView arg0) { } }); @@ -63,13 +61,11 @@ public class MinistroConfigActivity extends Activity { checkFrequencySpinner.setAdapter(checkFrequency); checkFrequencySpinner.setSelection(checkFrequency.getPosition(MinistroService.getCheckFrequency(this).toString())); checkFrequencySpinner.setOnItemSelectedListener(new OnItemSelectedListener(){ - @Override public void onItemSelected(AdapterView parent, View view, int pos, long id) { MinistroService.setCheckFrequency(MinistroConfigActivity.this, Long.parseLong(parent.getItemAtPosition(pos).toString())); } - @Override public void onNothingSelected(AdapterView arg0) { } }); @@ -103,4 +99,4 @@ public class MinistroConfigActivity extends Activity { } super.onDestroy(); } -} \ No newline at end of file +} diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java index 44610da..eb75801 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroService.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroService.java @@ -235,7 +235,41 @@ public class MinistroService extends Service if (checkCrc && !Library.checkCRC(file.getAbsolutePath(), lib.sha1)) file.delete(); else - m_downloadedLibraries.add(lib); + { + + boolean allOk = true; + if (lib.needs != null) + { + for(NeedsStruct needed: lib.needs)// check if its needed files are available + if (needed.type != null && needed.type.equals("jar")) + { + File f=new File(m_qtLibsRootPath + needed.filePath); + if (!f.exists()) + { + allOk = false; + break; + } + } + if (!allOk) + { + for(NeedsStruct needed: lib.needs)// remove all needed files + if (needed.type != null && needed.type.equals("jar")) + { + try { + File f=new File(m_qtLibsRootPath + needed.filePath); + if (f.exists()) + f.delete(); + } catch (Exception e) + { + e.printStackTrace(); + } + } + file.delete(); // delete the parent + } + } + if (allOk) + m_downloadedLibraries.add(lib); + } } m_availableLibraries.add(lib); } @@ -333,7 +367,6 @@ public class MinistroService extends Service { return new IMinistro.Stub() { - @Override public void requestLoader(IMinistroCallback callback, Bundle parameters) throws RemoteException { @@ -478,7 +511,6 @@ public class MinistroService extends Service try { m_handler.postDelayed(new Runnable() { - @Override public void run() { MinistroService.this.startActivity(intent); } @@ -697,7 +729,6 @@ public class MinistroService extends Service */ static private class ModuleCompare implements Comparator { - @Override public int compare(Module a, Module b) { return a.level-b.level; -- cgit v1.2.3 From 3d1bddeb80cb133d221af916cb587e9f4f5e5641 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 4 Nov 2012 11:29:31 +0200 Subject: Don't cancel the download if the users touces outside the dialog bounds BUG: 308120 --- Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 8a96208..85143cb 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -305,6 +305,7 @@ public class MinistroActivity extends Activity m_dialog.setTitle(getResources().getString(R.string.downloading_qt_libraries_msg)); m_dialog.setMessage(m_status); m_dialog.setCancelable(true); + m_dialog.setCanceledOnTouchOutside(false); m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ public void onCancel(DialogInterface dialog) { -- cgit v1.2.3 From d111f59287c28afc3444ea5013d69c371c3c0e50 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 4 Nov 2012 11:34:42 +0200 Subject: Fix ICS+ SSL root cretificates extraction --- .../org/kde/necessitas/ministro/MinistroActivity.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 85143cb..8ef1ac0 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -549,9 +549,22 @@ public class MinistroActivity extends Activity Library.removeAllFiles(path); try { - KeyStore ks= KeyStore.getInstance(KeyStore.getDefaultType()); - FileInputStream instream = new FileInputStream(new File("/system/etc/security/cacerts.bks")); - ks.load(instream, null); + KeyStore ks = null; + if (Build.VERSION.SDK_INT>13) + { + ks = KeyStore.getInstance("AndroidCAStore"); + ks.load(null, null); + } + else + { + ks= KeyStore.getInstance(KeyStore.getDefaultType()); + String cacertsPath=System.getProperty("javax.net.ssl.trustStore"); + if (null == cacertsPath) + cacertsPath="/system/etc/security/cacerts.bks"; + FileInputStream instream = new FileInputStream(new File(cacertsPath)); + ks.load(instream, null); + } + for (Enumeration aliases = ks.aliases(); aliases.hasMoreElements(); ) { String aName = aliases.nextElement(); -- cgit v1.2.3 From 682b33144f3bf2dba98fa5e26be7231d39c4eebb Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 4 Nov 2012 12:46:22 +0200 Subject: Fix all crash reports --- .../kde/necessitas/ministro/MinistroActivity.java | 119 ++++++++++++++++----- 1 file changed, 90 insertions(+), 29 deletions(-) diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 8ef1ac0..6b0f6e7 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -62,6 +62,7 @@ import android.content.res.Configuration; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.PowerManager; @@ -105,7 +106,14 @@ public class MinistroActivity extends Activity { if (isOnline(MinistroActivity.this)) { - getApplication().unregisterReceiver(this); + try + { + getApplication().unregisterReceiver(this); + } + catch(Exception e) + { + e.printStackTrace(); + } runOnUiThread(new Runnable() { public void run() { @@ -116,7 +124,17 @@ public class MinistroActivity extends Activity } } }, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); - startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); + try { + startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); + } catch(Exception e) { + e.printStackTrace(); + try { + startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); + } catch(Exception e1) { + + e1.printStackTrace(); + } + } dialog.dismiss(); } }); @@ -164,7 +182,15 @@ public class MinistroActivity extends Activity } }); AlertDialog alert = builder.create(); - alert.show(); + try + { + alert.show(); + } + catch (Exception e) + { + e.printStackTrace(); + checkNetworkAndDownload(false); + } } else checkNetworkAndDownload(true); @@ -307,13 +333,21 @@ public class MinistroActivity extends Activity m_dialog.setCancelable(true); m_dialog.setCanceledOnTouchOutside(false); m_dialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ - public void onCancel(DialogInterface dialog) - { - DownloadManager.this.cancel(false); - finishMe(); - } + public void onCancel(DialogInterface dialog) + { + DownloadManager.this.cancel(false); + finishMe(); + } }); - m_dialog.show(); + try + { + m_dialog.show(); + } + catch(Exception e) + { + e.printStackTrace(); + m_dialog = null; + } super.onPreExecute(); } @@ -435,10 +469,20 @@ public class MinistroActivity extends Activity @Override protected void onProgressUpdate(Integer... values) { - synchronized (m_status) + try + { + if (m_dialog != null) + { + synchronized (m_status) + { + m_dialog.setMessage(m_status+values[0]+"%"); + m_dialog.setProgress(values[1]); + } + } + } + catch(Exception e) { - m_dialog.setMessage(m_status+values[0]+"%"); - m_dialog.setProgress(values[1]); + e.printStackTrace(); } super.onProgressUpdate(values); } @@ -457,22 +501,24 @@ public class MinistroActivity extends Activity } } - private class CheckLibraries extends AsyncTask + private class CheckLibraries extends AsyncTask { - private ProgressDialog dialog = null; + private ProgressDialog m_dialog = null; private final ArrayList newLibs = new ArrayList(); private String m_message; @Override protected void onPreExecute() { - runOnUiThread(new Runnable() + try { - public void run() - { - dialog = ProgressDialog.show(MinistroActivity.this, null, - getResources().getString(R.string.checking_libraries_msg), true, true); - } - }); + m_dialog = ProgressDialog.show(MinistroActivity.this, null, + getResources().getString(R.string.checking_libraries_msg), true, true); + } + catch (Exception e) + { + e.printStackTrace(); + m_dialog = null; + } super.onPreExecute(); } @@ -501,7 +547,7 @@ public class MinistroActivity extends Activity !(new File(m_qtLibsRootPath+"style").exists())) { m_message = getResources().getString(R.string.extracting_look_n_feel_msg); - publishProgress((Void[])null); + publishProgress(m_message); new ExtractStyle(MinistroActivity.this, m_qtLibsRootPath+"style/"); SharedPreferences.Editor editor= preferences.edit(); editor.putString("MINISTRO_VERSION",getPackageManager().getPackageInfo(getPackageName(), 0).versionName); @@ -536,7 +582,7 @@ public class MinistroActivity extends Activity !preferences.getString("RELEASE", "").equals(android.os.Build.VERSION.RELEASE)) { m_message = getResources().getString(R.string.extracting_SSL_msg); - publishProgress((Void[])null); + publishProgress(m_message); String environmentVariables=root.getAttribute("environmentVariables"); environmentVariables=environmentVariables.replaceAll("MINISTRO_PATH", ""); String environmentVariablesList[]=environmentVariables.split("\t"); @@ -654,19 +700,34 @@ public class MinistroActivity extends Activity } @Override - protected void onProgressUpdate(Void... nothing) + protected void onProgressUpdate(String... messages) { - dialog.setMessage(m_message); - super.onProgressUpdate(nothing); + try + { + if (null != m_dialog) + m_dialog.setMessage(messages[0]); + } + catch (Exception e) + { + e.printStackTrace(); + } + super.onProgressUpdate(messages); } @Override protected void onPostExecute(Double result) { - if (null != dialog) + try { - dialog.dismiss(); - dialog = null; + if (null != m_dialog) + { + m_dialog.dismiss(); + m_dialog = null; + } + } + catch(Exception e) + { + e.printStackTrace(); } if (newLibs.size()>0 && result>0) { -- cgit v1.2.3 From f71e67d47f681b55a8b68d051e607e8478958638 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 4 Nov 2012 12:50:14 +0200 Subject: Check the free space before start downloading the libs. Bump version to 8.9 --- Ministro/AndroidManifest.xml | 2 +- Ministro/res/values/strings.xml | 1 + .../kde/necessitas/ministro/MinistroActivity.java | 80 +++++++++++++++++++++- 3 files changed, 81 insertions(+), 2 deletions(-) diff --git a/Ministro/AndroidManifest.xml b/Ministro/AndroidManifest.xml index 98fbd85..9b7d55c 100644 --- a/Ministro/AndroidManifest.xml +++ b/Ministro/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="org.kde.necessitas.ministro" android:versionName="8.9" android:versionCode="8"> Check for updates frequency (days) Extracting the device look&feel information. Please wait... Invalid Qt version + Not enough space to download required libraries.\nPlease free at least an additional %1$s of space. diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 6b0f6e7..c9d6bd7 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -36,6 +36,7 @@ import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Enumeration; +import java.util.concurrent.Semaphore; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -67,6 +68,7 @@ import android.os.Bundle; import android.os.IBinder; import android.os.PowerManager; import android.os.PowerManager.WakeLock; +import android.os.StatFs; import android.provider.Settings; import android.util.Log; @@ -154,7 +156,82 @@ public class MinistroActivity extends Activity alert.show(); } } + private AlertDialog m_distSpaceDialog=null; + private final int freeSpaceCode=0xf3ee500; + private Semaphore m_diskSpaceSemaphore = new Semaphore(0); + private boolean checkFreeSpace(final long size) throws InterruptedException + { + final StatFs stat = new StatFs(m_qtLibsRootPath); + if (stat.getBlockSize() * stat.getAvailableBlocks() < size) + { + runOnUiThread(new Runnable() { + public void run() { + + AlertDialog.Builder builder = new AlertDialog.Builder(MinistroActivity.this); + builder.setMessage(getResources().getString(R.string.ministro_disk_space_msg, + (size-(stat.getBlockSize() * stat.getAvailableBlocks()))/1024+"Kb")); + builder.setCancelable(true); + builder.setNeutralButton(getResources().getString(R.string.settings_msg), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + try { + startActivityForResult(new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS), freeSpaceCode); + } catch(Exception e) { + e.printStackTrace(); + try { + startActivityForResult(new Intent(Settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS), freeSpaceCode); + } catch(Exception e1) { + + e1.printStackTrace(); + } + } + } + }); + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) + { + dialog.dismiss(); + m_diskSpaceSemaphore.release(); + } + }); + builder.setOnCancelListener(new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) + { + dialog.dismiss(); + m_diskSpaceSemaphore.release(); + } + }); + m_distSpaceDialog = builder.create(); + m_distSpaceDialog.show(); + } + }); + m_diskSpaceSemaphore.acquire(); + } + else + return true; + + return stat.getBlockSize() * stat.getAvailableBlocks()>size; + } + + protected void onActivityResult (int requestCode, int resultCode, Intent data) + { + if (requestCode == freeSpaceCode) + { + m_diskSpaceSemaphore.release(); + try + { + if (m_distSpaceDialog != null) + { + m_distSpaceDialog.dismiss(); + m_distSpaceDialog = null; + } + } + catch(Exception e) + { + e.printStackTrace(); + } + } + } private ServiceConnection m_ministroConnection=new ServiceConnection() { public void onServiceConnected(ComponentName name, IBinder service) @@ -423,8 +500,9 @@ public class MinistroActivity extends Activity for (int j=0;j