Library.gnome.org as hosted on GNOME.org
Contents
Security
Anyone in the 'gnomeweb' group can change library.gnome.org on the server.
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
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
Log files
Apache log:
/var/log/httpd/library.gnome.org/{access,error}_log
libgo script output:
http://www.gnome.org/updatelogs/
How to set it up
Please change as currently it is specific to how it was set up for gnome.org
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)
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.