Merge lp:~sil2100/ubuntu-cdimage/ubuntu-touch-custom into lp:ubuntu-cdimage

Proposed by Łukasz Zemczak
Status: Merged
Merged at revision: 1607
Proposed branch: lp:~sil2100/ubuntu-cdimage/ubuntu-touch-custom
Merge into: lp:ubuntu-cdimage
Diff against target: 243 lines (+48/-13)
10 files modified
etc/default-arches (+2/-0)
etc/purge-days (+1/-0)
etc/qa-products (+4/-0)
lib/cdimage/build.py (+5/-4)
lib/cdimage/livefs.py (+3/-2)
lib/cdimage/project.py (+1/-0)
lib/cdimage/tests/test_build.py (+10/-3)
lib/cdimage/tests/test_livefs.py (+5/-0)
lib/cdimage/tests/test_tree.py (+11/-0)
lib/cdimage/tree.py (+6/-4)
To merge this branch: bzr merge lp:~sil2100/ubuntu-cdimage/ubuntu-touch-custom
Reviewer Review Type Date Requested Status
Ubuntu CD Image Team Pending
Review via email: mp+298640@code.launchpad.net

Commit message

Add a new side-project called ubuntu-touch-custom for separate customized re-builds of ubuntu-touch. This is to be a separate project we could use besides the main ubuntu-touch so that we can handle emergency builds or OTA re-spins without occupying the usual ubuntu-touch builders and locations.

Description of the change

Add a new side-project called ubuntu-touch-custom for separate customized re-builds of ubuntu-touch. This is to be a separate project we could use besides the main ubuntu-touch so that we can handle emergency builds or OTA re-spins without occupying the usual ubuntu-touch builders and locations.

I discussed this idea with both infinity and slangasek and they said it would be feasible to have something like this. It would simplify our OTA ubuntu-touch release process a lot.

