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
=== modified file 'etc/default-arches'
--- etc/default-arches 2016-06-13 13:41:46 +0000
+++ etc/default-arches 2016-06-29 13:57:55 +0000
@@ -7,6 +7,8 @@
7ubuntu-touch daily-preinstalled trusty- armhf i3867ubuntu-touch daily-preinstalled trusty- armhf i386
8ubuntu-touch daily-preinstalled ubuntu-rtm/* armhf i3868ubuntu-touch daily-preinstalled ubuntu-rtm/* armhf i386
99
10ubuntu-touch-custom daily-preinstalled trusty- armhf i386
11
10ubuntu daily-preinstalled oneiric armel+ac100 armel+mx5 armel+omap armel+omap412ubuntu daily-preinstalled oneiric armel+ac100 armel+mx5 armel+omap armel+omap4
11ubuntu daily-preinstalled raring armhf+nexus713ubuntu daily-preinstalled raring armhf+nexus7
12lubuntu daily-preinstalled quantal-saucy armhf+ac10014lubuntu daily-preinstalled quantal-saucy armhf+ac100
1315
=== modified file 'etc/purge-days'
--- etc/purge-days 2016-06-13 13:41:46 +0000
+++ etc/purge-days 2016-06-29 13:57:55 +0000
@@ -8,6 +8,7 @@
8ubuntu-mid 38ubuntu-mid 3
9ubuntu-netbook 39ubuntu-netbook 3
10ubuntu-touch 710ubuntu-touch 7
11ubuntu-touch-custom 7
11source 112source 1
12wubi 113wubi 1
13ubuntu-zh_CN 314ubuntu-zh_CN 3
1415
=== modified file 'etc/qa-products'
--- etc/qa-products 2016-06-13 13:41:46 +0000
+++ etc/qa-products 2016-06-29 13:57:55 +0000
@@ -82,6 +82,10 @@
82Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso82Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso
83Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso83Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso
8484
85# Ubuntu Touch Custom
86Ubuntu Touch Custom armhf ubuntu-touch-custom daily-preinstalled preinstalled-touch armhf iso
87Ubuntu Touch Custom i386 ubuntu-touch-custom daily-preinstalled preinstalled-touch i386 iso
88
85# Ubuntu CPC89# Ubuntu CPC
86Ubuntu CPC armhf+raspi2 ubuntu-cpc daily-preinstalled preinstalled-server armhf+raspi2 iso90Ubuntu CPC armhf+raspi2 ubuntu-cpc daily-preinstalled preinstalled-server armhf+raspi2 iso
8791
8892
=== modified file 'lib/cdimage/build.py'
--- lib/cdimage/build.py 2016-06-13 13:41:46 +0000
+++ lib/cdimage/build.py 2016-06-29 13:57:55 +0000
@@ -485,7 +485,8 @@
485 shutil.copy2(485 shutil.copy2(
486 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)486 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)
487487
488 if (config.project in ("ubuntu-core", "ubuntu-base", "ubuntu-touch") or488 if (config.project in ("ubuntu-core", "ubuntu-base", "ubuntu-touch",
489 "ubuntu-touch-custom") or
489 (config.project == "ubuntu-desktop-next" and490 (config.project == "ubuntu-desktop-next" and
490 config.subproject == "system-image")):491 config.subproject == "system-image")):
491 log_marker("Copying images to debian-cd output directory")492 log_marker("Copying images to debian-cd output directory")
@@ -506,7 +507,7 @@
506 elif config.project == "ubuntu-base":507 elif config.project == "ubuntu-base":
507 output_prefix = os.path.join(508 output_prefix = os.path.join(
508 output_dir, "%s-base-%s" % (config.series, arch))509 output_dir, "%s-base-%s" % (config.series, arch))
509 elif config.project == "ubuntu-touch":510 elif config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
510 output_prefix = os.path.join(511 output_prefix = os.path.join(
511 output_dir,512 output_dir,
512 "%s-preinstalled-touch-%s" % (config.series, arch))513 "%s-preinstalled-touch-%s" % (config.series, arch))
@@ -525,7 +526,7 @@
525 print("tar archive", file=f)526 print("tar archive", file=f)
526 shutil.copy2(527 shutil.copy2(
527 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)528 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)
528 if config.project == "ubuntu-touch":529 if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
529 osextras.link_force(530 osextras.link_force(
530 "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix)531 "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix)
531 add_android_support(config, arch, output_dir)532 add_android_support(config, arch, output_dir)
@@ -689,7 +690,7 @@
689 live_fs_only = False690 live_fs_only = False
690 if config.project in (691 if config.project in (
691 "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch",692 "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch",
692 "ubuntu-cpc"):693 "ubuntu-touch-custom", "ubuntu-cpc"):
693 live_fs_only = True694 live_fs_only = True
694 elif (config.project == "ubuntu-desktop-next" and695 elif (config.project == "ubuntu-desktop-next" and
695 config.subproject == "system-image"):696 config.subproject == "system-image"):
696697
=== modified file 'lib/cdimage/livefs.py'
--- lib/cdimage/livefs.py 2016-06-15 07:50:19 +0000
+++ lib/cdimage/livefs.py 2016-06-29 13:57:55 +0000
@@ -121,7 +121,8 @@
121 elif subarch in ("ac100", "nexus7"):121 elif subarch in ("ac100", "nexus7"):
122 options.extend(["-f", "plain"])122 options.extend(["-f", "plain"])
123123
124 if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch") or124 if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch",
125 "ubuntu-touch-custom") or
125 (config.project == "ubuntu-desktop-next" and126 (config.project == "ubuntu-desktop-next" and
126 config.subproject == "system-image")):127 config.subproject == "system-image")):
127 options.extend(["-f", "plain"])128 options.extend(["-f", "plain"])
@@ -944,7 +945,7 @@
944 if not got_image:945 if not got_image:
945 raise NoFilesystemImages("No filesystem images found.")946 raise NoFilesystemImages("No filesystem images found.")
946947
947 if config.project == "ubuntu-touch":948 if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
948 for arch in config.arches:949 for arch in config.arches:
949 for abootimg in (950 for abootimg in (
950 "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch)951 "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch)
951952
=== modified file 'lib/cdimage/project.py'
--- lib/cdimage/project.py 2016-06-14 12:43:40 +0000
+++ lib/cdimage/project.py 2016-06-29 13:57:55 +0000
@@ -54,6 +54,7 @@
54 "ubuntu-base": "Ubuntu-Base",54 "ubuntu-base": "Ubuntu-Base",
55 "ubuntu-touch-preview": "Ubuntu Touch Preview",55 "ubuntu-touch-preview": "Ubuntu Touch Preview",
56 "ubuntu-touch": "Ubuntu Touch",56 "ubuntu-touch": "Ubuntu Touch",
57 "ubuntu-touch-custom": "Ubuntu Touch Custom Build",
57 "ubuntu-cpc": "Ubuntu Server",58 "ubuntu-cpc": "Ubuntu Server",
58 "tocd3": "TheOpenCDv3",59 "tocd3": "TheOpenCDv3",
59 "tocd3.1": "TheOpenCDv3.1",60 "tocd3.1": "TheOpenCDv3.1",
6061
=== modified file 'lib/cdimage/tests/test_build.py'
--- lib/cdimage/tests/test_build.py 2016-06-13 13:41:46 +0000
+++ lib/cdimage/tests/test_build.py 2016-06-29 13:57:55 +0000
@@ -328,7 +328,8 @@
328 ], os.listdir(output_dir))328 ], os.listdir(output_dir))
329329
330 @mock.patch("cdimage.osextras.fetch")330 @mock.patch("cdimage.osextras.fetch")
331 def test_ubuntu_touch(self, mock_fetch):331 def _perform_ubuntu_touch_testing(self, project, mock_fetch):
332 '''Convenience function for testing ubuntu-touch* builds.'''
332 def fetch_side_effect(config, source, target):333 def fetch_side_effect(config, source, target):
333 if (target.endswith(".manifest") or334 if (target.endswith(".manifest") or
334 target.endswith(".rootfs.tar.gz") or335 target.endswith(".rootfs.tar.gz") or
@@ -340,7 +341,7 @@
340341
341 mock_fetch.side_effect = fetch_side_effect342 mock_fetch.side_effect = fetch_side_effect
342 self.config["CDIMAGE_PREINSTALLED"] = "1"343 self.config["CDIMAGE_PREINSTALLED"] = "1"
343 self.config["PROJECT"] = "ubuntu-touch"344 self.config["PROJECT"] = project
344 self.config["DIST"] = "saucy"345 self.config["DIST"] = "saucy"
345 self.config["IMAGE_TYPE"] = "daily-preinstalled"346 self.config["IMAGE_TYPE"] = "daily-preinstalled"
346 self.config["ARCHES"] = "armhf"347 self.config["ARCHES"] = "armhf"
@@ -353,7 +354,7 @@
353 self.epoch_date,354 self.epoch_date,
354 ])355 ])
355 output_dir = os.path.join(356 output_dir = os.path.join(
356 self.temp_dir, "scratch", "ubuntu-touch", "saucy",357 self.temp_dir, "scratch", project, "saucy",
357 "daily-preinstalled", "debian-cd", "armhf")358 "daily-preinstalled", "debian-cd", "armhf")
358 self.assertTrue(os.path.isdir(output_dir))359 self.assertTrue(os.path.isdir(output_dir))
359 touch_files = ["saucy-preinstalled-boot-%s+%s.img" % (360 touch_files = ["saucy-preinstalled-boot-%s+%s.img" % (
@@ -387,6 +388,12 @@
387 self.assertTrue(os.path.exists(388 self.assertTrue(os.path.exists(
388 os.path.join(output_dir, recovery_img)))389 os.path.join(output_dir, recovery_img)))
389390
391 def test_ubuntu_touch(self):
392 self._perform_ubuntu_touch_testing("ubuntu-touch")
393
394 def test_ubuntu_touch_custom(self):
395 self._perform_ubuntu_touch_testing("ubuntu-touch-custom")
396
390 @mock.patch("cdimage.osextras.fetch")397 @mock.patch("cdimage.osextras.fetch")
391 def test_ubuntu_desktop_next_system_image(self, mock_fetch):398 def test_ubuntu_desktop_next_system_image(self, mock_fetch):
392 def fetch_side_effect(config, source, target):399 def fetch_side_effect(config, source, target):
393400
=== modified file 'lib/cdimage/tests/test_livefs.py'
--- lib/cdimage/tests/test_livefs.py 2016-06-13 13:41:46 +0000
+++ lib/cdimage/tests/test_livefs.py 2016-06-29 13:57:55 +0000
@@ -361,6 +361,11 @@
361 self.assertEqual(361 self.assertEqual(
362 ["-f", "plain"], live_build_options(self.config, "armhf"))362 ["-f", "plain"], live_build_options(self.config, "armhf"))
363363
364 def test_ubuntu_touch_custom(self):
365 self.config["PROJECT"] = "ubuntu-touch-custom"
366 self.assertEqual(
367 ["-f", "plain"], live_build_options(self.config, "armhf"))
368
364 def test_wubi(self):369 def test_wubi(self):
365 self.config["SUBPROJECT"] = "wubi"370 self.config["SUBPROJECT"] = "wubi"
366 for series, fstype in (371 for series, fstype in (
367372
=== modified file 'lib/cdimage/tests/test_tree.py'
--- lib/cdimage/tests/test_tree.py 2016-06-14 12:46:35 +0000
+++ lib/cdimage/tests/test_tree.py 2016-06-29 13:57:55 +0000
@@ -257,6 +257,8 @@
257 "preinstalled-desktop"),257 "preinstalled-desktop"),
258 ("daily-preinstalled", "ubuntu-touch", "saucy",258 ("daily-preinstalled", "ubuntu-touch", "saucy",
259 "preinstalled-touch"),259 "preinstalled-touch"),
260 ("daily-preinstalled", "ubuntu-touch-custom", "vivid",
261 "preinstalled-touch"),
260 ("daily-preinstalled", "ubuntu-cpc", "xenial",262 ("daily-preinstalled", "ubuntu-cpc", "xenial",
261 "preinstalled-server"),263 "preinstalled-server"),
262 ("daily-live", "edubuntu", "edgy", "live"),264 ("daily-live", "edubuntu", "edgy", "live"),
@@ -1247,6 +1249,15 @@
1247 "ubuntu-touch", "daily-preinstalled", "preinstalled-touch",1249 "ubuntu-touch", "daily-preinstalled", "preinstalled-touch",
1248 "armhf"))1250 "armhf"))
12491251
1252 def test_qa_product_ubuntu_touch_custom(self):
1253 publisher = self.make_publisher(
1254 "ubuntu-touch-custom", "daily-preinstalled")
1255 self.assertEqual(
1256 ("Ubuntu Touch Custom armhf", "iso"),
1257 publisher.qa_product(
1258 "ubuntu-touch-custom", "daily-preinstalled",
1259 "preinstalled-touch", "armhf"))
1260
1250 def test_qa_product_ubuntu_preinstalled(self):1261 def test_qa_product_ubuntu_preinstalled(self):
1251 publisher = self.make_publisher("ubuntu", "daily")1262 publisher = self.make_publisher("ubuntu", "daily")
1252 self.assertEqual(1263 self.assertEqual(
12531264
=== modified file 'lib/cdimage/tree.py'
--- lib/cdimage/tree.py 2016-06-13 13:41:46 +0000
+++ lib/cdimage/tree.py 2016-06-29 13:57:55 +0000
@@ -381,7 +381,7 @@
381 return "preinstalled-server"381 return "preinstalled-server"
382 elif self.project == "ubuntu-cpc":382 elif self.project == "ubuntu-cpc":
383 return "preinstalled-server"383 return "preinstalled-server"
384 elif self.project == "ubuntu-touch":384 elif self.project in ("ubuntu-touch", "ubuntu-touch-custom"):
385 return "preinstalled-touch"385 return "preinstalled-touch"
386 elif self.project == "ubuntu-core":386 elif self.project == "ubuntu-core":
387 return "preinstalled-core"387 return "preinstalled-core"
@@ -1540,7 +1540,7 @@
1540 if got_iso or got_img:1540 if got_iso or got_img:
1541 print(file=header)1541 print(file=header)
15421542
1543 if self.config.project == "ubuntu-touch":1543 if self.config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
1544 for tag in self.ubuntu_touch_legal_notice():1544 for tag in self.ubuntu_touch_legal_notice():
1545 print(tag, file=header)1545 print(tag, file=header)
1546 print(file=header)1546 print(file=header)
@@ -2202,11 +2202,13 @@
2202 for arch in arches:2202 for arch in arches:
2203 if image_base.endswith("-%s" % arch):2203 if image_base.endswith("-%s" % arch):
2204 matches = True2204 matches = True
2205 elif (self.config.project == "ubuntu-touch" and2205 elif (self.config.project in ("ubuntu-touch",
2206 "ubuntu-touch-custom") and
2206 arch == "armhf" and2207 arch == "armhf" and
2207 ("-armel+" in image_base or "-armhf+" in image_base)):2208 ("-armel+" in image_base or "-armhf+" in image_base)):
2208 matches = True2209 matches = True
2209 elif (self.config.project == "ubuntu-touch" and2210 elif (self.config.project in ("ubuntu-touch",
2211 "ubuntu-touch-custom") and
2210 arch == "i386" and "-i386+" in image_base):2212 arch == "i386" and "-i386+" in image_base):
2211 matches = True2213 matches = True
2212 elif self.config.subproject == "wubi" and image_base == arch:2214 elif self.config.subproject == "wubi" and image_base == arch:

Subscribers

People subscribed via source and target branches