Changes

Jump to: navigation, search

Real World Mozilla Incremental Build Lab

223 bytes removed, 18:03, 6 October 2009
Apply a patch
This lab is designed to give you first-hand experience creating and applying patches, and doing incremental builds of your source tree. The concepts introduced in this lab will help you understand how to make small changes to your tree, share those with others, or use other people's changes.
 
'''NOTE: portions of this lab are applicable to the tree as at the time of writing (i.e., February 27, 2007), specifically the example patches discussed below. '''
== Instructions ==
$ cd mozilla
$ patch -p0 < patch.txt
 
(unless you are using hg checkout/patches then you want to look here [https://developer.mozilla.org/en/Mercurial_FAQ#How_can_I_diff_and_patch_files.3f for updated instructions])
* Here '''-p0''' means strip 0 leading directories from each filename in the patch. We do this because we are in the same location (i.e., ./) as the person who created the patch. If the directories were mis-aligned, we would have to strip leading directories using -p1, -p2, etc.
=== Applying a real patch ===
* One of the projects a Seneca student (Andrew Smith) has been working on is support for animated PNGs (Mozilla's [[APNGhttp://shaver.off.net/diary/2007/08/25/tbeachball/ Mike Shaver wrote]]). The work about an idea to add instrumentation to Firefox in order to determine how much time is nearing completion and being reviewedspent away from the main event loop. Start by reading His blog post included prototype code in the bug: httpsform of a [http://bugzillashaver.mozillaoff.orgnet/show_bugmisc/latency-tracing-patch.cgi?id=257197txt patch].
* Download AndrewMike's latest patch ([httpshttp://bugzillashaver.mozillaoff.orgnet/misc/attachmentlatency-tracing-patch.cgi?id=254449 attachment 254449txt patch] at the time of writing). '''Save the file''' (do not copy-paste it) to your '''mozilla/''' directory.
* Apply the patch, using what you learned above. Remember the '''--dry-run''' option and to examine the paths of files in the patch.
$ cd mozilla/''objdir''
$ cd modules/libimg $ make $ cd ../libpr0n $ make $ cd ../../browser/app $ make cleanxpcom
$ make
or, if you prefer one long command:  cd mozilla/''objdir''/modules/libimg && make && cd ../libpr0n && make && cd ../../browser/app && make clean && make * Run your browser and load the APNG images at: http://littlesvr.ca/apng/watch for messages in stderr
=== Life-cycle of a patch in review ===

Navigation menu