Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
googlecodein:gettingstarted [2011/11/26 18:21] – Flesh this out GavinAtkinsongooglecodein:gettingstarted [2020/12/30 02:52] (current) – Remove 1 broken hyperlink. SashaVigole
Line 4: Line 4:
  
 If you have any problems with any of the instructions here, please do feel free to talk to your mentor, or ask on IRC.  There are many mentors available in #freebsd-soc on EFnet, feel free to pop in and say hello even if you are not having issues! If you have any problems with any of the instructions here, please do feel free to talk to your mentor, or ask on IRC.  There are many mentors available in #freebsd-soc on EFnet, feel free to pop in and say hello even if you are not having issues!
 +
 +===== Requirements for Google Code-In tasks =====
 +
 +Most of the Google Code-In tasks require the following:
 +
 +  * A %%FreeBSD%% system (in a [[/VirtualBox|VirtualBox]] Virtual Machine) installed on your computer.  A pre-prepared image along with instructions for use can be found below.  It is recommended that students new to %%FreeBSD%% use this pre-prepared image.
 +  * Knowledge of the documentation guidelines for the %%FreeBSD%% project: http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/ 
 +  * A copy of the %%FreeBSD%% documentation tree checked out from the %%FreeBSD%% doc repository.  The pre-prepared VM image already contains this, or see below for details on how to obtain this.
 +  * Knowledge on how to research information on the internet
 +  * Thorough work style
  
 ===== Using the pre-prepared VM images ===== ===== Using the pre-prepared VM images =====
  
-The easiest way to get started with the Google Code-In tasks is to download the pre-made Virtual Machine image.  This is available from http://XXXX/ .  It is known to work with [[/VirtualBox|VirtualBox]], but should also work with minimal effort under VMware and Parallels.+The easiest way to get started with the Google Code-In tasks is to download the pre-made Virtual Machine image.  This is available for download from ''%%people.FreeBSD.org/~gavin/FreeBSD9.0_GCIN.ova%%'' (2.2Gb download, SHA256 aa212d1ca717a6a9800e67462ec3456c5e652fea1bba09bb649d6fa3cb0c6ea6).  It is known to work with [[/VirtualBox|VirtualBox]] 4, but should also work with minimal effort on anything supporting the OVF format for virtual machine images, including VMware.
  
-Once the VM image has been imported, boot it.  The image has been set up so that all your work can either be done on the VM console itself, or over SSH.  XXX After the machine has booted, it shows basic instructions, including the IP address that the virtual machine has been given.  You can SSH to this IP address if you wish to work over SSH rather than directly on the console.+Once the VM image has been imported, boot it.  The image has been set up so that all your work can either be done on the VM console itself, or over SSH.  After the machine has booted, basic instructions will be shown on the console, including the IP address that the virtual machine has been given.  You can SSH to this IP address (using the gcin account) if you wish to work over SSH rather than directly on the console.  GNOME is also available in the VM image, should you prefer to use the VM directly.
  
 There are two accounts set up: There are two accounts set up:
  
-| 'username' | 'password' |+| username | password |
 | root | gcin | | root | gcin |
 | gcin | gcin | | gcin | gcin |
Line 19: Line 29:
 You should only need to use the gcin username/password for most tasks. You should only need to use the gcin username/password for most tasks.
  
-In the home directory of the gcin users, the following directories exist:+In the home directory of the gcin users, a directory called "''%%gcin2011%%''" exists, containing checkouts from the repositories most likely to be useful during GCIN:
  
-| docXXX | The %%FreeBSD%% Documentation tree |+| doc | The %%FreeBSD%% Documentation tree |
 | head | %%FreeBSD%% source code for -CURRENT | | head | %%FreeBSD%% source code for -CURRENT |
 | stable/9 | %%FreeBSD%% source code for the 9-STABLE branch | | stable/9 | %%FreeBSD%% source code for the 9-STABLE branch |
Line 29: Line 39:
 ==== Working on the FreeBSD documentation tree ==== ==== Working on the FreeBSD documentation tree ====
  
-(to be written)+(to be written). See http://www.freebsd.org/doc/en/books/fdp-primer/ 
 + 
 +=== Working on existing documentation === 
 +=== Testing ===
  
 ==== Working on the FreeBSD source tree ==== ==== Working on the FreeBSD source tree ====
  
 (to be written) (to be written)
 +=== Working on existing documentation ===
 +=== Testing ===
  
 ==== Submitting your work ==== ==== Submitting your work ====
  
