Merge lp:~dpm/humpolec/converge-branches into lp:humpolec

Proposed by David Planella
Status: Needs review
Proposed branch: lp:~dpm/humpolec/converge-branches
Merge into: lp:humpolec
Diff against target: 3279 lines (+3057/-0)
36 files modified
.bzrignore (+1/-0)
Android/boot-manager/Android.mk (+12/-0)
Android/boot-manager/Makefile (+15/-0)
Android/boot-manager/bootimg.h (+100/-0)
Android/boot-manager/bootmgr.c (+149/-0)
Android/loop-mount-agent/Android.mk (+27/-0)
Android/loop-mount-agent/aloopmount.cpp (+133/-0)
Ubuntu/Makefile (+203/-0)
Ubuntu/app/Makefile (+14/-0)
Ubuntu/app/tests/autopilot/contactsimporter/__init__.py (+132/-0)
Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py (+1/-0)
Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py (+23/-0)
Ubuntu/app/tests/autopilot/run (+11/-0)
Ubuntu/app/tests/unit/tst_hellocomponent.qml (+49/-0)
Ubuntu/app/ubuntudualboot.desktop (+8/-0)
Ubuntu/app/ubuntudualboot.qml (+57/-0)
Ubuntu/backend/Makefile (+205/-0)
Ubuntu/backend/backend.pro (+8/-0)
Ubuntu/backend/modules/ubuntuboot/Makefile (+887/-0)
Ubuntu/backend/modules/ubuntuboot/backend.cpp (+17/-0)
Ubuntu/backend/modules/ubuntuboot/backend.h (+18/-0)
Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp (+155/-0)
Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp (+162/-0)
Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp (+213/-0)
Ubuntu/backend/modules/ubuntuboot/qmldir (+2/-0)
Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp (+35/-0)
Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h (+50/-0)
Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro (+36/-0)
Ubuntu/click/manifest.json (+15/-0)
Ubuntu/click/plugin/ubuntuboot/qmldir (+2/-0)
Ubuntu/click/ubuntudualboot.desktop (+8/-0)
Ubuntu/click/ubuntudualboot.json (+8/-0)
Ubuntu/click/ubuntudualboot.qml (+57/-0)
Ubuntu/click_howto (+9/-0)
Ubuntu/ubuntudualboot.pro (+11/-0)
install/dualboot.sh (+224/-0)
To merge this branch: bzr merge lp:~dpm/humpolec/converge-branches
Reviewer Review Type Date Requested Status
The Humpolec team Pending
Review via email: mp+205719@code.launchpad.net

Description of the change

Currently the humpolec trunk branch associated with the project only contains the Android app.

Other branches including Android backend bits, the Ubuntu app and the installation script are scattered around under ~humpolec-team/humpolec, but are not part of the project's official branch. See [1]

This makes it difficult to send merge proposals and to find out which branches are part of the project and which ones are either obsolete or feature branches from other contributors.

This merge proposal seeks to solve this issue with a light reorganization of the source tree to include all the code in one single branch. There are no changes in the code itself, it's simply an addition of the code in separate branches to the project's trunk branch.

[1] https://code.launchpad.net/humpolec

To post a comment you must log in.
Revision history for this message
Rex Tsai (chihchun) wrote :

Thanks

These are different codebase, I would prefer to keep them separated. Because each project need to be built with different build environment.

Revision history for this message
David Planella (dpm) wrote :

Thanks Rex for the reply. I still think there is benefit to having the code in one place, rather than using branches not directly connected to the project as if they were separate projects.

Keeping them all under the same project and branch as per this merge proposal is the simplest option. But there is another alternative: creating a separate project for each one of: Android app, Ubuntu app, boot manager, loop mount agent, install script and then creating a project group that includes each subproject. That's the way we did it for the Touch projects [1] and the core apps [2].

What do you think?

[1] https://launchpad.net/ubuntu-touch-preview
[2] https://launchpad.net/ubuntu-phone-coreapps

Revision history for this message
Rex Tsai (chihchun) wrote :

Yes, I agree to create separate project for each codebase is much clear for end user.

Unmerged revisions

65. By David Planella

Removed files that don't need to be under version control as they are generated

64. By David Planella

Merged ubuntudualboot branch

63. By David Planella

Merged install-script branch

62. By David Planella

Merged bootmgr branch

61. By David Planella

Merged android-loop-mount-agent branch

60. By David Planella

