ReleaseEngineering/Archive/Create new B2G build

From MozillaWiki
Jump to: navigation, search

This page is obsolete

Bugs

If we don't have one already, make sure there's a 'How to build X manually' bug filed. See e.g. bug 978888 We'll also need to get any binary blobs from developers or QA at this point (this will be used in the tooltool manifest later)

In-tree files

In the gecko repo we will need a

  • sources.xml - a source manifest, which is a copy of the file in b2g-manifests updated to point at our mirror of repos
  • config.json - a device specific mozharness config
  • (maybe) a tooltool manifest - if we have binaries from a vendor to unpack at build time (config.json will refer to this manifest)

These all live in b2g/config/<device>/. They need to land in the appropriate gecko before builds are enabled in buildbot.

Source manifest

The in-tree manifest, sources.xml, is used to determine which sources to pull. To make sure these are being updated properly, ensure that the new device is added to the b2g_bumper configs.

If this is a brand new device, or even running on a new branch, you may need to get new repositories mirrored. This command may be helpful to find these repositories:

 b2g_bumper.py -c b2g_bumper/<branch>.py --massage-manifests --checkout-manifests --no-write --device <newdevice>

You may need to adjust the mappings in 'repo_remote_mappings' in b2g_bumper/<branch>.py if you get a "Wasn't able to map" error.

Otherwise, the script should either succeed or generate a bunch of "needs sync" output that should be copied into a bug like bug 1014102

mozharness config

This specifies things like mock packages, environment, build targets, files to upload, where to get l10n from. See existing devices to get started.

tooltool manifest

Typically used to unpack backup-<device>.tar.xz (binaries from vendors base image, provided by QA/developer), and other proprietary driver source/binaries.

buildbot changes

b2g_config.py will need adjusting for your device.

tbpl

File a bug like bug 984428 to get the new device supported in tbpl

prior art

See bug 991393 and bug 979450 for recently added devices