-The preferred format for submitting work done is in diff format.  To produce a diff of your work, us the "svn diff" command.+The preferred format for submitting work done is in diff format.  To produce a diff of your work, use the "svn diff" command.
  
 For example, to create a diff of changes made to the %%FreeBSD%% handbook, the following command should be used: For example, to create a diff of changes made to the %%FreeBSD%% handbook, the following command should be used:
Line 44: Line 59:
  
 Then, upload the file ''%%/var/tmp/gcin-handbook.diff%%'' to Google Melange. Then, upload the file ''%%/var/tmp/gcin-handbook.diff%%'' to Google Melange.
 +
 +Note, however, that any new files (i.e. files created rather than modified) will not be included in the output of "''%%svn diff%%''" and should be uploaded separately.
  
 ==== Updating the source code checkouts ==== ==== Updating the source code checkouts ====
  
-All the supplied trees can be updated using "svn update".+All the supplied trees can be updated using "svn update".  For example: 
 + 
 +''%%svn update gcin2011/doc%%'' 
 + 
 +----
  
 ====== Working on tasks without using the prepared VM images ====== ====== Working on tasks without using the prepared VM images ======
  
-There are several ways of obtaining the source code, each with advantages and disadvantages.  The method described here is probably the easiest way of obtaining the source for small-scale work.+There are several ways of obtaining the source code, each with advantages and disadvantages.  This document describes just one approach, and users experienced with source control may prefer to use an approach they are more familiar with.
  
 The following assumes that you are using %%FreeBSD%%, either on a real machine, or in a virtual environment, and that your system has Internet access. The following assumes that you are using %%FreeBSD%%, either on a real machine, or in a virtual environment, and that your system has Internet access.
  
-**Note that it is recommended that you do not update your tree whilst working on your tasks, as this combined with the approach documented here will cause your changes to be overwritten each time you update.** +===== Obtaining the FreeBSD Documentation tree =====
- +
-====== Documentation tree ====== +
- +
-As root, create a file named ''%%doc-supfile%%'' containing: +
- +
-<code> +
-*default host=cvsup8.FreeBSD.org +
-*default base=/var/db +
-*default prefix=/usr +
-*default release=cvs tag=. +
-*default delete use-rel-suffix +
-*default compress +
- +
-doc-all +
-#www +
-</code> +
- +
-For most tasks, the website source is not necessary.  If you require it (or indeed, just want to see it), uncomment the ''%%www%%'' line.  Be aware that the website is quite large, so make sure you have enough disk space. +
- +
-Then, still as root, run ''%%"csup doc-supfile"%%''.  This will drop the %%FreeBSD%% doc source code into ''%%/usr/doc%%'' (and the website code into ''%%/usr/www%%'' if that line is uncommented).  Run this same command every time you want to update your local copy to match the "live" copy, but beware of the note above. +
- +
-Once you have the documentation tree, find the file that you want to work on, and make a copy of it. For example, if your task involves making changes to the %%FreeBSD%% Handbook bibliography, make a copy of it:+
  
-''%%cp -p /usr/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml /usr/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.old.sgml%%''+The %%FreeBSD%% Project currently still uses CVS to store its documentation.  In order to make things easier for GCIN students, we have started exporting the doc tree to a Google Code svn repository, which should prove easier for students unfamiliar with CVS to work with.
  
-Then, make your edits to ''%%/usr/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml%%''+Check the tree out with:
  
-===== Testing your changes =====+''%%svn checkout http://freebsd9-documentation.googlecode.com/svn/branches/gcin2011/doc doc%%''
  
-Once you are ready to test your changes, follow the instructions at ''%%http://www.freebsd.org/doc/en/books/fdp-primer/overview-quick-start.html%%''+Once you have obtained the code, please see the top section of this page for how to work with it, test your work, and submit your changes.
  
-===== Submitting your changes =====+===== Obtaining the FreeBSD source Code =====
  
-As you made a copy of the file before you made changes, you can produce a diff from it with:+As the %%FreeBSD%% source code is held in SVN, this can be checked out directly:
  
-''%%diff -uw /usr/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.old.sgml /usr/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml > /var/tmp/gcin-taskname.diff%%''+''%%svn co svn://svn.freebsd.org/base/head/%%''
  
-This file can then be submitted to your task mentor(s) during the task, and uploaded to Google once you feel the task is complete.+Once you have obtained the code, please see the top section of this page for how to work with it, test your work, and submit your changes.
  
  • googlecodein/gettingstarted.1322331706.txt.gz
  • Last modified: 2011/11/26 18:21
  • by GavinAtkinson