Reorganized the source tree in preparation to adding the different parts of the project to the same branch

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2013-12-08 16:01:23 +0000
3+++ .bzrignore 2014-02-11 09:12:08 +0000
4@@ -4,3 +4,4 @@
5 gen
6 android-ubuntu-launcher.apk
7
8+ubuntudualboot.pro.user
9
10=== added directory 'Android'
11=== added directory 'Android/app'
12=== renamed file 'Android.mk' => 'Android/app/Android.mk'
13=== renamed file 'AndroidManifest.xml' => 'Android/app/AndroidManifest.xml'
14=== renamed directory 'art' => 'Android/app/art'
15=== renamed directory 'assets' => 'Android/app/assets'
16=== renamed file 'build.xml' => 'Android/app/build.xml'
17=== renamed directory 'doc' => 'Android/app/doc'
18=== renamed file 'ic_installer-web.png' => 'Android/app/ic_installer-web.png'
19=== renamed file 'ic_launcher-web.png' => 'Android/app/ic_launcher-web.png'
20=== renamed directory 'libs' => 'Android/app/libs'
21=== renamed file 'make_release.sh' => 'Android/app/make_release.sh'
22=== renamed file 'proguard-project.txt' => 'Android/app/proguard-project.txt'
23=== renamed file 'project.properties' => 'Android/app/project.properties'
24=== renamed directory 'res' => 'Android/app/res'
25=== renamed directory 'src' => 'Android/app/src'
26=== added directory 'Android/boot-manager'
27=== added file 'Android/boot-manager/Android.mk'
28--- Android/boot-manager/Android.mk 1970-01-01 00:00:00 +0000
29+++ Android/boot-manager/Android.mk 2014-02-11 09:12:08 +0000
30@@ -0,0 +1,12 @@
31+# Copyright 2013 Canonical Ltd.
32+
33+LOCAL_PATH := $(call my-dir)
34+
35+include $(CLEAR_VARS)
36+LOCAL_MODULE := bootmgr
37+LOCAL_MODULE_TAGS := optional
38+LOCAL_C_INCLUDES := $(LOCAL_PATH)
39+LOCAL_SRC_FILES := bootmgr.c
40+LOCAL_FORCE_STATIC_EXECUTABLE := true
41+LOCAL_STATIC_LIBRARIES := libc
42+include $(BUILD_EXECUTABLE)
43
44=== added file 'Android/boot-manager/Makefile'
45--- Android/boot-manager/Makefile 1970-01-01 00:00:00 +0000
46+++ Android/boot-manager/Makefile 2014-02-11 09:12:08 +0000
47@@ -0,0 +1,15 @@
48+# Copyright 2013 Canonical Ltd.
49+
50+CC=gcc
51+CFLAGS=-I. -Wall
52+LDFLAGS=
53+
54+all: bootmgr
55+
56+bootmgr: bootmgr.c bootimg.h
57+ $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
58+
59+.PHONY: clean
60+
61+clean:
62+ rm -f $(TARGETS) *.o
63
64=== added file 'Android/boot-manager/bootimg.h'
65--- Android/boot-manager/bootimg.h 1970-01-01 00:00:00 +0000
66+++ Android/boot-manager/bootimg.h 2014-02-11 09:12:08 +0000
67@@ -0,0 +1,100 @@
68+/* tools/mkbootimg/bootimg.h
69+**
70+** Copyright 2007, The Android Open Source Project
71+**
72+** Licensed under the Apache License, Version 2.0 (the "License");
73+** you may not use this file except in compliance with the License.
74+** You may obtain a copy of the License at
75+**
76+** http://www.apache.org/licenses/LICENSE-2.0
77+**
78+** Unless required by applicable law or agreed to in writing, software
79+** distributed under the License is distributed on an "AS IS" BASIS,
80+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
81+** See the License for the specific language governing permissions and
82+** limitations under the License.
83+*/
84+
85+#ifndef _BOOT_IMAGE_H_
86+#define _BOOT_IMAGE_H_
87+
88+typedef struct boot_img_hdr boot_img_hdr;
89+
90+#define BOOT_MAGIC "ANDROID!"
91+#define BOOT_MAGIC_SIZE 8
92+#define BOOT_NAME_SIZE 16
93+#define BOOT_ARGS_SIZE 512
94+#define RESERVE_LOG_MAGIC 0x474F4C52 //ML,"RLOG" in ascii
95+
96+struct boot_img_hdr
97+{
98+ unsigned char magic[BOOT_MAGIC_SIZE];
99+
100+ unsigned kernel_size; /* size in bytes */
101+ unsigned kernel_addr; /* physical load addr */
102+
103+ unsigned ramdisk_size; /* size in bytes */
104+ unsigned ramdisk_addr; /* physical load addr */
105+
106+ unsigned second_size; /* size in bytes */
107+ unsigned second_addr; /* physical load addr */
108+
109+ unsigned tags_addr; /* physical addr for kernel tags */
110+ unsigned page_size; /* flash page size we assume */
111+ unsigned unused[2]; /* future expansion: should be 0 */
112+
113+ unsigned char name[BOOT_NAME_SIZE]; /* asciiz product name */
114+
115+ unsigned char cmdline[BOOT_ARGS_SIZE];
116+
117+ unsigned id[8]; /* timestamp / checksum / sha1 / etc */
118+ unsigned log_buf_magic; /* physical log buf addr */
119+ unsigned log_buf_addr; /* physical log buf addr */
120+};
121+
122+/*
123+** +-----------------+
124+** | boot header | 1 page
125+** +-----------------+
126+** | kernel | n pages
127+** +-----------------+
128+** | ramdisk | m pages
129+** +-----------------+
130+** | second stage | o pages
131+** +-----------------+
132+**
133+** n = (kernel_size + page_size - 1) / page_size
134+** m = (ramdisk_size + page_size - 1) / page_size
135+** o = (second_size + page_size - 1) / page_size
136+**
137+** 0. all entities are page_size aligned in flash
138+** 1. kernel and ramdisk are required (size != 0)
139+** 2. second is optional (second_size == 0 -> no second)
140+** 3. load each element (kernel, ramdisk, second) at
141+** the specified physical address (kernel_addr, etc)
142+** 4. prepare tags at tag_addr. kernel_args[] is
143+** appended to the kernel commandline in the tags.
144+** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr
145+** 6. if second_size != 0: jump to second_addr
146+** else: jump to kernel_addr
147+*/
148+
149+#if 0
150+typedef struct ptentry ptentry;
151+
152+struct ptentry {
153+ char name[16]; /* asciiz partition name */
154+ unsigned start; /* starting block number */
155+ unsigned length; /* length in blocks */
156+ unsigned flags; /* set to zero */
157+};
158+
159+/* MSM Partition Table ATAG
160+**
161+** length: 2 + 7 * n
162+** atag: 0x4d534d70
163+** <ptentry> x n
164+*/
165+#endif
166+
167+#endif
168
169=== added file 'Android/boot-manager/bootmgr.c'
170--- Android/boot-manager/bootmgr.c 1970-01-01 00:00:00 +0000
171+++ Android/boot-manager/bootmgr.c 2014-02-11 09:12:08 +0000
172@@ -0,0 +1,149 @@
173+/*
174+ * Copyright 2013 Canonical Ltd.
175+ * Authros
176+ * Rex Tsai <rex.tsai@canonical.com>
177+ *
178+ * Copyright 2011 Jens Andersen (@EnJens)
179+ */
180+
181+#include <stdio.h>
182+#include <stdlib.h>
183+#include <string.h>
184+#include "bootimg.h"
185+
186+#ifdef __ANDROID__
187+#include <utils/Log.h>
188+#endif
189+
190+
191+#ifndef SHA_DIGEST_SIZE
192+#define SHA_DIGEST_SIZE 20
193+#endif
194+#define SHA_DIGEST_STR_SIZE 40
195+#define BUFFER_SIZE 2048
196+
197+#ifdef __ANDROID__
198+#define debug(fmt, ...) do { \
199+ printf(fmt, __VA_ARGS__); \
200+ ALOGV(fmt,__VA_ARGS__); \
201+} while(0)
202+#else
203+#define debug(fmt, ...) do { \
204+ printf(fmt, __VA_ARGS__); \
205+} while(0)
206+#endif
207+
208+
209+int verify(char* filename, char* sha1sum, int* size, int verbose)
210+{
211+ boot_img_hdr hdr;
212+ FILE *fh;
213+
214+ fh = fopen(filename, "r");
215+ if(fh == NULL)
216+ return -1;
217+ fread(&hdr, sizeof(boot_img_hdr), 1, fh);
218+ fclose(fh);
219+
220+ // it's not even a boot image.
221+ if(strncmp((const char*)hdr.magic, BOOT_MAGIC, BOOT_MAGIC_SIZE))
222+ return -2;
223+ if(hdr.kernel_size < 1 || hdr.ramdisk_size < 1)
224+ return -2;
225+
226+ unsigned int header_padding = sizeof(boot_img_hdr) + (-sizeof(boot_img_hdr) & (hdr.page_size -1));
227+ unsigned int kernel_padding = hdr.kernel_size + ((-hdr.kernel_size) & (hdr.page_size -1));
228+ unsigned int ramdisk_padding = hdr.ramdisk_size + ((-hdr.ramdisk_size) & (hdr.page_size -1));
229+
230+ *size = header_padding + kernel_padding + ramdisk_padding + hdr.second_size;
231+
232+ snprintf(sha1sum, SHA_DIGEST_STR_SIZE, "%X%X%X%X%X", hdr.id[0], hdr.id[1], hdr.id[2], hdr.id[3], hdr.id[4]);
233+
234+ if(verbose) {
235+ debug("Magic: %.*s\n", BOOT_MAGIC_SIZE, hdr.magic);
236+ debug("ID: %s\n", sha1sum);
237+ debug("Kernel size: 0x%X (%d)\n", hdr.kernel_size, hdr.kernel_size);
238+ debug("Kernel addr: 0x%X\n", hdr.kernel_addr);
239+ debug("Ramdisk size: 0x%X (%d)\n", hdr.ramdisk_size, hdr.ramdisk_size);
240+ debug("Ramdisk addr: 0x%X\n", hdr.ramdisk_addr);
241+
242+ debug("Second size: 0x%X (%d)\n", hdr.second_size, hdr.second_size);
243+ debug("Second addr: 0x%X\n", hdr.second_addr);
244+ debug("Tags addr: 0x%X\n", hdr.tags_addr);
245+ debug("Page size: 0x%X (%d)\n", hdr.page_size, hdr.page_size);
246+ debug("Name: %.*s\n", BOOT_NAME_SIZE, hdr.name);
247+ debug("Cmdline: %.*s\n", BOOT_ARGS_SIZE, hdr.cmdline);
248+ }
249+ return 0;
250+}
251+
252+int main(int argc, char **argv)
253+{
254+ char* sha1sum = malloc(SHA_DIGEST_STR_SIZE*sizeof(char));
255+
256+ int filesize;
257+ int dump = 0;
258+
259+
260+ if(argc < 3) {
261+ debug("Usage: %s [-d(ump)] [-c](checksum) [-b](backup) <boot.img>\n", argv[0]);
262+ return -1;
263+ }
264+
265+ // dump the image information.
266+ if(!strncmp(argv[1], "-d", 2*sizeof(char))) {
267+ dump = 1;
268+ }
269+
270+ if(verify(argv[2], sha1sum, &filesize, dump) < 0) {
271+ debug("%s is not a correct image.\n", argv[2]);
272+ return -1;
273+ }
274+ if(dump)
275+ return 0;
276+
277+ // dump the image checksum
278+ if(!strncmp(argv[1], "-c", 2*sizeof(char))) {
279+ debug("%s\n", sha1sum);
280+ return 0;
281+ }
282+
283+ // backup the image
284+ if(!strncmp(argv[1], "-b", 2*sizeof(char))) {
285+ char* out_sha1sum = malloc(SHA_DIGEST_STR_SIZE*sizeof(char));
286+ int out_filesize;
287+
288+ // check if files have same checksum
289+ if(verify(argv[3], out_sha1sum, &out_filesize, 0) == 0)
290+ if(strncmp(sha1sum, out_sha1sum, SHA_DIGEST_STR_SIZE) == 0)
291+ return 0;
292+
293+
294+ unsigned int dataleft = filesize;
295+ FILE *in;
296+ FILE *out;
297+ in = fopen(argv[2], "rb");
298+ out = fopen(argv[3], "wb");
299+ if(in == NULL || out == NULL) return -1;
300+
301+ char buffer[BUFFER_SIZE];
302+ while(dataleft > 0) {
303+ unsigned int fsize = BUFFER_SIZE < dataleft ? BUFFER_SIZE : dataleft;
304+ unsigned int read_data = fread(buffer, 1, fsize, in);
305+ unsigned int written_data = fwrite(buffer, 1, read_data, out);
306+ if(read_data != written_data) {
307+ abort();
308+ }
309+ dataleft -= read_data;
310+ }
311+
312+ fclose(in);
313+ fclose(out);
314+
315+ return 0;
316+ }
317+
318+ debug("Usage: %s [-d(ump)] [-c](checksum) [-b](backup) <boot.img>\n", argv[0]);
319+ return -1;
320+
321+}
322
323=== added directory 'Android/loop-mount-agent'
324=== added file 'Android/loop-mount-agent/Android.mk'
325--- Android/loop-mount-agent/Android.mk 1970-01-01 00:00:00 +0000
326+++ Android/loop-mount-agent/Android.mk 2014-02-11 09:12:08 +0000
327@@ -0,0 +1,27 @@
328+#
329+# Copyright (C) 2012 Canonical, Ltd. All rights reserved.
330+#
331+
332+LOCAL_PATH:= $(call my-dir)
333+
334+include $(CLEAR_VARS)
335+
336+LOCAL_SRC_FILES:= aloopmount.cpp
337+
338+LOCAL_SHARED_LIBRARIES := \
339+ libutils \
340+ libcutils \
341+ libbinder \
342+ libdl
343+
344+LOCAL_STATIC_LIBRARIES := libvold
345+
346+LOCAL_C_INCLUDES := \
347+ $(TOP)/frameworks/base/include \
348+ $(TOP)/system
349+
350+LOCAL_MODULE:= aloopmount
351+
352+LOCAL_MODULE_TAGS := optional
353+
354+include $(BUILD_EXECUTABLE)
355
356=== added file 'Android/loop-mount-agent/aloopmount.cpp'
357--- Android/loop-mount-agent/aloopmount.cpp 1970-01-01 00:00:00 +0000
358+++ Android/loop-mount-agent/aloopmount.cpp 2014-02-11 09:12:08 +0000
359@@ -0,0 +1,133 @@
360+#define LOG_NDEBUG 0
361+#define LOG_TAG "AndroidLoopMountManager"
362+#include <utils/Log.h>
363+
364+#include <errno.h>
365+#include <stdio.h>
366+#include <stdlib.h>
367+#include <string.h>
368+#include <sys/mount.h>
369+#include <vold/Ext4.h>
370+#include <vold/Loop.h>
371+#include <private/android_filesystem_config.h>
372+
373+int main(int, char **);
374+
375+static void printUsage() {
376+ printf("This is android optimised loop mount agent allowing to safely loop mount and unmount in android environment\n");
377+ printf("Loop devices are atomatically managed and does not need to be manually created or destroyed\n");
378+ printf("Usage:\n");
379+ printf(" mount: aMountAgent mount <filesystem type> <image> <mountpoint>\n");
380+ printf(" mount: aMountAgent umount <mountpoint>\n");
381+}
382+
383+int mountimage(int argc, char **argv) {
384+ // we require 5 params <aloopmount> <command: mount> <fstype: ext4> <image: iso.img> <mount point: /tm/iso>
385+ if (argc != 5) {
386+ printf("Not enough parameter for mount.\n");
387+ printUsage();
388+ return -1;
389+ }
390+ char* fstype = argv[2];
391+ char* image = argv[3];
392+ char* mountPoint = realpath(argv[4], NULL);
393+ if(!mountPoint) {
394+ printf("Can not access %s - %s (%d)\n", argv[4], strerror(errno), errno);
395+ return -1;
396+ }
397+
398+ printf("Mounting %s of fstype %s to %s\n", image, fstype, mountPoint);
399+ char loopDevice[255];
400+ unsigned long flags;
401+ flags = MS_NOATIME | MS_NODEV | MS_NOSUID | MS_DIRSYNC;
402+ bool loopExists = false;
403+ if (!Loop::lookupActive(mountPoint, loopDevice, sizeof(loopDevice))) {
404+ // there is existing loop device for this mountpoint, something is not right
405+ // try to mount but if fails, do not destroy loop device
406+ loopExists = true;
407+ ALOGV("Loop device already exists: %s", loopDevice);
408+ } else {
409+ // create loop device
410+ if (Loop::create(mountPoint, image, loopDevice, sizeof(loopDevice))) {
411+ ALOGE("Failed to create lopp device for %s", image);
412+ printf("Failed to create lopp device for %s\n", image);
413+ return -1;
414+ }
415+ }
416+ // try to mount
417+ if (!mount(loopDevice, mountPoint, fstype, flags, NULL)) {
418+ SLOGV("%s mounted to %s with loop device %s", image, mountPoint, loopDevice);
419+ printf("%s mounted to %s with loop device %s\n", image, mountPoint, loopDevice);
420+ return 0;
421+ }
422+
423+ // mount failed
424+ SLOGE("mount failed for %s with error %d %s", mountPoint, errno, strerror(errno));
425+ printf("mount failed for %s with error %d %s\n", mountPoint, errno, strerror(errno));
426+ // shall we try to destroy loop device?
427+ if (!loopExists) {
428+ if ( 0 != Loop::destroyByDevice(loopDevice)) {
429+ ALOGE("Failed to destroy loop: %s with error %d %s", loopDevice, errno, strerror(errno));
430+ printf("Failed to destroy loop: %s with error %d %s\n",loopDevice, errno, strerror(errno));
431+ }
432+ }
433+ return -1;
434+}
435+
436+int unmountMountpoint(int argc, char ** argv) {
437+
438+ // we require 3 params <aloopmont> <command: umount> <mount point: /tm/iso>
439+ if (argc != 3) {
440+ printf("Not enough parameter for mount.\n");
441+ printUsage();
442+ return -1;
443+ }
444+ // try to unmount first
445+ char *mountPoint = realpath(argv[2], NULL);
446+ if(!mountPoint) {
447+ printf("Can not access %s - %s (%d)\n", argv[2], strerror(errno), errno);
448+ return -1;
449+ }
450+
451+ if (0 != umount(mountPoint)) {
452+ ALOGE("Failed to unmount %s with %d, %s", mountPoint, errno, strerror(errno));
453+ printf("Failed to unmount %s with %d, %s\n", mountPoint, errno, strerror(errno));
454+ return -1;
455+ }
456+ // try to destroy loop device
457+ char loopDevice[255];
458+ if (!Loop::lookupActive(mountPoint, loopDevice, sizeof(loopDevice))) {
459+ if ( 0 != Loop::destroyByDevice(loopDevice)) {
460+ printf("Failed to destroy loop: %s\n",loopDevice);
461+ return -1;
462+ }
463+ } else {
464+ printf("No loop device for: %s was found, was this loop mount?!\n", mountPoint);
465+ return -1;
466+ }
467+ printf("%s umounted, loop device %s destroyed\n", mountPoint, loopDevice);
468+ return 0;
469+}
470+
471+int main(int argc, char **argv) {
472+ /* first parameter will define if we do mount or umount
473+ * -mount has 3 parameter: mount <fstype> <image> <mountpoint>
474+ * -umount has 1 parameter: umount <mountpoint>
475+ */
476+ ALOGV("Number of passed parameters %d", argc);
477+ ALOGV("Called as: %s", argv[0]);
478+ if (argc < 2) {
479+ printf("Not enought parameters\n");
480+ printUsage();
481+ return -1;
482+ } else if (!strcmp(argv[1], "mount")) {
483+ // perform mount
484+ return mountimage(argc, argv);
485+ } else if (!strcmp(argv[1], "umount")) {
486+ // perform umount
487+ return unmountMountpoint(argc, argv);
488+ }
489+ printf("Unknown command\n");
490+ printUsage();
491+ return -1;
492+}
493
494=== added directory 'Ubuntu'
495=== added file 'Ubuntu/Makefile'
496--- Ubuntu/Makefile 1970-01-01 00:00:00 +0000
497+++ Ubuntu/Makefile 2014-02-11 09:12:08 +0000
498@@ -0,0 +1,203 @@
499+#############################################################################
500+# Makefile for building: ubuntudualboot
501+# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:22 2013
502+# Project: ubuntudualboot.pro
503+# Template: subdirs
504+# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ubuntudualboot.pro
505+#############################################################################
506+
507+MAKEFILE = Makefile
508+
509+first: make_first
510+QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
511+DEL_FILE = rm -f
512+CHK_DIR_EXISTS= test -d
513+MKDIR = mkdir -p
514+COPY = cp -f
515+COPY_FILE = cp -f
516+COPY_DIR = cp -f -R
517+INSTALL_FILE = install -m 644 -p
518+INSTALL_PROGRAM = install -m 755 -p
519+INSTALL_DIR = $(COPY_DIR)
520+DEL_FILE = rm -f
521+SYMLINK = ln -f -s
522+DEL_DIR = rmdir
523+MOVE = mv -f
524+SUBTARGETS = \
525+ sub-backend
526+
527+
528+sub-backend-qmake_all: FORCE
529+ @test -d backend/ || mkdir -p backend/
530+ cd backend/ && $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile
531+ cd backend/ && $(MAKE) -f Makefile qmake_all
532+sub-backend: FORCE
533+ @test -d backend/ || mkdir -p backend/
534+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile
535+sub-backend-make_first: FORCE
536+ @test -d backend/ || mkdir -p backend/
537+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile
538+sub-backend-all: FORCE
539+ @test -d backend/ || mkdir -p backend/
540+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile all
541+sub-backend-clean: FORCE
542+ @test -d backend/ || mkdir -p backend/
543+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile clean
544+sub-backend-distclean: FORCE
545+ @test -d backend/ || mkdir -p backend/
546+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile distclean
547+sub-backend-install_subtargets: FORCE
548+ @test -d backend/ || mkdir -p backend/
549+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile install
550+sub-backend-uninstall_subtargets: FORCE
551+ @test -d backend/ || mkdir -p backend/
552+ cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile uninstall
553+
554+Makefile: ubuntudualboot.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
555+ /usr/share/qt5/mkspecs/common/shell-unix.conf \
556+ /usr/share/qt5/mkspecs/common/unix.conf \
557+ /usr/share/qt5/mkspecs/common/linux.conf \
558+ /usr/share/qt5/mkspecs/common/gcc-base.conf \
559+ /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
560+ /usr/share/qt5/mkspecs/common/g++-base.conf \
561+ /usr/share/qt5/mkspecs/common/g++-unix.conf \
562+ /usr/share/qt5/mkspecs/qconfig.pri \
563+ /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
564+ /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
565+ /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
566+ /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
567+ /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
568+ /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
569+ /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
570+ /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
571+ /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
572+ /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
573+ /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
574+ /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
575+ /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
576+ /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
577+ /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
578+ /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
579+ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
580+ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
581+ /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
582+ /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
583+ /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
584+ /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
585+ /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
586+ /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
587+ /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
588+ /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
589+ /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
590+ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
591+ /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
592+ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
593+ /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
594+ /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
595+ /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
596+ /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
597+ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
598+ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
599+ /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
600+ /usr/share/qt5/mkspecs/features/qt_functions.prf \
601+ /usr/share/qt5/mkspecs/features/qt_config.prf \
602+ /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
603+ /usr/share/qt5/mkspecs/features/spec_post.prf \
604+ /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
605+ /usr/share/qt5/mkspecs/features/default_pre.prf \
606+ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
607+ /usr/share/qt5/mkspecs/features/resolve_config.prf \
608+ /usr/share/qt5/mkspecs/features/default_post.prf \
609+ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
610+ /usr/share/qt5/mkspecs/features/warn_on.prf \
611+ /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
612+ /usr/share/qt5/mkspecs/features/testcase_targets.prf \
613+ /usr/share/qt5/mkspecs/features/exceptions.prf \
614+ /usr/share/qt5/mkspecs/features/yacc.prf \
615+ /usr/share/qt5/mkspecs/features/lex.prf \
616+ ubuntudualboot.pro
617+ $(QMAKE) -o Makefile ubuntudualboot.pro
618+/usr/share/qt5/mkspecs/features/spec_pre.prf:
619+/usr/share/qt5/mkspecs/common/shell-unix.conf:
620+/usr/share/qt5/mkspecs/common/unix.conf:
621+/usr/share/qt5/mkspecs/common/linux.conf:
622+/usr/share/qt5/mkspecs/common/gcc-base.conf:
623+/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
624+/usr/share/qt5/mkspecs/common/g++-base.conf:
625+/usr/share/qt5/mkspecs/common/g++-unix.conf:
626+/usr/share/qt5/mkspecs/qconfig.pri:
627+/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
628+/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
629+/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
630+/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
631+/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
632+/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
633+/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
634+/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
635+/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
636+/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
637+/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
638+/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
639+/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
640+/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
641+/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
642+/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
643+/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
644+/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
645+/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
646+/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
647+/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
648+/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
649+/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
650+/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
651+/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
652+/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
653+/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
654+/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
655+/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
656+/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
657+/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
658+/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
659+/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
660+/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
661+/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
662+/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
663+/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
664+/usr/share/qt5/mkspecs/features/qt_functions.prf:
665+/usr/share/qt5/mkspecs/features/qt_config.prf:
666+/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
667+/usr/share/qt5/mkspecs/features/spec_post.prf:
668+/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
669+/usr/share/qt5/mkspecs/features/default_pre.prf:
670+/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
671+/usr/share/qt5/mkspecs/features/resolve_config.prf:
672+/usr/share/qt5/mkspecs/features/default_post.prf:
673+/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
674+/usr/share/qt5/mkspecs/features/warn_on.prf:
675+/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
676+/usr/share/qt5/mkspecs/features/testcase_targets.prf:
677+/usr/share/qt5/mkspecs/features/exceptions.prf:
678+/usr/share/qt5/mkspecs/features/yacc.prf:
679+/usr/share/qt5/mkspecs/features/lex.prf:
680+ubuntudualboot.pro:
681+qmake: FORCE
682+ @$(QMAKE) -o Makefile ubuntudualboot.pro
683+
684+qmake_all: sub-backend-qmake_all FORCE
685+
686+make_first: sub-backend-make_first FORCE
687+all: sub-backend-all FORCE
688+clean: sub-backend-clean FORCE
689+distclean: sub-backend-distclean FORCE
690+ -$(DEL_FILE) Makefile
691+install_subtargets: sub-backend-install_subtargets FORCE
692+uninstall_subtargets: sub-backend-uninstall_subtargets FORCE
693+
694+check: backend
695+ cd backend; qmake; make;
696+install: install_subtargets FORCE
697+
698+uninstall: uninstall_subtargets FORCE
699+
700+FORCE:
701+
702
703=== added directory 'Ubuntu/app'
704=== added file 'Ubuntu/app/Makefile'
705--- Ubuntu/app/Makefile 1970-01-01 00:00:00 +0000
706+++ Ubuntu/app/Makefile 2014-02-11 09:12:08 +0000
707@@ -0,0 +1,14 @@
708+# More information: https://wiki.ubuntu.com/Touch/Testing
709+#
710+# Notes for autopilot tests:
711+# -----------------------------------------------------------
712+# In order to run autopilot tests:
713+# sudo apt-add-repository ppa:autopilot/ppa
714+# sudo apt-get update
715+# sudo apt-get install python-autopilot autopilot-qt
716+#############################################################
717+
718+all:
719+
720+run:
721+ /usr/bin/qmlscene -I ../backend/modules $@ ubuntudualboot.qml --desktop_file_hint="ubuntudualboot.desktop"
722
723=== added directory 'Ubuntu/app/components'
724=== added directory 'Ubuntu/app/graphics'
725=== added file 'Ubuntu/app/graphics/toolbarIcon@8.png'
726Binary files Ubuntu/app/graphics/toolbarIcon@8.png 1970-01-01 00:00:00 +0000 and Ubuntu/app/graphics/toolbarIcon@8.png 2014-02-11 09:12:08 +0000 differ
727=== added file 'Ubuntu/app/icon.png'
728Binary files Ubuntu/app/icon.png 1970-01-01 00:00:00 +0000 and Ubuntu/app/icon.png 2014-02-11 09:12:08 +0000 differ
729=== added directory 'Ubuntu/app/tests'
730=== added directory 'Ubuntu/app/tests/autopilot'
731=== added directory 'Ubuntu/app/tests/autopilot/contactsimporter'
732=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/__init__.py'
733--- Ubuntu/app/tests/autopilot/contactsimporter/__init__.py 1970-01-01 00:00:00 +0000
734+++ Ubuntu/app/tests/autopilot/contactsimporter/__init__.py 2014-02-11 09:12:08 +0000
735@@ -0,0 +1,132 @@
736+# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
737+
738+"""Ubuntu Touch App autopilot tests."""
739+
740+from os import remove
741+import os.path
742+from tempfile import mktemp
743+import subprocess
744+
745+from autopilot.input import Mouse, Touch, Pointer
746+from autopilot.matchers import Eventually
747+from autopilot.platform import model
748+from testtools.matchers import Is, Not, Equals
749+from autopilot.testcase import AutopilotTestCase
750+
751+def get_module_include_path():
752+ return os.path.abspath(
753+ os.path.join(
754+ os.path.dirname(__file__),
755+ '..',
756+ '..',
757+ '..',
758+ '..',
759+ 'backend',
760+ 'modules')
761+ )
762+
763+
764+class UbuntuTouchAppTestCase(AutopilotTestCase):
765+ """A common test case class that provides several useful methods for the tests."""
766+
767+ if model() == 'Desktop':
768+ scenarios = [
769+ ('with mouse', dict(input_device_class=Mouse))
770+ ]
771+ else:
772+ scenarios = [
773+ ('with touch', dict(input_device_class=Touch))
774+ ]
775+
776+ @property
777+ def main_window(self):
778+ return MainWindow(self.app)
779+
780+
781+ def setUp(self):
782+ self.pointing_device = Pointer(self.input_device_class.create())
783+ super(UbuntuTouchAppTestCase, self).setUp()
784+ self.launch_test_qml()
785+
786+
787+ def launch_test_qml(self):
788+ # If the test class has defined a 'test_qml' class attribute then we
789+ # write it to disk and launch it inside the QML Scene. If not, then we
790+ # silently do nothing (presumably the test has something else planned).
791+ arch = subprocess.check_output(["dpkg-architecture",
792+ "-qDEB_HOST_MULTIARCH"]).strip()
793+ if hasattr(self, 'test_qml') and isinstance(self.test_qml, basestring):
794+ qml_path = mktemp(suffix='.qml')
795+ open(qml_path, 'w').write(self.test_qml)
796+ self.addCleanup(remove, qml_path)
797+
798+ self.app = self.launch_test_application(
799+ "/usr/lib/" + arch + "/qt5/bin/qmlscene",
800+ "-I", get_module_include_path(),
801+ qml_path,
802+ app_type='qt')
803+
804+ if hasattr(self, 'test_qml_file') and isinstance(self.test_qml_file, basestring):
805+ qml_path = self.test_qml_file
806+ self.app = self.launch_test_application(
807+ "/usr/lib/" + arch + "/qt5/bin/qmlscene",
808+ "-I", get_module_include_path(),
809+ qml_path,
810+ app_type='qt')
811+
812+ self.assertThat(self.get_qml_view().visible, Eventually(Equals(True)))
813+
814+
815+ def get_qml_view(self):
816+ """Get the main QML view"""
817+
818+ return self.app.select_single("QQuickView")
819+
820+ def get_mainview(self):
821+ """Get the QML MainView"""
822+
823+ mainView = self.app.select_single("MainView")
824+ self.assertThat(mainView, Not(Is(None)))
825+ return mainView
826+
827+
828+ def get_object(self,objectName):
829+ """Get a object based on the objectName"""
830+
831+ obj = self.app.select_single(objectName=objectName)
832+ self.assertThat(obj, Not(Is(None)))
833+ return obj
834+
835+
836+ def mouse_click(self,objectName):
837+ """Move mouse on top of the object and click on it"""
838+
839+ obj = self.get_object(objectName)
840+ self.pointing_device.move_to_object(obj)
841+ self.pointing_device.click()
842+
843+
844+ def mouse_press(self,objectName):
845+ """Move mouse on top of the object and press mouse button (without releasing it)"""
846+
847+ obj = self.get_object(objectName)
848+ self.pointing_device.move_to_object(obj)
849+ self.pointing_device.press()
850+
851+
852+ def mouse_release(self):
853+ """Release mouse button"""
854+
855+ self.pointing_device.release()
856+
857+
858+ def type_string(self, string):
859+ """Type a string with keyboard"""
860+
861+ self.keyboard.type(string)
862+
863+
864+ def type_key(self, key):
865+ """Type a single key with keyboard"""
866+
867+ self.keyboard.key(key)
868
869=== added directory 'Ubuntu/app/tests/autopilot/contactsimporter/main'
870=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py'
871--- Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py 1970-01-01 00:00:00 +0000
872+++ Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py 2014-02-11 09:12:08 +0000
873@@ -0,0 +1,1 @@
874+""" A main.qml test suite """
875
876=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py'
877--- Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py 1970-01-01 00:00:00 +0000
878+++ Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py 2014-02-11 09:12:08 +0000
879@@ -0,0 +1,23 @@
880+# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
881+
882+"""Tests for the Hello World"""
883+
884+from autopilot.matchers import Eventually
885+from textwrap import dedent
886+from testtools.matchers import Is, Not, Equals
887+from testtools import skip
888+import os
889+from contactsimporter import UbuntuTouchAppTestCase
890+
891+
892+class MainTests(UbuntuTouchAppTestCase):
893+ """Generic tests for the Hello World"""
894+
895+ test_qml_file = "%s/%s.qml" % (os.path.dirname(os.path.realpath(__file__)),"../../../../contactsimporter")
896+
897+ def test_0_can_select_mainView(self):
898+ """Must be able to select the mainview."""
899+
900+ mainView = self.get_mainview()
901+ self.assertThat(mainView.visible,Eventually(Equals(True)))
902+
903
904=== added file 'Ubuntu/app/tests/autopilot/run'
905--- Ubuntu/app/tests/autopilot/run 1970-01-01 00:00:00 +0000
906+++ Ubuntu/app/tests/autopilot/run 2014-02-11 09:12:08 +0000
907@@ -0,0 +1,11 @@
908+#!/bin/bash
909+
910+if [[ -z `which autopilot` ]]; then
911+ echo "Autopilot is not installed. Skip"
912+ exit
913+fi
914+
915+SCRIPTPATH=`dirname $0`
916+pushd ${SCRIPTPATH}
917+autopilot run contactsimporter
918+popd
919
920=== added directory 'Ubuntu/app/tests/unit'
921=== added file 'Ubuntu/app/tests/unit/tst_hellocomponent.qml'
922--- Ubuntu/app/tests/unit/tst_hellocomponent.qml 1970-01-01 00:00:00 +0000
923+++ Ubuntu/app/tests/unit/tst_hellocomponent.qml 2014-02-11 09:12:08 +0000
924@@ -0,0 +1,49 @@
925+import QtQuick 2.0
926+import QtTest 1.0
927+import Ubuntu.Components 0.1
928+import "../../components"
929+
930+// See more details @ http://qt-project.org/doc/qt-5.0/qtquick/qml-testcase.html
931+
932+// Execute tests with:
933+// qmltestrunner
934+
935+Item {
936+ // The objects
937+ HelloComponent {
938+ id: objectUnderTest
939+ }
940+
941+ TestCase {
942+ name: "HelloComponent"
943+
944+ function init() {
945+ console.debug(">> init");
946+ compare("",objectUnderTest.text,"text was not empty on init");
947+ console.debug("<< init");
948+ }
949+
950+ function cleanup() {
951+ console.debug(">> cleanup");
952+ console.debug("<< cleanup");
953+ }
954+
955+ function initTestCase() {
956+ console.debug(">> initTestCase");
957+ console.debug("<< initTestCase");
958+ }
959+
960+ function cleanupTestCase() {
961+ console.debug(">> cleanupTestCase");
962+ console.debug("<< cleanupTestCase");
963+ }
964+
965+ function test_canReadAndWriteText() {
966+ var expected = "Hello World";
967+
968+ objectUnderTest.text = expected;
969+
970+ compare(expected,objectUnderTest.text,"expected did not equal result");
971+ }
972+ }
973+}
974
975=== added file 'Ubuntu/app/ubuntudualboot.desktop'
976--- Ubuntu/app/ubuntudualboot.desktop 1970-01-01 00:00:00 +0000
977+++ Ubuntu/app/ubuntudualboot.desktop 2014-02-11 09:12:08 +0000
978@@ -0,0 +1,8 @@
979+[Desktop Entry]
980+Name=ubuntudualboot
981+Comment=Ubuntu Dual boot with Android
982+Exec=qmlscene -I plugin $@ ubuntudualboot.qml
983+Icon=icon.png
984+Terminal=false
985+Type=Application
986+X-Ubuntu-Touch=true
987
988=== added file 'Ubuntu/app/ubuntudualboot.qml'
989--- Ubuntu/app/ubuntudualboot.qml 1970-01-01 00:00:00 +0000
990+++ Ubuntu/app/ubuntudualboot.qml 2014-02-11 09:12:08 +0000
991@@ -0,0 +1,57 @@
992+import QtQuick 2.0
993+import Ubuntu.Components 0.1
994+import ubuntuboot 1.0
995+import Ubuntu.Components.Popups 0.1
996+
997+
998+MainView {
999+ width: units.gu(100)
1000+ height: units.gu(75)
1001+ applicationName: "com.ubuntu.developer.vtuson.ubuntudualboot"
1002+
1003+
1004+ Page {
1005+ title: i18n.tr("Ubuntu Dual Boot")
1006+ Column {
1007+ spacing: units.gu(2)
1008+ anchors.top: parent.top
1009+ anchors.horizontalCenter: parent.horizontalCenter
1010+ anchors.topMargin: units.gu(2)
1011+
1012+ Ubuntuboot {
1013+ id:reboot
1014+ boottoandroid: isandroid.checked
1015+ upass: "phablet"
1016+ }
1017+ Label {
1018+ objectName: "description"
1019+ text: i18n.tr("Welcome to Ubuntu Dual Boot")
1020+ }
1021+ Button {
1022+ property string ostoboot: isandroid.checked? " Android" : " Ubuntu"
1023+ id: rebootButton
1024+ anchors.horizontalCenter: parent.horizontalCenter
1025+ text: "Reboot to" + ostoboot
1026+ Component.onCompleted: rebootButton.clicked.connect(reboot.reboot)
1027+
1028+ }
1029+
1030+ Row {
1031+ spacing: units.gu(2)
1032+ CheckBox {
1033+ id:isandroid
1034+ checked: false
1035+ }
1036+ Label {
1037+ text:"Boot to Android?"
1038+ anchors.verticalCenter: isandroid.verticalCenter
1039+ }
1040+ }
1041+ Label {
1042+ text: reboot.result ===256?"Incorrect password":""
1043+ }
1044+
1045+
1046+ }
1047+ }
1048+}
1049
1050=== added directory 'Ubuntu/backend'
1051=== added file 'Ubuntu/backend/Makefile'
1052--- Ubuntu/backend/Makefile 1970-01-01 00:00:00 +0000
1053+++ Ubuntu/backend/Makefile 2014-02-11 09:12:08 +0000
1054@@ -0,0 +1,205 @@
1055+#############################################################################
1056+# Makefile for building: backend
1057+# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:23 2013
1058+# Project: backend.pro
1059+# Template: subdirs
1060+# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile backend.pro
1061+#############################################################################
1062+
1063+MAKEFILE = Makefile
1064+
1065+first: make_first
1066+QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
1067+DEL_FILE = rm -f
1068+CHK_DIR_EXISTS= test -d
1069+MKDIR = mkdir -p
1070+COPY = cp -f
1071+COPY_FILE = cp -f
1072+COPY_DIR = cp -f -R
1073+INSTALL_FILE = install -m 644 -p
1074+INSTALL_PROGRAM = install -m 755 -p
1075+INSTALL_DIR = $(COPY_DIR)
1076+DEL_FILE = rm -f
1077+SYMLINK = ln -f -s
1078+DEL_DIR = rmdir
1079+MOVE = mv -f
1080+SUBTARGETS = \
1081+ sub-modules-ubuntuboot
1082+
1083+
1084+sub-modules-ubuntuboot-qmake_all: FORCE
1085+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1086+ cd modules/ubuntuboot/ && $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile
1087+ cd modules/ubuntuboot/ && $(MAKE) -f Makefile qmake_all
1088+sub-modules-ubuntuboot: FORCE
1089+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1090+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile
1091+sub-modules-ubuntuboot-make_first: FORCE
1092+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1093+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile
1094+sub-modules-ubuntuboot-all: FORCE
1095+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1096+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile all
1097+sub-modules-ubuntuboot-clean: FORCE
1098+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1099+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile clean
1100+sub-modules-ubuntuboot-distclean: FORCE
1101+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1102+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile distclean
1103+sub-modules-ubuntuboot-install_subtargets: FORCE
1104+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1105+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile install
1106+sub-modules-ubuntuboot-uninstall_subtargets: FORCE
1107+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1108+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile uninstall
1109+
1110+Makefile: backend.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
1111+ /usr/share/qt5/mkspecs/common/shell-unix.conf \
1112+ /usr/share/qt5/mkspecs/common/unix.conf \
1113+ /usr/share/qt5/mkspecs/common/linux.conf \
1114+ /usr/share/qt5/mkspecs/common/gcc-base.conf \
1115+ /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
1116+ /usr/share/qt5/mkspecs/common/g++-base.conf \
1117+ /usr/share/qt5/mkspecs/common/g++-unix.conf \
1118+ /usr/share/qt5/mkspecs/qconfig.pri \
1119+ /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
1120+ /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
1121+ /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
1122+ /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
1123+ /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
1124+ /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
1125+ /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
1126+ /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
1127+ /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
1128+ /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
1129+ /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
1130+ /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
1131+ /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
1132+ /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
1133+ /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
1134+ /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
1135+ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
1136+ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
1137+ /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
1138+ /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
1139+ /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
1140+ /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
1141+ /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
1142+ /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
1143+ /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
1144+ /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
1145+ /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
1146+ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
1147+ /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
1148+ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
1149+ /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
1150+ /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
1151+ /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
1152+ /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
1153+ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
1154+ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
1155+ /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
1156+ /usr/share/qt5/mkspecs/features/qt_functions.prf \
1157+ /usr/share/qt5/mkspecs/features/qt_config.prf \
1158+ /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
1159+ /usr/share/qt5/mkspecs/features/spec_post.prf \
1160+ /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
1161+ /usr/share/qt5/mkspecs/features/default_pre.prf \
1162+ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
1163+ /usr/share/qt5/mkspecs/features/resolve_config.prf \
1164+ /usr/share/qt5/mkspecs/features/default_post.prf \
1165+ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
1166+ /usr/share/qt5/mkspecs/features/warn_on.prf \
1167+ /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
1168+ /usr/share/qt5/mkspecs/features/testcase_targets.prf \
1169+ /usr/share/qt5/mkspecs/features/exceptions.prf \
1170+ /usr/share/qt5/mkspecs/features/yacc.prf \
1171+ /usr/share/qt5/mkspecs/features/lex.prf \
1172+ backend.pro
1173+ $(QMAKE) -o Makefile backend.pro
1174+/usr/share/qt5/mkspecs/features/spec_pre.prf:
1175+/usr/share/qt5/mkspecs/common/shell-unix.conf:
1176+/usr/share/qt5/mkspecs/common/unix.conf:
1177+/usr/share/qt5/mkspecs/common/linux.conf:
1178+/usr/share/qt5/mkspecs/common/gcc-base.conf:
1179+/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
1180+/usr/share/qt5/mkspecs/common/g++-base.conf:
1181+/usr/share/qt5/mkspecs/common/g++-unix.conf:
1182+/usr/share/qt5/mkspecs/qconfig.pri:
1183+/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
1184+/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
1185+/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
1186+/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
1187+/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
1188+/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
1189+/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
1190+/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
1191+/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
1192+/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
1193+/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
1194+/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
1195+/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
1196+/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
1197+/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
1198+/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
1199+/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
1200+/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
1201+/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
1202+/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
1203+/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
1204+/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
1205+/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
1206+/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
1207+/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
1208+/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
1209+/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
1210+/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
1211+/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
1212+/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
1213+/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
1214+/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
1215+/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
1216+/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
1217+/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
1218+/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
1219+/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
1220+/usr/share/qt5/mkspecs/features/qt_functions.prf:
1221+/usr/share/qt5/mkspecs/features/qt_config.prf:
1222+/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
1223+/usr/share/qt5/mkspecs/features/spec_post.prf:
1224+/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
1225+/usr/share/qt5/mkspecs/features/default_pre.prf:
1226+/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
1227+/usr/share/qt5/mkspecs/features/resolve_config.prf:
1228+/usr/share/qt5/mkspecs/features/default_post.prf:
1229+/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
1230+/usr/share/qt5/mkspecs/features/warn_on.prf:
1231+/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
1232+/usr/share/qt5/mkspecs/features/testcase_targets.prf:
1233+/usr/share/qt5/mkspecs/features/exceptions.prf:
1234+/usr/share/qt5/mkspecs/features/yacc.prf:
1235+/usr/share/qt5/mkspecs/features/lex.prf:
1236+backend.pro:
1237+qmake: FORCE
1238+ @$(QMAKE) -o Makefile backend.pro
1239+
1240+qmake_all: sub-modules-ubuntuboot-qmake_all FORCE
1241+
1242+make_first: sub-modules-ubuntuboot-make_first FORCE
1243+all: sub-modules-ubuntuboot-all FORCE
1244+clean: sub-modules-ubuntuboot-clean FORCE
1245+distclean: sub-modules-ubuntuboot-distclean FORCE
1246+ -$(DEL_FILE) Makefile
1247+install_subtargets: sub-modules-ubuntuboot-install_subtargets FORCE
1248+uninstall_subtargets: sub-modules-ubuntuboot-uninstall_subtargets FORCE
1249+
1250+sub-modules-ubuntuboot-check:
1251+ @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
1252+ cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile check
1253+check: modules/ubuntuboot sub-modules-ubuntuboot-check
1254+install: install_subtargets FORCE
1255+
1256+uninstall: uninstall_subtargets FORCE
1257+
1258+FORCE:
1259+
1260
1261=== added file 'Ubuntu/backend/backend.pro'
1262--- Ubuntu/backend/backend.pro 1970-01-01 00:00:00 +0000
1263+++ Ubuntu/backend/backend.pro 2014-02-11 09:12:08 +0000
1264@@ -0,0 +1,8 @@
1265+TEMPLATE = subdirs
1266+SUBDIRS = modules/ubuntuboot
1267+
1268+OTHER_FILES += $$system(find tests -type f)
1269+
1270+check.target = check
1271+check.depends = modules/ubuntuboot
1272+
1273
1274=== added directory 'Ubuntu/backend/modules'
1275=== added directory 'Ubuntu/backend/modules/ubuntuboot'
1276=== added file 'Ubuntu/backend/modules/ubuntuboot/Makefile'
1277--- Ubuntu/backend/modules/ubuntuboot/Makefile 1970-01-01 00:00:00 +0000
1278+++ Ubuntu/backend/modules/ubuntuboot/Makefile 2014-02-11 09:12:08 +0000
1279@@ -0,0 +1,887 @@
1280+#############################################################################
1281+# Makefile for building: libubuntuboot.so
1282+# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:24 2013
1283+# Project: ubuntuboot.pro
1284+# Template: lib
1285+# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ubuntuboot.pro
1286+#############################################################################
1287+
1288+MAKEFILE = Makefile
1289+
1290+####### Compiler, tools and options
1291+
1292+CC = gcc
1293+CXX = g++
1294+DEFINES = -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_PLUGIN -DQT_QUICK_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB
1295+CFLAGS = -m64 -pipe -O2 -D_REENTRANT -Wall -W -fPIC $(DEFINES)
1296+CXXFLAGS = -m64 -pipe -O2 -D_REENTRANT -Wall -W -fPIC $(DEFINES)
1297+INCPATH = -I/usr/share/qt5/mkspecs/linux-g++-64 -I. -I. -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I.
1298+LINK = g++
1299+LFLAGS = -m64 -Wl,-O1 -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu -shared
1300+LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Quick -L/usr/lib/x86_64-linux-gnu -lQt5Qml -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
1301+AR = ar cqs
1302+RANLIB =
1303+QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
1304+TAR = tar -cf
1305+COMPRESS = gzip -9f
1306+COPY = cp -f
1307+SED = sed
1308+COPY_FILE = cp -f
1309+COPY_DIR = cp -f -R
1310+STRIP = strip
1311+INSTALL_FILE = install -m 644 -p
1312+INSTALL_DIR = $(COPY_DIR)
1313+INSTALL_PROGRAM = install -m 755 -p
1314+DEL_FILE = rm -f
1315+SYMLINK = ln -f -s
1316+DEL_DIR = rmdir
1317+MOVE = mv -f
1318+CHK_DIR_EXISTS= test -d
1319+MKDIR = mkdir -p
1320+
1321+####### Output directory
1322+
1323+OBJECTS_DIR = ./
1324+
1325+####### Files
1326+
1327+SOURCES = backend.cpp \
1328+ ubuntuboot.cpp moc_backend.cpp \
1329+ moc_ubuntuboot.cpp
1330+OBJECTS = backend.o \
1331+ ubuntuboot.o \
1332+ moc_backend.o \
1333+ moc_ubuntuboot.o
1334+DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
1335+ /usr/share/qt5/mkspecs/common/shell-unix.conf \
1336+ /usr/share/qt5/mkspecs/common/unix.conf \
1337+ /usr/share/qt5/mkspecs/common/linux.conf \
1338+ /usr/share/qt5/mkspecs/common/gcc-base.conf \
1339+ /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
1340+ /usr/share/qt5/mkspecs/common/g++-base.conf \
1341+ /usr/share/qt5/mkspecs/common/g++-unix.conf \
1342+ /usr/share/qt5/mkspecs/qconfig.pri \
1343+ /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
1344+ /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
1345+ /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
1346+ /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
1347+ /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
1348+ /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
1349+ /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
1350+ /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
1351+ /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
1352+ /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
1353+ /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
1354+ /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
1355+ /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
1356+ /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
1357+ /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
1358+ /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
1359+ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
1360+ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
1361+ /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
1362+ /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
1363+ /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
1364+ /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
1365+ /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
1366+ /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
1367+ /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
1368+ /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
1369+ /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
1370+ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
1371+ /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
1372+ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
1373+ /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
1374+ /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
1375+ /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
1376+ /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
1377+ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
1378+ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
1379+ /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
1380+ /usr/share/qt5/mkspecs/features/qt_functions.prf \
1381+ /usr/share/qt5/mkspecs/features/qt_config.prf \
1382+ /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
1383+ /usr/share/qt5/mkspecs/features/spec_post.prf \
1384+ /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
1385+ /usr/share/qt5/mkspecs/features/default_pre.prf \
1386+ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
1387+ /usr/share/qt5/mkspecs/features/resolve_config.prf \
1388+ /usr/share/qt5/mkspecs/features/default_post.prf \
1389+ /usr/share/qt5/mkspecs/features/qt.prf \
1390+ /usr/share/qt5/mkspecs/features/resources.prf \
1391+ /usr/share/qt5/mkspecs/features/moc.prf \
1392+ /usr/share/qt5/mkspecs/features/unix/opengl.prf \
1393+ /usr/share/qt5/mkspecs/features/unix/thread.prf \
1394+ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
1395+ /usr/share/qt5/mkspecs/features/warn_on.prf \
1396+ /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
1397+ /usr/share/qt5/mkspecs/features/testcase_targets.prf \
1398+ /usr/share/qt5/mkspecs/features/exceptions.prf \
1399+ /usr/share/qt5/mkspecs/features/yacc.prf \
1400+ /usr/share/qt5/mkspecs/features/lex.prf \
1401+ ubuntuboot.pro \
1402+ ubuntuboot.pro
1403+QMAKE_TARGET = ubuntuboot
1404+DESTDIR =
1405+TARGET = libubuntuboot.so
1406+TARGETD = libubuntuboot.so
1407+
1408+
1409+first: all
1410+####### Implicit rules
1411+
1412+.SUFFIXES: .o .c .cpp .cc .cxx .C
1413+
1414+.cpp.o:
1415+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
1416+
1417+.cc.o:
1418+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
1419+
1420+.cxx.o:
1421+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
1422+
1423+.C.o:
1424+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
1425+
1426+.c.o:
1427+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
1428+
1429+####### Build rules
1430+
1431+all: Makefile $(TARGET)
1432+
1433+$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
1434+ -$(DEL_FILE) $(TARGET)
1435+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
1436+
1437+
1438+
1439+Makefile: ubuntuboot.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
1440+ /usr/share/qt5/mkspecs/common/shell-unix.conf \
1441+ /usr/share/qt5/mkspecs/common/unix.conf \
1442+ /usr/share/qt5/mkspecs/common/linux.conf \
1443+ /usr/share/qt5/mkspecs/common/gcc-base.conf \
1444+ /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
1445+ /usr/share/qt5/mkspecs/common/g++-base.conf \
1446+ /usr/share/qt5/mkspecs/common/g++-unix.conf \
1447+ /usr/share/qt5/mkspecs/qconfig.pri \
1448+ /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
1449+ /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
1450+ /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
1451+ /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
1452+ /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
1453+ /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
1454+ /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
1455+ /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
1456+ /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
1457+ /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
1458+ /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
1459+ /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
1460+ /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
1461+ /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
1462+ /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
1463+ /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
1464+ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
1465+ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
1466+ /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
1467+ /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
1468+ /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
1469+ /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
1470+ /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
1471+ /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
1472+ /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
1473+ /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
1474+ /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
1475+ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
1476+ /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
1477+ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
1478+ /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
1479+ /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
1480+ /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
1481+ /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
1482+ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
1483+ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
1484+ /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
1485+ /usr/share/qt5/mkspecs/features/qt_functions.prf \
1486+ /usr/share/qt5/mkspecs/features/qt_config.prf \
1487+ /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
1488+ /usr/share/qt5/mkspecs/features/spec_post.prf \
1489+ /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
1490+ /usr/share/qt5/mkspecs/features/default_pre.prf \
1491+ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
1492+ /usr/share/qt5/mkspecs/features/resolve_config.prf \
1493+ /usr/share/qt5/mkspecs/features/default_post.prf \
1494+ /usr/share/qt5/mkspecs/features/qt.prf \
1495+ /usr/share/qt5/mkspecs/features/resources.prf \
1496+ /usr/share/qt5/mkspecs/features/moc.prf \
1497+ /usr/share/qt5/mkspecs/features/unix/opengl.prf \
1498+ /usr/share/qt5/mkspecs/features/unix/thread.prf \
1499+ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
1500+ /usr/share/qt5/mkspecs/features/warn_on.prf \
1501+ /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
1502+ /usr/share/qt5/mkspecs/features/testcase_targets.prf \
1503+ /usr/share/qt5/mkspecs/features/exceptions.prf \
1504+ /usr/share/qt5/mkspecs/features/yacc.prf \
1505+ /usr/share/qt5/mkspecs/features/lex.prf \
1506+ ubuntuboot.pro \
1507+ /usr/lib/x86_64-linux-gnu/libQt5Quick.prl \
1508+ /usr/lib/x86_64-linux-gnu/libQt5Qml.prl \
1509+ /usr/lib/x86_64-linux-gnu/libQt5Network.prl \
1510+ /usr/lib/x86_64-linux-gnu/libQt5Core.prl \
1511+ /usr/lib/x86_64-linux-gnu/libQt5Gui.prl
1512+ $(QMAKE) -o Makefile ubuntuboot.pro
1513+/usr/share/qt5/mkspecs/features/spec_pre.prf:
1514+/usr/share/qt5/mkspecs/common/shell-unix.conf:
1515+/usr/share/qt5/mkspecs/common/unix.conf:
1516+/usr/share/qt5/mkspecs/common/linux.conf:
1517+/usr/share/qt5/mkspecs/common/gcc-base.conf:
1518+/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
1519+/usr/share/qt5/mkspecs/common/g++-base.conf:
1520+/usr/share/qt5/mkspecs/common/g++-unix.conf:
1521+/usr/share/qt5/mkspecs/qconfig.pri:
1522+/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
1523+/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
1524+/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
1525+/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
1526+/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
1527+/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
1528+/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
1529+/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
1530+/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
1531+/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
1532+/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
1533+/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
1534+/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
1535+/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
1536+/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
1537+/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
1538+/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
1539+/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
1540+/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
1541+/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
1542+/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
1543+/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
1544+/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
1545+/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
1546+/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
1547+/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
1548+/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
1549+/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
1550+/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
1551+/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
1552+/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
1553+/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
1554+/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
1555+/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
1556+/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
1557+/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
1558+/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
1559+/usr/share/qt5/mkspecs/features/qt_functions.prf:
1560+/usr/share/qt5/mkspecs/features/qt_config.prf:
1561+/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
1562+/usr/share/qt5/mkspecs/features/spec_post.prf:
1563+/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
1564+/usr/share/qt5/mkspecs/features/default_pre.prf:
1565+/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
1566+/usr/share/qt5/mkspecs/features/resolve_config.prf:
1567+/usr/share/qt5/mkspecs/features/default_post.prf:
1568+/usr/share/qt5/mkspecs/features/qt.prf:
1569+/usr/share/qt5/mkspecs/features/resources.prf:
1570+/usr/share/qt5/mkspecs/features/moc.prf:
1571+/usr/share/qt5/mkspecs/features/unix/opengl.prf:
1572+/usr/share/qt5/mkspecs/features/unix/thread.prf:
1573+/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
1574+/usr/share/qt5/mkspecs/features/warn_on.prf:
1575+/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
1576+/usr/share/qt5/mkspecs/features/testcase_targets.prf:
1577+/usr/share/qt5/mkspecs/features/exceptions.prf:
1578+/usr/share/qt5/mkspecs/features/yacc.prf:
1579+/usr/share/qt5/mkspecs/features/lex.prf:
1580+ubuntuboot.pro:
1581+/usr/lib/x86_64-linux-gnu/libQt5Quick.prl:
1582+/usr/lib/x86_64-linux-gnu/libQt5Qml.prl:
1583+/usr/lib/x86_64-linux-gnu/libQt5Network.prl:
1584+/usr/lib/x86_64-linux-gnu/libQt5Core.prl:
1585+/usr/lib/x86_64-linux-gnu/libQt5Gui.prl:
1586+qmake: FORCE
1587+ @$(QMAKE) -o Makefile ubuntuboot.pro
1588+
1589+qmake_all: FORCE
1590+
1591+dist:
1592+ @test -d .tmp/ubuntuboot1.0.0 || mkdir -p .tmp/ubuntuboot1.0.0
1593+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ubuntuboot1.0.0/ && $(COPY_FILE) --parents backend.h ubuntuboot.h .tmp/ubuntuboot1.0.0/ && $(COPY_FILE) --parents backend.cpp ubuntuboot.cpp .tmp/ubuntuboot1.0.0/ && (cd `dirname .tmp/ubuntuboot1.0.0` && $(TAR) ubuntuboot1.0.0.tar ubuntuboot1.0.0 && $(COMPRESS) ubuntuboot1.0.0.tar) && $(MOVE) `dirname .tmp/ubuntuboot1.0.0`/ubuntuboot1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ubuntuboot1.0.0
1594+
1595+
1596+clean:compiler_clean
1597+ -$(DEL_FILE) $(OBJECTS)
1598+ -$(DEL_FILE) *~ core *.core
1599+
1600+
1601+####### Sub-libraries
1602+
1603+distclean: clean
1604+ -$(DEL_FILE) $(TARGET)
1605+ -$(DEL_FILE) Makefile
1606+
1607+
1608+mocclean: compiler_moc_header_clean compiler_moc_source_clean
1609+
1610+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
1611+
1612+check: first
1613+
1614+compiler_rcc_make_all:
1615+compiler_rcc_clean:
1616+compiler_wayland-server-header_make_all:
1617+compiler_wayland-server-header_clean:
1618+compiler_wayland-client-header_make_all:
1619+compiler_wayland-client-header_clean:
1620+compiler_moc_header_make_all: moc_backend.cpp moc_ubuntuboot.cpp
1621+compiler_moc_header_clean:
1622+ -$(DEL_FILE) moc_backend.cpp moc_ubuntuboot.cpp
1623+moc_backend.cpp: /usr/include/qt5/QtQml/QQmlEngine \
1624+ /usr/include/qt5/QtQml/qqmlengine.h \
1625+ /usr/include/qt5/QtCore/qurl.h \
1626+ /usr/include/qt5/QtCore/qbytearray.h \
1627+ /usr/include/qt5/QtCore/qrefcount.h \
1628+ /usr/include/qt5/QtCore/qatomic.h \
1629+ /usr/include/qt5/QtCore/qglobal.h \
1630+ /usr/include/qt5/QtCore/qconfig.h \
1631+ /usr/include/qt5/QtCore/qfeatures.h \
1632+ /usr/include/qt5/QtCore/qsystemdetection.h \
1633+ /usr/include/qt5/QtCore/qcompilerdetection.h \
1634+ /usr/include/qt5/QtCore/qprocessordetection.h \
1635+ /usr/include/qt5/QtCore/qlogging.h \
1636+ /usr/include/qt5/QtCore/qflags.h \
1637+ /usr/include/qt5/QtCore/qtypeinfo.h \
1638+ /usr/include/qt5/QtCore/qtypetraits.h \
1639+ /usr/include/qt5/QtCore/qsysinfo.h \
1640+ /usr/include/qt5/QtCore/qbasicatomic.h \
1641+ /usr/include/qt5/QtCore/qatomic_bootstrap.h \
1642+ /usr/include/qt5/QtCore/qgenericatomic.h \
1643+ /usr/include/qt5/QtCore/qatomic_msvc.h \
1644+ /usr/include/qt5/QtCore/qatomic_integrity.h \
1645+ /usr/include/qt5/QtCore/qoldbasicatomic.h \
1646+ /usr/include/qt5/QtCore/qatomic_vxworks.h \
1647+ /usr/include/qt5/QtCore/qatomic_power.h \
1648+ /usr/include/qt5/QtCore/qatomic_alpha.h \
1649+ /usr/include/qt5/QtCore/qatomic_armv7.h \
1650+ /usr/include/qt5/QtCore/qatomic_armv6.h \
1651+ /usr/include/qt5/QtCore/qatomic_armv5.h \
1652+ /usr/include/qt5/QtCore/qatomic_bfin.h \
1653+ /usr/include/qt5/QtCore/qatomic_ia64.h \
1654+ /usr/include/qt5/QtCore/qatomic_mips.h \
1655+ /usr/include/qt5/QtCore/qatomic_s390.h \
1656+ /usr/include/qt5/QtCore/qatomic_sh4a.h \
1657+ /usr/include/qt5/QtCore/qatomic_sparc.h \
1658+ /usr/include/qt5/QtCore/qatomic_x86.h \
1659+ /usr/include/qt5/QtCore/qatomic_cxx11.h \
1660+ /usr/include/qt5/QtCore/qatomic_gcc.h \
1661+ /usr/include/qt5/QtCore/qatomic_unix.h \
1662+ /usr/include/qt5/QtCore/qnamespace.h \
1663+ /usr/include/qt5/QtCore/qarraydata.h \
1664+ /usr/include/qt5/QtCore/qstring.h \
1665+ /usr/include/qt5/QtCore/qchar.h \
1666+ /usr/include/qt5/QtCore/qstringbuilder.h \
1667+ /usr/include/qt5/QtCore/qobjectdefs.h \
1668+ /usr/include/qt5/QtCore/qobjectdefs_impl.h \
1669+ /usr/include/qt5/QtCore/qlist.h \
1670+ /usr/include/qt5/QtCore/qalgorithms.h \
1671+ /usr/include/qt5/QtCore/qiterator.h \
1672+ /usr/include/qt5/QtCore/qpair.h \
1673+ /usr/include/qt5/QtCore/qurlquery.h \
1674+ /usr/include/qt5/QtCore/qshareddata.h \
1675+ /usr/include/qt5/QtCore/qstringlist.h \
1676+ /usr/include/qt5/QtCore/qdatastream.h \
1677+ /usr/include/qt5/QtCore/qscopedpointer.h \
1678+ /usr/include/qt5/QtCore/qiodevice.h \
1679+ /usr/include/qt5/QtCore/qobject.h \
1680+ /usr/include/qt5/QtCore/qcoreevent.h \
1681+ /usr/include/qt5/QtCore/qmetatype.h \
1682+ /usr/include/qt5/QtCore/qvarlengtharray.h \
1683+ /usr/include/qt5/QtCore/qcontainerfwd.h \
1684+ /usr/include/qt5/QtCore/qisenum.h \
1685+ /usr/include/qt5/QtCore/qobject_impl.h \
1686+ /usr/include/qt5/QtCore/qregexp.h \
1687+ /usr/include/qt5/QtCore/qstringmatcher.h \
1688+ /usr/include/qt5/QtCore/qmap.h \
1689+ /usr/include/qt5/QtCore/qdebug.h \
1690+ /usr/include/qt5/QtCore/qhash.h \
1691+ /usr/include/qt5/QtCore/qtextstream.h \
1692+ /usr/include/qt5/QtCore/qlocale.h \
1693+ /usr/include/qt5/QtCore/qvariant.h \
1694+ /usr/include/qt5/QtCore/qvector.h \
1695+ /usr/include/qt5/QtCore/qpoint.h \
1696+ /usr/include/qt5/QtCore/qset.h \
1697+ /usr/include/qt5/QtCore/qcontiguouscache.h \
1698+ /usr/include/qt5/QtQml/qjsengine.h \
1699+ /usr/include/qt5/QtCore/qsharedpointer.h \
1700+ /usr/include/qt5/QtCore/qsharedpointer_impl.h \
1701+ /usr/include/qt5/QtQml/qjsvalue.h \
1702+ /usr/include/qt5/QtQml/qtqmlglobal.h \
1703+ /usr/include/qt5/QtQml/qqmlerror.h \
1704+ /usr/include/qt5/QtQml/qqmldebug.h \
1705+ /usr/include/qt5/QtQml/QQmlExtensionPlugin \
1706+ /usr/include/qt5/QtQml/qqmlextensionplugin.h \
1707+ /usr/include/qt5/QtCore/qplugin.h \
1708+ /usr/include/qt5/QtCore/qpointer.h \
1709+ /usr/include/qt5/QtQml/qqmlextensioninterface.h \
1710+ backend.h
1711+ /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) backend.h -o moc_backend.cpp
1712+
1713+moc_ubuntuboot.cpp: /usr/include/qt5/QtCore/QObject \
1714+ /usr/include/qt5/QtCore/qobject.h \
1715+ /usr/include/qt5/QtCore/qobjectdefs.h \
1716+ /usr/include/qt5/QtCore/qnamespace.h \
1717+ /usr/include/qt5/QtCore/qglobal.h \
1718+ /usr/include/qt5/QtCore/qconfig.h \
1719+ /usr/include/qt5/QtCore/qfeatures.h \
1720+ /usr/include/qt5/QtCore/qsystemdetection.h \
1721+ /usr/include/qt5/QtCore/qcompilerdetection.h \
1722+ /usr/include/qt5/QtCore/qprocessordetection.h \
1723+ /usr/include/qt5/QtCore/qlogging.h \
1724+ /usr/include/qt5/QtCore/qflags.h \
1725+ /usr/include/qt5/QtCore/qtypeinfo.h \
1726+ /usr/include/qt5/QtCore/qtypetraits.h \
1727+ /usr/include/qt5/QtCore/qsysinfo.h \
1728+ /usr/include/qt5/QtCore/qobjectdefs_impl.h \
1729+ /usr/include/qt5/QtCore/qstring.h \
1730+ /usr/include/qt5/QtCore/qchar.h \
1731+ /usr/include/qt5/QtCore/qbytearray.h \
1732+ /usr/include/qt5/QtCore/qrefcount.h \
1733+ /usr/include/qt5/QtCore/qatomic.h \
1734+ /usr/include/qt5/QtCore/qbasicatomic.h \
1735+ /usr/include/qt5/QtCore/qatomic_bootstrap.h \
1736+ /usr/include/qt5/QtCore/qgenericatomic.h \
1737+ /usr/include/qt5/QtCore/qatomic_msvc.h \
1738+ /usr/include/qt5/QtCore/qatomic_integrity.h \
1739+ /usr/include/qt5/QtCore/qoldbasicatomic.h \
1740+ /usr/include/qt5/QtCore/qatomic_vxworks.h \
1741+ /usr/include/qt5/QtCore/qatomic_power.h \
1742+ /usr/include/qt5/QtCore/qatomic_alpha.h \
1743+ /usr/include/qt5/QtCore/qatomic_armv7.h \
1744+ /usr/include/qt5/QtCore/qatomic_armv6.h \
1745+ /usr/include/qt5/QtCore/qatomic_armv5.h \
1746+ /usr/include/qt5/QtCore/qatomic_bfin.h \
1747+ /usr/include/qt5/QtCore/qatomic_ia64.h \
1748+ /usr/include/qt5/QtCore/qatomic_mips.h \
1749+ /usr/include/qt5/QtCore/qatomic_s390.h \
1750+ /usr/include/qt5/QtCore/qatomic_sh4a.h \
1751+ /usr/include/qt5/QtCore/qatomic_sparc.h \
1752+ /usr/include/qt5/QtCore/qatomic_x86.h \
1753+ /usr/include/qt5/QtCore/qatomic_cxx11.h \
1754+ /usr/include/qt5/QtCore/qatomic_gcc.h \
1755+ /usr/include/qt5/QtCore/qatomic_unix.h \
1756+ /usr/include/qt5/QtCore/qarraydata.h \
1757+ /usr/include/qt5/QtCore/qstringbuilder.h \
1758+ /usr/include/qt5/QtCore/qlist.h \
1759+ /usr/include/qt5/QtCore/qalgorithms.h \
1760+ /usr/include/qt5/QtCore/qiterator.h \
1761+ /usr/include/qt5/QtCore/qcoreevent.h \
1762+ /usr/include/qt5/QtCore/qscopedpointer.h \
1763+ /usr/include/qt5/QtCore/qmetatype.h \
1764+ /usr/include/qt5/QtCore/qvarlengtharray.h \
1765+ /usr/include/qt5/QtCore/qcontainerfwd.h \
1766+ /usr/include/qt5/QtCore/qisenum.h \
1767+ /usr/include/qt5/QtCore/qobject_impl.h \
1768+ /usr/include/qt5/QtCore/QRegularExpression \
1769+ /usr/include/qt5/QtCore/qregularexpression.h \
1770+ /usr/include/qt5/QtCore/qshareddata.h \
1771+ /usr/include/qt5/QtCore/qvariant.h \
1772+ /usr/include/qt5/QtCore/qmap.h \
1773+ /usr/include/qt5/QtCore/qpair.h \
1774+ /usr/include/qt5/QtCore/qdebug.h \
1775+ /usr/include/qt5/QtCore/qhash.h \
1776+ /usr/include/qt5/QtCore/qtextstream.h \
1777+ /usr/include/qt5/QtCore/qiodevice.h \
1778+ /usr/include/qt5/QtCore/qlocale.h \
1779+ /usr/include/qt5/QtCore/qvector.h \
1780+ /usr/include/qt5/QtCore/qpoint.h \
1781+ /usr/include/qt5/QtCore/qset.h \
1782+ /usr/include/qt5/QtCore/qcontiguouscache.h \
1783+ ubuntuboot.h
1784+ /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ubuntuboot.h -o moc_ubuntuboot.cpp
1785+
1786+compiler_wayland-code_make_all:
1787+compiler_wayland-code_clean:
1788+compiler_moc_source_make_all:
1789+compiler_moc_source_clean:
1790+compiler_yacc_decl_make_all:
1791+compiler_yacc_decl_clean:
1792+compiler_yacc_impl_make_all:
1793+compiler_yacc_impl_clean:
1794+compiler_lex_make_all:
1795+compiler_lex_clean:
1796+compiler_clean: compiler_moc_header_clean
1797+
1798+####### Compile
1799+
1800+backend.o: backend.cpp /usr/include/qt5/QtQml/QtQml \
1801+ /usr/include/qt5/QtCore/QtCore \
1802+ /usr/include/qt5/QtCore/qabstractanimation.h \
1803+ /usr/include/qt5/QtCore/qobject.h \
1804+ /usr/include/qt5/QtCore/qobjectdefs.h \
1805+ /usr/include/qt5/QtCore/qnamespace.h \
1806+ /usr/include/qt5/QtCore/qglobal.h \
1807+ /usr/include/qt5/QtCore/qconfig.h \
1808+ /usr/include/qt5/QtCore/qfeatures.h \
1809+ /usr/include/qt5/QtCore/qsystemdetection.h \
1810+ /usr/include/qt5/QtCore/qcompilerdetection.h \
1811+ /usr/include/qt5/QtCore/qprocessordetection.h \
1812+ /usr/include/qt5/QtCore/qlogging.h \
1813+ /usr/include/qt5/QtCore/qflags.h \
1814+ /usr/include/qt5/QtCore/qtypeinfo.h \
1815+ /usr/include/qt5/QtCore/qtypetraits.h \
1816+ /usr/include/qt5/QtCore/qsysinfo.h \
1817+ /usr/include/qt5/QtCore/qobjectdefs_impl.h \
1818+ /usr/include/qt5/QtCore/qstring.h \
1819+ /usr/include/qt5/QtCore/qchar.h \
1820+ /usr/include/qt5/QtCore/qbytearray.h \
1821+ /usr/include/qt5/QtCore/qrefcount.h \
1822+ /usr/include/qt5/QtCore/qatomic.h \
1823+ /usr/include/qt5/QtCore/qbasicatomic.h \
1824+ /usr/include/qt5/QtCore/qatomic_bootstrap.h \
1825+ /usr/include/qt5/QtCore/qgenericatomic.h \
1826+ /usr/include/qt5/QtCore/qatomic_msvc.h \
1827+ /usr/include/qt5/QtCore/qatomic_integrity.h \
1828+ /usr/include/qt5/QtCore/qoldbasicatomic.h \
1829+ /usr/include/qt5/QtCore/qatomic_vxworks.h \
1830+ /usr/include/qt5/QtCore/qatomic_power.h \
1831+ /usr/include/qt5/QtCore/qatomic_alpha.h \
1832+ /usr/include/qt5/QtCore/qatomic_armv7.h \
1833+ /usr/include/qt5/QtCore/qatomic_armv6.h \
1834+ /usr/include/qt5/QtCore/qatomic_armv5.h \
1835+ /usr/include/qt5/QtCore/qatomic_bfin.h \
1836+ /usr/include/qt5/QtCore/qatomic_ia64.h \
1837+ /usr/include/qt5/QtCore/qatomic_mips.h \
1838+ /usr/include/qt5/QtCore/qatomic_s390.h \
1839+ /usr/include/qt5/QtCore/qatomic_sh4a.h \
1840+ /usr/include/qt5/QtCore/qatomic_sparc.h \
1841+ /usr/include/qt5/QtCore/qatomic_x86.h \
1842+ /usr/include/qt5/QtCore/qatomic_cxx11.h \
1843+ /usr/include/qt5/QtCore/qatomic_gcc.h \
1844+ /usr/include/qt5/QtCore/qatomic_unix.h \
1845+ /usr/include/qt5/QtCore/qarraydata.h \
1846+ /usr/include/qt5/QtCore/qstringbuilder.h \
1847+ /usr/include/qt5/QtCore/qlist.h \
1848+ /usr/include/qt5/QtCore/qalgorithms.h \
1849+ /usr/include/qt5/QtCore/qiterator.h \
1850+ /usr/include/qt5/QtCore/qcoreevent.h \
1851+ /usr/include/qt5/QtCore/qscopedpointer.h \
1852+ /usr/include/qt5/QtCore/qmetatype.h \
1853+ /usr/include/qt5/QtCore/qvarlengtharray.h \
1854+ /usr/include/qt5/QtCore/qcontainerfwd.h \
1855+ /usr/include/qt5/QtCore/qisenum.h \
1856+ /usr/include/qt5/QtCore/qobject_impl.h \
1857+ /usr/include/qt5/QtCore/qanimationgroup.h \
1858+ /usr/include/qt5/QtCore/qparallelanimationgroup.h \
1859+ /usr/include/qt5/QtCore/qpauseanimation.h \
1860+ /usr/include/qt5/QtCore/qpropertyanimation.h \
1861+ /usr/include/qt5/QtCore/qvariantanimation.h \
1862+ /usr/include/qt5/QtCore/qeasingcurve.h \
1863+ /usr/include/qt5/QtCore/qvector.h \
1864+ /usr/include/qt5/QtCore/qpoint.h \
1865+ /usr/include/qt5/QtCore/qvariant.h \
1866+ /usr/include/qt5/QtCore/qmap.h \
1867+ /usr/include/qt5/QtCore/qpair.h \
1868+ /usr/include/qt5/QtCore/qdebug.h \
1869+ /usr/include/qt5/QtCore/qhash.h \
1870+ /usr/include/qt5/QtCore/qtextstream.h \
1871+ /usr/include/qt5/QtCore/qiodevice.h \
1872+ /usr/include/qt5/QtCore/qlocale.h \
1873+ /usr/include/qt5/QtCore/qshareddata.h \
1874+ /usr/include/qt5/QtCore/qset.h \
1875+ /usr/include/qt5/QtCore/qcontiguouscache.h \
1876+ /usr/include/qt5/QtCore/qsequentialanimationgroup.h \
1877+ /usr/include/qt5/QtCore/qtextcodec.h \
1878+ /usr/include/qt5/QtCore/qendian.h \
1879+ /usr/include/qt5/QtCore/qlibraryinfo.h \
1880+ /usr/include/qt5/QtCore/qdatetime.h \
1881+ /usr/include/qt5/QtCore/qsharedpointer.h \
1882+ /usr/include/qt5/QtCore/qsharedpointer_impl.h \
1883+ /usr/include/qt5/QtCore/qnumeric.h \
1884+ /usr/include/qt5/QtCore/qbuffer.h \
1885+ /usr/include/qt5/QtCore/qdatastream.h \
1886+ /usr/include/qt5/QtCore/qdir.h \
1887+ /usr/include/qt5/QtCore/qfileinfo.h \
1888+ /usr/include/qt5/QtCore/qfile.h \
1889+ /usr/include/qt5/QtCore/qfiledevice.h \
1890+ /usr/include/qt5/QtCore/qstringlist.h \
1891+ /usr/include/qt5/QtCore/qregexp.h \
1892+ /usr/include/qt5/QtCore/qstringmatcher.h \
1893+ /usr/include/qt5/QtCore/qdiriterator.h \
1894+ /usr/include/qt5/QtCore/qfilesystemwatcher.h \
1895+ /usr/include/qt5/QtCore/qprocess.h \
1896+ /usr/include/qt5/QtCore/qresource.h \
1897+ /usr/include/qt5/QtCore/qsettings.h \
1898+ /usr/include/qt5/QtCore/qstandardpaths.h \
1899+ /usr/include/qt5/QtCore/qtemporarydir.h \
1900+ /usr/include/qt5/QtCore/QScopedPointer \
1901+ /usr/include/qt5/QtCore/qtemporaryfile.h \
1902+ /usr/include/qt5/QtCore/qurl.h \
1903+ /usr/include/qt5/QtCore/qurlquery.h \
1904+ /usr/include/qt5/QtCore/qabstractitemmodel.h \
1905+ /usr/include/qt5/QtCore/qabstractproxymodel.h \
1906+ /usr/include/qt5/QtCore/qidentityproxymodel.h \
1907+ /usr/include/qt5/QtCore/qitemselectionmodel.h \
1908+ /usr/include/qt5/QtCore/qsortfilterproxymodel.h \
1909+ /usr/include/qt5/QtCore/qstringlistmodel.h \
1910+ /usr/include/qt5/QtCore/qjsonarray.h \
1911+ /usr/include/qt5/QtCore/qjsonvalue.h \
1912+ /usr/include/qt5/QtCore/qjsondocument.h \
1913+ /usr/include/qt5/QtCore/qjsonobject.h \
1914+ /usr/include/qt5/QtCore/qabstracteventdispatcher.h \
1915+ /usr/include/qt5/QtCore/qeventloop.h \
1916+ /usr/include/qt5/QtCore/qabstractnativeeventfilter.h \
1917+ /usr/include/qt5/QtCore/qbasictimer.h \
1918+ /usr/include/qt5/QtCore/qcoreapplication.h \
1919+ /usr/include/qt5/QtCore/qmath.h \
1920+ /usr/include/qt5/QtCore/qmetaobject.h \
1921+ /usr/include/qt5/QtCore/qmimedata.h \
1922+ /usr/include/qt5/QtCore/qobjectcleanuphandler.h \
1923+ /usr/include/qt5/QtCore/qpointer.h \
1924+ /usr/include/qt5/QtCore/qsharedmemory.h \
1925+ /usr/include/qt5/QtCore/qsignalmapper.h \
1926+ /usr/include/qt5/QtCore/qsocketnotifier.h \
1927+ /usr/include/qt5/QtCore/qsystemsemaphore.h \
1928+ /usr/include/qt5/QtCore/qtimer.h \
1929+ /usr/include/qt5/QtCore/qtranslator.h \
1930+ /usr/include/qt5/QtCore/qwineventnotifier.h \
1931+ /usr/include/qt5/QtCore/qt_windows.h \
1932+ /usr/include/qt5/QtCore/qmimedatabase.h \
1933+ /usr/include/qt5/QtCore/qmimetype.h \
1934+ /usr/include/qt5/QtCore/qfactoryinterface.h \
1935+ /usr/include/qt5/QtCore/qlibrary.h \
1936+ /usr/include/qt5/QtCore/qplugin.h \
1937+ /usr/include/qt5/QtCore/qpluginloader.h \
1938+ /usr/include/qt5/QtCore/quuid.h \
1939+ /usr/include/qt5/QtCore/qabstractstate.h \
1940+ /usr/include/qt5/QtCore/qabstracttransition.h \
1941+ /usr/include/qt5/QtCore/qeventtransition.h \
1942+ /usr/include/qt5/QtCore/qfinalstate.h \
1943+ /usr/include/qt5/QtCore/qhistorystate.h \
1944+ /usr/include/qt5/QtCore/qsignaltransition.h \
1945+ /usr/include/qt5/QtCore/qstate.h \
1946+ /usr/include/qt5/QtCore/qstatemachine.h \
1947+ /usr/include/qt5/QtCore/qexception.h \
1948+ /usr/include/qt5/QtCore/qfuture.h \
1949+ /usr/include/qt5/QtCore/qfutureinterface.h \
1950+ /usr/include/qt5/QtCore/qrunnable.h \
1951+ /usr/include/qt5/QtCore/qmutex.h \
1952+ /usr/include/qt5/QtCore/qresultstore.h \
1953+ /usr/include/qt5/QtCore/qfuturesynchronizer.h \
1954+ /usr/include/qt5/QtCore/qfuturewatcher.h \
1955+ /usr/include/qt5/QtCore/qreadwritelock.h \
1956+ /usr/include/qt5/QtCore/qsemaphore.h \
1957+ /usr/include/qt5/QtCore/qthread.h \
1958+ /usr/include/qt5/QtCore/qthreadpool.h \
1959+ /usr/include/qt5/QtCore/qthreadstorage.h \
1960+ /usr/include/qt5/QtCore/qwaitcondition.h \
1961+ /usr/include/qt5/QtCore/qarraydataops.h \
1962+ /usr/include/qt5/QtCore/qarraydatapointer.h \
1963+ /usr/include/qt5/QtCore/qbitarray.h \
1964+ /usr/include/qt5/QtCore/qbytearraymatcher.h \
1965+ /usr/include/qt5/QtCore/qcache.h \
1966+ /usr/include/qt5/QtCore/qcryptographichash.h \
1967+ /usr/include/qt5/QtCore/qelapsedtimer.h \
1968+ /usr/include/qt5/QtCore/qline.h \
1969+ /usr/include/qt5/QtCore/qlinkedlist.h \
1970+ /usr/include/qt5/QtCore/qmargins.h \
1971+ /usr/include/qt5/QtCore/qqueue.h \
1972+ /usr/include/qt5/QtCore/qrect.h \
1973+ /usr/include/qt5/QtCore/qsize.h \
1974+ /usr/include/qt5/QtCore/qregularexpression.h \
1975+ /usr/include/qt5/QtCore/qscopedvaluerollback.h \
1976+ /usr/include/qt5/QtCore/qstack.h \
1977+ /usr/include/qt5/QtCore/qtextboundaryfinder.h \
1978+ /usr/include/qt5/QtCore/qtimeline.h \
1979+ /usr/include/qt5/QtCore/qxmlstream.h \
1980+ /usr/include/qt5/QtCore/qtcoreversion.h \
1981+ /usr/include/qt5/QtNetwork/QtNetwork \
1982+ /usr/include/qt5/QtNetwork/qabstractnetworkcache.h \
1983+ /usr/include/qt5/QtNetwork/qnetworkrequest.h \
1984+ /usr/include/qt5/QtCore/QSharedDataPointer \
1985+ /usr/include/qt5/QtCore/QString \
1986+ /usr/include/qt5/QtCore/QUrl \
1987+ /usr/include/qt5/QtCore/QVariant \
1988+ /usr/include/qt5/QtNetwork/qhttpmultipart.h \
1989+ /usr/include/qt5/QtCore/QByteArray \
1990+ /usr/include/qt5/QtCore/QIODevice \
1991+ /usr/include/qt5/QtNetwork/QNetworkRequest \
1992+ /usr/include/qt5/QtNetwork/qnetworkaccessmanager.h \
1993+ /usr/include/qt5/QtCore/QObject \
1994+ /usr/include/qt5/QtNetwork/qnetworkcookie.h \
1995+ /usr/include/qt5/QtCore/QList \
1996+ /usr/include/qt5/QtCore/QMetaType \
1997+ /usr/include/qt5/QtNetwork/qnetworkcookiejar.h \
1998+ /usr/include/qt5/QtNetwork/qnetworkdiskcache.h \
1999+ /usr/include/qt5/QtNetwork/qnetworkreply.h \
2000+ /usr/include/qt5/QtNetwork/QNetworkAccessManager \
2001+ /usr/include/qt5/QtNetwork/qnetworkconfigmanager.h \
2002+ /usr/include/qt5/QtNetwork/qnetworkconfiguration.h \
2003+ /usr/include/qt5/QtNetwork/qnetworksession.h \
2004+ /usr/include/qt5/QtNetwork/qnetworkinterface.h \
2005+ /usr/include/qt5/QtNetwork/qhostaddress.h \
2006+ /usr/include/qt5/QtNetwork/qabstractsocket.h \
2007+ /usr/include/qt5/QtNetwork/qauthenticator.h \
2008+ /usr/include/qt5/QtNetwork/qdnslookup.h \
2009+ /usr/include/qt5/QtNetwork/qhostinfo.h \
2010+ /usr/include/qt5/QtNetwork/qnetworkproxy.h \
2011+ /usr/include/qt5/QtNetwork/qlocalserver.h \
2012+ /usr/include/qt5/QtNetwork/qlocalsocket.h \
2013+ /usr/include/qt5/QtNetwork/qtcpserver.h \
2014+ /usr/include/qt5/QtNetwork/qtcpsocket.h \
2015+ /usr/include/qt5/QtNetwork/qudpsocket.h \
2016+ /usr/include/qt5/QtNetwork/qssl.h \
2017+ /usr/include/qt5/QtCore/QFlags \
2018+ /usr/include/qt5/QtNetwork/qsslcertificate.h \
2019+ /usr/include/qt5/QtNetwork/qsslcertificateextension.h \
2020+ /usr/include/qt5/QtNetwork/qsslcipher.h \
2021+ /usr/include/qt5/QtNetwork/qsslconfiguration.h \
2022+ /usr/include/qt5/QtNetwork/qsslsocket.h \
2023+ /usr/include/qt5/QtNetwork/qsslerror.h \
2024+ /usr/include/qt5/QtNetwork/qsslkey.h \
2025+ /usr/include/qt5/QtNetwork/qtnetworkversion.h \
2026+ /usr/include/qt5/QtQml/qtqmlglobal.h \
2027+ /usr/include/qt5/QtQml/qqmldebug.h \
2028+ /usr/include/qt5/QtQml/qqml.h \
2029+ /usr/include/qt5/QtQml/qqmlprivate.h \
2030+ /usr/include/qt5/QtQml/qqmlparserstatus.h \
2031+ /usr/include/qt5/QtQml/qqmlpropertyvaluesource.h \
2032+ /usr/include/qt5/QtQml/qqmllist.h \
2033+ /usr/include/qt5/QtQml/qqmlcomponent.h \
2034+ /usr/include/qt5/QtQml/qqmlerror.h \
2035+ /usr/include/qt5/QtQml/qjsvalue.h \
2036+ /usr/include/qt5/QtQml/qqmlcontext.h \
2037+ /usr/include/qt5/QtQml/qqmlengine.h \
2038+ /usr/include/qt5/QtQml/qjsengine.h \
2039+ /usr/include/qt5/QtQml/qqmlexpression.h \
2040+ /usr/include/qt5/QtQml/qqmlscriptstring.h \
2041+ /usr/include/qt5/QtQml/qqmlextensioninterface.h \
2042+ /usr/include/qt5/QtQml/qqmlextensionplugin.h \
2043+ /usr/include/qt5/QtQml/qqmlfile.h \
2044+ /usr/include/qt5/QtQml/qqmlincubator.h \
2045+ /usr/include/qt5/QtQml/qqmlinfo.h \
2046+ /usr/include/qt5/QtQml/qqmlnetworkaccessmanagerfactory.h \
2047+ /usr/include/qt5/QtQml/qqmlproperty.h \
2048+ /usr/include/qt5/QtQml/qqmlpropertymap.h \
2049+ /usr/include/qt5/QtCore/QHash \
2050+ /usr/include/qt5/QtCore/QStringList \
2051+ /usr/include/qt5/QtQml/qjsvalueiterator.h \
2052+ /usr/include/qt5/QtQml/qtqmlversion.h \
2053+ /usr/include/qt5/QtQml/QQmlContext \
2054+ backend.h \
2055+ /usr/include/qt5/QtQml/QQmlEngine \
2056+ /usr/include/qt5/QtQml/QQmlExtensionPlugin \
2057+ ubuntuboot.h \
2058+ /usr/include/qt5/QtCore/QRegularExpression
2059+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o backend.o backend.cpp
2060+
2061+ubuntuboot.o: ubuntuboot.cpp ubuntuboot.h \
2062+ /usr/include/qt5/QtCore/QObject \
2063+ /usr/include/qt5/QtCore/qobject.h \
2064+ /usr/include/qt5/QtCore/qobjectdefs.h \
2065+ /usr/include/qt5/QtCore/qnamespace.h \
2066+ /usr/include/qt5/QtCore/qglobal.h \
2067+ /usr/include/qt5/QtCore/qconfig.h \
2068+ /usr/include/qt5/QtCore/qfeatures.h \
2069+ /usr/include/qt5/QtCore/qsystemdetection.h \
2070+ /usr/include/qt5/QtCore/qcompilerdetection.h \
2071+ /usr/include/qt5/QtCore/qprocessordetection.h \
2072+ /usr/include/qt5/QtCore/qlogging.h \
2073+ /usr/include/qt5/QtCore/qflags.h \
2074+ /usr/include/qt5/QtCore/qtypeinfo.h \
2075+ /usr/include/qt5/QtCore/qtypetraits.h \
2076+ /usr/include/qt5/QtCore/qsysinfo.h \
2077+ /usr/include/qt5/QtCore/qobjectdefs_impl.h \
2078+ /usr/include/qt5/QtCore/qstring.h \
2079+ /usr/include/qt5/QtCore/qchar.h \
2080+ /usr/include/qt5/QtCore/qbytearray.h \
2081+ /usr/include/qt5/QtCore/qrefcount.h \
2082+ /usr/include/qt5/QtCore/qatomic.h \
2083+ /usr/include/qt5/QtCore/qbasicatomic.h \
2084+ /usr/include/qt5/QtCore/qatomic_bootstrap.h \
2085+ /usr/include/qt5/QtCore/qgenericatomic.h \
2086+ /usr/include/qt5/QtCore/qatomic_msvc.h \
2087+ /usr/include/qt5/QtCore/qatomic_integrity.h \
2088+ /usr/include/qt5/QtCore/qoldbasicatomic.h \
2089+ /usr/include/qt5/QtCore/qatomic_vxworks.h \
2090+ /usr/include/qt5/QtCore/qatomic_power.h \
2091+ /usr/include/qt5/QtCore/qatomic_alpha.h \
2092+ /usr/include/qt5/QtCore/qatomic_armv7.h \
2093+ /usr/include/qt5/QtCore/qatomic_armv6.h \
2094+ /usr/include/qt5/QtCore/qatomic_armv5.h \
2095+ /usr/include/qt5/QtCore/qatomic_bfin.h \
2096+ /usr/include/qt5/QtCore/qatomic_ia64.h \
2097+ /usr/include/qt5/QtCore/qatomic_mips.h \
2098+ /usr/include/qt5/QtCore/qatomic_s390.h \
2099+ /usr/include/qt5/QtCore/qatomic_sh4a.h \
2100+ /usr/include/qt5/QtCore/qatomic_sparc.h \
2101+ /usr/include/qt5/QtCore/qatomic_x86.h \
2102+ /usr/include/qt5/QtCore/qatomic_cxx11.h \
2103+ /usr/include/qt5/QtCore/qatomic_gcc.h \
2104+ /usr/include/qt5/QtCore/qatomic_unix.h \
2105+ /usr/include/qt5/QtCore/qarraydata.h \
2106+ /usr/include/qt5/QtCore/qstringbuilder.h \
2107+ /usr/include/qt5/QtCore/qlist.h \
2108+ /usr/include/qt5/QtCore/qalgorithms.h \
2109+ /usr/include/qt5/QtCore/qiterator.h \
2110+ /usr/include/qt5/QtCore/qcoreevent.h \
2111+ /usr/include/qt5/QtCore/qscopedpointer.h \
2112+ /usr/include/qt5/QtCore/qmetatype.h \
2113+ /usr/include/qt5/QtCore/qvarlengtharray.h \
2114+ /usr/include/qt5/QtCore/qcontainerfwd.h \
2115+ /usr/include/qt5/QtCore/qisenum.h \
2116+ /usr/include/qt5/QtCore/qobject_impl.h \
2117+ /usr/include/qt5/QtCore/QRegularExpression \
2118+ /usr/include/qt5/QtCore/qregularexpression.h \
2119+ /usr/include/qt5/QtCore/qshareddata.h \
2120+ /usr/include/qt5/QtCore/qvariant.h \
2121+ /usr/include/qt5/QtCore/qmap.h \
2122+ /usr/include/qt5/QtCore/qpair.h \
2123+ /usr/include/qt5/QtCore/qdebug.h \
2124+ /usr/include/qt5/QtCore/qhash.h \
2125+ /usr/include/qt5/QtCore/qtextstream.h \
2126+ /usr/include/qt5/QtCore/qiodevice.h \
2127+ /usr/include/qt5/QtCore/qlocale.h \
2128+ /usr/include/qt5/QtCore/qvector.h \
2129+ /usr/include/qt5/QtCore/qpoint.h \
2130+ /usr/include/qt5/QtCore/qset.h \
2131+ /usr/include/qt5/QtCore/qcontiguouscache.h
2132+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ubuntuboot.o ubuntuboot.cpp
2133+
2134+moc_backend.o: moc_backend.cpp
2135+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_backend.o moc_backend.cpp
2136+
2137+moc_ubuntuboot.o: moc_ubuntuboot.cpp
2138+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ubuntuboot.o moc_ubuntuboot.cpp
2139+
2140+####### Install
2141+
2142+install_target: first FORCE
2143+ @test -d $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot || mkdir -p $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot
2144+ -$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
2145+ -$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
2146+
2147+uninstall_target: FORCE
2148+ -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
2149+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
2150+
2151+
2152+install_qmldir: first FORCE
2153+ @test -d $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot || mkdir -p $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot
2154+ -$(INSTALL_FILE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/qmldir $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
2155+
2156+uninstall_qmldir: FORCE
2157+ -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/qmldir
2158+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
2159+
2160+
2161+install: install_target install_qmldir FORCE
2162+
2163+uninstall: uninstall_target uninstall_qmldir FORCE
2164+
2165+FORCE:
2166+
2167
2168=== added file 'Ubuntu/backend/modules/ubuntuboot/backend.cpp'
2169--- Ubuntu/backend/modules/ubuntuboot/backend.cpp 1970-01-01 00:00:00 +0000
2170+++ Ubuntu/backend/modules/ubuntuboot/backend.cpp 2014-02-11 09:12:08 +0000
2171@@ -0,0 +1,17 @@
2172+#include <QtQml>
2173+#include <QtQml/QQmlContext>
2174+#include "backend.h"
2175+#include "ubuntuboot.h"
2176+
2177+
2178+void BackendPlugin::registerTypes(const char *uri)
2179+{
2180+ Q_ASSERT(uri == QLatin1String("ubuntuboot"));
2181+
2182+ qmlRegisterType<Ubuntuboot>(uri, 1, 0, "Ubuntuboot");
2183+}
2184+
2185+void BackendPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
2186+{
2187+ QQmlExtensionPlugin::initializeEngine(engine, uri);
2188+}
2189
2190=== added file 'Ubuntu/backend/modules/ubuntuboot/backend.h'
2191--- Ubuntu/backend/modules/ubuntuboot/backend.h 1970-01-01 00:00:00 +0000
2192+++ Ubuntu/backend/modules/ubuntuboot/backend.h 2014-02-11 09:12:08 +0000
2193@@ -0,0 +1,18 @@
2194+#ifndef BACKEND_PLUGIN_H
2195+#define BACKEND_PLUGIN_H
2196+
2197+#include <QtQml/QQmlEngine>
2198+#include <QtQml/QQmlExtensionPlugin>
2199+
2200+
2201+class BackendPlugin : public QQmlExtensionPlugin
2202+{
2203+ Q_OBJECT
2204+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
2205+
2206+public:
2207+ void registerTypes(const char *uri);
2208+ void initializeEngine(QQmlEngine *engine, const char *uri);
2209+};
2210+#endif // BACKEND_PLUGIN_H
2211+
2212
2213=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp'
2214--- Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp 1970-01-01 00:00:00 +0000
2215+++ Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp 2014-02-11 09:12:08 +0000
2216@@ -0,0 +1,155 @@
2217+/****************************************************************************
2218+** Meta object code from reading C++ file 'backend.h'
2219+**
2220+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
2221+**
2222+** WARNING! All changes made in this file will be lost!
2223+*****************************************************************************/
2224+
2225+#include "backend.h"
2226+#include <QtCore/qbytearray.h>
2227+#include <QtCore/qmetatype.h>
2228+#include <QtCore/qplugin.h>
2229+#if !defined(Q_MOC_OUTPUT_REVISION)
2230+#error "The header file 'backend.h' doesn't include <QObject>."
2231+#elif Q_MOC_OUTPUT_REVISION != 67
2232+#error "This file was generated using the moc from 5.0.2. It"
2233+#error "cannot be used with the include files from this version of Qt."
2234+#error "(The moc has changed too much.)"
2235+#endif
2236+
2237+QT_BEGIN_MOC_NAMESPACE
2238+struct qt_meta_stringdata_BackendPlugin_t {
2239+ QByteArrayData data[1];
2240+ char stringdata[15];
2241+};
2242+#define QT_MOC_LITERAL(idx, ofs, len) \
2243+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
2244+ offsetof(qt_meta_stringdata_BackendPlugin_t, stringdata) + ofs \
2245+ - idx * sizeof(QByteArrayData) \
2246+ )
2247+static const qt_meta_stringdata_BackendPlugin_t qt_meta_stringdata_BackendPlugin = {
2248+ {
2249+QT_MOC_LITERAL(0, 0, 13)
2250+ },
2251+ "BackendPlugin\0"
2252+};
2253+#undef QT_MOC_LITERAL
2254+
2255+static const uint qt_meta_data_BackendPlugin[] = {
2256+
2257+ // content:
2258+ 7, // revision
2259+ 0, // classname
2260+ 0, 0, // classinfo
2261+ 0, 0, // methods
2262+ 0, 0, // properties
2263+ 0, 0, // enums/sets
2264+ 0, 0, // constructors
2265+ 0, // flags
2266+ 0, // signalCount
2267+
2268+ 0 // eod
2269+};
2270+
2271+void BackendPlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
2272+{
2273+ Q_UNUSED(_o);
2274+ Q_UNUSED(_id);
2275+ Q_UNUSED(_c);
2276+ Q_UNUSED(_a);
2277+}
2278+
2279+const QMetaObject BackendPlugin::staticMetaObject = {
2280+ { &QQmlExtensionPlugin::staticMetaObject, qt_meta_stringdata_BackendPlugin.data,
2281+ qt_meta_data_BackendPlugin, qt_static_metacall, 0, 0}
2282+};
2283+
2284+
2285+const QMetaObject *BackendPlugin::metaObject() const
2286+{
2287+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
2288+}
2289+
2290+void *BackendPlugin::qt_metacast(const char *_clname)
2291+{
2292+ if (!_clname) return 0;
2293+ if (!strcmp(_clname, qt_meta_stringdata_BackendPlugin.stringdata))
2294+ return static_cast<void*>(const_cast< BackendPlugin*>(this));
2295+ return QQmlExtensionPlugin::qt_metacast(_clname);
2296+}
2297+
2298+int BackendPlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
2299+{
2300+ _id = QQmlExtensionPlugin::qt_metacall(_c, _id, _a);
2301+ if (_id < 0)
2302+ return _id;
2303+ return _id;
2304+}
2305+
2306+QT_PLUGIN_METADATA_SECTION const uint qt_section_alignment_dummy = 42;
2307+
2308+#ifdef QT_NO_DEBUG
2309+
2310+QT_PLUGIN_METADATA_SECTION
2311+static const unsigned char qt_pluginMetaData[] = {
2312+ 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', ' ',
2313+ 0x71, 0x62, 0x6a, 0x73, 0x01, 0x00, 0x00, 0x00,
2314+ 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
2315+ 0x9c, 0x00, 0x00, 0x00, 0x1b, 0x03, 0x00, 0x00,
2316+ 0x03, 0x00, 0x49, 0x49, 0x44, 0x00, 0x00, 0x00,
2317+ 0x28, 0x00, 0x6f, 0x72, 0x67, 0x2e, 0x71, 0x74,
2318+ 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2319+ 0x2e, 0x51, 0x74, 0x2e, 0x51, 0x51, 0x6d, 0x6c,
2320+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
2321+ 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
2322+ 0x63, 0x65, 0x00, 0x00, 0x9b, 0x0a, 0x00, 0x00,
2323+ 0x09, 0x00, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e,
2324+ 0x61, 0x6d, 0x65, 0x00, 0x0d, 0x00, 0x42, 0x61,
2325+ 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x75,
2326+ 0x67, 0x69, 0x6e, 0x00, 0x5a, 0x00, 0xa0, 0x00,
2327+ 0x07, 0x00, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2328+ 0x6e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
2329+ 0x05, 0x00, 0x64, 0x65, 0x62, 0x75, 0x67, 0x00,
2330+ 0x15, 0x12, 0x00, 0x00, 0x08, 0x00, 0x4d, 0x65,
2331+ 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00,
2332+ 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2333+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
2334+ 0x80, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
2335+ 0x74, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
2336+};
2337+
2338+#else // QT_NO_DEBUG
2339+
2340+QT_PLUGIN_METADATA_SECTION
2341+static const unsigned char qt_pluginMetaData[] = {
2342+ 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', ' ',
2343+ 0x71, 0x62, 0x6a, 0x73, 0x01, 0x00, 0x00, 0x00,
2344+ 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
2345+ 0x9c, 0x00, 0x00, 0x00, 0x1b, 0x03, 0x00, 0x00,
2346+ 0x03, 0x00, 0x49, 0x49, 0x44, 0x00, 0x00, 0x00,
2347+ 0x28, 0x00, 0x6f, 0x72, 0x67, 0x2e, 0x71, 0x74,
2348+ 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2349+ 0x2e, 0x51, 0x74, 0x2e, 0x51, 0x51, 0x6d, 0x6c,
2350+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
2351+ 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
2352+ 0x63, 0x65, 0x00, 0x00, 0x95, 0x0a, 0x00, 0x00,
2353+ 0x08, 0x00, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
2354+ 0x74, 0x61, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
2355+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2356+ 0x1b, 0x0e, 0x00, 0x00, 0x09, 0x00, 0x63, 0x6c,
2357+ 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x00,
2358+ 0x0d, 0x00, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e,
2359+ 0x64, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x00,
2360+ 0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x64, 0x65,
2361+ 0x62, 0x75, 0x67, 0x00, 0x5a, 0x00, 0xa0, 0x00,
2362+ 0x07, 0x00, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2363+ 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
2364+ 0x44, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
2365+ 0x80, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00
2366+};
2367+#endif // QT_NO_DEBUG
2368+
2369+QT_MOC_EXPORT_PLUGIN(BackendPlugin, BackendPlugin)
2370+
2371+QT_END_MOC_NAMESPACE
2372
2373=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp'
2374--- Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp 1970-01-01 00:00:00 +0000
2375+++ Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp 2014-02-11 09:12:08 +0000
2376@@ -0,0 +1,162 @@
2377+/****************************************************************************
2378+** Meta object code from reading C++ file 'mytype.h'
2379+**
2380+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
2381+**
2382+** WARNING! All changes made in this file will be lost!
2383+*****************************************************************************/
2384+
2385+#include "mytype.h"
2386+#include <QtCore/qbytearray.h>
2387+#include <QtCore/qmetatype.h>
2388+#if !defined(Q_MOC_OUTPUT_REVISION)
2389+#error "The header file 'mytype.h' doesn't include <QObject>."
2390+#elif Q_MOC_OUTPUT_REVISION != 67
2391+#error "This file was generated using the moc from 5.0.2. It"
2392+#error "cannot be used with the include files from this version of Qt."
2393+#error "(The moc has changed too much.)"
2394+#endif
2395+
2396+QT_BEGIN_MOC_NAMESPACE
2397+struct qt_meta_stringdata_MyType_t {
2398+ QByteArrayData data[4];
2399+ char stringdata[38];
2400+};
2401+#define QT_MOC_LITERAL(idx, ofs, len) \
2402+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
2403+ offsetof(qt_meta_stringdata_MyType_t, stringdata) + ofs \
2404+ - idx * sizeof(QByteArrayData) \
2405+ )
2406+static const qt_meta_stringdata_MyType_t qt_meta_stringdata_MyType = {
2407+ {
2408+QT_MOC_LITERAL(0, 0, 6),
2409+QT_MOC_LITERAL(1, 7, 17),
2410+QT_MOC_LITERAL(2, 25, 0),
2411+QT_MOC_LITERAL(3, 26, 10)
2412+ },
2413+ "MyType\0helloWorldChanged\0\0helloWorld\0"
2414+};
2415+#undef QT_MOC_LITERAL
2416+
2417+static const uint qt_meta_data_MyType[] = {
2418+
2419+ // content:
2420+ 7, // revision
2421+ 0, // classname
2422+ 0, 0, // classinfo
2423+ 1, 14, // methods
2424+ 1, 20, // properties
2425+ 0, 0, // enums/sets
2426+ 0, 0, // constructors
2427+ 0, // flags
2428+ 1, // signalCount
2429+
2430+ // signals: name, argc, parameters, tag, flags
2431+ 1, 0, 19, 2, 0x05,
2432+
2433+ // signals: parameters
2434+ QMetaType::Void,
2435+
2436+ // properties: name, type, flags
2437+ 3, QMetaType::QString, 0x00495103,
2438+
2439+ // properties: notify_signal_id
2440+ 0,
2441+
2442+ 0 // eod
2443+};
2444+
2445+void MyType::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
2446+{
2447+ if (_c == QMetaObject::InvokeMetaMethod) {
2448+ MyType *_t = static_cast<MyType *>(_o);
2449+ switch (_id) {
2450+ case 0: _t->helloWorldChanged(); break;
2451+ default: ;
2452+ }
2453+ } else if (_c == QMetaObject::IndexOfMethod) {
2454+ int *result = reinterpret_cast<int *>(_a[0]);
2455+ void **func = reinterpret_cast<void **>(_a[1]);
2456+ {
2457+ typedef void (MyType::*_t)();
2458+ if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&MyType::helloWorldChanged)) {
2459+ *result = 0;
2460+ }
2461+ }
2462+ }
2463+ Q_UNUSED(_a);
2464+}
2465+
2466+const QMetaObject MyType::staticMetaObject = {
2467+ { &QObject::staticMetaObject, qt_meta_stringdata_MyType.data,
2468+ qt_meta_data_MyType, qt_static_metacall, 0, 0}
2469+};
2470+
2471+
2472+const QMetaObject *MyType::metaObject() const
2473+{
2474+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
2475+}
2476+
2477+void *MyType::qt_metacast(const char *_clname)
2478+{
2479+ if (!_clname) return 0;
2480+ if (!strcmp(_clname, qt_meta_stringdata_MyType.stringdata))
2481+ return static_cast<void*>(const_cast< MyType*>(this));
2482+ return QObject::qt_metacast(_clname);
2483+}
2484+
2485+int MyType::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
2486+{
2487+ _id = QObject::qt_metacall(_c, _id, _a);
2488+ if (_id < 0)
2489+ return _id;
2490+ if (_c == QMetaObject::InvokeMetaMethod) {
2491+ if (_id < 1)
2492+ qt_static_metacall(this, _c, _id, _a);
2493+ _id -= 1;
2494+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
2495+ if (_id < 1)
2496+ *reinterpret_cast<int*>(_a[0]) = -1;
2497+ _id -= 1;
2498+ }
2499+#ifndef QT_NO_PROPERTIES
2500+ else if (_c == QMetaObject::ReadProperty) {
2501+ void *_v = _a[0];
2502+ switch (_id) {
2503+ case 0: *reinterpret_cast< QString*>(_v) = helloWorld(); break;
2504+ }
2505+ _id -= 1;
2506+ } else if (_c == QMetaObject::WriteProperty) {
2507+ void *_v = _a[0];
2508+ switch (_id) {
2509+ case 0: setHelloWorld(*reinterpret_cast< QString*>(_v)); break;
2510+ }
2511+ _id -= 1;
2512+ } else if (_c == QMetaObject::ResetProperty) {
2513+ _id -= 1;
2514+ } else if (_c == QMetaObject::QueryPropertyDesignable) {
2515+ _id -= 1;
2516+ } else if (_c == QMetaObject::QueryPropertyScriptable) {
2517+ _id -= 1;
2518+ } else if (_c == QMetaObject::QueryPropertyStored) {
2519+ _id -= 1;
2520+ } else if (_c == QMetaObject::QueryPropertyEditable) {
2521+ _id -= 1;
2522+ } else if (_c == QMetaObject::QueryPropertyUser) {
2523+ _id -= 1;
2524+ } else if (_c == QMetaObject::RegisterPropertyMetaType) {
2525+ if (_id < 1)
2526+ *reinterpret_cast<int*>(_a[0]) = -1;
2527+ _id -= 1;
2528+ }
2529+#endif // QT_NO_PROPERTIES
2530+ return _id;
2531+}
2532+
2533+// SIGNAL 0
2534+void MyType::helloWorldChanged()
2535+{
2536+ QMetaObject::activate(this, &staticMetaObject, 0, 0);
2537+}
2538+QT_END_MOC_NAMESPACE
2539
2540=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp'
2541--- Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp 1970-01-01 00:00:00 +0000
2542+++ Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp 2014-02-11 09:12:08 +0000
2543@@ -0,0 +1,213 @@
2544+/****************************************************************************
2545+** Meta object code from reading C++ file 'ubuntuboot.h'
2546+**
2547+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
2548+**
2549+** WARNING! All changes made in this file will be lost!
2550+*****************************************************************************/
2551+
2552+#include "ubuntuboot.h"
2553+#include <QtCore/qbytearray.h>
2554+#include <QtCore/qmetatype.h>
2555+#if !defined(Q_MOC_OUTPUT_REVISION)
2556+#error "The header file 'ubuntuboot.h' doesn't include <QObject>."
2557+#elif Q_MOC_OUTPUT_REVISION != 67
2558+#error "This file was generated using the moc from 5.0.2. It"
2559+#error "cannot be used with the include files from this version of Qt."
2560+#error "(The moc has changed too much.)"
2561+#endif
2562+
2563+QT_BEGIN_MOC_NAMESPACE
2564+struct qt_meta_stringdata_Ubuntuboot_t {
2565+ QByteArrayData data[9];
2566+ char stringdata[95];
2567+};
2568+#define QT_MOC_LITERAL(idx, ofs, len) \
2569+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
2570+ offsetof(qt_meta_stringdata_Ubuntuboot_t, stringdata) + ofs \
2571+ - idx * sizeof(QByteArrayData) \
2572+ )
2573+static const qt_meta_stringdata_Ubuntuboot_t qt_meta_stringdata_Ubuntuboot = {
2574+ {
2575+QT_MOC_LITERAL(0, 0, 10),
2576+QT_MOC_LITERAL(1, 11, 12),
2577+QT_MOC_LITERAL(2, 24, 0),
2578+QT_MOC_LITERAL(3, 25, 20),
2579+QT_MOC_LITERAL(4, 46, 13),
2580+QT_MOC_LITERAL(5, 60, 6),
2581+QT_MOC_LITERAL(6, 67, 5),
2582+QT_MOC_LITERAL(7, 73, 13),
2583+QT_MOC_LITERAL(8, 87, 6)
2584+ },
2585+ "Ubuntuboot\0upassChanged\0\0boottoandroidChanged\0"
2586+ "resultChanged\0reboot\0upass\0boottoandroid\0"
2587+ "result\0"
2588+};
2589+#undef QT_MOC_LITERAL
2590+
2591+static const uint qt_meta_data_Ubuntuboot[] = {
2592+
2593+ // content:
2594+ 7, // revision
2595+ 0, // classname
2596+ 0, 0, // classinfo
2597+ 4, 14, // methods
2598+ 3, 38, // properties
2599+ 0, 0, // enums/sets
2600+ 0, 0, // constructors
2601+ 0, // flags
2602+ 3, // signalCount
2603+
2604+ // signals: name, argc, parameters, tag, flags
2605+ 1, 0, 34, 2, 0x05,
2606+ 3, 0, 35, 2, 0x05,
2607+ 4, 0, 36, 2, 0x05,
2608+
2609+ // slots: name, argc, parameters, tag, flags
2610+ 5, 0, 37, 2, 0x0a,
2611+
2612+ // signals: parameters
2613+ QMetaType::Void,
2614+ QMetaType::Void,
2615+ QMetaType::Void,
2616+
2617+ // slots: parameters
2618+ QMetaType::Void,
2619+
2620+ // properties: name, type, flags
2621+ 6, QMetaType::QString, 0x00495003,
2622+ 7, QMetaType::Bool, 0x00495003,
2623+ 8, QMetaType::Int, 0x00495001,
2624+
2625+ // properties: notify_signal_id
2626+ 0,
2627+ 1,
2628+ 2,
2629+
2630+ 0 // eod
2631+};
2632+
2633+void Ubuntuboot::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
2634+{
2635+ if (_c == QMetaObject::InvokeMetaMethod) {
2636+ Ubuntuboot *_t = static_cast<Ubuntuboot *>(_o);
2637+ switch (_id) {
2638+ case 0: _t->upassChanged(); break;
2639+ case 1: _t->boottoandroidChanged(); break;
2640+ case 2: _t->resultChanged(); break;
2641+ case 3: _t->reboot(); break;
2642+ default: ;
2643+ }
2644+ } else if (_c == QMetaObject::IndexOfMethod) {
2645+ int *result = reinterpret_cast<int *>(_a[0]);
2646+ void **func = reinterpret_cast<void **>(_a[1]);
2647+ {
2648+ typedef void (Ubuntuboot::*_t)();
2649+ if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::upassChanged)) {
2650+ *result = 0;
2651+ }
2652+ }
2653+ {
2654+ typedef void (Ubuntuboot::*_t)();
2655+ if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::boottoandroidChanged)) {
2656+ *result = 1;
2657+ }
2658+ }
2659+ {
2660+ typedef void (Ubuntuboot::*_t)();
2661+ if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::resultChanged)) {
2662+ *result = 2;
2663+ }
2664+ }
2665+ }
2666+ Q_UNUSED(_a);
2667+}
2668+
2669+const QMetaObject Ubuntuboot::staticMetaObject = {
2670+ { &QObject::staticMetaObject, qt_meta_stringdata_Ubuntuboot.data,
2671+ qt_meta_data_Ubuntuboot, qt_static_metacall, 0, 0}
2672+};
2673+
2674+
2675+const QMetaObject *Ubuntuboot::metaObject() const
2676+{
2677+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
2678+}
2679+
2680+void *Ubuntuboot::qt_metacast(const char *_clname)
2681+{
2682+ if (!_clname) return 0;
2683+ if (!strcmp(_clname, qt_meta_stringdata_Ubuntuboot.stringdata))
2684+ return static_cast<void*>(const_cast< Ubuntuboot*>(this));
2685+ return QObject::qt_metacast(_clname);
2686+}
2687+
2688+int Ubuntuboot::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
2689+{
2690+ _id = QObject::qt_metacall(_c, _id, _a);
2691+ if (_id < 0)
2692+ return _id;
2693+ if (_c == QMetaObject::InvokeMetaMethod) {
2694+ if (_id < 4)
2695+ qt_static_metacall(this, _c, _id, _a);
2696+ _id -= 4;
2697+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
2698+ if (_id < 4)
2699+ *reinterpret_cast<int*>(_a[0]) = -1;
2700+ _id -= 4;
2701+ }
2702+#ifndef QT_NO_PROPERTIES
2703+ else if (_c == QMetaObject::ReadProperty) {
2704+ void *_v = _a[0];
2705+ switch (_id) {
2706+ case 0: *reinterpret_cast< QString*>(_v) = upass(); break;
2707+ case 1: *reinterpret_cast< bool*>(_v) = boottoandroid(); break;
2708+ case 2: *reinterpret_cast< int*>(_v) = result(); break;
2709+ }
2710+ _id -= 3;
2711+ } else if (_c == QMetaObject::WriteProperty) {
2712+ void *_v = _a[0];
2713+ switch (_id) {
2714+ case 0: setUPass(*reinterpret_cast< QString*>(_v)); break;
2715+ case 1: Setboottoandroid(*reinterpret_cast< bool*>(_v)); break;
2716+ }
2717+ _id -= 3;
2718+ } else if (_c == QMetaObject::ResetProperty) {
2719+ _id -= 3;
2720+ } else if (_c == QMetaObject::QueryPropertyDesignable) {
2721+ _id -= 3;
2722+ } else if (_c == QMetaObject::QueryPropertyScriptable) {
2723+ _id -= 3;
2724+ } else if (_c == QMetaObject::QueryPropertyStored) {
2725+ _id -= 3;
2726+ } else if (_c == QMetaObject::QueryPropertyEditable) {
2727+ _id -= 3;
2728+ } else if (_c == QMetaObject::QueryPropertyUser) {
2729+ _id -= 3;
2730+ } else if (_c == QMetaObject::RegisterPropertyMetaType) {
2731+ if (_id < 3)
2732+ *reinterpret_cast<int*>(_a[0]) = -1;
2733+ _id -= 3;
2734+ }
2735+#endif // QT_NO_PROPERTIES
2736+ return _id;
2737+}
2738+
2739+// SIGNAL 0
2740+void Ubuntuboot::upassChanged()
2741+{
2742+ QMetaObject::activate(this, &staticMetaObject, 0, 0);
2743+}
2744+
2745+// SIGNAL 1
2746+void Ubuntuboot::boottoandroidChanged()
2747+{
2748+ QMetaObject::activate(this, &staticMetaObject, 1, 0);
2749+}
2750+
2751+// SIGNAL 2
2752+void Ubuntuboot::resultChanged()
2753+{
2754+ QMetaObject::activate(this, &staticMetaObject, 2, 0);
2755+}
2756+QT_END_MOC_NAMESPACE
2757
2758=== added file 'Ubuntu/backend/modules/ubuntuboot/qmldir'
2759--- Ubuntu/backend/modules/ubuntuboot/qmldir 1970-01-01 00:00:00 +0000
2760+++ Ubuntu/backend/modules/ubuntuboot/qmldir 2014-02-11 09:12:08 +0000
2761@@ -0,0 +1,2 @@
2762+module ubuntuboot
2763+plugin ubuntuboot
2764
2765=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp'
2766--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp 1970-01-01 00:00:00 +0000
2767+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp 2014-02-11 09:12:08 +0000
2768@@ -0,0 +1,35 @@
2769+#include "ubuntuboot.h"
2770+
2771+Ubuntuboot::Ubuntuboot(QObject *parent) :
2772+ QObject(parent)
2773+{
2774+ boot_android_cmd ="sudo -S /system/bin/reboot";
2775+ boot_ubuntu_cmd ="sudo -S /system/bin/reboot recovery";
2776+ passwd_command="echo ";
2777+ m_upass="";
2778+ mAndroid = false;
2779+ result_cmd= 0;
2780+}
2781+
2782+Ubuntuboot::~Ubuntuboot() {
2783+
2784+}
2785+
2786+void Ubuntuboot::reboot() {
2787+
2788+ QString icmd = "";
2789+ //configure account
2790+ icmd += passwd_command + m_upass + " \| ";
2791+ if (mAndroid) {
2792+ icmd +=boot_android_cmd;
2793+ } else {
2794+ icmd +=boot_ubuntu_cmd;
2795+ }
2796+
2797+ QByteArray ba = icmd.toLocal8Bit();
2798+ const char *cmd_char = ba.data();
2799+ //printf("cmd to run is %s\n",cmd_char);
2800+ result_cmd = system (cmd_char);
2801+ printf("command result is %d\n",result_cmd);
2802+ resultChanged();
2803+}
2804
2805=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h'
2806--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h 1970-01-01 00:00:00 +0000
2807+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h 2014-02-11 09:12:08 +0000
2808@@ -0,0 +1,50 @@
2809+#ifndef UBUNTUBOOT_H
2810+#define UBUNTUBOOT_H
2811+
2812+#include <QObject>
2813+#include <stdlib.h>
2814+#include <iostream>
2815+#include <stdio.h>
2816+#include <QRegularExpression>
2817+
2818+class Ubuntuboot : public QObject
2819+{
2820+ Q_OBJECT
2821+ Q_PROPERTY( QString upass READ upass WRITE setUPass NOTIFY upassChanged )
2822+ Q_PROPERTY( bool boottoandroid READ boottoandroid WRITE Setboottoandroid NOTIFY boottoandroidChanged )
2823+ Q_PROPERTY( int result READ result NOTIFY resultChanged )
2824+
2825+public:
2826+ explicit Ubuntuboot(QObject *parent = 0);
2827+ ~Ubuntuboot();
2828+
2829+ Q_SLOT void reboot();
2830+
2831+Q_SIGNALS:
2832+ void upassChanged();
2833+ void boottoandroidChanged();
2834+ void resultChanged();
2835+
2836+protected:
2837+ //ubuntu password
2838+ QString m_upass;
2839+ int result_cmd;
2840+
2841+ QString upass() { return m_upass;}
2842+ void setUPass(QString ipass) { m_upass =ipass; Q_EMIT upassChanged();}
2843+
2844+ //set what to boot into
2845+ bool mAndroid;
2846+ bool boottoandroid() { return mAndroid;}
2847+ void Setboottoandroid(bool bootandroid) { mAndroid = bootandroid; Q_EMIT boottoandroidChanged();}
2848+
2849+ //result
2850+ int result() { return result_cmd;}
2851+private:
2852+ QString boot_android_cmd;
2853+ QString boot_ubuntu_cmd;
2854+ QString passwd_command;
2855+
2856+};
2857+
2858+#endif // UBUNTUBOOT_H
2859
2860=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro'
2861--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro 1970-01-01 00:00:00 +0000
2862+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro 2014-02-11 09:12:08 +0000
2863@@ -0,0 +1,36 @@
2864+TEMPLATE = lib
2865+TARGET = ubuntuboot
2866+QT += qml quick
2867+CONFIG += qt plugin no_keywords
2868+
2869+#comment in the following line to disable traces
2870+DEFINES += QT_NO_DEBUG_OUTPUT
2871+
2872+TARGET = $$qtLibraryTarget($$TARGET)
2873+uri = ubuntuboot
2874+
2875+INCLUDEPATH += .
2876+
2877+# Input
2878+HEADERS += backend.h \
2879+ ubuntuboot.h
2880+SOURCES += backend.cpp \
2881+ ubuntuboot.cpp
2882+
2883+# Install path for the plugin
2884+installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
2885+target.path = $$installPath
2886+INSTALLS += target
2887+
2888+# find files
2889+QMLDIR_FILE = qmldir
2890+
2891+# make visible to qt creator
2892+OTHER_FILES += $$QMLDIR_FILE
2893+
2894+# create install targets for files
2895+qmldir.path = $$installPath
2896+qmldir.files = $$QMLDIR_FILE
2897+
2898+INSTALLS += qmldir
2899+
2900
2901=== added directory 'Ubuntu/click'
2902=== added file 'Ubuntu/click/icon.png'
2903Binary files Ubuntu/click/icon.png 1970-01-01 00:00:00 +0000 and Ubuntu/click/icon.png 2014-02-11 09:12:08 +0000 differ
2904=== added file 'Ubuntu/click/manifest.json'
2905--- Ubuntu/click/manifest.json 1970-01-01 00:00:00 +0000
2906+++ Ubuntu/click/manifest.json 2014-02-11 09:12:08 +0000
2907@@ -0,0 +1,15 @@
2908+{
2909+ "description": "Ubuntu app part of Ubuntu and Android dual boot",
2910+ "framework": "ubuntu-sdk-13.10",
2911+ "hooks": {
2912+ "ubuntudualboot": {
2913+ "apparmor": "ubuntudualboot.json",
2914+ "desktop": "ubuntudualboot.desktop"
2915+ }
2916+ },
2917+ "maintainer": "victor palau <vtuson@gmail.com>",
2918+ "name": "com.ubuntu.developer.vtuson.ubuntudualboot",
2919+ "title": "ubuntudualboot",
2920+ "version": "0.5",
2921+ "architecture": "armhf"
2922+}
2923
2924=== added directory 'Ubuntu/click/plugin'
2925=== added directory 'Ubuntu/click/plugin/ubuntuboot'
2926=== added file 'Ubuntu/click/plugin/ubuntuboot/qmldir'
2927--- Ubuntu/click/plugin/ubuntuboot/qmldir 1970-01-01 00:00:00 +0000
2928+++ Ubuntu/click/plugin/ubuntuboot/qmldir 2014-02-11 09:12:08 +0000
2929@@ -0,0 +1,2 @@
2930+module ubuntuboot
2931+plugin ubuntuboot
2932
2933=== added file 'Ubuntu/click/ubuntudualboot.desktop'
2934--- Ubuntu/click/ubuntudualboot.desktop 1970-01-01 00:00:00 +0000
2935+++ Ubuntu/click/ubuntudualboot.desktop 2014-02-11 09:12:08 +0000
2936@@ -0,0 +1,8 @@
2937+[Desktop Entry]
2938+Name=ubuntudualboot
2939+Comment=Ubuntu Dual boot with Android
2940+Exec=qmlscene -I plugin $@ ubuntudualboot.qml
2941+Icon=icon.png
2942+Terminal=false
2943+Type=Application
2944+X-Ubuntu-Touch=true
2945
2946=== added file 'Ubuntu/click/ubuntudualboot.json'
2947--- Ubuntu/click/ubuntudualboot.json 1970-01-01 00:00:00 +0000
2948+++ Ubuntu/click/ubuntudualboot.json 2014-02-11 09:12:08 +0000
2949@@ -0,0 +1,8 @@
2950+{
2951+ "policy_groups": [
2952+ "networking"
2953+ ],
2954+ "policy_version": 1,
2955+ "template": "unconfined"
2956+
2957+}
2958
2959=== added file 'Ubuntu/click/ubuntudualboot.qml'
2960--- Ubuntu/click/ubuntudualboot.qml 1970-01-01 00:00:00 +0000
2961+++ Ubuntu/click/ubuntudualboot.qml 2014-02-11 09:12:08 +0000
2962@@ -0,0 +1,57 @@
2963+import QtQuick 2.0
2964+import Ubuntu.Components 0.1
2965+import ubuntuboot 1.0
2966+import Ubuntu.Components.Popups 0.1
2967+
2968+
2969+MainView {
2970+ width: units.gu(100)
2971+ height: units.gu(75)
2972+ applicationName: "com.ubuntu.developer.vtuson.ubuntudualboot"
2973+
2974+
2975+ Page {
2976+ title: i18n.tr("Ubuntu Dual Boot")
2977+ Column {
2978+ spacing: units.gu(2)
2979+ anchors.top: parent.top
2980+ anchors.horizontalCenter: parent.horizontalCenter
2981+ anchors.topMargin: units.gu(2)
2982+
2983+ Ubuntuboot {
2984+ id:reboot
2985+ boottoandroid: isandroid.checked
2986+ upass: "phablet"
2987+ }
2988+ Label {
2989+ objectName: "description"
2990+ text: i18n.tr("Welcome to Ubuntu Dual Boot")
2991+ }
2992+ Button {
2993+ property string ostoboot: isandroid.checked? " Android" : " Ubuntu"
2994+ id: rebootButton
2995+ anchors.horizontalCenter: parent.horizontalCenter
2996+ text: "Reboot to" + ostoboot
2997+ Component.onCompleted: rebootButton.clicked.connect(reboot.reboot)
2998+
2999+ }
3000+
3001+ Row {
3002+ spacing: units.gu(2)
3003+ CheckBox {
3004+ id:isandroid
3005+ checked: false
3006+ }
3007+ Label {
3008+ text:"Boot to Android?"
3009+ anchors.verticalCenter: isandroid.verticalCenter
3010+ }
3011+ }
3012+ Label {
3013+ text: reboot.result ===256?"Incorrect password":""
3014+ }
3015+
3016+
3017+ }
3018+ }
3019+}
3020
3021=== added file 'Ubuntu/click_howto'
3022--- Ubuntu/click_howto 1970-01-01 00:00:00 +0000
3023+++ Ubuntu/click_howto 2014-02-11 09:12:08 +0000
3024@@ -0,0 +1,9 @@
3025+how to build click:
3026+click build click/
3027+
3028+how to install
3029+adb push -> click package to /home/phablet/
3030+adb shell
3031+su phablet
3032+cd ~
3033+pkcon -p install-local <filename>.click
3034
3035=== added file 'Ubuntu/ubuntudualboot.pro'
3036--- Ubuntu/ubuntudualboot.pro 1970-01-01 00:00:00 +0000
3037+++ Ubuntu/ubuntudualboot.pro 2014-02-11 09:12:08 +0000
3038@@ -0,0 +1,11 @@
3039+TEMPLATE = subdirs
3040+
3041+SUBDIRS += \
3042+ backend
3043+
3044+OTHER_FILES += $$system(find app -type f)
3045+
3046+check.target = check
3047+check.commands = cd backend; qmake; make;
3048+check.depends = backend
3049+QMAKE_EXTRA_TARGETS += check
3050
3051=== added directory 'install'
3052=== added file 'install/dualboot.sh'
3053--- install/dualboot.sh 1970-01-01 00:00:00 +0000
3054+++ install/dualboot.sh 2014-02-11 09:12:08 +0000
3055@@ -0,0 +1,224 @@
3056+#!/bin/bash
3057+
3058+ACTION=$1
3059+SCRIPT_NAME=dualboot.sh
3060+# Used version of CWM recovery
3061+URL_CMW_PATH_MAKO="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-mako.img"
3062+URL_CMW_PATH_HAMMERHEAD="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.5-hammerhead.img"
3063+URL_CMW_PATH_GROUPER="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-grouper.img"
3064+URL_CMW_PATH_MAGURO="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-maguro.img"
3065+URL_CMW_PATH_MANTA="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-manta.img"
3066+URL_SUPERU_1_86="http://download.chainfire.eu/372/SuperSU/UPDATE-SuperSU-v1.86.zip?retrieve_file=1"
3067+URL_U_INSTALLER_PACKAGE="http://humpolec.ubuntu.com/UPDATE-UbuntuInstaller.zip"
3068+CACHE_RECOVERY=/cache/recovery
3069+TEMP_FOLDER=humpTemp
3070+RECOVERY_IMAGE=recovery.img
3071+SU_PACKAGE=UPDATE-SuperSU-v1.86.zip
3072+UBUNTU_INSTALLER_PACKAGE=UPDATE-UbuntuInstaller.zip
3073+RECOVERY_URL=
3074+DEVICE=
3075+CM_DEVICE=
3076+
3077+# get device model
3078+detect_device() {
3079+ echo "Connect device to install Ubuntu installer to."
3080+ DEVICE=$(adb wait-for-device shell getprop ro.product.device)
3081+ CM_DEVICE=$(adb wait-for-device shell getprop ro.cm.device)
3082+
3083+ if [[ "$DEVICE" == mako* ]]; then
3084+ echo "Detected connected Nexus 4"
3085+ RECOVERY_URL=$URL_CMW_PATH_MAKO
3086+ else if [[ "$DEVICE" == maguro* ]]; then
3087+ echo "Detected connected Galaxy Nexus"
3088+ RECOVERY_URL=$URL_CMW_PATH_MAGURO
3089+ else if [[ "$DEVICE" == grouper* ]]; then
3090+ echo "Detected connected Nexus 7"
3091+ RECOVERY_URL=$URL_CMW_PATH_GROUPER
3092+ else if [[ "$DEVICE" == manta* ]]; then
3093+ echo "Detected connected Nexus 10"
3094+ RECOVERY_URL=$URL_CMW_PATH_MANTA
3095+ else if [[ "$DEVICE" == hammerhead* ]]; then
3096+ echo "Detected connected Nexus 5"
3097+ RECOVERY_URL=$URL_CMW_PATH_HAMMERHEAD
3098+ else
3099+ echo "Connected device is not supported"
3100+ exit 0
3101+ fi
3102+ fi
3103+ fi
3104+ fi
3105+ fi
3106+}
3107+
3108+
3109+print_usage() {
3110+ echo "Welcome to Humpolec. This is Ubuntu-Android dualboot enabler"
3111+ echo "Please connect supported phone with adb enabled"
3112+ echo " "
3113+ echo "$SCRIPT_NAME action"
3114+ echo " "
3115+ echo " actions:"
3116+ echo " HELP: Prints this help"
3117+ echo " FULL: Full installation: this will install SuperUser package as well Ubuntu dualboot installer."
3118+ echo " Use this if you don't have SuperUser package installed on your device."
3119+ echo " Typical first time choice for unmodified factory images clean AOSP builds"
3120+ echo " Installation will reboot twice into the recovery, if prompterd **** when exiting recovery, answer NO"
3121+ echo " UPDATE: Updates application: this will install Ubuntu dualboot installer. It assumes there is alresdy Super User installed"
3122+ echo " Typical option for for CyanogenMod or other similar builds."
3123+ echo " Use this option if you already have Ubuntu dualboot installer installed and are only upgrading"
3124+ echo " Installation will reboot twice into the recovery, if prompterd when existing recovery, answer NO"
3125+ echo " INSTALL_SU: Installs Superuser"
3126+ echo " FIX_MAKO_RADIO: Install 4.3 radio image"
3127+ echo " !!! Use this only if you are running on Nexus 4 running Android 4.4.x and experiencing audio issue during call"
3128+ echo " !!! Do NOT USE this on any other phone than Nexus 4!!!"
3129+}
3130+
3131+wait_for_adb() {
3132+ MODE=$1
3133+ echo "Waiting for $MODE to boot"
3134+ RECOVERY_STATE=$(adb devices)
3135+ while ! [[ "$RECOVERY_STATE" == *$MODE ]]
3136+ do
3137+ sleep 1
3138+ RECOVERY_STATE=$(adb devices)
3139+ done
3140+}
3141+
3142+print_ask_help() {
3143+ echo "For more information refer to $ $SCRIPT_NAME HELP"
3144+}
3145+
3146+create_temp_dir() {
3147+ mkdir $TEMP_FOLDER
3148+ cd $TEMP_FOLDER
3149+}
3150+
3151+delete_temp_dir() {
3152+ cd ..
3153+ rm -rf $TEMP_FOLDER
3154+}
3155+
3156+download_su_package() {
3157+ echo "Downloading SU package"
3158+ # check downloaded file size, this often fails, so retry. Expected size is 1184318
3159+ download_file $URL_SUPERU_1_86 $SU_PACKAGE 1184000
3160+}
3161+
3162+download_app_update() {
3163+ echo "Downloading Ubuntu Installer application package"
3164+ # check downloaded file size, this often fails, so retry. Expected size is 2309120
3165+ download_file $URL_U_INSTALLER_PACKAGE $UBUNTU_INSTALLER_PACKAGE 2309000
3166+}
3167+
3168+download_recovery() {
3169+ echo "Downloading recovery for $DEVICE"
3170+ # check downloaded file size, this often fails, so retry. any recovery should be more than 5M
3171+ download_file $RECOVERY_URL $RECOVERY_IMAGE 5000000
3172+}
3173+
3174+download_file() {
3175+ DOWNLOAD_URL=$1
3176+ FILENAME=$2
3177+ TARGET_SIZE=$3
3178+ SIZE=1
3179+ # check downloaded file size, this often fails, so retry. Expected size is TARGET_SIZE
3180+ while [[ $TARGET_SIZE -ge $SIZE ]]
3181+ do
3182+ curl $DOWNLOAD_URL > $FILENAME
3183+ SIZE=$(ls -la $FILENAME | awk '{ print $5}')
3184+ echo "Downloaded file has size: $SIZE"
3185+ done
3186+}
3187+
3188+install_su() {
3189+ echo "Rebooting to bootloader"
3190+ adb wait-for-device reboot bootloader
3191+ fastboot boot $RECOVERY_IMAGE
3192+ wait_for_adb recovery
3193+ echo "Creating update command"
3194+ adb shell rm -rf $CACHE_RECOVERY
3195+ adb shell mkdir $CACHE_RECOVERY
3196+ adb shell "echo -e '--sideload' > $CACHE_RECOVERY/command"
3197+ echo "Booting back to bootloader"
3198+ adb reboot bootloader
3199+ fastboot boot $RECOVERY_IMAGE
3200+ wait_for_adb sideload
3201+ adb sideload $SU_PACKAGE
3202+ echo "Wait for installation of package to complete"
3203+}
3204+
3205+install_ubuntu_installer() {
3206+ echo "Rebooting to bootloader"
3207+ adb wait-for-device reboot bootloader
3208+ fastboot boot $RECOVERY_IMAGE
3209+ wait_for_adb recovery
3210+ echo "Creating update command"
3211+ adb shell rm -rf $CACHE_RECOVERY
3212+ adb shell mkdir $CACHE_RECOVERY
3213+ adb shell "echo -e '--sideload' > $CACHE_RECOVERY/command"
3214+ echo "Booting back to bootloader"
3215+ adb reboot bootloader
3216+ fastboot boot $RECOVERY_IMAGE
3217+ wait_for_adb sideload
3218+ adb sideload $UBUNTU_INSTALLER_PACKAGE
3219+ echo "Wait for installation of package to complete"
3220+ echo "If you are asked to preserve possibly lost root access"
3221+ echo "Or if device should be rooted"
3222+ echo "This is false warning and yuou can answer either yes or no"
3223+}
3224+
3225+check_build_for_su_update() {
3226+ if [[ "$CM_DEVICE" == "$DEVICE" ]]; then
3227+ echo "!!! This seems to be CyanogenMod build, you already have SuperUser as part of the system"
3228+ echo "Go to Settings->SuperUser->Settings and make sure it is enabled for applications"
3229+ echo "For installation, use: $ $SCRIPT_NAME UPDATE"
3230+ print_ask_help
3231+ exit 0;
3232+ fi
3233+}
3234+
3235+if [[ "$ACTION" == HELP ]]; then
3236+ echo "HELP"
3237+ print_usage
3238+else if [[ "$ACTION" == FULL ]]; then
3239+ detect_device
3240+ check_build_for_su_update
3241+ echo "FULL install"
3242+ create_temp_dir
3243+ download_su_package
3244+ download_app_update
3245+ download_recovery
3246+
3247+ install_ubuntu_installer
3248+ install_su
3249+
3250+ delete_temp_dir
3251+else if [[ "$ACTION" == INSTALL_SU ]]; then
3252+ detect_device
3253+ check_build_for_su_update
3254+ echo "INSTALL_SU"
3255+ create_temp_dir
3256+ download_su_package
3257+ download_recovery
3258+
3259+ install_su
3260+
3261+ delete_temp_dir
3262+else if [[ "$ACTION" == UPDATE ]]; then
3263+ detect_device
3264+ create_temp_dir
3265+ echo "UPDATE install"
3266+ download_app_update
3267+ download_recovery
3268+
3269+ install_ubuntu_installer
3270+
3271+ delete_temp_dir
3272+else
3273+ echo "Unknow action"
3274+ print_ask_help
3275+fi
3276+fi
3277+fi
3278+fi
3279+

Subscribers

People subscribed via source and target branches