Manual merge from the lp:ubuntu-sdk-ide-click with kalikiana's fix.
Approved by ubuntu-sdk-build-bot, Benjamin Zeller.
This commit is contained in:
		
							
								
								
									
										5
									
								
								click/apparmor.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								click/apparmor.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
    "policy_version": 1.3,
 | 
			
		||||
    "template": "unconfined",
 | 
			
		||||
    "policy_groups": []
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								click/manifest.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								click/manifest.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
{
 | 
			
		||||
    "architecture": "armhf",
 | 
			
		||||
    "description": "Ubuntu SDK IDE and DevKit",
 | 
			
		||||
    "framework": "ubuntu-sdk-15.04",
 | 
			
		||||
    "hooks": {
 | 
			
		||||
        "sdk": {
 | 
			
		||||
            "apparmor": "apparmor.json",
 | 
			
		||||
            "desktop": "sdk.desktop"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "maintainer": "Zoltán Balogh <zoltan.balogh@ubuntu.com>",
 | 
			
		||||
    "name": "com.ubuntu.sdk",
 | 
			
		||||
    "title": "Ubuntu SDK IDE and DevKit",
 | 
			
		||||
    "version": "27"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								click/sdk.desktop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								click/sdk.desktop
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Name=Ubuntu SDK IDE and DevKit
 | 
			
		||||
Exec=ubuntu-sdk-ide-click %F
 | 
			
		||||
Terminal=false
 | 
			
		||||
Type=Application
 | 
			
		||||
X-Ubuntu-Touch=true
 | 
			
		||||
X-Ubuntu-Gettext-Domain=com.ubuntu.sdk
 | 
			
		||||
X-Ubuntu-XMir-Enable=true
 | 
			
		||||
# Added Icon and Path as a workaround for http://pad.lv/1227359.
 | 
			
		||||
# TODO remove them once that bug is fixed. --elopio - 2013-09-18
 | 
			
		||||
Icon=ubuntu-sdk-ide.png
 | 
			
		||||
GenericName=Integrated Development Environment
 | 
			
		||||
MimeType=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;application/x-qmlproject;
 | 
			
		||||
Categories=Qt;Development;IDE;
 | 
			
		||||
InitialPreference=9
 | 
			
		||||
Keywords=IDE;Ubuntu SDK IDE;buntu SDK;SDK;Ubuntu Touch;Qt Creator;Qt
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								click/ubuntu-sdk-ide-click
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								click/ubuntu-sdk-ide-click
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
export PERL5LIB=//opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/share/perl5/:/opt/click.ubuntu.com/com.ubuntu.sdk/23/usr/lib/arm-linux-gnueabihf/perl/5.20.2/
 | 
			
		||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/lib
 | 
			
		||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/lib/arm-linux-gnueabihf
 | 
			
		||||
/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/matchbox-window-manager -theme ../../..//opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/share/themes/Default/ -use_titlebar no &
 | 
			
		||||
 | 
			
		||||
#XKB config
 | 
			
		||||
#export XKB_CONFIG_ROOT=/usr/share/X11/xkb
 | 
			
		||||
 | 
			
		||||
# Qt Platform to Mir
 | 
			
		||||
export QT_QPA_PLATFORM=xcb
 | 
			
		||||
#export QTCHOOSER_NO_GLOBAL_DIR=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export  LD_LIBRARY_PATH=/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/lib/arm-linux-gnueabihf:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/lib/qtcreator/:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/qtcreator/lib:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/lib:$LD_LIBRARY_PATH
 | 
			
		||||
 | 
			
		||||
# Qt Modules
 | 
			
		||||
export QT_PLUGIN_PATH=/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/bin/plugins/
 | 
			
		||||
#export QML2_IMPORT_PATH=/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-dev/qml
 | 
			
		||||
 | 
			
		||||
exec /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/bin/qtcreator
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								click/ubuntu-sdk-ide.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								click/ubuntu-sdk-ide.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										28
									
								
								create-ubuntu-sdk-ide-click.README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								create-ubuntu-sdk-ide-click.README
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
Modify /usr/bin/libertine-xmir with an export TMPDIR=/tmp" before the exec line. 
 | 
			
		||||
 | 
			
		||||
Change the GU in the /etc/ubuntu-touch-session.d/[DEVICE].conf to a smaller value.
 | 
			
		||||
 | 
			
		||||
Testing from terminal the Xmir session can be started like this:
 | 
			
		||||
    $ Xmir :1 -mirSocket $XDG_RUNTIME_DIR/mir_socket --desktop_file_hint=dialer-app
 | 
			
		||||
 | 
			
		||||
the display need to be directed to the Xmir
 | 
			
		||||
    $ export DISPLAY=:1
 | 
			
		||||
 | 
			
		||||
Set the Qt Platform
 | 
			
		||||
    $ export QT_QPA_PLATFORM=xcb
 | 
			
		||||
 | 
			
		||||
Hack around the library path
 | 
			
		||||
 | 
			
		||||
# Qt Libs
 | 
			
		||||
    $ export LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/qtcreator/lib:/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/lib:$LD_LIBRARY_PATH
 | 
			
		||||
    $ export LD_LIBRARY_PATH=/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-dev/lib:$LD_LIBRARY_PATH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Set Qt Modules
 | 
			
		||||
    $ export QT_PLUGIN_PATH=/opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/bin/plugins/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Execute /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/ubuntu-sdk-ide/bin/qtcreator
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										290
									
								
								create-ubuntu-sdk-ide-click.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										290
									
								
								create-ubuntu-sdk-ide-click.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,290 @@
 | 
			
		||||
#!/usr/bin/python
 | 
			
		||||
from optparse import OptionParser
 | 
			
		||||
import re
 | 
			
		||||
import urlparse
 | 
			
		||||
from launchpadlib.launchpad import Launchpad
 | 
			
		||||
from subprocess import call
 | 
			
		||||
import subprocess 
 | 
			
		||||
import sys
 | 
			
		||||
import os
 | 
			
		||||
import glob
 | 
			
		||||
import shutil
 | 
			
		||||
import requests
 | 
			
		||||
 | 
			
		||||
ide_packages = [
 | 
			
		||||
		"ubuntu-sdk-ide",
 | 
			
		||||
                "ubuntu-sdk-dev",
 | 
			
		||||
                "ubuntu-clicksdk-qmake",
 | 
			
		||||
                "apparmor",
 | 
			
		||||
                "apparmor-easyprof",
 | 
			
		||||
                "apparmor-easyprof-ubuntu",
 | 
			
		||||
                "at",
 | 
			
		||||
                "autoconf",
 | 
			
		||||
                "automake",
 | 
			
		||||
                "autotools-dev",
 | 
			
		||||
                "base-files",
 | 
			
		||||
                "binutils",
 | 
			
		||||
                "bsdmainutils",
 | 
			
		||||
                "build-essential",
 | 
			
		||||
                "busybox-initramfs",
 | 
			
		||||
                "bzip2",
 | 
			
		||||
                "ca-certificates",
 | 
			
		||||
                "click",
 | 
			
		||||
                "click-apparmor",
 | 
			
		||||
                "click-dev",
 | 
			
		||||
                "click-reviewers-tools",
 | 
			
		||||
                "cmake",
 | 
			
		||||
                "cmake-data",
 | 
			
		||||
                "cmake-extras",
 | 
			
		||||
                "cpio",
 | 
			
		||||
                "cpp",
 | 
			
		||||
                "cpp-4.9",
 | 
			
		||||
                "cron",
 | 
			
		||||
                "dbus",
 | 
			
		||||
                "dctrl-tools",
 | 
			
		||||
                "debhelper",
 | 
			
		||||
                "debootstrap",
 | 
			
		||||
                "devscripts",
 | 
			
		||||
                "dh-apparmor",
 | 
			
		||||
                "dh-make",
 | 
			
		||||
                "dh-python",
 | 
			
		||||
                "diffstat",
 | 
			
		||||
                "distro-info-data",
 | 
			
		||||
                "dpkg-dev",
 | 
			
		||||
                "libdpkg-perl",
 | 
			
		||||
                "dput",
 | 
			
		||||
                "fakeroot",
 | 
			
		||||
                "file",
 | 
			
		||||
                "g++",
 | 
			
		||||
                "g++-4.9",
 | 
			
		||||
                "gcc",
 | 
			
		||||
                "gcc-4.9",
 | 
			
		||||
                "gdb",
 | 
			
		||||
                "gdb-multiarch",
 | 
			
		||||
                "gdbserver",
 | 
			
		||||
                "gettext",
 | 
			
		||||
                "gettext-base",
 | 
			
		||||
                "gir1.2-click-0.4",
 | 
			
		||||
                "gir1.2-gee-0.8",
 | 
			
		||||
                "gir1.2-glib-2.0",
 | 
			
		||||
                "gir1.2-json-1.0",
 | 
			
		||||
                "groff-base",
 | 
			
		||||
                "hardening-includes",
 | 
			
		||||
                "ifupdown",
 | 
			
		||||
                "init-system-helpers",
 | 
			
		||||
                "initramfs-tools",
 | 
			
		||||
                "initramfs-tools-bin",
 | 
			
		||||
                "intltool",
 | 
			
		||||
                "intltool-debian",
 | 
			
		||||
                "iproute2",
 | 
			
		||||
                "isc-dhcp-client",
 | 
			
		||||
                "isc-dhcp-common",
 | 
			
		||||
                "iso-codes",
 | 
			
		||||
                "klibc-utils",
 | 
			
		||||
                "kmod",
 | 
			
		||||
                "krb5-locales",
 | 
			
		||||
                "libalgorithm-c3-perl",
 | 
			
		||||
                "libalgorithm-diff-perl",
 | 
			
		||||
                "libalgorithm-diff-xs-perl",
 | 
			
		||||
                "libalgorithm-merge-perl",
 | 
			
		||||
                "libapparmor-perl",
 | 
			
		||||
                "libapt-pkg-perl",
 | 
			
		||||
                "libarchive-extract-perl",
 | 
			
		||||
                "libarchive-zip-perl",
 | 
			
		||||
                "libarchive13",
 | 
			
		||||
                "libasan1",
 | 
			
		||||
                "libasn1-8-heimdal",
 | 
			
		||||
                "libasprintf-dev",
 | 
			
		||||
                "libasprintf0c2",
 | 
			
		||||
                "libatm1",
 | 
			
		||||
                "libatomic1",
 | 
			
		||||
                "libauthen-sasl-perl",
 | 
			
		||||
                "libbabeltrace-ctf1",
 | 
			
		||||
                "libbabeltrace1",
 | 
			
		||||
                "libboost-filesystem1.55.0",
 | 
			
		||||
                "libboost-iostreams1.55.0",
 | 
			
		||||
                "libboost-program-options1.55.0",
 | 
			
		||||
                "libboost-system1.55.0",
 | 
			
		||||
                "libbotan-1.10-0",
 | 
			
		||||
                "libc-dev-bin",
 | 
			
		||||
                "libc6-dbg",
 | 
			
		||||
                "libc6-dev",
 | 
			
		||||
                "libcap-ng0",
 | 
			
		||||
                "libcgi-fast-perl",
 | 
			
		||||
                "libcgi-pm-perl",
 | 
			
		||||
                "libclass-accessor-perl",
 | 
			
		||||
                "libclass-c3-perl",
 | 
			
		||||
                "libclass-c3-xs-perl",
 | 
			
		||||
                "libclick-0.4-0",
 | 
			
		||||
                "libclone-perl",
 | 
			
		||||
                "libcloog-isl4",
 | 
			
		||||
                "libcommon-sense-perl",
 | 
			
		||||
                "libcpan-meta-perl",
 | 
			
		||||
                "libcroco3",
 | 
			
		||||
                "libcurl3",
 | 
			
		||||
                "libcurl3-gnutls",
 | 
			
		||||
                "libdata-optlist-perl",
 | 
			
		||||
                "libdata-section-perl",
 | 
			
		||||
                "libdbus-1-3",
 | 
			
		||||
                "libdbus-glib-1-2",
 | 
			
		||||
                "libdigest-hmac-perl",
 | 
			
		||||
                "libdistro-info-perl",
 | 
			
		||||
                "libdns-export100",
 | 
			
		||||
                "libdpkg-perl",
 | 
			
		||||
                "libemail-valid-perl",
 | 
			
		||||
                "libencode-locale-perl",
 | 
			
		||||
                "liberror-perl",
 | 
			
		||||
                "libmpfr4",
 | 
			
		||||
                "libmpc3",
 | 
			
		||||
                "perl",
 | 
			
		||||
                "libisl13",
 | 
			
		||||
                "make",
 | 
			
		||||
                "matchbox-common",
 | 
			
		||||
                "matchbox-window-manager",
 | 
			
		||||
                "matchbox-desktop",
 | 
			
		||||
                "matchbox-panel",
 | 
			
		||||
                "matchbox-panel-manager",
 | 
			
		||||
                "matchbox-keyboard", 
 | 
			
		||||
                "libfakekey0", 
 | 
			
		||||
                "libmatchbox1",
 | 
			
		||||
                "libxsettings-client0",
 | 
			
		||||
                "ttf-dejavu",
 | 
			
		||||
                "matchbox-keyboard-im",
 | 
			
		||||
                "libpango1.0-0",
 | 
			
		||||
                "libpangox-1.0-0", 
 | 
			
		||||
                "libpangoxft-1.0-0",
 | 
			
		||||
                "libstartup-notification0",
 | 
			
		||||
                "libxft2",
 | 
			
		||||
                "libpthread-stubs0-dev", 
 | 
			
		||||
                "libxau-dev",
 | 
			
		||||
                "libxcb-xinerama0", 
 | 
			
		||||
                "libxcb1-dev", 
 | 
			
		||||
                "libxdmcp-dev",
 | 
			
		||||
                "x11proto-core-dev", 
 | 
			
		||||
                "xorg-sgml-doctools",
 | 
			
		||||
                "zlib1g",
 | 
			
		||||
                "gcc-4.9-base",
 | 
			
		||||
                "libstdc++-4.9-dev"
 | 
			
		||||
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_webroot_url_from_self_link(self_link):
 | 
			
		||||
    scheme, netloc, _, _, _ = urlparse.urlsplit(self_link)
 | 
			
		||||
    netloc = netloc.lstrip("api.")
 | 
			
		||||
    return u"%s://%s/" % (scheme, netloc)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_deb(archive, package, series, arch):
 | 
			
		||||
    re_version = re.compile(r"^\d+\:")
 | 
			
		||||
    arch_series = series.getDistroArchSeries(archtag=arch)
 | 
			
		||||
    x = archive.getPublishedBinaries(binary_name=package,
 | 
			
		||||
                                     distro_arch_series=arch_series,
 | 
			
		||||
                                     status="Published", pocket='Release',
 | 
			
		||||
                                     exact_match=True)
 | 
			
		||||
 | 
			
		||||
    webroot = create_webroot_url_from_self_link(archive.self_link)
 | 
			
		||||
    version = x[0].binary_package_version
 | 
			
		||||
    version = re_version.sub("", version, 1)
 | 
			
		||||
    if archive.owner.name == "ubuntu-archive":
 | 
			
		||||
        yield "%subuntu/+archive/primary/+files/%s_%s_%s.deb" \
 | 
			
		||||
            % (webroot, x[0].binary_package_name, version, arch)
 | 
			
		||||
    else:
 | 
			
		||||
        yield "%s/~ubuntu-sdk-team/+archive/ubuntu/ppa/+files/%s_%s_%s.deb" \
 | 
			
		||||
            % (webroot, x[0].binary_package_name, version, arch)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    parser = OptionParser(usage="usage: %prog [options] source ...")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        "-l", "--launchpad", dest="launchpad_instance", default="production")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        "-a", "--arch", dest="arch", default="armhf", choices=['armhf', 'i386', 'amd64',], help="architecture of the package")
 | 
			
		||||
 | 
			
		||||
    options, args = parser.parse_args()
 | 
			
		||||
    arch = options.arch
 | 
			
		||||
    launchpad = Launchpad.login_anonymously('just testing',
 | 
			
		||||
                                            options.launchpad_instance)
 | 
			
		||||
    ubuntu = launchpad.distributions["ubuntu"]
 | 
			
		||||
    distro_archive = ubuntu.main_archive
 | 
			
		||||
    overlay_archive = launchpad.people["ubuntu-sdk-team"].\
 | 
			
		||||
        getPPAByName(name="ppa")
 | 
			
		||||
    series = ubuntu.getSeries(name_or_version="vivid")
 | 
			
		||||
 | 
			
		||||
    arch_series = series.getDistroArchSeries(archtag=arch)
 | 
			
		||||
 | 
			
		||||
    build_directory = "./click-%s/" % arch
 | 
			
		||||
    if not os.path.exists(build_directory):
 | 
			
		||||
        os.makedirs(build_directory)
 | 
			
		||||
    src="./click/"
 | 
			
		||||
    src_files = os.listdir(src)
 | 
			
		||||
    for file_name in src_files:
 | 
			
		||||
        full_file_name = os.path.join(src, file_name)
 | 
			
		||||
        if (os.path.isfile(full_file_name)):
 | 
			
		||||
            shutil.copy(full_file_name, build_directory)
 | 
			
		||||
 | 
			
		||||
    for ide_package in ide_packages:
 | 
			
		||||
        re_version = re.compile(r"^\d+\:")
 | 
			
		||||
        archive = overlay_archive
 | 
			
		||||
        x = overlay_archive.getPublishedBinaries(
 | 
			
		||||
            binary_name=ide_package,
 | 
			
		||||
            distro_arch_series=arch_series,
 | 
			
		||||
            status="Published", pocket='Release',
 | 
			
		||||
            exact_match=True)
 | 
			
		||||
 | 
			
		||||
        if len(x) == 0:
 | 
			
		||||
            archive = distro_archive
 | 
			
		||||
            x = distro_archive.getPublishedBinaries(
 | 
			
		||||
                binary_name=ide_package,
 | 
			
		||||
                distro_arch_series=arch_series,
 | 
			
		||||
                status="Published", pocket='Release',
 | 
			
		||||
                exact_match=True)
 | 
			
		||||
            if len(x) == 0:
 | 
			
		||||
                print("Could not find "+ide_package)
 | 
			
		||||
                sys.exit(1)
 | 
			
		||||
            else:
 | 
			
		||||
                print(ide_package+" found in Archive")
 | 
			
		||||
        else:
 | 
			
		||||
            print(ide_package+" found in SDK PPA")
 | 
			
		||||
 | 
			
		||||
        x = x[0].binary_package_version
 | 
			
		||||
 | 
			
		||||
        generator = get_deb(archive, ide_package, series, arch)
 | 
			
		||||
        for i in generator:
 | 
			
		||||
            request = requests.get(i)
 | 
			
		||||
            if request.status_code != 200:
 | 
			
		||||
                i = re.sub('_%s.deb' % arch, '_all.deb', i)
 | 
			
		||||
               
 | 
			
		||||
            if ide_package != 'ubuntu-ui-toolkit':
 | 
			
		||||
                binary_package_name = re.sub(r'-opensource-src',
 | 
			
		||||
                                             r'',
 | 
			
		||||
                                             ide_package.rstrip())
 | 
			
		||||
            else:
 | 
			
		||||
                binary_package_name = re.sub(r'ubuntu-ui-toolkit',
 | 
			
		||||
                                             r'ubuntu-sdk',
 | 
			
		||||
                                             ide_package.rstrip())
 | 
			
		||||
            call(["wget", i, "-nv"])
 | 
			
		||||
            for deb_file in glob.glob('%s*deb' % ide_package):
 | 
			
		||||
                call(["dpkg-deb", "-x", deb_file, build_directory])
 | 
			
		||||
            for junk_files in glob.glob("*.deb"):
 | 
			
		||||
                os.remove(junk_files)
 | 
			
		||||
#    click_package_rev = subprocess.Popen(["bzr", "revno"], stdout=subprocess.PIPE).communicate()[0]
 | 
			
		||||
#    click_package_rev = click_package_rev.rstrip()
 | 
			
		||||
#    manifest_file = open('click/manifest.json','r')
 | 
			
		||||
#    manifest_with_orig_version = manifest_file.read()
 | 
			
		||||
#    manifest_file.close()
 | 
			
		||||
#    manifest_with_new_version = re.sub("\"version\":\s+\".*\"", "\"version\": \"%s\"" % click_package_rev, manifest_with_orig_version)
 | 
			
		||||
#    manifest_file = open('click/manifest.json','w')
 | 
			
		||||
#    manifest_file.write(manifest_with_new_version)
 | 
			
		||||
#    manifest_file.close()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    call(["create_kit.sh","-a",arch])
 | 
			
		||||
    s=open("%s/manifest.json" % build_directory).read()
 | 
			
		||||
    s=s.replace('armhf', '%s' % arch)
 | 
			
		||||
    f=open("%s/manifest.json" % build_directory, 'w')
 | 
			
		||||
    f.write(s)
 | 
			
		||||
    f.close()
 | 
			
		||||
    call(["click", "build", build_directory])
 | 
			
		||||
main()
 | 
			
		||||
							
								
								
									
										76
									
								
								create_kit.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										76
									
								
								create_kit.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
ARCH="armhf"
 | 
			
		||||
while getopts "ha:" opt; do
 | 
			
		||||
    case $opt in
 | 
			
		||||
	a)
 | 
			
		||||
	    ARCH=$OPTARG
 | 
			
		||||
            ;;
 | 
			
		||||
        h)
 | 
			
		||||
            echo "Usage: create_kit.sh -a [arch]"
 | 
			
		||||
            echo -e "\t-a : Creat Kit for the given arch type.  Default: ${ARCH} [armhf, i386, amd64]"
 | 
			
		||||
	    exit
 | 
			
		||||
            ;;
 | 
			
		||||
       :)
 | 
			
		||||
           echo "Option -$OPTARG requires an argument." >&2
 | 
			
		||||
           exit 1
 | 
			
		||||
           ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
