Doc: CG: clarify mentors, website, and release.
authorGraham Percival <graham@percival-music.ca>
Sat, 16 Jan 2010 14:24:22 +0000 (14:24 +0000)
committerGraham Percival <graham@percival-music.ca>
Sat, 16 Jan 2010 14:24:22 +0000 (14:24 +0000)
Documentation/contributor/introduction.itexi
Documentation/contributor/release-work.itexi
Documentation/contributor/website-work.itexi

index dfcd37a6de811d66f4388096639185f16fe895a7..df5b5bcded5f961cd2f67d0dec593cd988e4c82f 100644 (file)
@@ -126,7 +126,9 @@ somebody else.
 
 @item
 Inform your mentor if you're willing to do more work -- we always
-have way more work than we have helpers available.
+have way more work than we have helpers available.  We try to
+avoid overwhelming new contributors, so you'll be given less work
+than we think you can handle.
 
 @end enumerate
 
index 84e2b8ab987511b3d93bcad47f1f7e306cd0a95a..144b863d5d953a1afb1bf2c8b4bbad47b97c9948 100644 (file)
@@ -277,20 +277,6 @@ Regenerating regtests (if the lilypond-book naming has changed):
 - make lilypond
 
 
-New contributor / mentor idea:
-
-- tell them to spend 10 minutes on a problem, then give up and ask
-  for help from their mentor
-
-- the mentor should tell them if a "make clean; make" (or the same
-  for docs) is required
-
-
-Latest website:
-
-- generated hourly on lilypond.org.  Only split-HTML; big-html and
-  pdf are not generated hourly (wait for the next devel release)
-
 
 VERSION-SPECIFIC MACROS
 
@@ -345,26 +331,31 @@ after 2.13.11; I need a chance to test these instructions)
 
 2. make a release announcement by editing:
   Documentation/web/news-front.itexi
-(and maybe moving the oldest news item to news-old.itexi)
+  Documentation/web/news.itexi
+(moving the oldest news item to news-old.itexi)
 
 3. upload:
   git push release/unstable
 
 4. make GUB as "normal"
-  make LILYPOND_BRANCH=release/unstable -f lilypond.make doc
+  make LILYPOND_BRANCH=release/unstable lilypond
 (if this works, make it the default for GUB)
 
 5. upload git, etc.
 
-6. update VERSION, commit, push.
+6. switch back to master and get the updated news:
+  git checkout master
+  git cherry-pick release/unstable
+
+NOTE: this only works on the last change to release/unstable; if
+you had to hack more things to get the release working, then
+you'll need to put the hash directly in there
+
+7. update VERSION, commit, push.
   VERSION = what you just did +0.0.1
   DEVEL_VERSION = what you just did (i.e. is now online)
   STABLE_VERSION = what's online
 
-7. switch back to master and merge the changes
-  git merge release/unstable
-(FIXME: only if the release announcement+version are the only
-changes; if you hacked more stuff, then try cherry-picking)
 
 8. (for now)  manually upload
   Documentation/pictures/out-www/
index 4ed46a5297d1e34e77e7434f1fd22da28b995b47..b78eedb2cf9fd09528ea646c1422344cc89e2327 100644 (file)
@@ -51,29 +51,92 @@ existing texinfo files.
 @node Uploading and security
 @section Uploading and security
 
-FIXME: currently these are plans, not yet completely implemented.
-Hey, I'm doing the reponsible "write documentation first, then
-code" thing!  I rock!  -gp
-
 The website is generated hourly by user @code{graham} the host
 @code{lilypond.org}.  For security reasons, we do not use the
 makefiles and scripts directly from git; copies of the relevant
-scripts (below) are examined and copied to
-@file{~graham/trusted-scripts} on the host.
+scripts are examined and copied to
+@code{~graham/lilypond/trusted-scripts/}
+
+Get latest source code:
+
+@verbatim
+### update-git.sh
+#!/bin/sh
+cd $HOME/src/lilypond
+git fetch origin
+git merge origin/master
+@end verbatim
+
+Check for any updates to trusted scripts:
+
+@verbatim
+### check-git.sh
+#!/bin/sh
+GIT=$HOME/src/lilypond
+DEST=$HOME/lilypond/trusted-scripts
+diff -u $GIT/website.make $DEST/website.make
+diff -u $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
+diff -u $GIT/scripts/build/extract_texi_filenames.py $DEST/extract_texi_filenames.py
+diff -u $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
+@end verbatim
+
+If the changes look ok, make them trusted:
+
+@verbatim
+### copy-from-git.sh
+#!/bin/sh
+GIT=$HOME/src/lilypond
+DEST=$HOME/lilypond/trusted-scripts
+cp $GIT/website.make $DEST/website.make
+cp $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
+cp $GIT/scripts/build/extract_texi_filenames.py $DEST/extract_texi_filenames.py
+cp $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
+@end verbatim
+
+Build the website:
+
+@verbatim
+### make-website.sh
+#!/bin/sh
+DEST=$HOME/public_html/
+cd $HOME/src/build-website
+cp $HOME/lilypond/trusted-scripts/website.make .
+
+make -f website.make WEBSITE_ONLY_BUILD=1 website
+rsync -ra $HOME/src/build-website/out-website/website/ $DEST/website/
+cp $HOME/src/build-website/out-website/pictures $DEST
+@end verbatim
+
+Cronjob to automate the trusted portions:
+
+@verbatim
+# website-rebuild.cron
+11 * * * * $HOME/lilypond/trusted-scripts/update-git.sh >/dev/null 2>&1
+22 * * * * $HOME/lilypond/trusted-scripts/make-website.sh >/dev/null 2>&1
+@end verbatim
 
-@example
-website.make
-scripts/build/extract_texi_filenames.py
-@end example
 
 To reduce the CPU burden on the shared host (as well as some
 security concerns), the @file{Documentation/pictures/} and
 @file{Documentation/web/ly-examples/} directories are @strong{not}
 compiled.  If you modify any files in those directories, a user in
 the @code{lilypond} group must upload them to @file{~graham/media}
-on the host.  This is done by running (locally) @code{make doc},
-followed by @code{scripts/build/upload-web-media.sh}.
+on the host.
+
+Upload latest pictures/ and ly-examples/ (local script):
+
+@verbatim
+### upload-lily-web-media.sh
+#!/bin/sh
+BUILD_DIR=$HOME/src/build-lilypond
+
+PICS=$BUILD_DIR/Documentation/pictures/out-www/
+EXAMPLES=$BUILD_DIR/Documentation/web/ly-examples/out-www/
 
+cd $BUILD_DIR
+rsync -a $PICS graham@lilypond.org:media/pictures
+rsync -a $EXAMPLES graham@lilypond.org:ly-examples
+@end verbatim
 
 
 @node Translating the website