@menu
* Meta-policy for this document::
+* Environment variables::
* Meisters::
* Patchy::
* Administrative mailing list::
@end itemize
+@node Environment variables
+@section Environment variables
+
+Some maintenance scripts and instructions in this guide rely on
+the following environment variables. They should be predefined in
+LilyDev distribution (see @ref{LilyDev}); if you set up your own
+development environment, you can set them by appending these settings to
+your @file{~/.bashrc} (or whatever defines your default environment
+variables for the user account for LilyPond development), then logging
+out and in (adapt directories to your setup):
+
+@example
+LILYPOND_GIT=~/lilypond-git
+export LILYPOND_GIT
+LILYPOND_BUILD_DIR=~/lilypond-git/build
+export LILYPOND_BUILD_DIR
+@end example
+
+The standard build and install procedure (with @code{autogen.sh},
+@code{configure}, @code{make}, @code{make install}, @code{make doc}
+@dots{}) does not rely on them.
+
+In addition, for working on the website, @code{LILYPOND_WEB_MEDIA_GIT}
+should be set to the repository lilypond-extra, see
+@ref{lilypond-extra}.
+
@node Meisters
@section Meisters
(assuming you want to follow the standard naming conventions).
@item
-Create an environment variable called LILYPOND_GIT and make it
-equal to the location of your new git repo. You can do this by
-editing @file{$HOME/.profile} and adding the line:
-@example
-export LILYPOND_GIT=~/lilypond-git
-@end example
-then logging out and in.
+Create environment variables @var{LILYPOND_GIT} and
+@var{LILYPOND_BUILD_DIR}, see @ref{Environment variables}.
@item
Run patchy once to set up config files, answer @q{@code{n}} when it
is strictly additional to the log files.
@item
-Logfiles from calling lilypond (as part of lilypond-book) will go
-in the relevant @file{build/out/lybook-db/12/lily-123456.log}
-file. All other logfiles will go in the @file{build/logfiles/}
+Logfiles from calling lilypond (as part of lilypond-book) will go in
+the relevant
+@file{$LILYPOND_BUILD_DIR/out/lybook-db/12/lily-123456.log} file. All
+other logfiles will go in the @file{$LILYPOND_BUILD_DIR/logfiles/}
directory.
A single @code{make doc} will therefore result in hundreds of log
git fetch
git checkout origin/release/unstable
git merge origin
-make -C /path/to/top-build-dir po-replace
-mv /path/to/top-build-dir/po/lilypond.pot po/
+make -C $LILYPOND_BUILD_DIR po-replace
+mv $LILYPOND_BUILD_DIR/po/lilypond.pot po/
vi Documentation/web/news-front.itexi Documentation/web/news.itexi
@end example
Update lilypond.pot:
@example
-make po-replace
+make -C $LILYPOND_BUILD_DIR po-replace
+mv $LILYPOND_BUILD_DIR/po/lilypond.pot po/
@end example
-If you run this outside the source tree, move @file{po/lilypond.pot}
-to the source tree.
@item
Make directories on lilypond.org:
@subheading Building the website (quick local)
Initial setup: make sure that you have the environment variables
-@code{$LILYPOND_GIT} and @code{$LILYPOND_WEB_MEDIA_GIT} set up
-correctly. For more information, see @ref{Other repositories}.
+@code{$LILYPOND_GIT}, @code{$LILYPOND_BUILD_DIR} and
+@code{$LILYPOND_WEB_MEDIA_GIT} set up correctly. For more
+information, see @ref{Environment variables}.
Once that is done,
@example
-cd $LILYPOND_GIT/build/
+cd $LILYPOND_BUILD_DIR
make website
@end example
Translations are not included by default in @code{make website}.
To test your translation, edit the @code{WEB_LANGUAGES =} line in
@file{python/langdefs.py}. You will need to copy this updated
-script to @code{build/python/out}.
+script to @code{$LILYPOND_BUILD_DIR/python/out}.
Do not submit a patch to add your language to this file unless
@code{make website} completes with fewer than 5 warnings.