X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fcontributor%2Fbuild-notes.itexi;h=dcfb147ec64fba7004360f0d1a131ebc3516c9ed;hb=84cdc498410193c81778d4364796ef0ac86530de;hp=0e7f7c7de69bb7d60ea3211b56979fda8077006c;hpb=392a7071f8aa83557d1563662d0329a41225c912;p=lilypond.git diff --git a/Documentation/contributor/build-notes.itexi b/Documentation/contributor/build-notes.itexi index 0e7f7c7de6..dcfb147ec6 100644 --- a/Documentation/contributor/build-notes.itexi +++ b/Documentation/contributor/build-notes.itexi @@ -479,446 +479,55 @@ The file @file{lily-bib.bst} also has fairly extensive commenting. Start here: @file{make/website.make} The overall build system begins with @ref{How stepmake works}. +Summary: when you type @code{make website} this ends up running +@file{GNUmakefile.in} in the @file{git} directory. Right at the +bottom, this has the lines: -However, we do believe that note that *none* of the variables that +@example +# we want this separate for security; see CG 4.2. -gp +website: + $(MAKE) config_make=$(config_make) \ + top-src-dir=$(top-src-dir) \ + -f $(top-src-dir)/make/website.make \ + website +@end example + +On my system this expands to: + +@example +make --no-builtin-rules config_make=./config.make \ + top-src-dir=/home/phil/lilypond-git \ + -f /home/phil/lilypond-git/make/website.make \ + website +@end example + +We see that the @code{$(MAKE)} expands to +@code{make --no-builtin-rules} which is how @code{MAKE} is +defined higher up the makefile. The -f switch defines the +makefile to be used - in this case +@file{git/make/website.make}. That's where all the action +happens. + +We believe that note that *none* of the variables that are loaded (from depth to version numbers to whatever) are used in @file{website.make}. Instead, @file{website.make} sets up its own variables at the top of the file. If you're wondering if there's some smart reason for this, then the answer is "no". It's because -I didn't know/trust the original variables when I was writing that -file. - +I (GP) didn't know/trust the original variables when I was writing +that file. Website build includes @ref{Building a bibliography}. @subsubheading Output from @code{make -n website} -Running @code{make -n website} gives the following output: +Sorry, including this output directly produces problems in the +build system. Please run: @example -make --no-builtin-rules config_make=./config.make \ - top-src-dir=/home/phil/lilypond-git \ - -f /home/phil/lilypond-git/make/website.make \ - website -make[1]: Entering directory `/home/phil/lilypond-git/build' -mkdir -p out-website -python /home/phil/lilypond-git/scripts/build/create-version-itexi.py /home/phil/lilypond-git > out-website/version.itexi -python /home/phil/lilypond-git/scripts/build/create-weblinks-itexi.py /home/phil/lilypond-git > out-website/weblinks.itexi -for l in '' cs de es fr hu it ja nl zh; do \ - python /home/phil/lilypond-git/scripts/build/extract_texi_filenames.py \ - -I /home/phil/lilypond-git/Documentation \ - -I /home/phil/lilypond-git/Documentation/"$l" \ - -I out-website -o out-website --split=node \ - /home/phil/lilypond-git/Documentation/"$l"/web.texi ;\ - for m in /home/phil/lilypond-git/Documentation/changes.tely /home/phil/lilypond-git/Documentation/essay.tely /home/phil/lilypond-git/Documentation/extending.tely /home/phil/lilypond-git/Documentation/learning.tely /home/phil/lilypond-git/Documentation/music-glossary.tely /home/phil/lilypond-git/Documentation/notation.tely /home/phil/lilypond-git/Documentation/snippets.tely /home/phil/lilypond-git/Documentation/usage.tely /home/phil/lilypond-git/Documentation/contributor.texi; do \ - n=`echo "$m" | sed 's/Documentation/Documentation\/'$l'/'` ; \ - b=`basename "$n" .texi`; \ - d=`basename "$b" .tely`; \ - if [ -e "$n" ] ; then \ - python /home/phil/lilypond-git/scripts/build/extract_texi_filenames.py \ - -I /home/phil/lilypond-git/Documentation \ - -I /home/phil/lilypond-git/Documentation/"$l" \ - -I /home/phil/lilypond-git/Documentation/"$l"/"$d" \ - -I out-website -o out-website "$n" ; \ - fi ; \ - done; \ - done; -BSTINPUTS=/home/phil/lilypond-git/Documentation/web \ - python /home/phil/lilypond-git/scripts/build/bib2texi.py -s web \ - -s /home/phil/lilypond-git/Documentation/lily-bib \ - -o out-website/others-did.itexi \ - /home/phil/lilypond-git/Documentation/web/others-did.bib -BSTINPUTS=/home/phil/lilypond-git/Documentation/web \ - python /home/phil/lilypond-git/scripts/build/bib2texi.py -s web \ - -s /home/phil/lilypond-git/Documentation/lily-bib \ - -o out-website/we-wrote.itexi \ - /home/phil/lilypond-git/Documentation/web/we-wrote.bib -for l in '' cs de es fr hu it ja nl zh; do \ - if test -n "$l"; then \ - langopt=--lang="$l"; \ - langsuf=.$l; \ - fi; \ - ONLY_WEB=1 TOP_SRC_DIR=/home/phil/lilypond-git DEPTH= PERL_UNICODE=SD texi2html --prefix=index \ - --split=section \ - --I=/home/phil/lilypond-git/Documentation/"$l" \ - --I=/home/phil/lilypond-git/Documentation \ - --I=out-website \ - $langopt \ - --init-file=/home/phil/lilypond-git/Documentation/lilypond-texi2html.init \ - -D web_version \ - --output=out-website/"$l" \ - /home/phil/lilypond-git/Documentation/"$l"/web.texi ; \ - ls out-website/$l/*.html | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!out-website/'$l'/!!g' | xargs python /home/phil/lilypond-git/scripts/build/mass-link.py --prepend-suffix="$langsuf" hard out-website/$l/ out-website/website/ ; \ - done -cp /home/phil/lilypond-git/Documentation/css/*.css out-website/website -mkdir -p out-website/website/pictures -if [ -d Documentation/pictures/out-www ]; \ - then \ - cp Documentation/pictures/out-www/* out-website/website/pictures ; \ - ln -sf website/pictures out-website/pictures ;\ - fi -mkdir -p out-website/website/ly-examples -if [ -d Documentation/web/ly-examples/out-www ]; \ - then \ - cp Documentation/web/ly-examples/out-www/* out-website/website/ly-examples ; \ - fi -python /home/phil/lilypond-git/scripts/build/website_post.py out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/favicon.ico out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/robots.txt out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/lilypond.org.htaccess out-website/.htaccess -cp /home/phil/lilypond-git/Documentation/web/server/website-dir.htaccess out-website/website/.htaccess -make[1]: Leaving directory `/home/phil/lilypond-git/build' +make -n website &> my-file.txt @end example -And, although there's rather a lot of text here, here's the output -when @code{make website} is run: - -@example -make --no-builtin-rules config_make=./config.make \ - top-src-dir=/home/phil/lilypond-git \ - -f /home/phil/lilypond-git/make/website.make \ - website -make[1]: Entering directory `/home/phil/lilypond-git/build' -mkdir -p out-website -python /home/phil/lilypond-git/scripts/build/create-version-itexi.py /home/phil/lilypond-git > out-website/version.itexi -python /home/phil/lilypond-git/scripts/build/create-weblinks-itexi.py /home/phil/lilypond-git > out-website/weblinks.itexi -for l in '' cs de es fr hu it ja nl zh; do \ - python /home/phil/lilypond-git/scripts/build/extract_texi_filenames.py \ - -I /home/phil/lilypond-git/Documentation \ - -I /home/phil/lilypond-git/Documentation/"$l" \ - -I out-website -o out-website --split=node \ - /home/phil/lilypond-git/Documentation/"$l"/web.texi ;\ - for m in /home/phil/lilypond-git/Documentation/changes.tely /home/phil/lilypond-git/Documentation/essay.tely /home/phil/lilypond-git/Documentation/extending.tely /home/phil/lilypond-git/Documentation/learning.tely /home/phil/lilypond-git/Documentation/music-glossary.tely /home/phil/lilypond-git/Documentation/notation.tely /home/phil/lilypond-git/Documentation/snippets.tely /home/phil/lilypond-git/Documentation/usage.tely /home/phil/lilypond-git/Documentation/contributor.texi; do \ - n=`echo "$m" | sed 's/Documentation/Documentation\/'$l'/'` ; \ - b=`basename "$n" .texi`; \ - d=`basename "$b" .tely`; \ - if [ -e "$n" ] ; then \ - python /home/phil/lilypond-git/scripts/build/extract_texi_filenames.py \ - -I /home/phil/lilypond-git/Documentation \ - -I /home/phil/lilypond-git/Documentation/"$l" \ - -I /home/phil/lilypond-git/Documentation/"$l"/"$d" \ - -I out-website -o out-website "$n" ; \ - fi ; \ - done; \ - done; -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//web.texi -writing: out-website/web.xref-map -NOT A DIR from: /home/phil/lilypond-git/build /home/phil/lilypond-git/Documentation//changes -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//changes.tely -writing: out-website/changes.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//essay.tely -No such file: colorado.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//essay:out-website -No such file: computer-notation.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//essay:out-website -No such file: engravingbib.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//essay:out-website -writing: out-website/essay.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//extending.tely -writing: out-website/extending.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//learning.tely -writing: out-website/learning.xref-map -NOT A DIR from: /home/phil/lilypond-git/build /home/phil/lilypond-git/Documentation//music-glossary -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//music-glossary.tely -writing: out-website/music-glossary.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//notation.tely -No such file: markup-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: markup-list-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: context-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: layout-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: identifiers.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: type-predicates.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -No such file: scheme-functions.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//notation:out-website -writing: out-website/notation.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//snippets.tely -No such file: pitches.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: rhythms.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: expressive-marks.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: repeats.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: simultaneous-notes.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: staff-notation.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: editorial-annotations.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: text.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: vocal-music.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: chords.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: keyboards.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: percussion.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: fretted-strings.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: unfretted-strings.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: winds.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: ancient-notation.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: world-music.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: contexts-and-engravers.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: tweaks-and-overrides.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: paper-and-layout.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: titles.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: spacing.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: midi.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -No such file: template.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/:/home/phil/lilypond-git/Documentation//snippets:out-website -writing: out-website/snippets.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//usage.tely -writing: out-website/usage.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation//contributor.texi -writing: out-website/contributor.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/cs/web.texi -writing: out-website/web.cs.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/cs/learning.tely -No such file: learning/working.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/cs:/home/phil/lilypond-git/Documentation/cs/learning:out-website -No such file: learning/scheme-tutorial.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/cs:/home/phil/lilypond-git/Documentation/cs/learning:out-website -writing: out-website/learning.cs.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/web.texi -writing: out-website/web.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/essay.tely -No such file: colorado.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/essay:out-website -No such file: computer-notation.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/essay:out-website -No such file: engravingbib.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/essay:out-website -writing: out-website/essay.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/extending.tely -writing: out-website/extending.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/learning.tely -No such file: learning/working.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/learning:out-website -No such file: learning/scheme-tutorial.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/learning:out-website -writing: out-website/learning.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/notation.tely -No such file: notation/programming-interface.itely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: markup-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: markup-list-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: context-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: layout-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: identifiers.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: type-predicates.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -No such file: scheme-functions.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/de:/home/phil/lilypond-git/Documentation/de/notation:out-website -writing: out-website/notation.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/de/usage.tely -writing: out-website/usage.de.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/web.texi -writing: out-website/web.es.xref-map -NOT A DIR from: /home/phil/lilypond-git/build /home/phil/lilypond-git/Documentation/es/changes -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/changes.tely -writing: out-website/changes.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/essay.tely -No such file: colorado.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/essay:out-website -No such file: computer-notation.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/essay:out-website -No such file: engravingbib.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/essay:out-website -writing: out-website/essay.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/extending.tely -writing: out-website/extending.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/learning.tely -writing: out-website/learning.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/notation.tely -No such file: markup-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: markup-list-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: context-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: layout-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: identifiers.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: type-predicates.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -No such file: scheme-functions.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/es:/home/phil/lilypond-git/Documentation/es/notation:out-website -writing: out-website/notation.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/es/usage.tely -writing: out-website/usage.es.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/fr/web.texi -writing: out-website/web.fr.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/fr/essay.tely -No such file: colorado.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/essay:out-website -No such file: computer-notation.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/essay:out-website -No such file: engravingbib.itexi -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/essay:out-website -writing: out-website/essay.fr.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/fr/learning.tely -writing: out-website/learning.fr.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/fr/notation.tely -No such file: markup-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: markup-list-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: context-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: layout-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: identifiers.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: type-predicates.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -No such file: scheme-functions.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/fr:/home/phil/lilypond-git/Documentation/fr/notation:out-website -writing: out-website/notation.fr.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/fr/usage.tely -writing: out-website/usage.fr.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/hu/web.texi -writing: out-website/web.hu.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/hu/learning.tely -writing: out-website/learning.hu.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/hu/usage.tely -writing: out-website/usage.hu.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/it/web.texi -writing: out-website/web.it.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/it/learning.tely -writing: out-website/learning.it.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/ja/web.texi -writing: out-website/web.ja.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/ja/learning.tely -writing: out-website/learning.ja.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/ja/notation.tely -No such file: markup-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: markup-list-commands.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: context-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: layout-properties.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: identifiers.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: type-predicates.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -No such file: scheme-functions.tely -Search path: .:/home/phil/lilypond-git/Documentation:/home/phil/lilypond-git/Documentation/ja:/home/phil/lilypond-git/Documentation/ja/notation:out-website -writing: out-website/notation.ja.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/ja/usage.tely -writing: out-website/usage.ja.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/nl/web.texi -writing: out-website/web.nl.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/nl/learning.tely -writing: out-website/learning.nl.xref-map -extract_texi_filenames.py: Processing /home/phil/lilypond-git/Documentation/zh/web.texi -writing: out-website/web.zh.xref-map -BSTINPUTS=/home/phil/lilypond-git/Documentation/web \ - python /home/phil/lilypond-git/scripts/build/bib2texi.py -s web \ - -s /home/phil/lilypond-git/Documentation/lily-bib \ - -o out-website/others-did.itexi \ - /home/phil/lilypond-git/Documentation/web/others-did.bib -This is BibTeX, Version 0.99c (TeX Live 2009/Debian) -The top-level auxiliary file: /tmp/tmpvZPaJNbib2texi.aux -The style file: /home/phil/lilypond-git/Documentation/lily-bib.bst -Database file #1: /home/phil/lilypond-git/Documentation/web/others-did.bib -Invoking `TEXMFOUTPUT=/tmp bibtex /tmp/tmpvZPaJNbib2texi' -BSTINPUTS=/home/phil/lilypond-git/Documentation/web \ - python /home/phil/lilypond-git/scripts/build/bib2texi.py -s web \ - -s /home/phil/lilypond-git/Documentation/lily-bib \ - -o out-website/we-wrote.itexi \ - /home/phil/lilypond-git/Documentation/web/we-wrote.bib -This is BibTeX, Version 0.99c (TeX Live 2009/Debian) -The top-level auxiliary file: /tmp/tmpgB8NhBbib2texi.aux -The style file: /home/phil/lilypond-git/Documentation/lily-bib.bst -Database file #1: /home/phil/lilypond-git/Documentation/web/we-wrote.bib -Invoking `TEXMFOUTPUT=/tmp bibtex /tmp/tmpgB8NhBbib2texi' -for l in '' cs de es fr hu it ja nl zh; do \ - if test -n "$l"; then \ - langopt=--lang="$l"; \ - langsuf=.$l; \ - fi; \ - ONLY_WEB=1 TOP_SRC_DIR=/home/phil/lilypond-git DEPTH= PERL_UNICODE=SD texi2html --prefix=index \ - --split=section \ - --I=/home/phil/lilypond-git/Documentation/"$l" \ - --I=/home/phil/lilypond-git/Documentation \ - --I=out-website \ - $langopt \ - --init-file=/home/phil/lilypond-git/Documentation/lilypond-texi2html.init \ - -D web_version \ - --output=out-website/"$l" \ - /home/phil/lilypond-git/Documentation/"$l"/web.texi ; \ - ls out-website/$l/*.html | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!out-website/'$l'/!!g' | xargs python /home/phil/lilypond-git/scripts/build/mass-link.py --prepend-suffix="$langsuf" hard out-website/$l/ out-website/website/ ; \ - done -Initializing settings for web site: [] -mass-link.py -Initializing settings for web site: [cs] -WARNING: Unable to find node 'Řešení potíží' in book usage. -WARNING: Unable to find node 'Proč se mění skladba?' in book usage. -mass-link.py -Initializing settings for web site: [de] -mass-link.py -Initializing settings for web site: [es] -mass-link.py -Initializing settings for web site: [fr] -mass-link.py -Initializing settings for web site: [hu] -mass-link.py -Initializing settings for web site: [it] -mass-link.py -Initializing settings for web site: [ja] -mass-link.py -Initializing settings for web site: [nl] -mass-link.py -Initializing settings for web site: [zh] -mass-link.py -cp /home/phil/lilypond-git/Documentation/css/*.css out-website/website -mkdir -p out-website/website/pictures -if [ -d Documentation/pictures/out-www ]; \ - then \ - cp Documentation/pictures/out-www/* out-website/website/pictures ; \ - ln -sf website/pictures out-website/pictures ;\ - fi -mkdir -p out-website/website/ly-examples -if [ -d Documentation/web/ly-examples/out-www ]; \ - then \ - cp Documentation/web/ly-examples/out-www/* out-website/website/ly-examples ; \ - fi -python /home/phil/lilypond-git/scripts/build/website_post.py out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/favicon.ico out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/robots.txt out-website/website -cp /home/phil/lilypond-git/Documentation/web/server/lilypond.org.htaccess out-website/.htaccess -cp /home/phil/lilypond-git/Documentation/web/server/website-dir.htaccess out-website/website/.htaccess -make[1]: Leaving directory `/home/phil/lilypond-git/build'@end example - - +to see the full output from the make. @subsubheading website.make variables @@ -941,9 +550,15 @@ Parts of @file{website.make}: @itemize +@item +@code{website:} +this is the "master" rule. It calls the other rules in order, +then copies some extra files around - see below for further +of the process it produces. + @item @code{website-version}: -this calls python scripts to define teinxfo macros. +this calls the python scripts below: @itemize @item @@ -987,7 +602,9 @@ of @@node's [sic teenager pluralization rule] from the file. @item @code{website-bib:} -generates the bibliography texinfo files from the .bib files. +generates the bibliography texinfo files from the .bib files - in +the case of the website build these are @file{others-did.bib} and +@file{we-wrote.bib}. @item @code{website-texinfo:} @@ -995,6 +612,20 @@ this is the main part; it calles texi2html to generate the actual html. It also has a ton of options to texi2html to pass info to our custom init file. +The file actually built is called @file{web.texi}, and is either +in the @file{Documentation} directory, or a sub-directory specific +to the language. + +The options file is @file{/Documentation/lilypond-texi2html.init}. +This contains *lots* of option and configuration stuff, and also +includes the line: + +@example +print STDERR "Initializing settings for web site: [$Texi2HTML::THISDOC@{current_lang@}]\n"; +@end example + +This is where one of the console messages is generated. + We have somewhere between 2-4 different ways "to pass info to our custom init file". This is highly Not Good (tm), but that's how things work at the moment. @@ -1036,67 +667,90 @@ bottom of html pages, and adds the google analytics javascript. It also has hard-coded lilypond version numbers, which is Bad (tm). -@item -@code{website:} -this is the "master" rule. It calls the bits and pieces in order, -then copies some extra files around. - @end itemize +Here's a summary of what gets called, in what order, when we run +@code{make website} + +@example +website: + website-texinfo: + website-version: + creates version.itexi and weblinks.itexi + website-xrefs: + runs extract_texi_filenames.py + website-bibs: + creates bibliography files, described above + website-css: + copies css files + website-pictures: + copies pictures + website-examples: + copies examples + web-post: + runs website_post.py + Then some file copying +@end example @node Building an Ubuntu distro @section Building an Ubuntu distro + +Here's the short instruction on how to create lilybuntu iso image +(Jonathan Kulp did this on a spare drive, +but he supposes it can be done in a VM too): + @enumerate + @item -Install ubuntu, reboot +Install ubuntu, reboot. @item -Run all updates, reboot if asked +Run all updates, reboot if asked. @item -Enable src repos, refresh package lists +Enable src repos, refresh package lists. @item Install LilyPond build deps: @example - sudo apt-get build-dep lilypond +sudo apt-get build-dep lilypond @end example @item Install git and autoconf: @example - sudo apt-get install git-core gitk autoconf +sudo apt-get install git-core gitk autoconf @end example @item -TEST TO SEE WHETHER EVERYTHING WORKS NOW: +Test to see whether everything works fine now: @enumerate @item -Use lily-git.tcl to grab source files +use @command{lily-git.tcl} to grab source files @item -Go to source dir and do "./autogen.sh" ; make ; make doc +go to source dir and do +@example +"./autogen.sh" ; make ; make doc +@end example @item -If all compiles, move on to iso creation... - +if all compiles, move on to iso creation... @end enumerate @item Download & install "remastersys": -@example - http://sourceforge.net/projects/remastersys/ -@end example -@item -Copy lily-git.tcl script file into /etc/skel/ +@uref{http://sourceforge.net/projects/remastersys/, http://sourceforge.net/projects/remastersys/} @item -Modify /etc/remastersys.conf as desired (change .iso name, default -live session username, etc) +Copy @command{lily-git.tcl} script file into @file{/etc/skel/}. @item -Remove non-essential desktop software as desired +Modify @file{/etc/remastersys.conf} as desired (change @code{.iso} name, +default live session username, etc). @item -Create iso: sudo remastersys dist +Remove non-essential desktop software as desired. @item -New iso is in /home/remastersys/remastersys/ +Create iso: +@example +sudo remastersys dist +@end example +New iso is in @file{/home/remastersys/remastersys/}. @item Test iso by installing in VM and repeating steps above for -getting source files and building lp and docs -@end enumerate - - +getting source files and building lp and docs. +@end enumerate