Open main menu

CDOT Wiki β

Changes

DPS909 and OSD600 Fall 2009 Weekly Schedule

2,725 bytes added, 11:55, 21 September 2009
no edit summary
** Watch online lectures for this week about open source community, blog your reactions.
** Complete this week's [[Communicating Using IRC Lab Fall 2009|lab]] by '''Friday'''.
 
 
== Week 3 (Sept 21) - Managing and Building Large Source Trees ==
 
* Revision Control Systems (RCS)
** Introduction to RCS
** [http://en.wikipedia.org/wiki/Concurrent_Versions_System cvs], [http://en.wikipedia.org/wiki/Subversion_(software) svn], [http://en.wikipedia.org/wiki/Mercurial_(software) hg]
** Common concepts and tasks
*** Repository
*** Local Working Copy
*** RCS Changes (changesets) vs. Backups
*** Typical read-only activities: Checkout, Update, Log, Status
 
* Build Environments
** Finding and Installing build dependencies
*** Example: [https://wiki.mozilla.org/MozillaBuild Mozilla Build] for Windows
*** Using yum, MacPorts, etc.
** Operating systems, cross-platform builds
*** Virtualization - [http://www.virtualbox.org/ Virtual Box]
** Machine requirements
*** Fast I/O, lots of RAM (for linking)
** Tools
** Libraries
** Settings
*** Environment variables, PATHs
 
* Build Tools
** [http://www.gnu.org/software/autoconf/ autoconf]
** [http://www.gnu.org/software/make/ make]
** Common open source approaches to automation (Python, Bash)
 
* '''Readings/Resources'''
** [[How the Build Works|How the Mozilla Build Works]] (on-line lecture) by Mozilla's J. Paul Reed
** [http://sparc.senecacollege.ca/pub/mozilla.lecture/mozilla-20073/1-Mozilla-build-system.avi Mozilla's Build System] (on-line lecture) by the owner of the Mozilla Build System, Ted Mielczarek
** [http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html Introduction to Mercurial]. The [http://hgbook.red-bean.com/ full book] is excellent to read or use as a reference, but this section is a must.
** [http://vocamus.net/dave/?p=607 Great Introduction to GCC/G++] (Brian Gough's [http://www.network-theory.co.uk/docs/gccintro/ An Introduction to GCC for the GNU Compilers gcc and g++])
** [http://www.eng.hawaii.edu/Tutor/Make/ Introduction to Make and Makefiles]
 
* '''TODO'''
** '''Watch''' online lectures about the Mozilla build system.
** '''Read''' the material on Mercurial, GCC, and Make
** [http://developer.mozilla.org/en/docs/Build_Documentation Build Firefox] (or [https://developer.mozilla.org/En/Developer_Guide/Source_Code/Getting_comm-central Thunderbird]) on at least one of Windows/Linux/OSX, and preferrabely two platforms. Blog about the experience:
*** What problems did you have?
*** What did you learn in the process?
*** What surprised you?
*** '''Note:''' Do not put build output in your blog. You can use your wiki pages for that. The blog should be commentary on the experience of building a large piece of open source software.
*** '''Pick your project''' and '''complete''' your [[Fall 2009 DPS909 and OSD600 Initial Project Plan 0.0|Initial Project Plan]] due next '''Monday Sept 28th'''.