X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fcontributor%2Fquick-start.itexi;h=ba4340dfd9cfea2a06ce722318ded4c35d547aab;hb=2a6b3329c46ae620dbe80dfaef076b13c5344911;hp=4bbb180f663e89c8f85a00015ced5243baa7f756;hpb=512542520ca60b7018df2de43e2c5f51bf05432c;p=lilypond.git diff --git a/Documentation/contributor/quick-start.itexi b/Documentation/contributor/quick-start.itexi index 4bbb180f66..ba4340dfd9 100644 --- a/Documentation/contributor/quick-start.itexi +++ b/Documentation/contributor/quick-start.itexi @@ -3,310 +3,348 @@ @node Quick start @chapter Quick start -Want to submit a patch for LilyPond? Great! This chapter is -designed to let you do this as quickly and easily as possible. - -It is not possible to compile LilyPond on Windows, and extremely -difficulty to compile it on MacOS X. We have therefore made a -@q{remix} of Ubuntu which includes all necessary dependencies to -compile both LilyPond and the documentation. This can be run -inside a virtual machine without disturbing your main operating -system. - -@advanced{experienced developers may prefer to use their own -development environment. It may be instructive to skim over these -instructions, but be aware that this chapter is intended for -helpful users who may have never created a patch before.} +Want to submit a patch for LilyPond? Great! Never created a patch +before? Never compiled software before? No problem! This chapter is +for you and will help you do this as quickly and easily as possible. @menu -* Lilybuntu:: -* Using lily-git:: +* LilyDev:: +* lily-git:: +* git-cl:: +* Compiling with LilyDev:: +* Now start work!:: @end menu -@node Lilybuntu -@section Lilybuntu +@node LilyDev +@section LilyDev -text. +@c This text was written based on LilyDev 4.0 - JL -@menu -* Installing lilybuntu:: -* Configuring lilybuntu in virtualbox:: -* Using lilybuntu:: -@end menu +There is a @q{remix} of Debian GNU/Linux -- known as @qq{LilyDev} for +short -- which includes all the necessary software and tools to compile +LilyPond, the documentation and the website (also see +@ref{Website work}). -@node Installing lilybuntu -@subsection Installing lilybuntu +@warning{LilyDev does not include the software for the Grand Unified +Builder -- also see @ref{Grand Unified Builder (GUB)}.} -@enumerate -@item -Install some virtualization software. +While compiling LilyPond on MacOs and Windows is possible, both +environments are complex to set up. LilyDev can be easily installed +and run inside a @q{virtual machine} on either of these operating +systems relatively easily using readily available virtualization +software. We recommend using VirtualBox as it is available for all +major operating systems and is very easy to install & configure. + +The LilyDev disk image can also be written to a USB device or @q{burnt} +to a DVD -- it is approximately 900 GB in size -- and installed just +like any standard GNU/Linux distribution. -Any virtualization tool can be used, but we recommend VirtualBox: +The current image is based on a 32bit version of Debian 8 (@q{Jessie}) +and the Disk image was generated using Debian +@uref{http://live.debian.net/, live-build 4}. + +@noindent +Download the LilyDev disk image file from here: @example -@uref{http://@/www.virtualbox.org/@/wiki/@/Downloads} +@uref{https://github.com/fedelibre/LilyDev/releases/latest} @end example -In virtualization terminology, your main operating system is the -@qq{host}, while lilybuntu is the @qq{guest}. +@warning{Apart from installing and configuring LilyDev in VirtualBox, +the rest of the chapter assumes that you are comfortable using the +command-line and is intended for users who may have never created a +patch or compiled software before. More experienced developers (who +prefer to use their own development environment) may still find it +instructive to skim over the following information.} -@item -Download the @file{lilybuntu2.iso} disk image: (approximately 1 -GB) +If you are not familiar with GNU/Linux, it may be beneficial to read a +a few @qq{introduction to Linux} type web pages. -@example -@uref{http://files.lilynet.net/lilybuntu2.iso} -@end example +@menu +* Installing LilyDev in VirtualBox:: +* Configuring LilyDev in VirtualBox:: +@end menu -@advanced{There is a md5sum available: -@uref{http://files.lilynet.net/lilybuntu2.iso.md5}} -@item -Install @file{lilybuntu2.iso} as the @qq{guest} operating system -on your virtualized system. +@node Installing LilyDev in VirtualBox +@unnumberedsubsec Installing LilyDev in VirtualBox -@itemize +This section discusses how to install and use LilyDev with VirtualBox. -@item -If possible, use at least 700 MB of RAM (1GB would be better) for -the virtual machine, and use @qq{dynamically expanding storage} -for the virtual hard drive. A complete compile of everything -(code, docs, regression tests) can reach 10 GB. +@warning{If you already know how to install a virtual machine using a +disc image inside VirtualBox (or your own virtualization software) then +you can skip this section and go straight to @ref{lily-git}.} +@enumerate @item -When @file{lilybuntu2.iso} boots, it shows an ISOLINUX -@code{boot:} prompt. Type: +Download Virtualbox from here: @example -install +@uref{http://www.virtualbox.org/wiki/Downloads} @end example +@warning{In virtualization terminology, the operating system where +Virtualbox is installed is known as the @strong{host}. LilyDev +will be installed @q{inside} Virtualbox as a @strong{guest}.} + +@item +Start the VirtualBox software and click @q{New} to create a new +@qq{virtual machine}. + +The @q{New Virtual Machine Wizard} will walk you through setting up your +guest virtual machine. Choose an appropriate name for your LilyDev +installation and select the @q{Linux} operating system. When selecting +the @q{version} choose @q{Debian (32 bit)} (don't use the @q{64 bit} +option). If you do not have that specific option choose @q{Linux 2.6} +(again do not choose any option that has 64 bit next to it). + @item -At the @qq{Prepare disk space} stage, do not be afraid to select -@qq{Erase and use the entire disk}, since this refers to your -@emph{virtual disk}, not your machine's actual hard drive. +Select the amount of RAM you will allow the LilyDev guest to use from +your host operating system when it is running. If possible, use at +least 700 MB of RAM; the more RAM you can spare from your host the +better, although LilyDev will currently use no more than 4 GB (4096 MB) +even if you are able to assign more. @item -When prompted to remove the installation CD, go to -@clicksequence{Devices @click{} CD/DVD Devices} and de-select -@file{lilybuntu2.iso}. +For your @q{Virtual Hard Disk}, leave the @q{Create new hard disk} +option checked, use the default @q{VDI} and @qq{Dynamically allocated} +options for the virtual hard drive. A complete compile of everything +(code, docs, regression tests) can reach 10 GB so size your virtual disk +and its location accordingly. -@end itemize +@item +Verify the summary details and click @q{Create}, when you are satisfied. +Your new guest will be displayed in the Virtualbox window. + +@warning{The image contains a @q{686-pae} kernel, so you must enable +@code{PAE} within the virtual machine's settings -- click on +@clicksequence{System @click{} Processor} and select +@q{Extended features: Enable PAE/NX}.} -@advanced{ -The latest version of lilybuntu is based on Ubuntu 10.04.1; if you -encounter any difficulties installing it, search for one of the -many tutorials for installing that particular version of Ubuntu as -a guest operating system. -} +@item +Click the @q{Start} button and the @q{First Run Wizard} will prompt you +for the installation media. Click the browse icon, locate the LilyDev +disk image and click through the wizard to begin the installation +process. @item -Do any extra configuration for your virtualization software. +When the LilyDev disk image boots for the first time, choose either the +@q{Install} or the @q{Graphical install} menu item. The installer will +then walk you through the complete installation process. -We have additional instructions in -@ref{Configuring lilybuntu in virtualbox}. +@item +At the @qq{Partition disks} stage, do not be afraid to select +@qq{Guided - use entire disk}, since this refers to your +@strong{@emph{virtual disk}}, not your computer's own hard disk. -If you use other virtualization software, then follow the normal -procedures for your virtualization software with Ubuntu as the -client. +@item +Continue to click through the rest of the wizard, filling in any +appropriate details when asked, and wait for the install to complete. +This will take about 10 minutes or so on a reasonably modern computer. -@advanced{not all hardware is supported in all virtualization -tools. In particular, some contributors have reported problems -with USB devices. If you would like to investigate further, then -look for help for your virtualization tool using your normal OS as -the @qq{host} and Ubuntu as the @qq{client}.} +@item +When the installation is completed, just click on @q{Continue} (you +do not have to remove any media since you installed LilyDev from a Disk +image, which is just a file on your computer). The installer will +reboot the virtual machine. @end enumerate +@noindent +LilyDev should now be installed and running! + -@node Configuring lilybuntu in virtualbox -@subsection Configuring lilybuntu in virtualbox +@node Configuring LilyDev in VirtualBox +@unnumberedsubsec Configuring LilyDev in VirtualBox -VirtualBox has extra @qq{guest additions} which can make the -virtualization easier to use (full-screen, easy file sharing -between host and guest operating systems, shared clipboards, etc). +VirtualBox has extra @q{guest additions} which although are not +necessary to use LilyDev or compile Lilypond, do provide some additional +features to your Virtual Machine to make it easier to work with. Such +as being able to dynamically resize the LilyDev window, allow seamless +interaction with your mouse pointer on both the host and guest and let +you copy/paste between your host and guest if needed. @enumerate @item -In @emph{VirtualBox}, select @clicksequence{Devices @click{} -Install Guest Additions...}. +Select the @q{Devices} menu from the virtual machine window and choose +@q{Install Guest Additions...}. This will automount a CD which will +prompt you to autorun it. Click OK and follow the instructions. It is +recommended to reboot the guest when the installation is complete. -@item -In @emph{Ubuntu}, select @clicksequence{Places @click{} -VBOXADDITIONS_}. A file-system window will open. +Other virtualization software will also have their own @q{guest} +additions, follow the normal procedures for your virtualization software +with LilyDev as the client. @item -Double-click on the @file{autorun.sh} file, then select @qq{Run in -Terminal}, and enter your password when prompted. +Restart LilyDev to complete the installation of the guest additions. -@item -Once the script is finished, restart Ubuntu to complete the -installation. +@advanced{If you do any kernel upgrades, you may need to reinstall the +additional software. Just follow the step above again and reboot when +the reinstallation is complete.} -@item -Set up any additional features, such as @q{Shared Folders} between -your main operating system and ubuntu. Consult external -documentation for this step. +@end enumerate -@advanced{If you do any kernel upgrades, you may need to re-run -these VBOXADDITIONS instructions.} +@noindent +Other items that may be helpful: -@end enumerate +@itemize +@item +In the settings for the virtual machine, set the network to +Bridged mode to allow you to access shared folders when using Windows +hosts. -@node Using lilybuntu -@subsection Using lilybuntu +@item +Set up any additional features, such as @q{Shared Folders} between +your main operating system and LilyDev. This is distinct from the +networked share folders in Windows. Consult the external documentation +for this. -If you are not familiar with Linux, it may be beneficial to read a -couple of @qq{introduction to Ubuntu} webpages. +Some longtime contributors have reported that @q{shared folders} +are rarely useful and not worth the fuss, particularly since files +can be shared over a network instead. -@itemize @item -One particular change from Windows and MacOS X is that most -software should be installed with your @qq{package manager}; this -vastly simplifies the process of installing and configuring -software. Go to @clicksequence{System @click{} Administration -@click{} Synaptic Package Manager}. +Pasting into a terminal is done with @code{Ctrl+Shift+v}. @item -The rest of this manual assumes that you are using the -command-line; go to @clicksequence{Applications @click{} -Accessories @click{} Terminal}. +Right-click allows you to edit a file with the text editor (default +is Leafpad). @end itemize +@knownissues +Not all hardware is supported in all virtualization tools. In +particular, some contributors have reported problems with USB network +adapters. If you have problems with network connection (for example +Internet connection in the host system is lost when you launch virtual +system), try installing and running LilyDev with your computer's +built-in network adapter used to connect to the network. Refer to the +help documentation that comes with your virtualization software. + -@c if you change this node name, you'll need to change the @ref in -@c web/ and/or included/, along with all the translations. -@node Using lily-git -@section Using lily-git +@node lily-git +@section lily-git -@command{lily-git.tcl} is a graphical tool to help you access and -share changes to the lilypond source code. +The @q{LilyPond Contributor's Git Interface} (otherwise known as +@command{lily-git.tcl}) is a simple-to-use GUI to help you download and +update the LilyPond source code as well as an aid to making software +patches. @menu -* Install and configuration of lily-git.tcl:: -* Daily use of lily-git.tcl:: +* Where to get lily-git:: +* Using lily-git to download the source code:: +* How to use lily-git:: @end menu -@node Install and configuration of lily-git.tcl -@unnumberedsubsec Install and configuration of @command{lily-git.tcl} +@node Where to get lily-git +@unnumberedsubsec Where to get lily-git -@warning{The rest of this manual assumes that you are using the -command-line; go to @clicksequence{Applications @click{} -Accessories @click{} Terminal}.} +Depending on your development environment, lily-git may already be +installed on your computer. -@enumerate +@itemize @item -@code{lily-git.tcl} has already been install for you. Simply type -(or copy&paste): +If you are using LilyDev (see @ref{LilyDev}) then lily-git should +already be installed and ready to run. If this is not the case you can +easily turn it on by adding the following line in @code{~/.bashrc}: @example -cd -wish lily-git.tcl +# add lily-git to the PATH +PATH=$LILYPOND_GIT/scripts/auxiliar:"$@{PATH@}" @end example @item -Click on the @qq{Get source} button. - -This will create a directory called @file{lilypond-git/} within -your home directory, and will download the source code into that -directory (around 55Mb). When the process is finished, the -@qq{Command output} window will display @qq{Done}, and the button -label will change to say @qq{Update source}. +For those not using LilyDev, lily-git can be obtained by downloading +the software directly. See @ref{Manually installing lily-git.tcl}. @item -Navigate to the @file{lilypond-git/} directory to view the source -files. You should now be able to modify the source files using -your normal text editor. - -@end enumerate +lily-git is part of the LilyPond source code and is located in +@file{$LILYPOND_GIT/scripts/auxillar/lily-git.tcl}. -You should now progress to @ref{Compiling with lilybuntu}. - -@warning{Throughout the rest of this manual, most command-line -input should be entered from @file{~/lilypond-git/}. This is -referred to as the @emph{top source directory}.} +@end itemize -@subsubheading Other operating music systems +@node Using lily-git to download the source code +@unnumberedsubsec Using lily-git to download the source code @enumerate @item -If you haven't already, download and install Git. - -@itemize - -@item -Lilybuntu users: git has already been installed for you. - -@item Windows users: download the @code{.exe} file labeled -@qq{Full installer for official Git} from: +Type the following command into a Terminal: @example -@uref{http://code.google.com/p/msysgit/downloads/list} +lily-git.tcl @end example -@item Other operating systems: either install @command{git} with -your package manager, or download it from the @qq{Binaries} -section of: - -@example -@uref{http://git-scm.com/download} -@end example - -@end itemize +@noindent +You will be prompted to enter a name and email address into the lily-git +UI. This information is used to label any patches you create (using the +lily-git UI or git via the command line) and can be changed later if +required. See @ref{Configuring Git}. +@item +Click on the @emph{Submit} button to update lily-git with the +information. @item -Download the @command{lily-git.tcl} script from: +Click on the @qq{Get source} button. -@c don't change the cgit link below to gitweb; gitweb uses -@c long filenames like "scripts_auxiliar_lily-git.tcl" +A directory called @file{lilypond-git} is created within your home +directory and the entire source code will start to be downloaded into +it. -@example -@uref{http://git.sv.gnu.org/cgit/lilypond.git/plain/scripts/auxiliar/lily-git.tcl} -@end example +@warning{Be patient! There is no progress bar in the lily-git UI but the +complete source is around 180@tie{}Mb.} -@item -To run the program from the command line, navigate to the -directory containing @command{lily-git.tcl} and enter: +@noindent +When the source code has been downloaded, the @qq{command output} window +in the lily-git UI will update and display @qq{Done} on the very last +line and the button label will change to say @qq{Update source}. -@example -wish lily-git.tcl -@end example +@warning{Some contributors have reported that occasionally nothing +happens at this step at all. If this occurs, then try again in a few +minutes -- it could be an intermittant network problem. If the +problem persists, please ask for help.} @item -Go read the lilybuntu instructions, starting from the @qq{get -source} step. +Close the lily-git GUI and navigate to the @file{lilypond-git} +directory to view and edit the source files. @end enumerate -@advanced{the @qq{Get source} button does not fetch the entire -history of the git repository, so utilities like @command{gitk} -will only be able to display the most recent additions. As you -continue to work with @command{lily-git.tcl}, the @qq{Update -source} button will take any new additions and add it to whatever -is currently in your repository's history.} +@noindent +If this is the first time you will be attempting to compile LilyPond, +please see the section @ref{Compiling with LilyDev} before continuing. -@node Daily use of lily-git.tcl -@unnumberedsubsec Daily use of @command{lily-git.tcl} +@node How to use lily-git +@unnumberedsubsec How to use lily-git -@warning{Only work on one set of changes at once. Do not start -work on any new changes until your first set has been accepted.} +Here is a brief description of what each button does in the lily-git UI. + +@advanced{Throughout the rest of this manual, most command-line +input should be entered from within the top level of the +@file{~/lilypond-git/} directory. This is known as the +@emph{top of the source directory} and is also referred to as +@var{$LILYPOND_GIT} as a convention for those users who may have +configured their own locations of the LilyPond source code.} + +@warning{For those less experienced contributors using lily-git, we +recommend that you only work on one set of changes at a time and not +start on any new changes until your first set has been accepted.} @subsubheading 1. Update source -At the beginning of each session of lilypond work, you should -click the @qq{Update source} button to get the latest changes to -the source code. +Click the @qq{Update source} button to get any recent changes to the +source code that have been added by other contributors since your last +session. -@warning{In some rare and unfortunate circumstances, this will -result in a @emph{merge conflict}. If this occurs, follow the -instructions for @qq{Abort changes}, below. Your work will not be -lost.} +@warning{If another contributor has updated files in the source code +that you had been working on then updating your own copy of the source +code may result in what is known as a @emph{merge conflict}. If this +occurs, follow the instructions to @qq{Abort changes}, below. Note that +your work will not be lost.} @subsubheading 2a. New local commit @@ -369,11 +407,6 @@ Send patch files to the appropriate place: @item If you have a mentor, send it to them via email. -@item -New contributors should send the patch attached to an email to -@email{frogs@@lilynet.net}. Please add @qq{[PATCH]} to the -subject line. - @item Translators should send patches to @email{translations@@lilynet.net}. @@ -383,6 +416,10 @@ More experienced contributors should upload the patch for web-based review. This requires additional software and use of the command-line; see @ref{Uploading a patch for review}. +@item +If you have trouble uploading the patch for review, +ask for help on @email{lilypond-devel@@gnu.org}. + @end itemize @@ -392,10 +429,286 @@ the command-line; see @ref{Uploading a patch for review}. hopelessly confused!} The button labeled @qq{Abort changes -- Reset to origin} will copy -all changed files to a subdirectory of @file{lilypond-git/} named +all changed files to a subdirectory of @file{$LILYPOND_GIT} named @file{aborted_edits/}, and will reset the repository to the current state of the remote repository (at @code{git.sv.gnu.org}). +@node git-cl +@section git-cl + +@menu +* Installing git-cl:: +* Updating git-cl:: +* Configuring git-cl:: +@end menu + +Git-cl is a @q{helper script} that uploads patches to Google's Rietveld +Code Review Tool -- used by the developers for patch review -- and, at +the same time, updates LilyPond's issue tracker. + + +@node Installing git-cl +@unnumberedsubsec Installing @code{git-cl} + +@warning{LilyDev users can jump straight to the next section on updating +@command{git-cl} as it will already be installed in your home +directory.} + +@enumerate + +@item +Download @command{git-cl} by running the command: + +@example +git clone https://github.com/gperciva/git-cl.git +@end example + +@noindent +or, if that command fails for any reason, try: + +@example +git clone git://github.com/gperciva/git-cl.git +@end example + +@item +Add the @file{git-cl/} directory to your @var{PATH} or create a symbolic +link to the @command{git-cl} and @command{upload.py} scripts in one of +your @var{PATH} directories (e.g. @file{$HOME/bin}). + +In GNU/Linux you can add directories to @var{PATH} by adding this line +to your @file{.bashrc} file located in your home directory: + +@example +PATH=~/directory_containing_git-cl:"$@{PATH@}" +@end example + +@end enumerate + + +@node Updating git-cl +@unnumberedsubsec Updating @code{git-cl} + +LilyDev users should always make sure that they alwsys have the latest +version of git-cl installed. It is possible that changes may have been +made to git-cl that are not (yet) included in the version of LilyDev has +been installed. + +@noindent +Using a terminal run the following commands: + +@example +cd ~/git-cl/ +git pull +@end example + +This will download and update you to the lastest version of git-cl. + + +@node Configuring git-cl +@unnumberedsubsec Configuring @code{git-cl} + +@subsubheading Set up login accounts + +Because the @code{git-cl} updates two separate websites (Google's +Rietveld Code Review Tool and LilyPond's issue tracker) you @emph{must} +have a valid user login and password to both sites. + +@noindent +Although that it may appear that you have to use a @q{Google} email +address for the Rietveld Code Review Tool when you sign up, you can +instead select the option @qq{I prefer to use my current email address} +during sign up. + +@noindent +For a user login to the LilyPond issue tracker, please send your +request, preferably using the email address you want to use for your +login, to the LilyPond Developer's mailing list +(@code{lilypond-devel@@gnu.org}). + +@subsubheading Authorising git-cl for the LilyPond issue tracker + +The @code{git-cl} command itself also needs to be @q{authorized} so that +it can access the LilyPond issue tracker. + +@enumerate +@item +Once a valid login has been given for the LilyPond issye tracker, go to +the @q{Account settings} and select the @q{OAuth} tab. + +@item +Locate the @q{Register New Application} section and enter @code{git-cl} +in the @q{Application Name:} field. + +@item +Click on the @q{Register new application} button. You should now see +@q{git-cl} listed under the @q{My Applications} section. + +@item +Click on the @q{Generate Bearer Token} button. You should now see +@q{git-cl} listed under the @q{Authorized Applications} section along +with a value for the @q{Bearer Token} entry. This value is used, in the +next steps, to allow git-cl to access and update the LilyPond issue +tracker. + +@end enumerate + +@subsubheading Running git-cl for the first time + +@enumerate +@item +Using a terminal, move to top source directory of the +@code{$LILYPOND_GIT} directory and then run @code{git-cl} with the +@code{config} option: + +@example +cd $LILYPOND_GIT +git-cl config +@end example + +@item +When prompted for the @code{Rietveld server}: + +@example +Rietveld server (host[:port]) [codereview.appspot.com]: +@end example + +@item +When prompted for the @code{Allura server} (the LilyPond issue tracker): + +@example +Allura server [https://sourceforge.net/p/testlilyissues/issues/]: +@end example + +@item +When prompted for the @code{Allura bearer token} copy/paste the value +generated in the previous steps for +@emph{Authorising git-cl for the LilyPond issue tracker}: + +@smallexample +Allura bearer token (see https://sourceforge.net/auth/oauth/) [fdbfca60801533465480]: +@end smallexample + +@warning{The above is a @q{fake} bearer token just to illustrate the +example. Do not use this value.} + +@item +Finally, when prompted for the @code{CC list} entry, add the Lilypond +Developer's group email. + +@example +CC list ("x" to clear) [lilypond-devel@@gnu.org]: +@end example + +@end enumerate + +The @code{git-cl} script should now be correctly configured for use. + + +@node Compiling with LilyDev +@section Compiling with LilyDev + +LilyDev is our @q{remix} of Debian which contains all the +necessary dependencies to do lilypond development; for more +information, see @ref{LilyDev}. + +@subsubheading Preparing the build + +To prepare the build directory, enter (or copy&paste) the below +text. This should take less than a minute. + +@c we heavily recommend the out-of-tree build; do not change this! + +@example +cd $LILYPOND_GIT +sh autogen.sh --noconfigure +mkdir -p build/ +cd build/ +../configure +@end example + +@subsubheading Building @code{lilypond} + +Compiling lilypond will likely take between 5 and 60 minutes, +depending on your computer's speed and available RAM. We +recommend that you minimize the terminal window while it is +building; this can have a non-negligible effect on compilation +speed. + +@example +cd $LILYPOND_GIT/build/ +make +@end example + +You may run the compiled @code{lilypond} with: + +@example +cd $LILYPOND_GIT/build/ +out/bin/lilypond my-file.ly +@end example + +@subsubheading Building the documentation + +Compiling the documentation is a much more involved process, and +will likely take 2 to 10 hours. + +@example +cd $LILYPOND_GIT/build/ +make +make doc +@end example + +The documentation is put in @file{out-www/offline-root/}. You may +view the html files by entering the below text; we recommend that +you bookmark the resulting page: + +@example +firefox $LILYPOND_GIT/build/out-www/offline-root/index.html +@end example + +@subsubheading Installing + +Don't. There is no reason to install lilypond within LilyDev. +All development work can (and should) stay within the +@file{$LILYPOND_GIT} directory, and any personal composition +or typesetting work should be done with an official GUB release. + + +@subsubheading Problems and other options + +To select different build options, or isolate certain parts of the +build, or to use multiple CPUs while building, read +@ref{Compiling}. + +In particular, contributors working on the documentation should be +aware of some bugs in the build system, and should read the +workarounds in @ref{Generating documentation}. + + +@node Now start work! +@section Now start work! + +LilyDev users may now skip to the chapter which is aimed at +their intended contributions: + +@itemize +@item @ref{Documentation work} +@item @ref{Translating the documentation} +@item @ref{Website work} +@item @ref{Regression tests} +@item @ref{Programming work} +@end itemize + +These chapters are mainly intended for people not using LilyDev, +but they contain extra information about the +@qq{behind-the-scenes} activities. We recommend that you read +these at your leisure, a few weeks after beginning work with +LilyDev. + +@itemize +@item @ref{Working with source code} +@item @ref{Compiling} +@end itemize +