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
=== modified file '.bzrignore'
--- .bzrignore 2013-12-08 16:01:23 +0000
+++ .bzrignore 2014-02-11 09:12:08 +0000
@@ -4,3 +4,4 @@
4gen4gen
5android-ubuntu-launcher.apk5android-ubuntu-launcher.apk
66
7ubuntudualboot.pro.user
78
=== added directory 'Android'
=== added directory 'Android/app'
=== renamed file 'Android.mk' => 'Android/app/Android.mk'
=== renamed file 'AndroidManifest.xml' => 'Android/app/AndroidManifest.xml'
=== renamed directory 'art' => 'Android/app/art'
=== renamed directory 'assets' => 'Android/app/assets'
=== renamed file 'build.xml' => 'Android/app/build.xml'
=== renamed directory 'doc' => 'Android/app/doc'
=== renamed file 'ic_installer-web.png' => 'Android/app/ic_installer-web.png'
=== renamed file 'ic_launcher-web.png' => 'Android/app/ic_launcher-web.png'
=== renamed directory 'libs' => 'Android/app/libs'
=== renamed file 'make_release.sh' => 'Android/app/make_release.sh'
=== renamed file 'proguard-project.txt' => 'Android/app/proguard-project.txt'
=== renamed file 'project.properties' => 'Android/app/project.properties'
=== renamed directory 'res' => 'Android/app/res'
=== renamed directory 'src' => 'Android/app/src'
=== added directory 'Android/boot-manager'
=== added file 'Android/boot-manager/Android.mk'
--- Android/boot-manager/Android.mk 1970-01-01 00:00:00 +0000
+++ Android/boot-manager/Android.mk 2014-02-11 09:12:08 +0000
@@ -0,0 +1,12 @@
1# Copyright 2013 Canonical Ltd.
2
3LOCAL_PATH := $(call my-dir)
4
5include $(CLEAR_VARS)
6LOCAL_MODULE := bootmgr
7LOCAL_MODULE_TAGS := optional
8LOCAL_C_INCLUDES := $(LOCAL_PATH)
9LOCAL_SRC_FILES := bootmgr.c
10LOCAL_FORCE_STATIC_EXECUTABLE := true
11LOCAL_STATIC_LIBRARIES := libc
12include $(BUILD_EXECUTABLE)
013
=== added file 'Android/boot-manager/Makefile'
--- Android/boot-manager/Makefile 1970-01-01 00:00:00 +0000
+++ Android/boot-manager/Makefile 2014-02-11 09:12:08 +0000
@@ -0,0 +1,15 @@
1# Copyright 2013 Canonical Ltd.
2
3CC=gcc
4CFLAGS=-I. -Wall
5LDFLAGS=
6
7all: bootmgr
8
9bootmgr: bootmgr.c bootimg.h
10 $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
11
12.PHONY: clean
13
14clean:
15 rm -f $(TARGETS) *.o
016
=== added file 'Android/boot-manager/bootimg.h'
--- Android/boot-manager/bootimg.h 1970-01-01 00:00:00 +0000
+++ Android/boot-manager/bootimg.h 2014-02-11 09:12:08 +0000
@@ -0,0 +1,100 @@
1/* tools/mkbootimg/bootimg.h
2**
3** Copyright 2007, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9** http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18#ifndef _BOOT_IMAGE_H_
19#define _BOOT_IMAGE_H_
20
21typedef struct boot_img_hdr boot_img_hdr;
22
23#define BOOT_MAGIC "ANDROID!"
24#define BOOT_MAGIC_SIZE 8
25#define BOOT_NAME_SIZE 16
26#define BOOT_ARGS_SIZE 512
27#define RESERVE_LOG_MAGIC 0x474F4C52 //ML,"RLOG" in ascii
28
29struct boot_img_hdr
30{
31 unsigned char magic[BOOT_MAGIC_SIZE];
32
33 unsigned kernel_size; /* size in bytes */
34 unsigned kernel_addr; /* physical load addr */
35
36 unsigned ramdisk_size; /* size in bytes */
37 unsigned ramdisk_addr; /* physical load addr */
38
39 unsigned second_size; /* size in bytes */
40 unsigned second_addr; /* physical load addr */
41
42 unsigned tags_addr; /* physical addr for kernel tags */
43 unsigned page_size; /* flash page size we assume */
44 unsigned unused[2]; /* future expansion: should be 0 */
45
46 unsigned char name[BOOT_NAME_SIZE]; /* asciiz product name */
47
48 unsigned char cmdline[BOOT_ARGS_SIZE];
49
50 unsigned id[8]; /* timestamp / checksum / sha1 / etc */
51 unsigned log_buf_magic; /* physical log buf addr */
52 unsigned log_buf_addr; /* physical log buf addr */
53};
54
55/*
56** +-----------------+
57** | boot header | 1 page
58** +-----------------+
59** | kernel | n pages
60** +-----------------+
61** | ramdisk | m pages
62** +-----------------+
63** | second stage | o pages
64** +-----------------+
65**
66** n = (kernel_size + page_size - 1) / page_size
67** m = (ramdisk_size + page_size - 1) / page_size
68** o = (second_size + page_size - 1) / page_size
69**
70** 0. all entities are page_size aligned in flash
71** 1. kernel and ramdisk are required (size != 0)
72** 2. second is optional (second_size == 0 -> no second)
73** 3. load each element (kernel, ramdisk, second) at
74** the specified physical address (kernel_addr, etc)
75** 4. prepare tags at tag_addr. kernel_args[] is
76** appended to the kernel commandline in the tags.
77** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr
78** 6. if second_size != 0: jump to second_addr
79** else: jump to kernel_addr
80*/
81
82#if 0
83typedef struct ptentry ptentry;
84
85struct ptentry {
86 char name[16]; /* asciiz partition name */
87 unsigned start; /* starting block number */
88 unsigned length; /* length in blocks */
89 unsigned flags; /* set to zero */
90};
91
92/* MSM Partition Table ATAG
93**
94** length: 2 + 7 * n
95** atag: 0x4d534d70
96** <ptentry> x n
97*/
98#endif
99
100#endif
0101
=== added file 'Android/boot-manager/bootmgr.c'
--- Android/boot-manager/bootmgr.c 1970-01-01 00:00:00 +0000
+++ Android/boot-manager/bootmgr.c 2014-02-11 09:12:08 +0000
@@ -0,0 +1,149 @@
1/*
2 * Copyright 2013 Canonical Ltd.
3 * Authros
4 * Rex Tsai <rex.tsai@canonical.com>
5 *
6 * Copyright 2011 Jens Andersen (@EnJens)
7 */
8
9#include <stdio.h>
10#include <stdlib.h>
11#include <string.h>
12#include "bootimg.h"
13
14#ifdef __ANDROID__
15#include <utils/Log.h>
16#endif
17
18
19#ifndef SHA_DIGEST_SIZE
20#define SHA_DIGEST_SIZE 20
21#endif
22#define SHA_DIGEST_STR_SIZE 40
23#define BUFFER_SIZE 2048
24
25#ifdef __ANDROID__
26#define debug(fmt, ...) do { \
27 printf(fmt, __VA_ARGS__); \
28 ALOGV(fmt,__VA_ARGS__); \
29} while(0)
30#else
31#define debug(fmt, ...) do { \
32 printf(fmt, __VA_ARGS__); \
33} while(0)
34#endif
35
36
37int verify(char* filename, char* sha1sum, int* size, int verbose)
38{
39 boot_img_hdr hdr;
40 FILE *fh;
41
42 fh = fopen(filename, "r");
43 if(fh == NULL)
44 return -1;
45 fread(&hdr, sizeof(boot_img_hdr), 1, fh);
46 fclose(fh);
47
48 // it's not even a boot image.
49 if(strncmp((const char*)hdr.magic, BOOT_MAGIC, BOOT_MAGIC_SIZE))
50 return -2;
51 if(hdr.kernel_size < 1 || hdr.ramdisk_size < 1)
52 return -2;
53
54 unsigned int header_padding = sizeof(boot_img_hdr) + (-sizeof(boot_img_hdr) & (hdr.page_size -1));
55 unsigned int kernel_padding = hdr.kernel_size + ((-hdr.kernel_size) & (hdr.page_size -1));
56 unsigned int ramdisk_padding = hdr.ramdisk_size + ((-hdr.ramdisk_size) & (hdr.page_size -1));
57
58 *size = header_padding + kernel_padding + ramdisk_padding + hdr.second_size;
59
60 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]);
61
62 if(verbose) {
63 debug("Magic: %.*s\n", BOOT_MAGIC_SIZE, hdr.magic);
64 debug("ID: %s\n", sha1sum);
65 debug("Kernel size: 0x%X (%d)\n", hdr.kernel_size, hdr.kernel_size);
66 debug("Kernel addr: 0x%X\n", hdr.kernel_addr);
67 debug("Ramdisk size: 0x%X (%d)\n", hdr.ramdisk_size, hdr.ramdisk_size);
68 debug("Ramdisk addr: 0x%X\n", hdr.ramdisk_addr);
69
70 debug("Second size: 0x%X (%d)\n", hdr.second_size, hdr.second_size);
71 debug("Second addr: 0x%X\n", hdr.second_addr);
72 debug("Tags addr: 0x%X\n", hdr.tags_addr);
73 debug("Page size: 0x%X (%d)\n", hdr.page_size, hdr.page_size);
74 debug("Name: %.*s\n", BOOT_NAME_SIZE, hdr.name);
75 debug("Cmdline: %.*s\n", BOOT_ARGS_SIZE, hdr.cmdline);
76 }
77 return 0;
78}
79
80int main(int argc, char **argv)
81{
82 char* sha1sum = malloc(SHA_DIGEST_STR_SIZE*sizeof(char));
83
84 int filesize;
85 int dump = 0;
86
87
88 if(argc < 3) {
89 debug("Usage: %s [-d(ump)] [-c](checksum) [-b](backup) <boot.img>\n", argv[0]);
90 return -1;
91 }
92
93 // dump the image information.
94 if(!strncmp(argv[1], "-d", 2*sizeof(char))) {
95 dump = 1;
96 }
97
98 if(verify(argv[2], sha1sum, &filesize, dump) < 0) {
99 debug("%s is not a correct image.\n", argv[2]);
100 return -1;
101 }
102 if(dump)
103 return 0;
104
105 // dump the image checksum
106 if(!strncmp(argv[1], "-c", 2*sizeof(char))) {
107 debug("%s\n", sha1sum);
108 return 0;
109 }
110
111 // backup the image
112 if(!strncmp(argv[1], "-b", 2*sizeof(char))) {
113 char* out_sha1sum = malloc(SHA_DIGEST_STR_SIZE*sizeof(char));
114 int out_filesize;
115
116 // check if files have same checksum
117 if(verify(argv[3], out_sha1sum, &out_filesize, 0) == 0)
118 if(strncmp(sha1sum, out_sha1sum, SHA_DIGEST_STR_SIZE) == 0)
119 return 0;
120
121
122 unsigned int dataleft = filesize;
123 FILE *in;
124 FILE *out;
125 in = fopen(argv[2], "rb");
126 out = fopen(argv[3], "wb");
127 if(in == NULL || out == NULL) return -1;
128
129 char buffer[BUFFER_SIZE];
130 while(dataleft > 0) {
131 unsigned int fsize = BUFFER_SIZE < dataleft ? BUFFER_SIZE : dataleft;
132 unsigned int read_data = fread(buffer, 1, fsize, in);
133 unsigned int written_data = fwrite(buffer, 1, read_data, out);
134 if(read_data != written_data) {
135 abort();
136 }
137 dataleft -= read_data;
138 }
139
140 fclose(in);
141 fclose(out);
142
143 return 0;
144 }
145
146 debug("Usage: %s [-d(ump)] [-c](checksum) [-b](backup) <boot.img>\n", argv[0]);
147 return -1;
148
149}
0150
=== added directory 'Android/loop-mount-agent'
=== added file 'Android/loop-mount-agent/Android.mk'
--- Android/loop-mount-agent/Android.mk 1970-01-01 00:00:00 +0000
+++ Android/loop-mount-agent/Android.mk 2014-02-11 09:12:08 +0000
@@ -0,0 +1,27 @@
1#
2# Copyright (C) 2012 Canonical, Ltd. All rights reserved.
3#
4
5LOCAL_PATH:= $(call my-dir)
6
7include $(CLEAR_VARS)
8
9LOCAL_SRC_FILES:= aloopmount.cpp
10
11LOCAL_SHARED_LIBRARIES := \
12 libutils \
13 libcutils \
14 libbinder \
15 libdl
16
17LOCAL_STATIC_LIBRARIES := libvold
18
19LOCAL_C_INCLUDES := \
20 $(TOP)/frameworks/base/include \
21 $(TOP)/system
22
23LOCAL_MODULE:= aloopmount
24
25LOCAL_MODULE_TAGS := optional
26
27include $(BUILD_EXECUTABLE)
028
=== added file 'Android/loop-mount-agent/aloopmount.cpp'
--- Android/loop-mount-agent/aloopmount.cpp 1970-01-01 00:00:00 +0000
+++ Android/loop-mount-agent/aloopmount.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,133 @@
1#define LOG_NDEBUG 0
2#define LOG_TAG "AndroidLoopMountManager"
3#include <utils/Log.h>
4
5#include <errno.h>
6#include <stdio.h>
7#include <stdlib.h>
8#include <string.h>
9#include <sys/mount.h>
10#include <vold/Ext4.h>
11#include <vold/Loop.h>
12#include <private/android_filesystem_config.h>
13
14int main(int, char **);
15
16static void printUsage() {
17 printf("This is android optimised loop mount agent allowing to safely loop mount and unmount in android environment\n");
18 printf("Loop devices are atomatically managed and does not need to be manually created or destroyed\n");
19 printf("Usage:\n");
20 printf(" mount: aMountAgent mount <filesystem type> <image> <mountpoint>\n");
21 printf(" mount: aMountAgent umount <mountpoint>\n");
22}
23
24int mountimage(int argc, char **argv) {
25 // we require 5 params <aloopmount> <command: mount> <fstype: ext4> <image: iso.img> <mount point: /tm/iso>
26 if (argc != 5) {
27 printf("Not enough parameter for mount.\n");
28 printUsage();
29 return -1;
30 }
31 char* fstype = argv[2];
32 char* image = argv[3];
33 char* mountPoint = realpath(argv[4], NULL);
34 if(!mountPoint) {
35 printf("Can not access %s - %s (%d)\n", argv[4], strerror(errno), errno);
36 return -1;
37 }
38
39 printf("Mounting %s of fstype %s to %s\n", image, fstype, mountPoint);
40 char loopDevice[255];
41 unsigned long flags;
42 flags = MS_NOATIME | MS_NODEV | MS_NOSUID | MS_DIRSYNC;
43 bool loopExists = false;
44 if (!Loop::lookupActive(mountPoint, loopDevice, sizeof(loopDevice))) {
45 // there is existing loop device for this mountpoint, something is not right
46 // try to mount but if fails, do not destroy loop device
47 loopExists = true;
48 ALOGV("Loop device already exists: %s", loopDevice);
49 } else {
50 // create loop device
51 if (Loop::create(mountPoint, image, loopDevice, sizeof(loopDevice))) {
52 ALOGE("Failed to create lopp device for %s", image);
53 printf("Failed to create lopp device for %s\n", image);
54 return -1;
55 }
56 }
57 // try to mount
58 if (!mount(loopDevice, mountPoint, fstype, flags, NULL)) {
59 SLOGV("%s mounted to %s with loop device %s", image, mountPoint, loopDevice);
60 printf("%s mounted to %s with loop device %s\n", image, mountPoint, loopDevice);
61 return 0;
62 }
63
64 // mount failed
65 SLOGE("mount failed for %s with error %d %s", mountPoint, errno, strerror(errno));
66 printf("mount failed for %s with error %d %s\n", mountPoint, errno, strerror(errno));
67 // shall we try to destroy loop device?
68 if (!loopExists) {
69 if ( 0 != Loop::destroyByDevice(loopDevice)) {
70 ALOGE("Failed to destroy loop: %s with error %d %s", loopDevice, errno, strerror(errno));
71 printf("Failed to destroy loop: %s with error %d %s\n",loopDevice, errno, strerror(errno));
72 }
73 }
74 return -1;
75}
76
77int unmountMountpoint(int argc, char ** argv) {
78
79 // we require 3 params <aloopmont> <command: umount> <mount point: /tm/iso>
80 if (argc != 3) {
81 printf("Not enough parameter for mount.\n");
82 printUsage();
83 return -1;
84 }
85 // try to unmount first
86 char *mountPoint = realpath(argv[2], NULL);
87 if(!mountPoint) {
88 printf("Can not access %s - %s (%d)\n", argv[2], strerror(errno), errno);
89 return -1;
90 }
91
92 if (0 != umount(mountPoint)) {
93 ALOGE("Failed to unmount %s with %d, %s", mountPoint, errno, strerror(errno));
94 printf("Failed to unmount %s with %d, %s\n", mountPoint, errno, strerror(errno));
95 return -1;
96 }
97 // try to destroy loop device
98 char loopDevice[255];
99 if (!Loop::lookupActive(mountPoint, loopDevice, sizeof(loopDevice))) {
100 if ( 0 != Loop::destroyByDevice(loopDevice)) {
101 printf("Failed to destroy loop: %s\n",loopDevice);
102 return -1;
103 }
104 } else {
105 printf("No loop device for: %s was found, was this loop mount?!\n", mountPoint);
106 return -1;
107 }
108 printf("%s umounted, loop device %s destroyed\n", mountPoint, loopDevice);
109 return 0;
110}
111
112int main(int argc, char **argv) {
113 /* first parameter will define if we do mount or umount
114 * -mount has 3 parameter: mount <fstype> <image> <mountpoint>
115 * -umount has 1 parameter: umount <mountpoint>
116 */
117 ALOGV("Number of passed parameters %d", argc);
118 ALOGV("Called as: %s", argv[0]);
119 if (argc < 2) {
120 printf("Not enought parameters\n");
121 printUsage();
122 return -1;
123 } else if (!strcmp(argv[1], "mount")) {
124 // perform mount
125 return mountimage(argc, argv);
126 } else if (!strcmp(argv[1], "umount")) {
127 // perform umount
128 return unmountMountpoint(argc, argv);
129 }
130 printf("Unknown command\n");
131 printUsage();
132 return -1;
133}
0134
=== added directory 'Ubuntu'
=== added file 'Ubuntu/Makefile'
--- Ubuntu/Makefile 1970-01-01 00:00:00 +0000
+++ Ubuntu/Makefile 2014-02-11 09:12:08 +0000
@@ -0,0 +1,203 @@
1#############################################################################
2# Makefile for building: ubuntudualboot
3# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:22 2013
4# Project: ubuntudualboot.pro
5# Template: subdirs
6# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ubuntudualboot.pro
7#############################################################################
8
9MAKEFILE = Makefile
10
11first: make_first
12QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
13DEL_FILE = rm -f
14CHK_DIR_EXISTS= test -d
15MKDIR = mkdir -p
16COPY = cp -f
17COPY_FILE = cp -f
18COPY_DIR = cp -f -R
19INSTALL_FILE = install -m 644 -p
20INSTALL_PROGRAM = install -m 755 -p
21INSTALL_DIR = $(COPY_DIR)
22DEL_FILE = rm -f
23SYMLINK = ln -f -s
24DEL_DIR = rmdir
25MOVE = mv -f
26SUBTARGETS = \
27 sub-backend
28
29
30sub-backend-qmake_all: FORCE
31 @test -d backend/ || mkdir -p backend/
32 cd backend/ && $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile
33 cd backend/ && $(MAKE) -f Makefile qmake_all
34sub-backend: FORCE
35 @test -d backend/ || mkdir -p backend/
36 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile
37sub-backend-make_first: FORCE
38 @test -d backend/ || mkdir -p backend/
39 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile
40sub-backend-all: FORCE
41 @test -d backend/ || mkdir -p backend/
42 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile all
43sub-backend-clean: FORCE
44 @test -d backend/ || mkdir -p backend/
45 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile clean
46sub-backend-distclean: FORCE
47 @test -d backend/ || mkdir -p backend/
48 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile distclean
49sub-backend-install_subtargets: FORCE
50 @test -d backend/ || mkdir -p backend/
51 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile install
52sub-backend-uninstall_subtargets: FORCE
53 @test -d backend/ || mkdir -p backend/
54 cd backend/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/backend.pro -o Makefile ) && $(MAKE) -f Makefile uninstall
55
56Makefile: ubuntudualboot.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
57 /usr/share/qt5/mkspecs/common/shell-unix.conf \
58 /usr/share/qt5/mkspecs/common/unix.conf \
59 /usr/share/qt5/mkspecs/common/linux.conf \
60 /usr/share/qt5/mkspecs/common/gcc-base.conf \
61 /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
62 /usr/share/qt5/mkspecs/common/g++-base.conf \
63 /usr/share/qt5/mkspecs/common/g++-unix.conf \
64 /usr/share/qt5/mkspecs/qconfig.pri \
65 /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
66 /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
67 /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
68 /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
69 /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
70 /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
71 /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
72 /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
73 /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
74 /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
75 /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
76 /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
77 /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
78 /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
79 /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
80 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
81 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
82 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
83 /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
84 /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
85 /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
86 /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
87 /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
88 /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
89 /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
90 /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
91 /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
92 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
93 /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
94 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
95 /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
96 /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
97 /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
98 /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
99 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
100 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
101 /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
102 /usr/share/qt5/mkspecs/features/qt_functions.prf \
103 /usr/share/qt5/mkspecs/features/qt_config.prf \
104 /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
105 /usr/share/qt5/mkspecs/features/spec_post.prf \
106 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
107 /usr/share/qt5/mkspecs/features/default_pre.prf \
108 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
109 /usr/share/qt5/mkspecs/features/resolve_config.prf \
110 /usr/share/qt5/mkspecs/features/default_post.prf \
111 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
112 /usr/share/qt5/mkspecs/features/warn_on.prf \
113 /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
114 /usr/share/qt5/mkspecs/features/testcase_targets.prf \
115 /usr/share/qt5/mkspecs/features/exceptions.prf \
116 /usr/share/qt5/mkspecs/features/yacc.prf \
117 /usr/share/qt5/mkspecs/features/lex.prf \
118 ubuntudualboot.pro
119 $(QMAKE) -o Makefile ubuntudualboot.pro
120/usr/share/qt5/mkspecs/features/spec_pre.prf:
121/usr/share/qt5/mkspecs/common/shell-unix.conf:
122/usr/share/qt5/mkspecs/common/unix.conf:
123/usr/share/qt5/mkspecs/common/linux.conf:
124/usr/share/qt5/mkspecs/common/gcc-base.conf:
125/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
126/usr/share/qt5/mkspecs/common/g++-base.conf:
127/usr/share/qt5/mkspecs/common/g++-unix.conf:
128/usr/share/qt5/mkspecs/qconfig.pri:
129/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
130/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
131/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
132/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
133/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
134/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
135/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
136/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
137/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
138/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
139/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
140/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
141/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
142/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
143/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
144/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
145/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
146/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
147/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
148/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
149/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
150/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
151/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
152/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
153/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
154/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
155/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
156/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
157/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
158/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
159/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
160/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
161/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
162/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
163/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
164/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
165/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
166/usr/share/qt5/mkspecs/features/qt_functions.prf:
167/usr/share/qt5/mkspecs/features/qt_config.prf:
168/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
169/usr/share/qt5/mkspecs/features/spec_post.prf:
170/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
171/usr/share/qt5/mkspecs/features/default_pre.prf:
172/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
173/usr/share/qt5/mkspecs/features/resolve_config.prf:
174/usr/share/qt5/mkspecs/features/default_post.prf:
175/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
176/usr/share/qt5/mkspecs/features/warn_on.prf:
177/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
178/usr/share/qt5/mkspecs/features/testcase_targets.prf:
179/usr/share/qt5/mkspecs/features/exceptions.prf:
180/usr/share/qt5/mkspecs/features/yacc.prf:
181/usr/share/qt5/mkspecs/features/lex.prf:
182ubuntudualboot.pro:
183qmake: FORCE
184 @$(QMAKE) -o Makefile ubuntudualboot.pro
185
186qmake_all: sub-backend-qmake_all FORCE
187
188make_first: sub-backend-make_first FORCE
189all: sub-backend-all FORCE
190clean: sub-backend-clean FORCE
191distclean: sub-backend-distclean FORCE
192 -$(DEL_FILE) Makefile
193install_subtargets: sub-backend-install_subtargets FORCE
194uninstall_subtargets: sub-backend-uninstall_subtargets FORCE
195
196check: backend
197 cd backend; qmake; make;
198install: install_subtargets FORCE
199
200uninstall: uninstall_subtargets FORCE
201
202FORCE:
203
0204
=== added directory 'Ubuntu/app'
=== added file 'Ubuntu/app/Makefile'
--- Ubuntu/app/Makefile 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/Makefile 2014-02-11 09:12:08 +0000
@@ -0,0 +1,14 @@
1# More information: https://wiki.ubuntu.com/Touch/Testing
2#
3# Notes for autopilot tests:
4# -----------------------------------------------------------
5# In order to run autopilot tests:
6# sudo apt-add-repository ppa:autopilot/ppa
7# sudo apt-get update
8# sudo apt-get install python-autopilot autopilot-qt
9#############################################################
10
11all:
12
13run:
14 /usr/bin/qmlscene -I ../backend/modules $@ ubuntudualboot.qml --desktop_file_hint="ubuntudualboot.desktop"
015
=== added directory 'Ubuntu/app/components'
=== added directory 'Ubuntu/app/graphics'
=== added file 'Ubuntu/app/graphics/toolbarIcon@8.png'
1Binary 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 differ16Binary 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
=== added file 'Ubuntu/app/icon.png'
2Binary files Ubuntu/app/icon.png 1970-01-01 00:00:00 +0000 and Ubuntu/app/icon.png 2014-02-11 09:12:08 +0000 differ17Binary 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
=== added directory 'Ubuntu/app/tests'
=== added directory 'Ubuntu/app/tests/autopilot'
=== added directory 'Ubuntu/app/tests/autopilot/contactsimporter'
=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/__init__.py'
--- Ubuntu/app/tests/autopilot/contactsimporter/__init__.py 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/tests/autopilot/contactsimporter/__init__.py 2014-02-11 09:12:08 +0000
@@ -0,0 +1,132 @@
1# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2
3"""Ubuntu Touch App autopilot tests."""
4
5from os import remove
6import os.path
7from tempfile import mktemp
8import subprocess
9
10from autopilot.input import Mouse, Touch, Pointer
11from autopilot.matchers import Eventually
12from autopilot.platform import model
13from testtools.matchers import Is, Not, Equals
14from autopilot.testcase import AutopilotTestCase
15
16def get_module_include_path():
17 return os.path.abspath(
18 os.path.join(
19 os.path.dirname(__file__),
20 '..',
21 '..',
22 '..',
23 '..',
24 'backend',
25 'modules')
26 )
27
28
29class UbuntuTouchAppTestCase(AutopilotTestCase):
30 """A common test case class that provides several useful methods for the tests."""
31
32 if model() == 'Desktop':
33 scenarios = [
34 ('with mouse', dict(input_device_class=Mouse))
35 ]
36 else:
37 scenarios = [
38 ('with touch', dict(input_device_class=Touch))
39 ]
40
41 @property
42 def main_window(self):
43 return MainWindow(self.app)
44
45
46 def setUp(self):
47 self.pointing_device = Pointer(self.input_device_class.create())
48 super(UbuntuTouchAppTestCase, self).setUp()
49 self.launch_test_qml()
50
51
52 def launch_test_qml(self):
53 # If the test class has defined a 'test_qml' class attribute then we
54 # write it to disk and launch it inside the QML Scene. If not, then we
55 # silently do nothing (presumably the test has something else planned).
56 arch = subprocess.check_output(["dpkg-architecture",
57 "-qDEB_HOST_MULTIARCH"]).strip()
58 if hasattr(self, 'test_qml') and isinstance(self.test_qml, basestring):
59 qml_path = mktemp(suffix='.qml')
60 open(qml_path, 'w').write(self.test_qml)
61 self.addCleanup(remove, qml_path)
62
63 self.app = self.launch_test_application(
64 "/usr/lib/" + arch + "/qt5/bin/qmlscene",
65 "-I", get_module_include_path(),
66 qml_path,
67 app_type='qt')
68
69 if hasattr(self, 'test_qml_file') and isinstance(self.test_qml_file, basestring):
70 qml_path = self.test_qml_file
71 self.app = self.launch_test_application(
72 "/usr/lib/" + arch + "/qt5/bin/qmlscene",
73 "-I", get_module_include_path(),
74 qml_path,
75 app_type='qt')
76
77 self.assertThat(self.get_qml_view().visible, Eventually(Equals(True)))
78
79
80 def get_qml_view(self):
81 """Get the main QML view"""
82
83 return self.app.select_single("QQuickView")
84
85 def get_mainview(self):
86 """Get the QML MainView"""
87
88 mainView = self.app.select_single("MainView")
89 self.assertThat(mainView, Not(Is(None)))
90 return mainView
91
92
93 def get_object(self,objectName):
94 """Get a object based on the objectName"""
95
96 obj = self.app.select_single(objectName=objectName)
97 self.assertThat(obj, Not(Is(None)))
98 return obj
99
100
101 def mouse_click(self,objectName):
102 """Move mouse on top of the object and click on it"""
103
104 obj = self.get_object(objectName)
105 self.pointing_device.move_to_object(obj)
106 self.pointing_device.click()
107
108
109 def mouse_press(self,objectName):
110 """Move mouse on top of the object and press mouse button (without releasing it)"""
111
112 obj = self.get_object(objectName)
113 self.pointing_device.move_to_object(obj)
114 self.pointing_device.press()
115
116
117 def mouse_release(self):
118 """Release mouse button"""
119
120 self.pointing_device.release()
121
122
123 def type_string(self, string):
124 """Type a string with keyboard"""
125
126 self.keyboard.type(string)
127
128
129 def type_key(self, key):
130 """Type a single key with keyboard"""
131
132 self.keyboard.key(key)
0133
=== added directory 'Ubuntu/app/tests/autopilot/contactsimporter/main'
=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py'
--- Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/tests/autopilot/contactsimporter/main/__init__.py 2014-02-11 09:12:08 +0000
@@ -0,0 +1,1 @@
1""" A main.qml test suite """
02
=== added file 'Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py'
--- Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/tests/autopilot/contactsimporter/main/test_main.py 2014-02-11 09:12:08 +0000
@@ -0,0 +1,23 @@
1# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2
3"""Tests for the Hello World"""
4
5from autopilot.matchers import Eventually
6from textwrap import dedent
7from testtools.matchers import Is, Not, Equals
8from testtools import skip
9import os
10from contactsimporter import UbuntuTouchAppTestCase
11
12
13class MainTests(UbuntuTouchAppTestCase):
14 """Generic tests for the Hello World"""
15
16 test_qml_file = "%s/%s.qml" % (os.path.dirname(os.path.realpath(__file__)),"../../../../contactsimporter")
17
18 def test_0_can_select_mainView(self):
19 """Must be able to select the mainview."""
20
21 mainView = self.get_mainview()
22 self.assertThat(mainView.visible,Eventually(Equals(True)))
23
024
=== added file 'Ubuntu/app/tests/autopilot/run'
--- Ubuntu/app/tests/autopilot/run 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/tests/autopilot/run 2014-02-11 09:12:08 +0000
@@ -0,0 +1,11 @@
1#!/bin/bash
2
3if [[ -z `which autopilot` ]]; then
4 echo "Autopilot is not installed. Skip"
5 exit
6fi
7
8SCRIPTPATH=`dirname $0`
9pushd ${SCRIPTPATH}
10autopilot run contactsimporter
11popd
012
=== added directory 'Ubuntu/app/tests/unit'
=== added file 'Ubuntu/app/tests/unit/tst_hellocomponent.qml'
--- Ubuntu/app/tests/unit/tst_hellocomponent.qml 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/tests/unit/tst_hellocomponent.qml 2014-02-11 09:12:08 +0000
@@ -0,0 +1,49 @@
1import QtQuick 2.0
2import QtTest 1.0
3import Ubuntu.Components 0.1
4import "../../components"
5
6// See more details @ http://qt-project.org/doc/qt-5.0/qtquick/qml-testcase.html
7
8// Execute tests with:
9// qmltestrunner
10
11Item {
12 // The objects
13 HelloComponent {
14 id: objectUnderTest
15 }
16
17 TestCase {
18 name: "HelloComponent"
19
20 function init() {
21 console.debug(">> init");
22 compare("",objectUnderTest.text,"text was not empty on init");
23 console.debug("<< init");
24 }
25
26 function cleanup() {
27 console.debug(">> cleanup");
28 console.debug("<< cleanup");
29 }
30
31 function initTestCase() {
32 console.debug(">> initTestCase");
33 console.debug("<< initTestCase");
34 }
35
36 function cleanupTestCase() {
37 console.debug(">> cleanupTestCase");
38 console.debug("<< cleanupTestCase");
39 }
40
41 function test_canReadAndWriteText() {
42 var expected = "Hello World";
43
44 objectUnderTest.text = expected;
45
46 compare(expected,objectUnderTest.text,"expected did not equal result");
47 }
48 }
49}
050
=== added file 'Ubuntu/app/ubuntudualboot.desktop'
--- Ubuntu/app/ubuntudualboot.desktop 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/ubuntudualboot.desktop 2014-02-11 09:12:08 +0000
@@ -0,0 +1,8 @@
1[Desktop Entry]
2Name=ubuntudualboot
3Comment=Ubuntu Dual boot with Android
4Exec=qmlscene -I plugin $@ ubuntudualboot.qml
5Icon=icon.png
6Terminal=false
7Type=Application
8X-Ubuntu-Touch=true
09
=== added file 'Ubuntu/app/ubuntudualboot.qml'
--- Ubuntu/app/ubuntudualboot.qml 1970-01-01 00:00:00 +0000
+++ Ubuntu/app/ubuntudualboot.qml 2014-02-11 09:12:08 +0000
@@ -0,0 +1,57 @@
1import QtQuick 2.0
2import Ubuntu.Components 0.1
3import ubuntuboot 1.0
4import Ubuntu.Components.Popups 0.1
5
6
7MainView {
8 width: units.gu(100)
9 height: units.gu(75)
10 applicationName: "com.ubuntu.developer.vtuson.ubuntudualboot"
11
12
13 Page {
14 title: i18n.tr("Ubuntu Dual Boot")
15 Column {
16 spacing: units.gu(2)
17 anchors.top: parent.top
18 anchors.horizontalCenter: parent.horizontalCenter
19 anchors.topMargin: units.gu(2)
20
21 Ubuntuboot {
22 id:reboot
23 boottoandroid: isandroid.checked
24 upass: "phablet"
25 }
26 Label {
27 objectName: "description"
28 text: i18n.tr("Welcome to Ubuntu Dual Boot")
29 }
30 Button {
31 property string ostoboot: isandroid.checked? " Android" : " Ubuntu"
32 id: rebootButton
33 anchors.horizontalCenter: parent.horizontalCenter
34 text: "Reboot to" + ostoboot
35 Component.onCompleted: rebootButton.clicked.connect(reboot.reboot)
36
37 }
38
39 Row {
40 spacing: units.gu(2)
41 CheckBox {
42 id:isandroid
43 checked: false
44 }
45 Label {
46 text:"Boot to Android?"
47 anchors.verticalCenter: isandroid.verticalCenter
48 }
49 }
50 Label {
51 text: reboot.result ===256?"Incorrect password":""
52 }
53
54
55 }
56 }
57}
058
=== added directory 'Ubuntu/backend'
=== added file 'Ubuntu/backend/Makefile'
--- Ubuntu/backend/Makefile 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/Makefile 2014-02-11 09:12:08 +0000
@@ -0,0 +1,205 @@
1#############################################################################
2# Makefile for building: backend
3# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:23 2013
4# Project: backend.pro
5# Template: subdirs
6# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile backend.pro
7#############################################################################
8
9MAKEFILE = Makefile
10
11first: make_first
12QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
13DEL_FILE = rm -f
14CHK_DIR_EXISTS= test -d
15MKDIR = mkdir -p
16COPY = cp -f
17COPY_FILE = cp -f
18COPY_DIR = cp -f -R
19INSTALL_FILE = install -m 644 -p
20INSTALL_PROGRAM = install -m 755 -p
21INSTALL_DIR = $(COPY_DIR)
22DEL_FILE = rm -f
23SYMLINK = ln -f -s
24DEL_DIR = rmdir
25MOVE = mv -f
26SUBTARGETS = \
27 sub-modules-ubuntuboot
28
29
30sub-modules-ubuntuboot-qmake_all: FORCE
31 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
32 cd modules/ubuntuboot/ && $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile
33 cd modules/ubuntuboot/ && $(MAKE) -f Makefile qmake_all
34sub-modules-ubuntuboot: FORCE
35 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
36 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile
37sub-modules-ubuntuboot-make_first: FORCE
38 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
39 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile
40sub-modules-ubuntuboot-all: FORCE
41 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
42 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile all
43sub-modules-ubuntuboot-clean: FORCE
44 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
45 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile clean
46sub-modules-ubuntuboot-distclean: FORCE
47 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
48 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile distclean
49sub-modules-ubuntuboot-install_subtargets: FORCE
50 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
51 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile install
52sub-modules-ubuntuboot-uninstall_subtargets: FORCE
53 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
54 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile uninstall
55
56Makefile: backend.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
57 /usr/share/qt5/mkspecs/common/shell-unix.conf \
58 /usr/share/qt5/mkspecs/common/unix.conf \
59 /usr/share/qt5/mkspecs/common/linux.conf \
60 /usr/share/qt5/mkspecs/common/gcc-base.conf \
61 /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
62 /usr/share/qt5/mkspecs/common/g++-base.conf \
63 /usr/share/qt5/mkspecs/common/g++-unix.conf \
64 /usr/share/qt5/mkspecs/qconfig.pri \
65 /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
66 /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
67 /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
68 /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
69 /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
70 /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
71 /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
72 /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
73 /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
74 /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
75 /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
76 /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
77 /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
78 /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
79 /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
80 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
81 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
82 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
83 /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
84 /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
85 /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
86 /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
87 /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
88 /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
89 /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
90 /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
91 /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
92 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
93 /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
94 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
95 /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
96 /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
97 /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
98 /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
99 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
100 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
101 /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
102 /usr/share/qt5/mkspecs/features/qt_functions.prf \
103 /usr/share/qt5/mkspecs/features/qt_config.prf \
104 /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
105 /usr/share/qt5/mkspecs/features/spec_post.prf \
106 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
107 /usr/share/qt5/mkspecs/features/default_pre.prf \
108 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
109 /usr/share/qt5/mkspecs/features/resolve_config.prf \
110 /usr/share/qt5/mkspecs/features/default_post.prf \
111 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
112 /usr/share/qt5/mkspecs/features/warn_on.prf \
113 /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
114 /usr/share/qt5/mkspecs/features/testcase_targets.prf \
115 /usr/share/qt5/mkspecs/features/exceptions.prf \
116 /usr/share/qt5/mkspecs/features/yacc.prf \
117 /usr/share/qt5/mkspecs/features/lex.prf \
118 backend.pro
119 $(QMAKE) -o Makefile backend.pro
120/usr/share/qt5/mkspecs/features/spec_pre.prf:
121/usr/share/qt5/mkspecs/common/shell-unix.conf:
122/usr/share/qt5/mkspecs/common/unix.conf:
123/usr/share/qt5/mkspecs/common/linux.conf:
124/usr/share/qt5/mkspecs/common/gcc-base.conf:
125/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
126/usr/share/qt5/mkspecs/common/g++-base.conf:
127/usr/share/qt5/mkspecs/common/g++-unix.conf:
128/usr/share/qt5/mkspecs/qconfig.pri:
129/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
130/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
131/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
132/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
133/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
134/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
135/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
136/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
137/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
138/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
139/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
140/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
141/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
142/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
143/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
144/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
145/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
146/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
147/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
148/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
149/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
150/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
151/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
152/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
153/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
154/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
155/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
156/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
157/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
158/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
159/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
160/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
161/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
162/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
163/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
164/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
165/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
166/usr/share/qt5/mkspecs/features/qt_functions.prf:
167/usr/share/qt5/mkspecs/features/qt_config.prf:
168/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
169/usr/share/qt5/mkspecs/features/spec_post.prf:
170/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
171/usr/share/qt5/mkspecs/features/default_pre.prf:
172/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
173/usr/share/qt5/mkspecs/features/resolve_config.prf:
174/usr/share/qt5/mkspecs/features/default_post.prf:
175/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
176/usr/share/qt5/mkspecs/features/warn_on.prf:
177/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
178/usr/share/qt5/mkspecs/features/testcase_targets.prf:
179/usr/share/qt5/mkspecs/features/exceptions.prf:
180/usr/share/qt5/mkspecs/features/yacc.prf:
181/usr/share/qt5/mkspecs/features/lex.prf:
182backend.pro:
183qmake: FORCE
184 @$(QMAKE) -o Makefile backend.pro
185
186qmake_all: sub-modules-ubuntuboot-qmake_all FORCE
187
188make_first: sub-modules-ubuntuboot-make_first FORCE
189all: sub-modules-ubuntuboot-all FORCE
190clean: sub-modules-ubuntuboot-clean FORCE
191distclean: sub-modules-ubuntuboot-distclean FORCE
192 -$(DEL_FILE) Makefile
193install_subtargets: sub-modules-ubuntuboot-install_subtargets FORCE
194uninstall_subtargets: sub-modules-ubuntuboot-uninstall_subtargets FORCE
195
196sub-modules-ubuntuboot-check:
197 @test -d modules/ubuntuboot/ || mkdir -p modules/ubuntuboot/
198 cd modules/ubuntuboot/ && ( test -e Makefile || $(QMAKE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/ubuntuboot.pro -o Makefile ) && $(MAKE) -f Makefile check
199check: modules/ubuntuboot sub-modules-ubuntuboot-check
200install: install_subtargets FORCE
201
202uninstall: uninstall_subtargets FORCE
203
204FORCE:
205
0206
=== added file 'Ubuntu/backend/backend.pro'
--- Ubuntu/backend/backend.pro 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/backend.pro 2014-02-11 09:12:08 +0000
@@ -0,0 +1,8 @@
1TEMPLATE = subdirs
2SUBDIRS = modules/ubuntuboot
3
4OTHER_FILES += $$system(find tests -type f)
5
6check.target = check
7check.depends = modules/ubuntuboot
8
09
=== added directory 'Ubuntu/backend/modules'
=== added directory 'Ubuntu/backend/modules/ubuntuboot'
=== added file 'Ubuntu/backend/modules/ubuntuboot/Makefile'
--- Ubuntu/backend/modules/ubuntuboot/Makefile 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/Makefile 2014-02-11 09:12:08 +0000
@@ -0,0 +1,887 @@
1#############################################################################
2# Makefile for building: libubuntuboot.so
3# Generated by qmake (3.0) (Qt 5.0.2) on: Fri Dec 13 17:04:24 2013
4# Project: ubuntuboot.pro
5# Template: lib
6# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ubuntuboot.pro
7#############################################################################
8
9MAKEFILE = Makefile
10
11####### Compiler, tools and options
12
13CC = gcc
14CXX = g++
15DEFINES = -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
16CFLAGS = -m64 -pipe -O2 -D_REENTRANT -Wall -W -fPIC $(DEFINES)
17CXXFLAGS = -m64 -pipe -O2 -D_REENTRANT -Wall -W -fPIC $(DEFINES)
18INCPATH = -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.
19LINK = g++
20LFLAGS = -m64 -Wl,-O1 -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu -shared
21LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Quick -L/usr/lib/x86_64-linux-gnu -lQt5Qml -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
22AR = ar cqs
23RANLIB =
24QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
25TAR = tar -cf
26COMPRESS = gzip -9f
27COPY = cp -f
28SED = sed
29COPY_FILE = cp -f
30COPY_DIR = cp -f -R
31STRIP = strip
32INSTALL_FILE = install -m 644 -p
33INSTALL_DIR = $(COPY_DIR)
34INSTALL_PROGRAM = install -m 755 -p
35DEL_FILE = rm -f
36SYMLINK = ln -f -s
37DEL_DIR = rmdir
38MOVE = mv -f
39CHK_DIR_EXISTS= test -d
40MKDIR = mkdir -p
41
42####### Output directory
43
44OBJECTS_DIR = ./
45
46####### Files
47
48SOURCES = backend.cpp \
49 ubuntuboot.cpp moc_backend.cpp \
50 moc_ubuntuboot.cpp
51OBJECTS = backend.o \
52 ubuntuboot.o \
53 moc_backend.o \
54 moc_ubuntuboot.o
55DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
56 /usr/share/qt5/mkspecs/common/shell-unix.conf \
57 /usr/share/qt5/mkspecs/common/unix.conf \
58 /usr/share/qt5/mkspecs/common/linux.conf \
59 /usr/share/qt5/mkspecs/common/gcc-base.conf \
60 /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
61 /usr/share/qt5/mkspecs/common/g++-base.conf \
62 /usr/share/qt5/mkspecs/common/g++-unix.conf \
63 /usr/share/qt5/mkspecs/qconfig.pri \
64 /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
65 /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
66 /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
67 /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
68 /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
69 /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
70 /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
71 /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
72 /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
73 /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
74 /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
75 /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
76 /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
77 /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
78 /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
79 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
80 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
81 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
82 /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
83 /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
84 /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
85 /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
86 /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
87 /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
88 /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
89 /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
90 /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
91 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
92 /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
93 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
94 /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
95 /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
96 /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
97 /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
98 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
99 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
100 /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
101 /usr/share/qt5/mkspecs/features/qt_functions.prf \
102 /usr/share/qt5/mkspecs/features/qt_config.prf \
103 /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
104 /usr/share/qt5/mkspecs/features/spec_post.prf \
105 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
106 /usr/share/qt5/mkspecs/features/default_pre.prf \
107 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
108 /usr/share/qt5/mkspecs/features/resolve_config.prf \
109 /usr/share/qt5/mkspecs/features/default_post.prf \
110 /usr/share/qt5/mkspecs/features/qt.prf \
111 /usr/share/qt5/mkspecs/features/resources.prf \
112 /usr/share/qt5/mkspecs/features/moc.prf \
113 /usr/share/qt5/mkspecs/features/unix/opengl.prf \
114 /usr/share/qt5/mkspecs/features/unix/thread.prf \
115 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
116 /usr/share/qt5/mkspecs/features/warn_on.prf \
117 /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
118 /usr/share/qt5/mkspecs/features/testcase_targets.prf \
119 /usr/share/qt5/mkspecs/features/exceptions.prf \
120 /usr/share/qt5/mkspecs/features/yacc.prf \
121 /usr/share/qt5/mkspecs/features/lex.prf \
122 ubuntuboot.pro \
123 ubuntuboot.pro
124QMAKE_TARGET = ubuntuboot
125DESTDIR =
126TARGET = libubuntuboot.so
127TARGETD = libubuntuboot.so
128
129
130first: all
131####### Implicit rules
132
133.SUFFIXES: .o .c .cpp .cc .cxx .C
134
135.cpp.o:
136 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
137
138.cc.o:
139 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
140
141.cxx.o:
142 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
143
144.C.o:
145 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
146
147.c.o:
148 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
149
150####### Build rules
151
152all: Makefile $(TARGET)
153
154$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
155 -$(DEL_FILE) $(TARGET)
156 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
157
158
159
160Makefile: ubuntuboot.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
161 /usr/share/qt5/mkspecs/common/shell-unix.conf \
162 /usr/share/qt5/mkspecs/common/unix.conf \
163 /usr/share/qt5/mkspecs/common/linux.conf \
164 /usr/share/qt5/mkspecs/common/gcc-base.conf \
165 /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
166 /usr/share/qt5/mkspecs/common/g++-base.conf \
167 /usr/share/qt5/mkspecs/common/g++-unix.conf \
168 /usr/share/qt5/mkspecs/qconfig.pri \
169 /usr/share/qt5/mkspecs/modules/qt_lib_3d.pri \
170 /usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri \
171 /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
172 /usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri \
173 /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
174 /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
175 /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
176 /usr/share/qt5/mkspecs/modules/qt_lib_designer.pri \
177 /usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri \
178 /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
179 /usr/share/qt5/mkspecs/modules/qt_lib_help.pri \
180 /usr/share/qt5/mkspecs/modules/qt_lib_location.pri \
181 /usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri \
182 /usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
183 /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
184 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
185 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
186 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
187 /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
188 /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
189 /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
190 /usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri \
191 /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
192 /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
193 /usr/share/qt5/mkspecs/modules/qt_lib_script.pri \
194 /usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri \
195 /usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri \
196 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
197 /usr/share/qt5/mkspecs/modules/qt_lib_svg.pri \
198 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
199 /usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri \
200 /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
201 /usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri \
202 /usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
203 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
204 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
205 /usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
206 /usr/share/qt5/mkspecs/features/qt_functions.prf \
207 /usr/share/qt5/mkspecs/features/qt_config.prf \
208 /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
209 /usr/share/qt5/mkspecs/features/spec_post.prf \
210 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
211 /usr/share/qt5/mkspecs/features/default_pre.prf \
212 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
213 /usr/share/qt5/mkspecs/features/resolve_config.prf \
214 /usr/share/qt5/mkspecs/features/default_post.prf \
215 /usr/share/qt5/mkspecs/features/qt.prf \
216 /usr/share/qt5/mkspecs/features/resources.prf \
217 /usr/share/qt5/mkspecs/features/moc.prf \
218 /usr/share/qt5/mkspecs/features/unix/opengl.prf \
219 /usr/share/qt5/mkspecs/features/unix/thread.prf \
220 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
221 /usr/share/qt5/mkspecs/features/warn_on.prf \
222 /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
223 /usr/share/qt5/mkspecs/features/testcase_targets.prf \
224 /usr/share/qt5/mkspecs/features/exceptions.prf \
225 /usr/share/qt5/mkspecs/features/yacc.prf \
226 /usr/share/qt5/mkspecs/features/lex.prf \
227 ubuntuboot.pro \
228 /usr/lib/x86_64-linux-gnu/libQt5Quick.prl \
229 /usr/lib/x86_64-linux-gnu/libQt5Qml.prl \
230 /usr/lib/x86_64-linux-gnu/libQt5Network.prl \
231 /usr/lib/x86_64-linux-gnu/libQt5Core.prl \
232 /usr/lib/x86_64-linux-gnu/libQt5Gui.prl
233 $(QMAKE) -o Makefile ubuntuboot.pro
234/usr/share/qt5/mkspecs/features/spec_pre.prf:
235/usr/share/qt5/mkspecs/common/shell-unix.conf:
236/usr/share/qt5/mkspecs/common/unix.conf:
237/usr/share/qt5/mkspecs/common/linux.conf:
238/usr/share/qt5/mkspecs/common/gcc-base.conf:
239/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
240/usr/share/qt5/mkspecs/common/g++-base.conf:
241/usr/share/qt5/mkspecs/common/g++-unix.conf:
242/usr/share/qt5/mkspecs/qconfig.pri:
243/usr/share/qt5/mkspecs/modules/qt_lib_3d.pri:
244/usr/share/qt5/mkspecs/modules/qt_lib_3dquick.pri:
245/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
246/usr/share/qt5/mkspecs/modules/qt_lib_clucene.pri:
247/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
248/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
249/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
250/usr/share/qt5/mkspecs/modules/qt_lib_designer.pri:
251/usr/share/qt5/mkspecs/modules/qt_lib_designercomponents.pri:
252/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
253/usr/share/qt5/mkspecs/modules/qt_lib_help.pri:
254/usr/share/qt5/mkspecs/modules/qt_lib_location.pri:
255/usr/share/qt5/mkspecs/modules/qt_lib_multimedia.pri:
256/usr/share/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
257/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
258/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
259/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
260/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
261/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
262/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
263/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
264/usr/share/qt5/mkspecs/modules/qt_lib_qtmultimediaquicktools.pri:
265/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
266/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
267/usr/share/qt5/mkspecs/modules/qt_lib_script.pri:
268/usr/share/qt5/mkspecs/modules/qt_lib_scripttools.pri:
269/usr/share/qt5/mkspecs/modules/qt_lib_sensors.pri:
270/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
271/usr/share/qt5/mkspecs/modules/qt_lib_svg.pri:
272/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
273/usr/share/qt5/mkspecs/modules/qt_lib_uitools.pri:
274/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
275/usr/share/qt5/mkspecs/modules/qt_lib_webkit.pri:
276/usr/share/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
277/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
278/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
279/usr/share/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
280/usr/share/qt5/mkspecs/features/qt_functions.prf:
281/usr/share/qt5/mkspecs/features/qt_config.prf:
282/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
283/usr/share/qt5/mkspecs/features/spec_post.prf:
284/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
285/usr/share/qt5/mkspecs/features/default_pre.prf:
286/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
287/usr/share/qt5/mkspecs/features/resolve_config.prf:
288/usr/share/qt5/mkspecs/features/default_post.prf:
289/usr/share/qt5/mkspecs/features/qt.prf:
290/usr/share/qt5/mkspecs/features/resources.prf:
291/usr/share/qt5/mkspecs/features/moc.prf:
292/usr/share/qt5/mkspecs/features/unix/opengl.prf:
293/usr/share/qt5/mkspecs/features/unix/thread.prf:
294/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
295/usr/share/qt5/mkspecs/features/warn_on.prf:
296/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
297/usr/share/qt5/mkspecs/features/testcase_targets.prf:
298/usr/share/qt5/mkspecs/features/exceptions.prf:
299/usr/share/qt5/mkspecs/features/yacc.prf:
300/usr/share/qt5/mkspecs/features/lex.prf:
301ubuntuboot.pro:
302/usr/lib/x86_64-linux-gnu/libQt5Quick.prl:
303/usr/lib/x86_64-linux-gnu/libQt5Qml.prl:
304/usr/lib/x86_64-linux-gnu/libQt5Network.prl:
305/usr/lib/x86_64-linux-gnu/libQt5Core.prl:
306/usr/lib/x86_64-linux-gnu/libQt5Gui.prl:
307qmake: FORCE
308 @$(QMAKE) -o Makefile ubuntuboot.pro
309
310qmake_all: FORCE
311
312dist:
313 @test -d .tmp/ubuntuboot1.0.0 || mkdir -p .tmp/ubuntuboot1.0.0
314 $(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
315
316
317clean:compiler_clean
318 -$(DEL_FILE) $(OBJECTS)
319 -$(DEL_FILE) *~ core *.core
320
321
322####### Sub-libraries
323
324distclean: clean
325 -$(DEL_FILE) $(TARGET)
326 -$(DEL_FILE) Makefile
327
328
329mocclean: compiler_moc_header_clean compiler_moc_source_clean
330
331mocables: compiler_moc_header_make_all compiler_moc_source_make_all
332
333check: first
334
335compiler_rcc_make_all:
336compiler_rcc_clean:
337compiler_wayland-server-header_make_all:
338compiler_wayland-server-header_clean:
339compiler_wayland-client-header_make_all:
340compiler_wayland-client-header_clean:
341compiler_moc_header_make_all: moc_backend.cpp moc_ubuntuboot.cpp
342compiler_moc_header_clean:
343 -$(DEL_FILE) moc_backend.cpp moc_ubuntuboot.cpp
344moc_backend.cpp: /usr/include/qt5/QtQml/QQmlEngine \
345 /usr/include/qt5/QtQml/qqmlengine.h \
346 /usr/include/qt5/QtCore/qurl.h \
347 /usr/include/qt5/QtCore/qbytearray.h \
348 /usr/include/qt5/QtCore/qrefcount.h \
349 /usr/include/qt5/QtCore/qatomic.h \
350 /usr/include/qt5/QtCore/qglobal.h \
351 /usr/include/qt5/QtCore/qconfig.h \
352 /usr/include/qt5/QtCore/qfeatures.h \
353 /usr/include/qt5/QtCore/qsystemdetection.h \
354 /usr/include/qt5/QtCore/qcompilerdetection.h \
355 /usr/include/qt5/QtCore/qprocessordetection.h \
356 /usr/include/qt5/QtCore/qlogging.h \
357 /usr/include/qt5/QtCore/qflags.h \
358 /usr/include/qt5/QtCore/qtypeinfo.h \
359 /usr/include/qt5/QtCore/qtypetraits.h \
360 /usr/include/qt5/QtCore/qsysinfo.h \
361 /usr/include/qt5/QtCore/qbasicatomic.h \
362 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
363 /usr/include/qt5/QtCore/qgenericatomic.h \
364 /usr/include/qt5/QtCore/qatomic_msvc.h \
365 /usr/include/qt5/QtCore/qatomic_integrity.h \
366 /usr/include/qt5/QtCore/qoldbasicatomic.h \
367 /usr/include/qt5/QtCore/qatomic_vxworks.h \
368 /usr/include/qt5/QtCore/qatomic_power.h \
369 /usr/include/qt5/QtCore/qatomic_alpha.h \
370 /usr/include/qt5/QtCore/qatomic_armv7.h \
371 /usr/include/qt5/QtCore/qatomic_armv6.h \
372 /usr/include/qt5/QtCore/qatomic_armv5.h \
373 /usr/include/qt5/QtCore/qatomic_bfin.h \
374 /usr/include/qt5/QtCore/qatomic_ia64.h \
375 /usr/include/qt5/QtCore/qatomic_mips.h \
376 /usr/include/qt5/QtCore/qatomic_s390.h \
377 /usr/include/qt5/QtCore/qatomic_sh4a.h \
378 /usr/include/qt5/QtCore/qatomic_sparc.h \
379 /usr/include/qt5/QtCore/qatomic_x86.h \
380 /usr/include/qt5/QtCore/qatomic_cxx11.h \
381 /usr/include/qt5/QtCore/qatomic_gcc.h \
382 /usr/include/qt5/QtCore/qatomic_unix.h \
383 /usr/include/qt5/QtCore/qnamespace.h \
384 /usr/include/qt5/QtCore/qarraydata.h \
385 /usr/include/qt5/QtCore/qstring.h \
386 /usr/include/qt5/QtCore/qchar.h \
387 /usr/include/qt5/QtCore/qstringbuilder.h \
388 /usr/include/qt5/QtCore/qobjectdefs.h \
389 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
390 /usr/include/qt5/QtCore/qlist.h \
391 /usr/include/qt5/QtCore/qalgorithms.h \
392 /usr/include/qt5/QtCore/qiterator.h \
393 /usr/include/qt5/QtCore/qpair.h \
394 /usr/include/qt5/QtCore/qurlquery.h \
395 /usr/include/qt5/QtCore/qshareddata.h \
396 /usr/include/qt5/QtCore/qstringlist.h \
397 /usr/include/qt5/QtCore/qdatastream.h \
398 /usr/include/qt5/QtCore/qscopedpointer.h \
399 /usr/include/qt5/QtCore/qiodevice.h \
400 /usr/include/qt5/QtCore/qobject.h \
401 /usr/include/qt5/QtCore/qcoreevent.h \
402 /usr/include/qt5/QtCore/qmetatype.h \
403 /usr/include/qt5/QtCore/qvarlengtharray.h \
404 /usr/include/qt5/QtCore/qcontainerfwd.h \
405 /usr/include/qt5/QtCore/qisenum.h \
406 /usr/include/qt5/QtCore/qobject_impl.h \
407 /usr/include/qt5/QtCore/qregexp.h \
408 /usr/include/qt5/QtCore/qstringmatcher.h \
409 /usr/include/qt5/QtCore/qmap.h \
410 /usr/include/qt5/QtCore/qdebug.h \
411 /usr/include/qt5/QtCore/qhash.h \
412 /usr/include/qt5/QtCore/qtextstream.h \
413 /usr/include/qt5/QtCore/qlocale.h \
414 /usr/include/qt5/QtCore/qvariant.h \
415 /usr/include/qt5/QtCore/qvector.h \
416 /usr/include/qt5/QtCore/qpoint.h \
417 /usr/include/qt5/QtCore/qset.h \
418 /usr/include/qt5/QtCore/qcontiguouscache.h \
419 /usr/include/qt5/QtQml/qjsengine.h \
420 /usr/include/qt5/QtCore/qsharedpointer.h \
421 /usr/include/qt5/QtCore/qsharedpointer_impl.h \
422 /usr/include/qt5/QtQml/qjsvalue.h \
423 /usr/include/qt5/QtQml/qtqmlglobal.h \
424 /usr/include/qt5/QtQml/qqmlerror.h \
425 /usr/include/qt5/QtQml/qqmldebug.h \
426 /usr/include/qt5/QtQml/QQmlExtensionPlugin \
427 /usr/include/qt5/QtQml/qqmlextensionplugin.h \
428 /usr/include/qt5/QtCore/qplugin.h \
429 /usr/include/qt5/QtCore/qpointer.h \
430 /usr/include/qt5/QtQml/qqmlextensioninterface.h \
431 backend.h
432 /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) backend.h -o moc_backend.cpp
433
434moc_ubuntuboot.cpp: /usr/include/qt5/QtCore/QObject \
435 /usr/include/qt5/QtCore/qobject.h \
436 /usr/include/qt5/QtCore/qobjectdefs.h \
437 /usr/include/qt5/QtCore/qnamespace.h \
438 /usr/include/qt5/QtCore/qglobal.h \
439 /usr/include/qt5/QtCore/qconfig.h \
440 /usr/include/qt5/QtCore/qfeatures.h \
441 /usr/include/qt5/QtCore/qsystemdetection.h \
442 /usr/include/qt5/QtCore/qcompilerdetection.h \
443 /usr/include/qt5/QtCore/qprocessordetection.h \
444 /usr/include/qt5/QtCore/qlogging.h \
445 /usr/include/qt5/QtCore/qflags.h \
446 /usr/include/qt5/QtCore/qtypeinfo.h \
447 /usr/include/qt5/QtCore/qtypetraits.h \
448 /usr/include/qt5/QtCore/qsysinfo.h \
449 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
450 /usr/include/qt5/QtCore/qstring.h \
451 /usr/include/qt5/QtCore/qchar.h \
452 /usr/include/qt5/QtCore/qbytearray.h \
453 /usr/include/qt5/QtCore/qrefcount.h \
454 /usr/include/qt5/QtCore/qatomic.h \
455 /usr/include/qt5/QtCore/qbasicatomic.h \
456 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
457 /usr/include/qt5/QtCore/qgenericatomic.h \
458 /usr/include/qt5/QtCore/qatomic_msvc.h \
459 /usr/include/qt5/QtCore/qatomic_integrity.h \
460 /usr/include/qt5/QtCore/qoldbasicatomic.h \
461 /usr/include/qt5/QtCore/qatomic_vxworks.h \
462 /usr/include/qt5/QtCore/qatomic_power.h \
463 /usr/include/qt5/QtCore/qatomic_alpha.h \
464 /usr/include/qt5/QtCore/qatomic_armv7.h \
465 /usr/include/qt5/QtCore/qatomic_armv6.h \
466 /usr/include/qt5/QtCore/qatomic_armv5.h \
467 /usr/include/qt5/QtCore/qatomic_bfin.h \
468 /usr/include/qt5/QtCore/qatomic_ia64.h \
469 /usr/include/qt5/QtCore/qatomic_mips.h \
470 /usr/include/qt5/QtCore/qatomic_s390.h \
471 /usr/include/qt5/QtCore/qatomic_sh4a.h \
472 /usr/include/qt5/QtCore/qatomic_sparc.h \
473 /usr/include/qt5/QtCore/qatomic_x86.h \
474 /usr/include/qt5/QtCore/qatomic_cxx11.h \
475 /usr/include/qt5/QtCore/qatomic_gcc.h \
476 /usr/include/qt5/QtCore/qatomic_unix.h \
477 /usr/include/qt5/QtCore/qarraydata.h \
478 /usr/include/qt5/QtCore/qstringbuilder.h \
479 /usr/include/qt5/QtCore/qlist.h \
480 /usr/include/qt5/QtCore/qalgorithms.h \
481 /usr/include/qt5/QtCore/qiterator.h \
482 /usr/include/qt5/QtCore/qcoreevent.h \
483 /usr/include/qt5/QtCore/qscopedpointer.h \
484 /usr/include/qt5/QtCore/qmetatype.h \
485 /usr/include/qt5/QtCore/qvarlengtharray.h \
486 /usr/include/qt5/QtCore/qcontainerfwd.h \
487 /usr/include/qt5/QtCore/qisenum.h \
488 /usr/include/qt5/QtCore/qobject_impl.h \
489 /usr/include/qt5/QtCore/QRegularExpression \
490 /usr/include/qt5/QtCore/qregularexpression.h \
491 /usr/include/qt5/QtCore/qshareddata.h \
492 /usr/include/qt5/QtCore/qvariant.h \
493 /usr/include/qt5/QtCore/qmap.h \
494 /usr/include/qt5/QtCore/qpair.h \
495 /usr/include/qt5/QtCore/qdebug.h \
496 /usr/include/qt5/QtCore/qhash.h \
497 /usr/include/qt5/QtCore/qtextstream.h \
498 /usr/include/qt5/QtCore/qiodevice.h \
499 /usr/include/qt5/QtCore/qlocale.h \
500 /usr/include/qt5/QtCore/qvector.h \
501 /usr/include/qt5/QtCore/qpoint.h \
502 /usr/include/qt5/QtCore/qset.h \
503 /usr/include/qt5/QtCore/qcontiguouscache.h \
504 ubuntuboot.h
505 /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ubuntuboot.h -o moc_ubuntuboot.cpp
506
507compiler_wayland-code_make_all:
508compiler_wayland-code_clean:
509compiler_moc_source_make_all:
510compiler_moc_source_clean:
511compiler_yacc_decl_make_all:
512compiler_yacc_decl_clean:
513compiler_yacc_impl_make_all:
514compiler_yacc_impl_clean:
515compiler_lex_make_all:
516compiler_lex_clean:
517compiler_clean: compiler_moc_header_clean
518
519####### Compile
520
521backend.o: backend.cpp /usr/include/qt5/QtQml/QtQml \
522 /usr/include/qt5/QtCore/QtCore \
523 /usr/include/qt5/QtCore/qabstractanimation.h \
524 /usr/include/qt5/QtCore/qobject.h \
525 /usr/include/qt5/QtCore/qobjectdefs.h \
526 /usr/include/qt5/QtCore/qnamespace.h \
527 /usr/include/qt5/QtCore/qglobal.h \
528 /usr/include/qt5/QtCore/qconfig.h \
529 /usr/include/qt5/QtCore/qfeatures.h \
530 /usr/include/qt5/QtCore/qsystemdetection.h \
531 /usr/include/qt5/QtCore/qcompilerdetection.h \
532 /usr/include/qt5/QtCore/qprocessordetection.h \
533 /usr/include/qt5/QtCore/qlogging.h \
534 /usr/include/qt5/QtCore/qflags.h \
535 /usr/include/qt5/QtCore/qtypeinfo.h \
536 /usr/include/qt5/QtCore/qtypetraits.h \
537 /usr/include/qt5/QtCore/qsysinfo.h \
538 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
539 /usr/include/qt5/QtCore/qstring.h \
540 /usr/include/qt5/QtCore/qchar.h \
541 /usr/include/qt5/QtCore/qbytearray.h \
542 /usr/include/qt5/QtCore/qrefcount.h \
543 /usr/include/qt5/QtCore/qatomic.h \
544 /usr/include/qt5/QtCore/qbasicatomic.h \
545 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
546 /usr/include/qt5/QtCore/qgenericatomic.h \
547 /usr/include/qt5/QtCore/qatomic_msvc.h \
548 /usr/include/qt5/QtCore/qatomic_integrity.h \
549 /usr/include/qt5/QtCore/qoldbasicatomic.h \
550 /usr/include/qt5/QtCore/qatomic_vxworks.h \
551 /usr/include/qt5/QtCore/qatomic_power.h \
552 /usr/include/qt5/QtCore/qatomic_alpha.h \
553 /usr/include/qt5/QtCore/qatomic_armv7.h \
554 /usr/include/qt5/QtCore/qatomic_armv6.h \
555 /usr/include/qt5/QtCore/qatomic_armv5.h \
556 /usr/include/qt5/QtCore/qatomic_bfin.h \
557 /usr/include/qt5/QtCore/qatomic_ia64.h \
558 /usr/include/qt5/QtCore/qatomic_mips.h \
559 /usr/include/qt5/QtCore/qatomic_s390.h \
560 /usr/include/qt5/QtCore/qatomic_sh4a.h \
561 /usr/include/qt5/QtCore/qatomic_sparc.h \
562 /usr/include/qt5/QtCore/qatomic_x86.h \
563 /usr/include/qt5/QtCore/qatomic_cxx11.h \
564 /usr/include/qt5/QtCore/qatomic_gcc.h \
565 /usr/include/qt5/QtCore/qatomic_unix.h \
566 /usr/include/qt5/QtCore/qarraydata.h \
567 /usr/include/qt5/QtCore/qstringbuilder.h \
568 /usr/include/qt5/QtCore/qlist.h \
569 /usr/include/qt5/QtCore/qalgorithms.h \
570 /usr/include/qt5/QtCore/qiterator.h \
571 /usr/include/qt5/QtCore/qcoreevent.h \
572 /usr/include/qt5/QtCore/qscopedpointer.h \
573 /usr/include/qt5/QtCore/qmetatype.h \
574 /usr/include/qt5/QtCore/qvarlengtharray.h \
575 /usr/include/qt5/QtCore/qcontainerfwd.h \
576 /usr/include/qt5/QtCore/qisenum.h \
577 /usr/include/qt5/QtCore/qobject_impl.h \
578 /usr/include/qt5/QtCore/qanimationgroup.h \
579 /usr/include/qt5/QtCore/qparallelanimationgroup.h \
580 /usr/include/qt5/QtCore/qpauseanimation.h \
581 /usr/include/qt5/QtCore/qpropertyanimation.h \
582 /usr/include/qt5/QtCore/qvariantanimation.h \
583 /usr/include/qt5/QtCore/qeasingcurve.h \
584 /usr/include/qt5/QtCore/qvector.h \
585 /usr/include/qt5/QtCore/qpoint.h \
586 /usr/include/qt5/QtCore/qvariant.h \
587 /usr/include/qt5/QtCore/qmap.h \
588 /usr/include/qt5/QtCore/qpair.h \
589 /usr/include/qt5/QtCore/qdebug.h \
590 /usr/include/qt5/QtCore/qhash.h \
591 /usr/include/qt5/QtCore/qtextstream.h \
592 /usr/include/qt5/QtCore/qiodevice.h \
593 /usr/include/qt5/QtCore/qlocale.h \
594 /usr/include/qt5/QtCore/qshareddata.h \
595 /usr/include/qt5/QtCore/qset.h \
596 /usr/include/qt5/QtCore/qcontiguouscache.h \
597 /usr/include/qt5/QtCore/qsequentialanimationgroup.h \
598 /usr/include/qt5/QtCore/qtextcodec.h \
599 /usr/include/qt5/QtCore/qendian.h \
600 /usr/include/qt5/QtCore/qlibraryinfo.h \
601 /usr/include/qt5/QtCore/qdatetime.h \
602 /usr/include/qt5/QtCore/qsharedpointer.h \
603 /usr/include/qt5/QtCore/qsharedpointer_impl.h \
604 /usr/include/qt5/QtCore/qnumeric.h \
605 /usr/include/qt5/QtCore/qbuffer.h \
606 /usr/include/qt5/QtCore/qdatastream.h \
607 /usr/include/qt5/QtCore/qdir.h \
608 /usr/include/qt5/QtCore/qfileinfo.h \
609 /usr/include/qt5/QtCore/qfile.h \
610 /usr/include/qt5/QtCore/qfiledevice.h \
611 /usr/include/qt5/QtCore/qstringlist.h \
612 /usr/include/qt5/QtCore/qregexp.h \
613 /usr/include/qt5/QtCore/qstringmatcher.h \
614 /usr/include/qt5/QtCore/qdiriterator.h \
615 /usr/include/qt5/QtCore/qfilesystemwatcher.h \
616 /usr/include/qt5/QtCore/qprocess.h \
617 /usr/include/qt5/QtCore/qresource.h \
618 /usr/include/qt5/QtCore/qsettings.h \
619 /usr/include/qt5/QtCore/qstandardpaths.h \
620 /usr/include/qt5/QtCore/qtemporarydir.h \
621 /usr/include/qt5/QtCore/QScopedPointer \
622 /usr/include/qt5/QtCore/qtemporaryfile.h \
623 /usr/include/qt5/QtCore/qurl.h \
624 /usr/include/qt5/QtCore/qurlquery.h \
625 /usr/include/qt5/QtCore/qabstractitemmodel.h \
626 /usr/include/qt5/QtCore/qabstractproxymodel.h \
627 /usr/include/qt5/QtCore/qidentityproxymodel.h \
628 /usr/include/qt5/QtCore/qitemselectionmodel.h \
629 /usr/include/qt5/QtCore/qsortfilterproxymodel.h \
630 /usr/include/qt5/QtCore/qstringlistmodel.h \
631 /usr/include/qt5/QtCore/qjsonarray.h \
632 /usr/include/qt5/QtCore/qjsonvalue.h \
633 /usr/include/qt5/QtCore/qjsondocument.h \
634 /usr/include/qt5/QtCore/qjsonobject.h \
635 /usr/include/qt5/QtCore/qabstracteventdispatcher.h \
636 /usr/include/qt5/QtCore/qeventloop.h \
637 /usr/include/qt5/QtCore/qabstractnativeeventfilter.h \
638 /usr/include/qt5/QtCore/qbasictimer.h \
639 /usr/include/qt5/QtCore/qcoreapplication.h \
640 /usr/include/qt5/QtCore/qmath.h \
641 /usr/include/qt5/QtCore/qmetaobject.h \
642 /usr/include/qt5/QtCore/qmimedata.h \
643 /usr/include/qt5/QtCore/qobjectcleanuphandler.h \
644 /usr/include/qt5/QtCore/qpointer.h \
645 /usr/include/qt5/QtCore/qsharedmemory.h \
646 /usr/include/qt5/QtCore/qsignalmapper.h \
647 /usr/include/qt5/QtCore/qsocketnotifier.h \
648 /usr/include/qt5/QtCore/qsystemsemaphore.h \
649 /usr/include/qt5/QtCore/qtimer.h \
650 /usr/include/qt5/QtCore/qtranslator.h \
651 /usr/include/qt5/QtCore/qwineventnotifier.h \
652 /usr/include/qt5/QtCore/qt_windows.h \
653 /usr/include/qt5/QtCore/qmimedatabase.h \
654 /usr/include/qt5/QtCore/qmimetype.h \
655 /usr/include/qt5/QtCore/qfactoryinterface.h \
656 /usr/include/qt5/QtCore/qlibrary.h \
657 /usr/include/qt5/QtCore/qplugin.h \
658 /usr/include/qt5/QtCore/qpluginloader.h \
659 /usr/include/qt5/QtCore/quuid.h \
660 /usr/include/qt5/QtCore/qabstractstate.h \
661 /usr/include/qt5/QtCore/qabstracttransition.h \
662 /usr/include/qt5/QtCore/qeventtransition.h \
663 /usr/include/qt5/QtCore/qfinalstate.h \
664 /usr/include/qt5/QtCore/qhistorystate.h \
665 /usr/include/qt5/QtCore/qsignaltransition.h \
666 /usr/include/qt5/QtCore/qstate.h \
667 /usr/include/qt5/QtCore/qstatemachine.h \
668 /usr/include/qt5/QtCore/qexception.h \
669 /usr/include/qt5/QtCore/qfuture.h \
670 /usr/include/qt5/QtCore/qfutureinterface.h \
671 /usr/include/qt5/QtCore/qrunnable.h \
672 /usr/include/qt5/QtCore/qmutex.h \
673 /usr/include/qt5/QtCore/qresultstore.h \
674 /usr/include/qt5/QtCore/qfuturesynchronizer.h \
675 /usr/include/qt5/QtCore/qfuturewatcher.h \
676 /usr/include/qt5/QtCore/qreadwritelock.h \
677 /usr/include/qt5/QtCore/qsemaphore.h \
678 /usr/include/qt5/QtCore/qthread.h \
679 /usr/include/qt5/QtCore/qthreadpool.h \
680 /usr/include/qt5/QtCore/qthreadstorage.h \
681 /usr/include/qt5/QtCore/qwaitcondition.h \
682 /usr/include/qt5/QtCore/qarraydataops.h \
683 /usr/include/qt5/QtCore/qarraydatapointer.h \
684 /usr/include/qt5/QtCore/qbitarray.h \
685 /usr/include/qt5/QtCore/qbytearraymatcher.h \
686 /usr/include/qt5/QtCore/qcache.h \
687 /usr/include/qt5/QtCore/qcryptographichash.h \
688 /usr/include/qt5/QtCore/qelapsedtimer.h \
689 /usr/include/qt5/QtCore/qline.h \
690 /usr/include/qt5/QtCore/qlinkedlist.h \
691 /usr/include/qt5/QtCore/qmargins.h \
692 /usr/include/qt5/QtCore/qqueue.h \
693 /usr/include/qt5/QtCore/qrect.h \
694 /usr/include/qt5/QtCore/qsize.h \
695 /usr/include/qt5/QtCore/qregularexpression.h \
696 /usr/include/qt5/QtCore/qscopedvaluerollback.h \
697 /usr/include/qt5/QtCore/qstack.h \
698 /usr/include/qt5/QtCore/qtextboundaryfinder.h \
699 /usr/include/qt5/QtCore/qtimeline.h \
700 /usr/include/qt5/QtCore/qxmlstream.h \
701 /usr/include/qt5/QtCore/qtcoreversion.h \
702 /usr/include/qt5/QtNetwork/QtNetwork \
703 /usr/include/qt5/QtNetwork/qabstractnetworkcache.h \
704 /usr/include/qt5/QtNetwork/qnetworkrequest.h \
705 /usr/include/qt5/QtCore/QSharedDataPointer \
706 /usr/include/qt5/QtCore/QString \
707 /usr/include/qt5/QtCore/QUrl \
708 /usr/include/qt5/QtCore/QVariant \
709 /usr/include/qt5/QtNetwork/qhttpmultipart.h \
710 /usr/include/qt5/QtCore/QByteArray \
711 /usr/include/qt5/QtCore/QIODevice \
712 /usr/include/qt5/QtNetwork/QNetworkRequest \
713 /usr/include/qt5/QtNetwork/qnetworkaccessmanager.h \
714 /usr/include/qt5/QtCore/QObject \
715 /usr/include/qt5/QtNetwork/qnetworkcookie.h \
716 /usr/include/qt5/QtCore/QList \
717 /usr/include/qt5/QtCore/QMetaType \
718 /usr/include/qt5/QtNetwork/qnetworkcookiejar.h \
719 /usr/include/qt5/QtNetwork/qnetworkdiskcache.h \
720 /usr/include/qt5/QtNetwork/qnetworkreply.h \
721 /usr/include/qt5/QtNetwork/QNetworkAccessManager \
722 /usr/include/qt5/QtNetwork/qnetworkconfigmanager.h \
723 /usr/include/qt5/QtNetwork/qnetworkconfiguration.h \
724 /usr/include/qt5/QtNetwork/qnetworksession.h \
725 /usr/include/qt5/QtNetwork/qnetworkinterface.h \
726 /usr/include/qt5/QtNetwork/qhostaddress.h \
727 /usr/include/qt5/QtNetwork/qabstractsocket.h \
728 /usr/include/qt5/QtNetwork/qauthenticator.h \
729 /usr/include/qt5/QtNetwork/qdnslookup.h \
730 /usr/include/qt5/QtNetwork/qhostinfo.h \
731 /usr/include/qt5/QtNetwork/qnetworkproxy.h \
732 /usr/include/qt5/QtNetwork/qlocalserver.h \
733 /usr/include/qt5/QtNetwork/qlocalsocket.h \
734 /usr/include/qt5/QtNetwork/qtcpserver.h \
735 /usr/include/qt5/QtNetwork/qtcpsocket.h \
736 /usr/include/qt5/QtNetwork/qudpsocket.h \
737 /usr/include/qt5/QtNetwork/qssl.h \
738 /usr/include/qt5/QtCore/QFlags \
739 /usr/include/qt5/QtNetwork/qsslcertificate.h \
740 /usr/include/qt5/QtNetwork/qsslcertificateextension.h \
741 /usr/include/qt5/QtNetwork/qsslcipher.h \
742 /usr/include/qt5/QtNetwork/qsslconfiguration.h \
743 /usr/include/qt5/QtNetwork/qsslsocket.h \
744 /usr/include/qt5/QtNetwork/qsslerror.h \
745 /usr/include/qt5/QtNetwork/qsslkey.h \
746 /usr/include/qt5/QtNetwork/qtnetworkversion.h \
747 /usr/include/qt5/QtQml/qtqmlglobal.h \
748 /usr/include/qt5/QtQml/qqmldebug.h \
749 /usr/include/qt5/QtQml/qqml.h \
750 /usr/include/qt5/QtQml/qqmlprivate.h \
751 /usr/include/qt5/QtQml/qqmlparserstatus.h \
752 /usr/include/qt5/QtQml/qqmlpropertyvaluesource.h \
753 /usr/include/qt5/QtQml/qqmllist.h \
754 /usr/include/qt5/QtQml/qqmlcomponent.h \
755 /usr/include/qt5/QtQml/qqmlerror.h \
756 /usr/include/qt5/QtQml/qjsvalue.h \
757 /usr/include/qt5/QtQml/qqmlcontext.h \
758 /usr/include/qt5/QtQml/qqmlengine.h \
759 /usr/include/qt5/QtQml/qjsengine.h \
760 /usr/include/qt5/QtQml/qqmlexpression.h \
761 /usr/include/qt5/QtQml/qqmlscriptstring.h \
762 /usr/include/qt5/QtQml/qqmlextensioninterface.h \
763 /usr/include/qt5/QtQml/qqmlextensionplugin.h \
764 /usr/include/qt5/QtQml/qqmlfile.h \
765 /usr/include/qt5/QtQml/qqmlincubator.h \
766 /usr/include/qt5/QtQml/qqmlinfo.h \
767 /usr/include/qt5/QtQml/qqmlnetworkaccessmanagerfactory.h \
768 /usr/include/qt5/QtQml/qqmlproperty.h \
769 /usr/include/qt5/QtQml/qqmlpropertymap.h \
770 /usr/include/qt5/QtCore/QHash \
771 /usr/include/qt5/QtCore/QStringList \
772 /usr/include/qt5/QtQml/qjsvalueiterator.h \
773 /usr/include/qt5/QtQml/qtqmlversion.h \
774 /usr/include/qt5/QtQml/QQmlContext \
775 backend.h \
776 /usr/include/qt5/QtQml/QQmlEngine \
777 /usr/include/qt5/QtQml/QQmlExtensionPlugin \
778 ubuntuboot.h \
779 /usr/include/qt5/QtCore/QRegularExpression
780 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o backend.o backend.cpp
781
782ubuntuboot.o: ubuntuboot.cpp ubuntuboot.h \
783 /usr/include/qt5/QtCore/QObject \
784 /usr/include/qt5/QtCore/qobject.h \
785 /usr/include/qt5/QtCore/qobjectdefs.h \
786 /usr/include/qt5/QtCore/qnamespace.h \
787 /usr/include/qt5/QtCore/qglobal.h \
788 /usr/include/qt5/QtCore/qconfig.h \
789 /usr/include/qt5/QtCore/qfeatures.h \
790 /usr/include/qt5/QtCore/qsystemdetection.h \
791 /usr/include/qt5/QtCore/qcompilerdetection.h \
792 /usr/include/qt5/QtCore/qprocessordetection.h \
793 /usr/include/qt5/QtCore/qlogging.h \
794 /usr/include/qt5/QtCore/qflags.h \
795 /usr/include/qt5/QtCore/qtypeinfo.h \
796 /usr/include/qt5/QtCore/qtypetraits.h \
797 /usr/include/qt5/QtCore/qsysinfo.h \
798 /usr/include/qt5/QtCore/qobjectdefs_impl.h \
799 /usr/include/qt5/QtCore/qstring.h \
800 /usr/include/qt5/QtCore/qchar.h \
801 /usr/include/qt5/QtCore/qbytearray.h \
802 /usr/include/qt5/QtCore/qrefcount.h \
803 /usr/include/qt5/QtCore/qatomic.h \
804 /usr/include/qt5/QtCore/qbasicatomic.h \
805 /usr/include/qt5/QtCore/qatomic_bootstrap.h \
806 /usr/include/qt5/QtCore/qgenericatomic.h \
807 /usr/include/qt5/QtCore/qatomic_msvc.h \
808 /usr/include/qt5/QtCore/qatomic_integrity.h \
809 /usr/include/qt5/QtCore/qoldbasicatomic.h \
810 /usr/include/qt5/QtCore/qatomic_vxworks.h \
811 /usr/include/qt5/QtCore/qatomic_power.h \
812 /usr/include/qt5/QtCore/qatomic_alpha.h \
813 /usr/include/qt5/QtCore/qatomic_armv7.h \
814 /usr/include/qt5/QtCore/qatomic_armv6.h \
815 /usr/include/qt5/QtCore/qatomic_armv5.h \
816 /usr/include/qt5/QtCore/qatomic_bfin.h \
817 /usr/include/qt5/QtCore/qatomic_ia64.h \
818 /usr/include/qt5/QtCore/qatomic_mips.h \
819 /usr/include/qt5/QtCore/qatomic_s390.h \
820 /usr/include/qt5/QtCore/qatomic_sh4a.h \
821 /usr/include/qt5/QtCore/qatomic_sparc.h \
822 /usr/include/qt5/QtCore/qatomic_x86.h \
823 /usr/include/qt5/QtCore/qatomic_cxx11.h \
824 /usr/include/qt5/QtCore/qatomic_gcc.h \
825 /usr/include/qt5/QtCore/qatomic_unix.h \
826 /usr/include/qt5/QtCore/qarraydata.h \
827 /usr/include/qt5/QtCore/qstringbuilder.h \
828 /usr/include/qt5/QtCore/qlist.h \
829 /usr/include/qt5/QtCore/qalgorithms.h \
830 /usr/include/qt5/QtCore/qiterator.h \
831 /usr/include/qt5/QtCore/qcoreevent.h \
832 /usr/include/qt5/QtCore/qscopedpointer.h \
833 /usr/include/qt5/QtCore/qmetatype.h \
834 /usr/include/qt5/QtCore/qvarlengtharray.h \
835 /usr/include/qt5/QtCore/qcontainerfwd.h \
836 /usr/include/qt5/QtCore/qisenum.h \
837 /usr/include/qt5/QtCore/qobject_impl.h \
838 /usr/include/qt5/QtCore/QRegularExpression \
839 /usr/include/qt5/QtCore/qregularexpression.h \
840 /usr/include/qt5/QtCore/qshareddata.h \
841 /usr/include/qt5/QtCore/qvariant.h \
842 /usr/include/qt5/QtCore/qmap.h \
843 /usr/include/qt5/QtCore/qpair.h \
844 /usr/include/qt5/QtCore/qdebug.h \
845 /usr/include/qt5/QtCore/qhash.h \
846 /usr/include/qt5/QtCore/qtextstream.h \
847 /usr/include/qt5/QtCore/qiodevice.h \
848 /usr/include/qt5/QtCore/qlocale.h \
849 /usr/include/qt5/QtCore/qvector.h \
850 /usr/include/qt5/QtCore/qpoint.h \
851 /usr/include/qt5/QtCore/qset.h \
852 /usr/include/qt5/QtCore/qcontiguouscache.h
853 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ubuntuboot.o ubuntuboot.cpp
854
855moc_backend.o: moc_backend.cpp
856 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_backend.o moc_backend.cpp
857
858moc_ubuntuboot.o: moc_ubuntuboot.cpp
859 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ubuntuboot.o moc_ubuntuboot.cpp
860
861####### Install
862
863install_target: first FORCE
864 @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
865 -$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
866 -$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
867
868uninstall_target: FORCE
869 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/$(TARGET)"
870 -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
871
872
873install_qmldir: first FORCE
874 @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
875 -$(INSTALL_FILE) /home/victorp/ubuntudualboot/backend/modules/ubuntuboot/qmldir $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
876
877uninstall_qmldir: FORCE
878 -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/qmldir
879 -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/x86_64-linux-gnu/qt5/qml/ubuntuboot/
880
881
882install: install_target install_qmldir FORCE
883
884uninstall: uninstall_target uninstall_qmldir FORCE
885
886FORCE:
887
0888
=== added file 'Ubuntu/backend/modules/ubuntuboot/backend.cpp'
--- Ubuntu/backend/modules/ubuntuboot/backend.cpp 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/backend.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,17 @@
1#include <QtQml>
2#include <QtQml/QQmlContext>
3#include "backend.h"
4#include "ubuntuboot.h"
5
6
7void BackendPlugin::registerTypes(const char *uri)
8{
9 Q_ASSERT(uri == QLatin1String("ubuntuboot"));
10
11 qmlRegisterType<Ubuntuboot>(uri, 1, 0, "Ubuntuboot");
12}
13
14void BackendPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
15{
16 QQmlExtensionPlugin::initializeEngine(engine, uri);
17}
018
=== added file 'Ubuntu/backend/modules/ubuntuboot/backend.h'
--- Ubuntu/backend/modules/ubuntuboot/backend.h 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/backend.h 2014-02-11 09:12:08 +0000
@@ -0,0 +1,18 @@
1#ifndef BACKEND_PLUGIN_H
2#define BACKEND_PLUGIN_H
3
4#include <QtQml/QQmlEngine>
5#include <QtQml/QQmlExtensionPlugin>
6
7
8class BackendPlugin : public QQmlExtensionPlugin
9{
10 Q_OBJECT
11 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
12
13public:
14 void registerTypes(const char *uri);
15 void initializeEngine(QQmlEngine *engine, const char *uri);
16};
17#endif // BACKEND_PLUGIN_H
18
019
=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp'
--- Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/moc_backend.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,155 @@
1/****************************************************************************
2** Meta object code from reading C++ file 'backend.h'
3**
4** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
5**
6** WARNING! All changes made in this file will be lost!
7*****************************************************************************/
8
9#include "backend.h"
10#include <QtCore/qbytearray.h>
11#include <QtCore/qmetatype.h>
12#include <QtCore/qplugin.h>
13#if !defined(Q_MOC_OUTPUT_REVISION)
14#error "The header file 'backend.h' doesn't include <QObject>."
15#elif Q_MOC_OUTPUT_REVISION != 67
16#error "This file was generated using the moc from 5.0.2. It"
17#error "cannot be used with the include files from this version of Qt."
18#error "(The moc has changed too much.)"
19#endif
20
21QT_BEGIN_MOC_NAMESPACE
22struct qt_meta_stringdata_BackendPlugin_t {
23 QByteArrayData data[1];
24 char stringdata[15];
25};
26#define QT_MOC_LITERAL(idx, ofs, len) \
27 Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
28 offsetof(qt_meta_stringdata_BackendPlugin_t, stringdata) + ofs \
29 - idx * sizeof(QByteArrayData) \
30 )
31static const qt_meta_stringdata_BackendPlugin_t qt_meta_stringdata_BackendPlugin = {
32 {
33QT_MOC_LITERAL(0, 0, 13)
34 },
35 "BackendPlugin\0"
36};
37#undef QT_MOC_LITERAL
38
39static const uint qt_meta_data_BackendPlugin[] = {
40
41 // content:
42 7, // revision
43 0, // classname
44 0, 0, // classinfo
45 0, 0, // methods
46 0, 0, // properties
47 0, 0, // enums/sets
48 0, 0, // constructors
49 0, // flags
50 0, // signalCount
51
52 0 // eod
53};
54
55void BackendPlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
56{
57 Q_UNUSED(_o);
58 Q_UNUSED(_id);
59 Q_UNUSED(_c);
60 Q_UNUSED(_a);
61}
62
63const QMetaObject BackendPlugin::staticMetaObject = {
64 { &QQmlExtensionPlugin::staticMetaObject, qt_meta_stringdata_BackendPlugin.data,
65 qt_meta_data_BackendPlugin, qt_static_metacall, 0, 0}
66};
67
68
69const QMetaObject *BackendPlugin::metaObject() const
70{
71 return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
72}
73
74void *BackendPlugin::qt_metacast(const char *_clname)
75{
76 if (!_clname) return 0;
77 if (!strcmp(_clname, qt_meta_stringdata_BackendPlugin.stringdata))
78 return static_cast<void*>(const_cast< BackendPlugin*>(this));
79 return QQmlExtensionPlugin::qt_metacast(_clname);
80}
81
82int BackendPlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
83{
84 _id = QQmlExtensionPlugin::qt_metacall(_c, _id, _a);
85 if (_id < 0)
86 return _id;
87 return _id;
88}
89
90QT_PLUGIN_METADATA_SECTION const uint qt_section_alignment_dummy = 42;
91
92#ifdef QT_NO_DEBUG
93
94QT_PLUGIN_METADATA_SECTION
95static const unsigned char qt_pluginMetaData[] = {
96 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', ' ',
97 0x71, 0x62, 0x6a, 0x73, 0x01, 0x00, 0x00, 0x00,
98 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
99 0x9c, 0x00, 0x00, 0x00, 0x1b, 0x03, 0x00, 0x00,
100 0x03, 0x00, 0x49, 0x49, 0x44, 0x00, 0x00, 0x00,
101 0x28, 0x00, 0x6f, 0x72, 0x67, 0x2e, 0x71, 0x74,
102 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
103 0x2e, 0x51, 0x74, 0x2e, 0x51, 0x51, 0x6d, 0x6c,
104 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
105 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
106 0x63, 0x65, 0x00, 0x00, 0x9b, 0x0a, 0x00, 0x00,
107 0x09, 0x00, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e,
108 0x61, 0x6d, 0x65, 0x00, 0x0d, 0x00, 0x42, 0x61,
109 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x75,
110 0x67, 0x69, 0x6e, 0x00, 0x5a, 0x00, 0xa0, 0x00,
111 0x07, 0x00, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
112 0x6e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
113 0x05, 0x00, 0x64, 0x65, 0x62, 0x75, 0x67, 0x00,
114 0x15, 0x12, 0x00, 0x00, 0x08, 0x00, 0x4d, 0x65,
115 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00,
116 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
118 0x80, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
119 0x74, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
120};
121
122#else // QT_NO_DEBUG
123
124QT_PLUGIN_METADATA_SECTION
125static const unsigned char qt_pluginMetaData[] = {
126 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', ' ',
127 0x71, 0x62, 0x6a, 0x73, 0x01, 0x00, 0x00, 0x00,
128 0xb0, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
129 0x9c, 0x00, 0x00, 0x00, 0x1b, 0x03, 0x00, 0x00,
130 0x03, 0x00, 0x49, 0x49, 0x44, 0x00, 0x00, 0x00,
131 0x28, 0x00, 0x6f, 0x72, 0x67, 0x2e, 0x71, 0x74,
132 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
133 0x2e, 0x51, 0x74, 0x2e, 0x51, 0x51, 0x6d, 0x6c,
134 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
135 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
136 0x63, 0x65, 0x00, 0x00, 0x95, 0x0a, 0x00, 0x00,
137 0x08, 0x00, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
138 0x74, 0x61, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0x1b, 0x0e, 0x00, 0x00, 0x09, 0x00, 0x63, 0x6c,
141 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x00,
142 0x0d, 0x00, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e,
143 0x64, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x00,
144 0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x64, 0x65,
145 0x62, 0x75, 0x67, 0x00, 0x5a, 0x00, 0xa0, 0x00,
146 0x07, 0x00, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
147 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
148 0x44, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
149 0x80, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00
150};
151#endif // QT_NO_DEBUG
152
153QT_MOC_EXPORT_PLUGIN(BackendPlugin, BackendPlugin)
154
155QT_END_MOC_NAMESPACE
0156
=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp'
--- Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/moc_mytype.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,162 @@
1/****************************************************************************
2** Meta object code from reading C++ file 'mytype.h'
3**
4** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
5**
6** WARNING! All changes made in this file will be lost!
7*****************************************************************************/
8
9#include "mytype.h"
10#include <QtCore/qbytearray.h>
11#include <QtCore/qmetatype.h>
12#if !defined(Q_MOC_OUTPUT_REVISION)
13#error "The header file 'mytype.h' doesn't include <QObject>."
14#elif Q_MOC_OUTPUT_REVISION != 67
15#error "This file was generated using the moc from 5.0.2. It"
16#error "cannot be used with the include files from this version of Qt."
17#error "(The moc has changed too much.)"
18#endif
19
20QT_BEGIN_MOC_NAMESPACE
21struct qt_meta_stringdata_MyType_t {
22 QByteArrayData data[4];
23 char stringdata[38];
24};
25#define QT_MOC_LITERAL(idx, ofs, len) \
26 Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
27 offsetof(qt_meta_stringdata_MyType_t, stringdata) + ofs \
28 - idx * sizeof(QByteArrayData) \
29 )
30static const qt_meta_stringdata_MyType_t qt_meta_stringdata_MyType = {
31 {
32QT_MOC_LITERAL(0, 0, 6),
33QT_MOC_LITERAL(1, 7, 17),
34QT_MOC_LITERAL(2, 25, 0),
35QT_MOC_LITERAL(3, 26, 10)
36 },
37 "MyType\0helloWorldChanged\0\0helloWorld\0"
38};
39#undef QT_MOC_LITERAL
40
41static const uint qt_meta_data_MyType[] = {
42
43 // content:
44 7, // revision
45 0, // classname
46 0, 0, // classinfo
47 1, 14, // methods
48 1, 20, // properties
49 0, 0, // enums/sets
50 0, 0, // constructors
51 0, // flags
52 1, // signalCount
53
54 // signals: name, argc, parameters, tag, flags
55 1, 0, 19, 2, 0x05,
56
57 // signals: parameters
58 QMetaType::Void,
59
60 // properties: name, type, flags
61 3, QMetaType::QString, 0x00495103,
62
63 // properties: notify_signal_id
64 0,
65
66 0 // eod
67};
68
69void MyType::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
70{
71 if (_c == QMetaObject::InvokeMetaMethod) {
72 MyType *_t = static_cast<MyType *>(_o);
73 switch (_id) {
74 case 0: _t->helloWorldChanged(); break;
75 default: ;
76 }
77 } else if (_c == QMetaObject::IndexOfMethod) {
78 int *result = reinterpret_cast<int *>(_a[0]);
79 void **func = reinterpret_cast<void **>(_a[1]);
80 {
81 typedef void (MyType::*_t)();
82 if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&MyType::helloWorldChanged)) {
83 *result = 0;
84 }
85 }
86 }
87 Q_UNUSED(_a);
88}
89
90const QMetaObject MyType::staticMetaObject = {
91 { &QObject::staticMetaObject, qt_meta_stringdata_MyType.data,
92 qt_meta_data_MyType, qt_static_metacall, 0, 0}
93};
94
95
96const QMetaObject *MyType::metaObject() const
97{
98 return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
99}
100
101void *MyType::qt_metacast(const char *_clname)
102{
103 if (!_clname) return 0;
104 if (!strcmp(_clname, qt_meta_stringdata_MyType.stringdata))
105 return static_cast<void*>(const_cast< MyType*>(this));
106 return QObject::qt_metacast(_clname);
107}
108
109int MyType::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
110{
111 _id = QObject::qt_metacall(_c, _id, _a);
112 if (_id < 0)
113 return _id;
114 if (_c == QMetaObject::InvokeMetaMethod) {
115 if (_id < 1)
116 qt_static_metacall(this, _c, _id, _a);
117 _id -= 1;
118 } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
119 if (_id < 1)
120 *reinterpret_cast<int*>(_a[0]) = -1;
121 _id -= 1;
122 }
123#ifndef QT_NO_PROPERTIES
124 else if (_c == QMetaObject::ReadProperty) {
125 void *_v = _a[0];
126 switch (_id) {
127 case 0: *reinterpret_cast< QString*>(_v) = helloWorld(); break;
128 }
129 _id -= 1;
130 } else if (_c == QMetaObject::WriteProperty) {
131 void *_v = _a[0];
132 switch (_id) {
133 case 0: setHelloWorld(*reinterpret_cast< QString*>(_v)); break;
134 }
135 _id -= 1;
136 } else if (_c == QMetaObject::ResetProperty) {
137 _id -= 1;
138 } else if (_c == QMetaObject::QueryPropertyDesignable) {
139 _id -= 1;
140 } else if (_c == QMetaObject::QueryPropertyScriptable) {
141 _id -= 1;
142 } else if (_c == QMetaObject::QueryPropertyStored) {
143 _id -= 1;
144 } else if (_c == QMetaObject::QueryPropertyEditable) {
145 _id -= 1;
146 } else if (_c == QMetaObject::QueryPropertyUser) {
147 _id -= 1;
148 } else if (_c == QMetaObject::RegisterPropertyMetaType) {
149 if (_id < 1)
150 *reinterpret_cast<int*>(_a[0]) = -1;
151 _id -= 1;
152 }
153#endif // QT_NO_PROPERTIES
154 return _id;
155}
156
157// SIGNAL 0
158void MyType::helloWorldChanged()
159{
160 QMetaObject::activate(this, &staticMetaObject, 0, 0);
161}
162QT_END_MOC_NAMESPACE
0163
=== added file 'Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp'
--- Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/moc_ubuntuboot.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,213 @@
1/****************************************************************************
2** Meta object code from reading C++ file 'ubuntuboot.h'
3**
4** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
5**
6** WARNING! All changes made in this file will be lost!
7*****************************************************************************/
8
9#include "ubuntuboot.h"
10#include <QtCore/qbytearray.h>
11#include <QtCore/qmetatype.h>
12#if !defined(Q_MOC_OUTPUT_REVISION)
13#error "The header file 'ubuntuboot.h' doesn't include <QObject>."
14#elif Q_MOC_OUTPUT_REVISION != 67
15#error "This file was generated using the moc from 5.0.2. It"
16#error "cannot be used with the include files from this version of Qt."
17#error "(The moc has changed too much.)"
18#endif
19
20QT_BEGIN_MOC_NAMESPACE
21struct qt_meta_stringdata_Ubuntuboot_t {
22 QByteArrayData data[9];
23 char stringdata[95];
24};
25#define QT_MOC_LITERAL(idx, ofs, len) \
26 Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
27 offsetof(qt_meta_stringdata_Ubuntuboot_t, stringdata) + ofs \
28 - idx * sizeof(QByteArrayData) \
29 )
30static const qt_meta_stringdata_Ubuntuboot_t qt_meta_stringdata_Ubuntuboot = {
31 {
32QT_MOC_LITERAL(0, 0, 10),
33QT_MOC_LITERAL(1, 11, 12),
34QT_MOC_LITERAL(2, 24, 0),
35QT_MOC_LITERAL(3, 25, 20),
36QT_MOC_LITERAL(4, 46, 13),
37QT_MOC_LITERAL(5, 60, 6),
38QT_MOC_LITERAL(6, 67, 5),
39QT_MOC_LITERAL(7, 73, 13),
40QT_MOC_LITERAL(8, 87, 6)
41 },
42 "Ubuntuboot\0upassChanged\0\0boottoandroidChanged\0"
43 "resultChanged\0reboot\0upass\0boottoandroid\0"
44 "result\0"
45};
46#undef QT_MOC_LITERAL
47
48static const uint qt_meta_data_Ubuntuboot[] = {
49
50 // content:
51 7, // revision
52 0, // classname
53 0, 0, // classinfo
54 4, 14, // methods
55 3, 38, // properties
56 0, 0, // enums/sets
57 0, 0, // constructors
58 0, // flags
59 3, // signalCount
60
61 // signals: name, argc, parameters, tag, flags
62 1, 0, 34, 2, 0x05,
63 3, 0, 35, 2, 0x05,
64 4, 0, 36, 2, 0x05,
65
66 // slots: name, argc, parameters, tag, flags
67 5, 0, 37, 2, 0x0a,
68
69 // signals: parameters
70 QMetaType::Void,
71 QMetaType::Void,
72 QMetaType::Void,
73
74 // slots: parameters
75 QMetaType::Void,
76
77 // properties: name, type, flags
78 6, QMetaType::QString, 0x00495003,
79 7, QMetaType::Bool, 0x00495003,
80 8, QMetaType::Int, 0x00495001,
81
82 // properties: notify_signal_id
83 0,
84 1,
85 2,
86
87 0 // eod
88};
89
90void Ubuntuboot::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
91{
92 if (_c == QMetaObject::InvokeMetaMethod) {
93 Ubuntuboot *_t = static_cast<Ubuntuboot *>(_o);
94 switch (_id) {
95 case 0: _t->upassChanged(); break;
96 case 1: _t->boottoandroidChanged(); break;
97 case 2: _t->resultChanged(); break;
98 case 3: _t->reboot(); break;
99 default: ;
100 }
101 } else if (_c == QMetaObject::IndexOfMethod) {
102 int *result = reinterpret_cast<int *>(_a[0]);
103 void **func = reinterpret_cast<void **>(_a[1]);
104 {
105 typedef void (Ubuntuboot::*_t)();
106 if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::upassChanged)) {
107 *result = 0;
108 }
109 }
110 {
111 typedef void (Ubuntuboot::*_t)();
112 if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::boottoandroidChanged)) {
113 *result = 1;
114 }
115 }
116 {
117 typedef void (Ubuntuboot::*_t)();
118 if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&Ubuntuboot::resultChanged)) {
119 *result = 2;
120 }
121 }
122 }
123 Q_UNUSED(_a);
124}
125
126const QMetaObject Ubuntuboot::staticMetaObject = {
127 { &QObject::staticMetaObject, qt_meta_stringdata_Ubuntuboot.data,
128 qt_meta_data_Ubuntuboot, qt_static_metacall, 0, 0}
129};
130
131
132const QMetaObject *Ubuntuboot::metaObject() const
133{
134 return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
135}
136
137void *Ubuntuboot::qt_metacast(const char *_clname)
138{
139 if (!_clname) return 0;
140 if (!strcmp(_clname, qt_meta_stringdata_Ubuntuboot.stringdata))
141 return static_cast<void*>(const_cast< Ubuntuboot*>(this));
142 return QObject::qt_metacast(_clname);
143}
144
145int Ubuntuboot::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
146{
147 _id = QObject::qt_metacall(_c, _id, _a);
148 if (_id < 0)
149 return _id;
150 if (_c == QMetaObject::InvokeMetaMethod) {
151 if (_id < 4)
152 qt_static_metacall(this, _c, _id, _a);
153 _id -= 4;
154 } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
155 if (_id < 4)
156 *reinterpret_cast<int*>(_a[0]) = -1;
157 _id -= 4;
158 }
159#ifndef QT_NO_PROPERTIES
160 else if (_c == QMetaObject::ReadProperty) {
161 void *_v = _a[0];
162 switch (_id) {
163 case 0: *reinterpret_cast< QString*>(_v) = upass(); break;
164 case 1: *reinterpret_cast< bool*>(_v) = boottoandroid(); break;
165 case 2: *reinterpret_cast< int*>(_v) = result(); break;
166 }
167 _id -= 3;
168 } else if (_c == QMetaObject::WriteProperty) {
169 void *_v = _a[0];
170 switch (_id) {
171 case 0: setUPass(*reinterpret_cast< QString*>(_v)); break;
172 case 1: Setboottoandroid(*reinterpret_cast< bool*>(_v)); break;
173 }
174 _id -= 3;
175 } else if (_c == QMetaObject::ResetProperty) {
176 _id -= 3;
177 } else if (_c == QMetaObject::QueryPropertyDesignable) {
178 _id -= 3;
179 } else if (_c == QMetaObject::QueryPropertyScriptable) {
180 _id -= 3;
181 } else if (_c == QMetaObject::QueryPropertyStored) {
182 _id -= 3;
183 } else if (_c == QMetaObject::QueryPropertyEditable) {
184 _id -= 3;
185 } else if (_c == QMetaObject::QueryPropertyUser) {
186 _id -= 3;
187 } else if (_c == QMetaObject::RegisterPropertyMetaType) {
188 if (_id < 3)
189 *reinterpret_cast<int*>(_a[0]) = -1;
190 _id -= 3;
191 }
192#endif // QT_NO_PROPERTIES
193 return _id;
194}
195
196// SIGNAL 0
197void Ubuntuboot::upassChanged()
198{
199 QMetaObject::activate(this, &staticMetaObject, 0, 0);
200}
201
202// SIGNAL 1
203void Ubuntuboot::boottoandroidChanged()
204{
205 QMetaObject::activate(this, &staticMetaObject, 1, 0);
206}
207
208// SIGNAL 2
209void Ubuntuboot::resultChanged()
210{
211 QMetaObject::activate(this, &staticMetaObject, 2, 0);
212}
213QT_END_MOC_NAMESPACE
0214
=== added file 'Ubuntu/backend/modules/ubuntuboot/qmldir'
--- Ubuntu/backend/modules/ubuntuboot/qmldir 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/qmldir 2014-02-11 09:12:08 +0000
@@ -0,0 +1,2 @@
1module ubuntuboot
2plugin ubuntuboot
03
=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp'
--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.cpp 2014-02-11 09:12:08 +0000
@@ -0,0 +1,35 @@
1#include "ubuntuboot.h"
2
3Ubuntuboot::Ubuntuboot(QObject *parent) :
4 QObject(parent)
5{
6 boot_android_cmd ="sudo -S /system/bin/reboot";
7 boot_ubuntu_cmd ="sudo -S /system/bin/reboot recovery";
8 passwd_command="echo ";
9 m_upass="";
10 mAndroid = false;
11 result_cmd= 0;
12}
13
14Ubuntuboot::~Ubuntuboot() {
15
16}
17
18void Ubuntuboot::reboot() {
19
20 QString icmd = "";
21 //configure account
22 icmd += passwd_command + m_upass + " \| ";
23 if (mAndroid) {
24 icmd +=boot_android_cmd;
25 } else {
26 icmd +=boot_ubuntu_cmd;
27 }
28
29 QByteArray ba = icmd.toLocal8Bit();
30 const char *cmd_char = ba.data();
31 //printf("cmd to run is %s\n",cmd_char);
32 result_cmd = system (cmd_char);
33 printf("command result is %d\n",result_cmd);
34 resultChanged();
35}
036
=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h'
--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.h 2014-02-11 09:12:08 +0000
@@ -0,0 +1,50 @@
1#ifndef UBUNTUBOOT_H
2#define UBUNTUBOOT_H
3
4#include <QObject>
5#include <stdlib.h>
6#include <iostream>
7#include <stdio.h>
8#include <QRegularExpression>
9
10class Ubuntuboot : public QObject
11{
12 Q_OBJECT
13 Q_PROPERTY( QString upass READ upass WRITE setUPass NOTIFY upassChanged )
14 Q_PROPERTY( bool boottoandroid READ boottoandroid WRITE Setboottoandroid NOTIFY boottoandroidChanged )
15 Q_PROPERTY( int result READ result NOTIFY resultChanged )
16
17public:
18 explicit Ubuntuboot(QObject *parent = 0);
19 ~Ubuntuboot();
20
21 Q_SLOT void reboot();
22
23Q_SIGNALS:
24 void upassChanged();
25 void boottoandroidChanged();
26 void resultChanged();
27
28protected:
29 //ubuntu password
30 QString m_upass;
31 int result_cmd;
32
33 QString upass() { return m_upass;}
34 void setUPass(QString ipass) { m_upass =ipass; Q_EMIT upassChanged();}
35
36 //set what to boot into
37 bool mAndroid;
38 bool boottoandroid() { return mAndroid;}
39 void Setboottoandroid(bool bootandroid) { mAndroid = bootandroid; Q_EMIT boottoandroidChanged();}
40
41 //result
42 int result() { return result_cmd;}
43private:
44 QString boot_android_cmd;
45 QString boot_ubuntu_cmd;
46 QString passwd_command;
47
48};
49
50#endif // UBUNTUBOOT_H
051
=== added file 'Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro'
--- Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro 1970-01-01 00:00:00 +0000
+++ Ubuntu/backend/modules/ubuntuboot/ubuntuboot.pro 2014-02-11 09:12:08 +0000
@@ -0,0 +1,36 @@
1TEMPLATE = lib
2TARGET = ubuntuboot
3QT += qml quick
4CONFIG += qt plugin no_keywords
5
6#comment in the following line to disable traces
7DEFINES += QT_NO_DEBUG_OUTPUT
8
9TARGET = $$qtLibraryTarget($$TARGET)
10uri = ubuntuboot
11
12INCLUDEPATH += .
13
14# Input
15HEADERS += backend.h \
16 ubuntuboot.h
17SOURCES += backend.cpp \
18 ubuntuboot.cpp
19
20# Install path for the plugin
21installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
22target.path = $$installPath
23INSTALLS += target
24
25# find files
26QMLDIR_FILE = qmldir
27
28# make visible to qt creator
29OTHER_FILES += $$QMLDIR_FILE
30
31# create install targets for files
32qmldir.path = $$installPath
33qmldir.files = $$QMLDIR_FILE
34
35INSTALLS += qmldir
36
037
=== added directory 'Ubuntu/click'
=== added file 'Ubuntu/click/icon.png'
1Binary files Ubuntu/click/icon.png 1970-01-01 00:00:00 +0000 and Ubuntu/click/icon.png 2014-02-11 09:12:08 +0000 differ38Binary 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
=== added file 'Ubuntu/click/manifest.json'
--- Ubuntu/click/manifest.json 1970-01-01 00:00:00 +0000
+++ Ubuntu/click/manifest.json 2014-02-11 09:12:08 +0000
@@ -0,0 +1,15 @@
1{
2 "description": "Ubuntu app part of Ubuntu and Android dual boot",
3 "framework": "ubuntu-sdk-13.10",
4 "hooks": {
5 "ubuntudualboot": {
6 "apparmor": "ubuntudualboot.json",
7 "desktop": "ubuntudualboot.desktop"
8 }
9 },
10 "maintainer": "victor palau <vtuson@gmail.com>",
11 "name": "com.ubuntu.developer.vtuson.ubuntudualboot",
12 "title": "ubuntudualboot",
13 "version": "0.5",
14 "architecture": "armhf"
15}
016
=== added directory 'Ubuntu/click/plugin'
=== added directory 'Ubuntu/click/plugin/ubuntuboot'
=== added file 'Ubuntu/click/plugin/ubuntuboot/qmldir'
--- Ubuntu/click/plugin/ubuntuboot/qmldir 1970-01-01 00:00:00 +0000
+++ Ubuntu/click/plugin/ubuntuboot/qmldir 2014-02-11 09:12:08 +0000
@@ -0,0 +1,2 @@
1module ubuntuboot
2plugin ubuntuboot
03
=== added file 'Ubuntu/click/ubuntudualboot.desktop'
--- Ubuntu/click/ubuntudualboot.desktop 1970-01-01 00:00:00 +0000
+++ Ubuntu/click/ubuntudualboot.desktop 2014-02-11 09:12:08 +0000
@@ -0,0 +1,8 @@
1[Desktop Entry]
2Name=ubuntudualboot
3Comment=Ubuntu Dual boot with Android
4Exec=qmlscene -I plugin $@ ubuntudualboot.qml
5Icon=icon.png
6Terminal=false
7Type=Application
8X-Ubuntu-Touch=true
09
=== added file 'Ubuntu/click/ubuntudualboot.json'
--- Ubuntu/click/ubuntudualboot.json 1970-01-01 00:00:00 +0000
+++ Ubuntu/click/ubuntudualboot.json 2014-02-11 09:12:08 +0000
@@ -0,0 +1,8 @@
1{
2 "policy_groups": [
3 "networking"
4 ],
5 "policy_version": 1,
6 "template": "unconfined"
7
8}
09
=== added file 'Ubuntu/click/ubuntudualboot.qml'
--- Ubuntu/click/ubuntudualboot.qml 1970-01-01 00:00:00 +0000
+++ Ubuntu/click/ubuntudualboot.qml 2014-02-11 09:12:08 +0000
@@ -0,0 +1,57 @@
1import QtQuick 2.0
2import Ubuntu.Components 0.1
3import ubuntuboot 1.0
4import Ubuntu.Components.Popups 0.1
5
6
7MainView {
8 width: units.gu(100)
9 height: units.gu(75)
10 applicationName: "com.ubuntu.developer.vtuson.ubuntudualboot"
11
12
13 Page {
14 title: i18n.tr("Ubuntu Dual Boot")
15 Column {
16 spacing: units.gu(2)
17 anchors.top: parent.top
18 anchors.horizontalCenter: parent.horizontalCenter
19 anchors.topMargin: units.gu(2)
20
21 Ubuntuboot {
22 id:reboot
23 boottoandroid: isandroid.checked
24 upass: "phablet"
25 }
26 Label {
27 objectName: "description"
28 text: i18n.tr("Welcome to Ubuntu Dual Boot")
29 }
30 Button {
31 property string ostoboot: isandroid.checked? " Android" : " Ubuntu"
32 id: rebootButton
33 anchors.horizontalCenter: parent.horizontalCenter
34 text: "Reboot to" + ostoboot
35 Component.onCompleted: rebootButton.clicked.connect(reboot.reboot)
36
37 }
38
39 Row {
40 spacing: units.gu(2)
41 CheckBox {
42 id:isandroid
43 checked: false
44 }
45 Label {
46 text:"Boot to Android?"
47 anchors.verticalCenter: isandroid.verticalCenter
48 }
49 }
50 Label {
51 text: reboot.result ===256?"Incorrect password":""
52 }
53
54
55 }
56 }
57}
058
=== added file 'Ubuntu/click_howto'
--- Ubuntu/click_howto 1970-01-01 00:00:00 +0000
+++ Ubuntu/click_howto 2014-02-11 09:12:08 +0000
@@ -0,0 +1,9 @@
1how to build click:
2click build click/
3
4how to install
5adb push -> click package to /home/phablet/
6adb shell
7su phablet
8cd ~
9pkcon -p install-local <filename>.click
010
=== added file 'Ubuntu/ubuntudualboot.pro'
--- Ubuntu/ubuntudualboot.pro 1970-01-01 00:00:00 +0000
+++ Ubuntu/ubuntudualboot.pro 2014-02-11 09:12:08 +0000
@@ -0,0 +1,11 @@
1TEMPLATE = subdirs
2
3SUBDIRS += \
4 backend
5
6OTHER_FILES += $$system(find app -type f)
7
8check.target = check
9check.commands = cd backend; qmake; make;
10check.depends = backend
11QMAKE_EXTRA_TARGETS += check
012
=== added directory 'install'
=== added file 'install/dualboot.sh'
--- install/dualboot.sh 1970-01-01 00:00:00 +0000
+++ install/dualboot.sh 2014-02-11 09:12:08 +0000
@@ -0,0 +1,224 @@
1#!/bin/bash
2
3ACTION=$1
4SCRIPT_NAME=dualboot.sh
5# Used version of CWM recovery
6URL_CMW_PATH_MAKO="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-mako.img"
7URL_CMW_PATH_HAMMERHEAD="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.5-hammerhead.img"
8URL_CMW_PATH_GROUPER="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-grouper.img"
9URL_CMW_PATH_MAGURO="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-maguro.img"
10URL_CMW_PATH_MANTA="http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-manta.img"
11URL_SUPERU_1_86="http://download.chainfire.eu/372/SuperSU/UPDATE-SuperSU-v1.86.zip?retrieve_file=1"
12URL_U_INSTALLER_PACKAGE="http://humpolec.ubuntu.com/UPDATE-UbuntuInstaller.zip"
13CACHE_RECOVERY=/cache/recovery
14TEMP_FOLDER=humpTemp
15RECOVERY_IMAGE=recovery.img
16SU_PACKAGE=UPDATE-SuperSU-v1.86.zip
17UBUNTU_INSTALLER_PACKAGE=UPDATE-UbuntuInstaller.zip
18RECOVERY_URL=
19DEVICE=
20CM_DEVICE=
21
22# get device model
23detect_device() {
24 echo "Connect device to install Ubuntu installer to."
25 DEVICE=$(adb wait-for-device shell getprop ro.product.device)
26 CM_DEVICE=$(adb wait-for-device shell getprop ro.cm.device)
27
28 if [[ "$DEVICE" == mako* ]]; then
29 echo "Detected connected Nexus 4"
30 RECOVERY_URL=$URL_CMW_PATH_MAKO
31 else if [[ "$DEVICE" == maguro* ]]; then
32 echo "Detected connected Galaxy Nexus"
33 RECOVERY_URL=$URL_CMW_PATH_MAGURO
34 else if [[ "$DEVICE" == grouper* ]]; then
35 echo "Detected connected Nexus 7"
36 RECOVERY_URL=$URL_CMW_PATH_GROUPER
37 else if [[ "$DEVICE" == manta* ]]; then
38 echo "Detected connected Nexus 10"
39 RECOVERY_URL=$URL_CMW_PATH_MANTA
40 else if [[ "$DEVICE" == hammerhead* ]]; then
41 echo "Detected connected Nexus 5"
42 RECOVERY_URL=$URL_CMW_PATH_HAMMERHEAD
43 else
44 echo "Connected device is not supported"
45 exit 0
46 fi
47 fi
48 fi
49 fi
50 fi
51}
52
53
54print_usage() {
55 echo "Welcome to Humpolec. This is Ubuntu-Android dualboot enabler"
56 echo "Please connect supported phone with adb enabled"
57 echo " "
58 echo "$SCRIPT_NAME action"
59 echo " "
60 echo " actions:"
61 echo " HELP: Prints this help"
62 echo " FULL: Full installation: this will install SuperUser package as well Ubuntu dualboot installer."
63 echo " Use this if you don't have SuperUser package installed on your device."
64 echo " Typical first time choice for unmodified factory images clean AOSP builds"
65 echo " Installation will reboot twice into the recovery, if prompterd **** when exiting recovery, answer NO"
66 echo " UPDATE: Updates application: this will install Ubuntu dualboot installer. It assumes there is alresdy Super User installed"
67 echo " Typical option for for CyanogenMod or other similar builds."
68 echo " Use this option if you already have Ubuntu dualboot installer installed and are only upgrading"
69 echo " Installation will reboot twice into the recovery, if prompterd when existing recovery, answer NO"
70 echo " INSTALL_SU: Installs Superuser"
71 echo " FIX_MAKO_RADIO: Install 4.3 radio image"
72 echo " !!! Use this only if you are running on Nexus 4 running Android 4.4.x and experiencing audio issue during call"
73 echo " !!! Do NOT USE this on any other phone than Nexus 4!!!"
74}
75
76wait_for_adb() {
77 MODE=$1
78 echo "Waiting for $MODE to boot"
79 RECOVERY_STATE=$(adb devices)
80 while ! [[ "$RECOVERY_STATE" == *$MODE ]]
81 do
82 sleep 1
83 RECOVERY_STATE=$(adb devices)
84 done
85}
86
87print_ask_help() {
88 echo "For more information refer to $ $SCRIPT_NAME HELP"
89}
90
91create_temp_dir() {
92 mkdir $TEMP_FOLDER
93 cd $TEMP_FOLDER
94}
95
96delete_temp_dir() {
97 cd ..
98 rm -rf $TEMP_FOLDER
99}
100
101download_su_package() {
102 echo "Downloading SU package"
103 # check downloaded file size, this often fails, so retry. Expected size is 1184318
104 download_file $URL_SUPERU_1_86 $SU_PACKAGE 1184000
105}
106
107download_app_update() {
108 echo "Downloading Ubuntu Installer application package"
109 # check downloaded file size, this often fails, so retry. Expected size is 2309120
110 download_file $URL_U_INSTALLER_PACKAGE $UBUNTU_INSTALLER_PACKAGE 2309000
111}
112
113download_recovery() {
114 echo "Downloading recovery for $DEVICE"
115 # check downloaded file size, this often fails, so retry. any recovery should be more than 5M
116 download_file $RECOVERY_URL $RECOVERY_IMAGE 5000000
117}
118
119download_file() {
120 DOWNLOAD_URL=$1
121 FILENAME=$2
122 TARGET_SIZE=$3
123 SIZE=1
124 # check downloaded file size, this often fails, so retry. Expected size is TARGET_SIZE
125 while [[ $TARGET_SIZE -ge $SIZE ]]
126 do
127 curl $DOWNLOAD_URL > $FILENAME
128 SIZE=$(ls -la $FILENAME | awk '{ print $5}')
129 echo "Downloaded file has size: $SIZE"
130 done
131}
132
133install_su() {
134 echo "Rebooting to bootloader"
135 adb wait-for-device reboot bootloader
136 fastboot boot $RECOVERY_IMAGE
137 wait_for_adb recovery
138 echo "Creating update command"
139 adb shell rm -rf $CACHE_RECOVERY
140 adb shell mkdir $CACHE_RECOVERY
141 adb shell "echo -e '--sideload' > $CACHE_RECOVERY/command"
142 echo "Booting back to bootloader"
143 adb reboot bootloader
144 fastboot boot $RECOVERY_IMAGE
145 wait_for_adb sideload
146 adb sideload $SU_PACKAGE
147 echo "Wait for installation of package to complete"
148}
149
150install_ubuntu_installer() {
151 echo "Rebooting to bootloader"
152 adb wait-for-device reboot bootloader
153 fastboot boot $RECOVERY_IMAGE
154 wait_for_adb recovery
155 echo "Creating update command"
156 adb shell rm -rf $CACHE_RECOVERY
157 adb shell mkdir $CACHE_RECOVERY
158 adb shell "echo -e '--sideload' > $CACHE_RECOVERY/command"
159 echo "Booting back to bootloader"
160 adb reboot bootloader
161 fastboot boot $RECOVERY_IMAGE
162 wait_for_adb sideload
163 adb sideload $UBUNTU_INSTALLER_PACKAGE
164 echo "Wait for installation of package to complete"
165 echo "If you are asked to preserve possibly lost root access"
166 echo "Or if device should be rooted"
167 echo "This is false warning and yuou can answer either yes or no"
168}
169
170check_build_for_su_update() {
171 if [[ "$CM_DEVICE" == "$DEVICE" ]]; then
172 echo "!!! This seems to be CyanogenMod build, you already have SuperUser as part of the system"
173 echo "Go to Settings->SuperUser->Settings and make sure it is enabled for applications"
174 echo "For installation, use: $ $SCRIPT_NAME UPDATE"
175 print_ask_help
176 exit 0;
177 fi
178}
179
180if [[ "$ACTION" == HELP ]]; then
181 echo "HELP"
182 print_usage
183else if [[ "$ACTION" == FULL ]]; then
184 detect_device
185 check_build_for_su_update
186 echo "FULL install"
187 create_temp_dir
188 download_su_package
189 download_app_update
190 download_recovery
191
192 install_ubuntu_installer
193 install_su
194
195 delete_temp_dir
196else if [[ "$ACTION" == INSTALL_SU ]]; then
197 detect_device
198 check_build_for_su_update
199 echo "INSTALL_SU"
200 create_temp_dir
201 download_su_package
202 download_recovery
203
204 install_su
205
206 delete_temp_dir
207else if [[ "$ACTION" == UPDATE ]]; then
208 detect_device
209 create_temp_dir
210 echo "UPDATE install"
211 download_app_update
212 download_recovery
213
214 install_ubuntu_installer
215
216 delete_temp_dir
217else
218 echo "Unknow action"
219 print_ask_help
220fi
221fi
222fi
223fi
224

Subscribers

People subscribed via source and target branches