DPS909 and OSD600 Fall 2012 Lab 1

From CDOT Wiki
Jump to: navigation, search

Introduction

In this lab you will work with git, github, create a development environment, and build the source code for Firefox. These skills will be critical for all subsequent work we'll do in the course, and help you setup various accounts and tools along the way.

Steps

1. Fork the Mozilla Firefox github repository

Mozilla uses both Mercurial (hg) and Git to host its source code. We'll use Git and Github in order to keep the number of DVCS you have to learn to a minimum.

Mozilla's Firefox repo is located at: https://github.com/mozilla/mozilla-central (NOTE: the repo is not called Firefox).

You'll need to install git, see http://git-scm.com/, and create a Github account for yourself, see https://github.com/ and https://help.github.com/articles/set-up-git.

Once you have your account created, you should fork Mozilla's mozilla-central repo into your account, see https://help.github.com/articles/fork-a-repo

Now you can clone your mozilla-central fork to your local computer and build it.

When cloning use the git protocol: git://github.com/username/mozilla-central.git

2. Build Firefox

The Firefox build process is described in detail here: https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions

NOTE: since you already obtained the source code from github, skip the instructions related to Mercurial and hg.

Getting Help

Working with git, github, and Mozilla's build system can be overwhelming at first. Don't be scared off, or allow yourself to get frustrated. Make sure you ask questions on irc (use the #seneca or #introduction channels on irc.mozilla.org), and in class. Pretending you know what you're doing when you don't will not work in this lab. Get help, and be ready to help others.

Submitting

When you are finished your build, take a screenshot of the about: page in your new browser, and write a blog post about your experiences. Make sure you answer questions like:

  • What did you learn?
  • What was new for you? Tools, terms, techniques, etc.
  • What was hard?
  • How did you overcome your issues?

Your lab and blog post are due on Sept 13.