To post a comment you must log in.
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Let me merge this in. In case there are any objections, please revert it if needed.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'etc/default-arches'
2--- etc/default-arches 2016-06-13 13:41:46 +0000
3+++ etc/default-arches 2016-06-29 13:57:55 +0000
4@@ -7,6 +7,8 @@
5 ubuntu-touch daily-preinstalled trusty- armhf i386
6 ubuntu-touch daily-preinstalled ubuntu-rtm/* armhf i386
7
8+ubuntu-touch-custom daily-preinstalled trusty- armhf i386
9+
10 ubuntu daily-preinstalled oneiric armel+ac100 armel+mx5 armel+omap armel+omap4
11 ubuntu daily-preinstalled raring armhf+nexus7
12 lubuntu daily-preinstalled quantal-saucy armhf+ac100
13
14=== modified file 'etc/purge-days'
15--- etc/purge-days 2016-06-13 13:41:46 +0000
16+++ etc/purge-days 2016-06-29 13:57:55 +0000
17@@ -8,6 +8,7 @@
18 ubuntu-mid 3
19 ubuntu-netbook 3
20 ubuntu-touch 7
21+ubuntu-touch-custom 7
22 source 1
23 wubi 1
24 ubuntu-zh_CN 3
25
26=== modified file 'etc/qa-products'
27--- etc/qa-products 2016-06-13 13:41:46 +0000
28+++ etc/qa-products 2016-06-29 13:57:55 +0000
29@@ -82,6 +82,10 @@
30 Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso
31 Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso
32
33+# Ubuntu Touch Custom
34+Ubuntu Touch Custom armhf ubuntu-touch-custom daily-preinstalled preinstalled-touch armhf iso
35+Ubuntu Touch Custom i386 ubuntu-touch-custom daily-preinstalled preinstalled-touch i386 iso
36+
37 # Ubuntu CPC
38 Ubuntu CPC armhf+raspi2 ubuntu-cpc daily-preinstalled preinstalled-server armhf+raspi2 iso
39
40
41=== modified file 'lib/cdimage/build.py'
42--- lib/cdimage/build.py 2016-06-13 13:41:46 +0000
43+++ lib/cdimage/build.py 2016-06-29 13:57:55 +0000
44@@ -485,7 +485,8 @@
45 shutil.copy2(
46 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)
47
48- if (config.project in ("ubuntu-core", "ubuntu-base", "ubuntu-touch") or
49+ if (config.project in ("ubuntu-core", "ubuntu-base", "ubuntu-touch",
50+ "ubuntu-touch-custom") or
51 (config.project == "ubuntu-desktop-next" and
52 config.subproject == "system-image")):
53 log_marker("Copying images to debian-cd output directory")
54@@ -506,7 +507,7 @@
55 elif config.project == "ubuntu-base":
56 output_prefix = os.path.join(
57 output_dir, "%s-base-%s" % (config.series, arch))
58- elif config.project == "ubuntu-touch":
59+ elif config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
60 output_prefix = os.path.join(
61 output_dir,
62 "%s-preinstalled-touch-%s" % (config.series, arch))
63@@ -525,7 +526,7 @@
64 print("tar archive", file=f)
65 shutil.copy2(
66 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)
67- if config.project == "ubuntu-touch":
68+ if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
69 osextras.link_force(
70 "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix)
71 add_android_support(config, arch, output_dir)
72@@ -689,7 +690,7 @@
73 live_fs_only = False
74 if config.project in (
75 "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch",
76- "ubuntu-cpc"):
77+ "ubuntu-touch-custom", "ubuntu-cpc"):
78 live_fs_only = True
79 elif (config.project == "ubuntu-desktop-next" and
80 config.subproject == "system-image"):
81
82=== modified file 'lib/cdimage/livefs.py'
83--- lib/cdimage/livefs.py 2016-06-15 07:50:19 +0000
84+++ lib/cdimage/livefs.py 2016-06-29 13:57:55 +0000
85@@ -121,7 +121,8 @@
86 elif subarch in ("ac100", "nexus7"):
87 options.extend(["-f", "plain"])
88
89- if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch") or
90+ if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch",
91+ "ubuntu-touch-custom") or
92 (config.project == "ubuntu-desktop-next" and
93 config.subproject == "system-image")):
94 options.extend(["-f", "plain"])
95@@ -944,7 +945,7 @@
96 if not got_image:
97 raise NoFilesystemImages("No filesystem images found.")
98
99- if config.project == "ubuntu-touch":
100+ if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
101 for arch in config.arches:
102 for abootimg in (
103 "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch)
104
105=== modified file 'lib/cdimage/project.py'
106--- lib/cdimage/project.py 2016-06-14 12:43:40 +0000
107+++ lib/cdimage/project.py 2016-06-29 13:57:55 +0000
108@@ -54,6 +54,7 @@
109 "ubuntu-base": "Ubuntu-Base",
110 "ubuntu-touch-preview": "Ubuntu Touch Preview",
111 "ubuntu-touch": "Ubuntu Touch",
112+ "ubuntu-touch-custom": "Ubuntu Touch Custom Build",
113 "ubuntu-cpc": "Ubuntu Server",
114 "tocd3": "TheOpenCDv3",
115 "tocd3.1": "TheOpenCDv3.1",
116
117=== modified file 'lib/cdimage/tests/test_build.py'
118--- lib/cdimage/tests/test_build.py 2016-06-13 13:41:46 +0000
119+++ lib/cdimage/tests/test_build.py 2016-06-29 13:57:55 +0000
120@@ -328,7 +328,8 @@
121 ], os.listdir(output_dir))
122
123 @mock.patch("cdimage.osextras.fetch")
124- def test_ubuntu_touch(self, mock_fetch):
125+ def _perform_ubuntu_touch_testing(self, project, mock_fetch):
126+ '''Convenience function for testing ubuntu-touch* builds.'''
127 def fetch_side_effect(config, source, target):
128 if (target.endswith(".manifest") or
129 target.endswith(".rootfs.tar.gz") or
130@@ -340,7 +341,7 @@
131
132 mock_fetch.side_effect = fetch_side_effect
133 self.config["CDIMAGE_PREINSTALLED"] = "1"
134- self.config["PROJECT"] = "ubuntu-touch"
135+ self.config["PROJECT"] = project
136 self.config["DIST"] = "saucy"
137 self.config["IMAGE_TYPE"] = "daily-preinstalled"
138 self.config["ARCHES"] = "armhf"
139@@ -353,7 +354,7 @@
140 self.epoch_date,
141 ])
142 output_dir = os.path.join(
143- self.temp_dir, "scratch", "ubuntu-touch", "saucy",
144+ self.temp_dir, "scratch", project, "saucy",
145 "daily-preinstalled", "debian-cd", "armhf")
146 self.assertTrue(os.path.isdir(output_dir))
147 touch_files = ["saucy-preinstalled-boot-%s+%s.img" % (
148@@ -387,6 +388,12 @@
149 self.assertTrue(os.path.exists(
150 os.path.join(output_dir, recovery_img)))
151
152+ def test_ubuntu_touch(self):
153+ self._perform_ubuntu_touch_testing("ubuntu-touch")
154+
155+ def test_ubuntu_touch_custom(self):
156+ self._perform_ubuntu_touch_testing("ubuntu-touch-custom")
157+
158 @mock.patch("cdimage.osextras.fetch")
159 def test_ubuntu_desktop_next_system_image(self, mock_fetch):
160 def fetch_side_effect(config, source, target):
161
162=== modified file 'lib/cdimage/tests/test_livefs.py'
163--- lib/cdimage/tests/test_livefs.py 2016-06-13 13:41:46 +0000
164+++ lib/cdimage/tests/test_livefs.py 2016-06-29 13:57:55 +0000
165@@ -361,6 +361,11 @@
166 self.assertEqual(
167 ["-f", "plain"], live_build_options(self.config, "armhf"))
168
169+ def test_ubuntu_touch_custom(self):
170+ self.config["PROJECT"] = "ubuntu-touch-custom"
171+ self.assertEqual(
172+ ["-f", "plain"], live_build_options(self.config, "armhf"))
173+
174 def test_wubi(self):
175 self.config["SUBPROJECT"] = "wubi"
176 for series, fstype in (
177
178=== modified file 'lib/cdimage/tests/test_tree.py'
179--- lib/cdimage/tests/test_tree.py 2016-06-14 12:46:35 +0000
180+++ lib/cdimage/tests/test_tree.py 2016-06-29 13:57:55 +0000
181@@ -257,6 +257,8 @@
182 "preinstalled-desktop"),
183 ("daily-preinstalled", "ubuntu-touch", "saucy",
184 "preinstalled-touch"),
185+ ("daily-preinstalled", "ubuntu-touch-custom", "vivid",
186+ "preinstalled-touch"),
187 ("daily-preinstalled", "ubuntu-cpc", "xenial",
188 "preinstalled-server"),
189 ("daily-live", "edubuntu", "edgy", "live"),
190@@ -1247,6 +1249,15 @@
191 "ubuntu-touch", "daily-preinstalled", "preinstalled-touch",
192 "armhf"))
193
194+ def test_qa_product_ubuntu_touch_custom(self):
195+ publisher = self.make_publisher(
196+ "ubuntu-touch-custom", "daily-preinstalled")
197+ self.assertEqual(
198+ ("Ubuntu Touch Custom armhf", "iso"),
199+ publisher.qa_product(
200+ "ubuntu-touch-custom", "daily-preinstalled",
201+ "preinstalled-touch", "armhf"))
202+
203 def test_qa_product_ubuntu_preinstalled(self):
204 publisher = self.make_publisher("ubuntu", "daily")
205 self.assertEqual(
206
207=== modified file 'lib/cdimage/tree.py'
208--- lib/cdimage/tree.py 2016-06-13 13:41:46 +0000
209+++ lib/cdimage/tree.py 2016-06-29 13:57:55 +0000
210@@ -381,7 +381,7 @@
211 return "preinstalled-server"
212 elif self.project == "ubuntu-cpc":
213 return "preinstalled-server"
214- elif self.project == "ubuntu-touch":
215+ elif self.project in ("ubuntu-touch", "ubuntu-touch-custom"):
216 return "preinstalled-touch"
217 elif self.project == "ubuntu-core":
218 return "preinstalled-core"
219@@ -1540,7 +1540,7 @@
220 if got_iso or got_img:
221 print(file=header)
222
223- if self.config.project == "ubuntu-touch":
224+ if self.config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
225 for tag in self.ubuntu_touch_legal_notice():
226 print(tag, file=header)
227 print(file=header)
228@@ -2202,11 +2202,13 @@
229 for arch in arches:
230 if image_base.endswith("-%s" % arch):
231 matches = True
232- elif (self.config.project == "ubuntu-touch" and
233+ elif (self.config.project in ("ubuntu-touch",
234+ "ubuntu-touch-custom") and
235 arch == "armhf" and
236 ("-armel+" in image_base or "-armhf+" in image_base)):
237 matches = True
238- elif (self.config.project == "ubuntu-touch" and
239+ elif (self.config.project in ("ubuntu-touch",
240+ "ubuntu-touch-custom") and
241 arch == "i386" and "-i386+" in image_base):
242 matches = True
243 elif self.config.subproject == "wubi" and image_base == arch:

Subscribers

People subscribed via source and target branches