QT_UID="UbuntuSDK-API-Qt"
 | 
			
		||||
SDK_TOOL="/usr/ubuntu-sdk-ide/bin/sdktool"
 | 
			
		||||
SDKPATH="./click-${ARCH}/usr/ubuntu-sdk-ide/share/qtcreator/QtProject/qtcreator"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
rm ${SDKPATH}/*.xml
 | 
			
		||||
 | 
			
		||||
case "${ARCH}" in
 | 
			
		||||
  amd64)
 | 
			
		||||
    GCC_UID="ProjectExplorer.ToolChain.Gcc:UbuntuSDKGCC-x86_64-linux-gnu"
 | 
			
		||||
    NAME="GCC (x86 64bit in /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/g++)"
 | 
			
		||||
    ABI="x86-linux-generic-elf-64bit" 
 | 
			
		||||
    SUPPORTED_ABIS="x86-linux-generic-elf-64bit,x86-linux-generic-elf-32bit"
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  i386)
 | 
			
		||||
    GCC_UID="ProjectExplorer.ToolChain.Gcc:UbuntuSDKGCC-x86-linux-generic-elf-32bit"
 | 
			
		||||
    NAME="GCC (x86 32bit in /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/g++)"
 | 
			
		||||
    ABI="x86-linux-generic-elf-32bit"
 | 
			
		||||
    SUPPORTED_ABIS="x86-linux-generic-elf-32bit"
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  armhf)
 | 
			
		||||
    GCC_UID="ProjectExplorer.ToolChain.Gcc:UbuntuSDKGCC-arm-linux-generic-elf-32bit"
 | 
			
		||||
    NAME="GCC (armhf in /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/g++)"
 | 
			
		||||
    ABI="arm-linux-generic-elf-32bit"
 | 
			
		||||
    SUPPORTED_ABIS="arm-linux-generic-elf-32bit"
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    echo "Unknown architecture"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
${SDK_TOOL} --sdkpath=${SDKPATH} addTC \
 | 
			
		||||
      --id "${GCC_UID}" \
 | 
			
		||||
      --name "${NAME}" \
 | 
			
		||||
      --path /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/g++ \
 | 
			
		||||
      --abi "${ABI}" \
 | 
			
		||||
      --supportedAbis "${SUPPORTED_ABIS}"
 | 
			
		||||
 | 
			
		||||
${SDK_TOOL} --sdkpath=${SDKPATH} addQt \
 | 
			
		||||
    --id   "${QT_UID}" \
 | 
			
		||||
    --name "Ubuntu SDK Desktop Qt" \
 | 
			
		||||
    --qmake /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/qmake-clicksdk \
 | 
			
		||||
    --type Qt4ProjectManager.QtVersion.Desktop
 | 
			
		||||
 | 
			
		||||
${SDK_TOOL} --sdkpath=${SDKPATH} addKit \
 | 
			
		||||
        --id "UbuntuSDK-API-Desktop-Kit" \
 | 
			
		||||
        --name "Ubuntu SDK Desktop Kit" \
 | 
			
		||||
        --debuggerengine 1 \
 | 
			
		||||
        --debugger /opt/click.ubuntu.com/com.ubuntu.sdk/current/usr/bin/gdb \
 | 
			
		||||
        --devicetype Desktop \
 | 
			
		||||
        --toolchain "${GCC_UID}" \
 | 
			
		||||
        --qt "${QT_UID}"
 | 
			
		||||
							
								
								
									
										13
									
								
								setup/gui/ubuntu-sdk-ide.desktop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								setup/gui/ubuntu-sdk-ide.desktop
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Exec=ubuntu-sdk-ide %F
 | 
			
		||||
TryExec=ubuntu-sdk-ide
 | 
			
		||||
Icon=${SNAP}/meta/gui/ubuntu-sdk-ide.png
 | 
			
		||||
Type=Application
 | 
			
		||||
Terminal=false
 | 
			
		||||
Name=Ubuntu SDK IDE
 | 
			
		||||
GenericName=Integrated Development Environment
 | 
			
		||||
MimeType=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;application/x-qmlproject;
 | 
			
		||||
Categories=Qt;Development;IDE;
 | 
			
		||||
InitialPreference=9
 | 
			
		||||
Keywords=IDE;Ubuntu SDK IDE;buntu SDK;SDK;Ubuntu Touch;Qt Creator;Qt
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								setup/gui/ubuntu-sdk-ide.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								setup/gui/ubuntu-sdk-ide.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										23
									
								
								snapcraft.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								snapcraft.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
name: ubuntu-sdk-ide
 | 
			
		||||
version: "0"
 | 
			
		||||
summary: Integrated Development Environment for Ubuntu Touch
 | 
			
		||||
description: |
 | 
			
		||||
 Qt Creator is a lightweight, cross-platform integrated development environment (IDE) designed to make
 | 
			
		||||
 development with the Qt application framework even faster and easier. 
 | 
			
		||||
 
 | 
			
		||||
 This package contains the Qt Creator and the Ubuntu plugins providing deeper integration for developing
 | 
			
		||||
 applications for Ubuntu using the Ubuntu UI Toolkit. It also introduces an Ubuntu themed welcome screen.
 | 
			
		||||
confinement: devmode
 | 
			
		||||
 | 
			
		||||
apps:
 | 
			
		||||
    ubuntu-sdk-ide:
 | 
			
		||||
        command: desktop-launch $SNAP/usr/ubuntu-sdk-ide/bin/qtcreator.sh -noload Ubuntu
 | 
			
		||||
        plugs: [unity7, opengl, network-bind]
 | 
			
		||||
 | 
			
		||||
parts:
 | 
			
		||||
    ubuntu-sdk-ide:
 | 
			
		||||
        plugin: nil
 | 
			
		||||
        stage-packages:
 | 
			
		||||
            - ubuntu-sdk-ide
 | 
			
		||||
        # https://wiki.ubuntu.com/snapcraft/parts
 | 
			
		||||
        after: [desktop-glib-only]
 | 
			
		||||
		Reference in New Issue
	
	Block a user