1. Library.gnome.org as hosted on GNOME.org
Contents
1.1. Security
Anyone in the 'gnomeweb' group can change library.gnome.org on the server.
1.2. Location
library.gnome.org exists on the window.gnome.org server under the gnomeweb user.
Use:
sudo -s -u gnomeweb -H
to switch to that user (if you have a shell with gnomeweb access)
Checkout root:
~/svn-wd/library-web
this auto-updates after a commit to library-web SVN module
Jhbuild root (code):
~/svn-wd/jhbuild
code / moduleset currently does NOT auto-update
GNOME SVN root (created by jhbuild update):
~/svn-wd/gnome
updated daily by jhbuild -- but the modulesets aren't updated!!!
Output directory:
/usr/local/www/library-web
1.3. What auto-updates
Daily:
- gnome checkout dir
- documentation (e.g. the libgo script runs at least once a day)
After a commit to library-web:
- ~/svn-wd/library-web auto-updates
- libgo script is executed
1.4. Log files
Apache log:
/var/log/httpd/library.gnome.org/{access,error}_log
libgo script output:
http://www.gnome.org/updatelogs/
2. How to set it up
Please change as currently it is specific to how it was set up for gnome.org
2.1. Requirements
You need:
- Python
- gtk-doc
- gnome-doc-utils
- git (for some jhbuild modules)
- svn
- At least 3GB free
- Output directory on the server is: 365MB
- GNOME SVN checkout is: 2.7GB
- Unknown amount for tarfiles from ftp.gnome.org
Optional:
- apache (you can also just open the created .html files in a browser)
2.2. Steps
Create some directories:
mkdir -p ~/svn-wd ~/tmp/jhbuild /usr/local/www/library-web
Note: Probably good to replace /usr/local/www/library-web with ~/public_html/library-web.
Check out some software: {{{cd ~/svn-wd svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild svn co http://svn.gnome.org/svn/library-web/trunk library-web }}}
Setup jhbuild: {{{cd ~/svn-wd/jhbuild make install}}}
Create a file named ~/.jhbuildrc with the following contents: {{{checkoutroot = os.path.expanduser('~/svn-wd/gnome')
# the prefix to configure/install modules to (must have write access) prefix = os.path.expanduser('~/tmp/jhbuild')
# if you do not want to use system-installed libraries for your builds, comment # out the lines below addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'lib', 'pkgconfig')) addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'share', 'pkgconfig'))
# a alternative install program to use. # The included install-check program won't update timestamps if the # header hasn't changed os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')}}}
Check out GNOME SVN (and some related software):
~/bin/jhbuild update
Create the html files in /usr/local/www/library-web:
cd ~/svn-wd/library-web ./libgo -f /ftp/pub/GNOME -V -j ~/svn-wd/gnome/ /usr/local/www/library-web/
Note: Above probably does not work as it expects a ftp.gnome.org mirror in /ftp/pub/GNOME. Not sure if it still works if you leave out '-f /ftp/pub/GNOME'. Also perhaps good to replace /usr/local/www/library-web with ~/public_html/library-web.