Library.gnome.org as hosted on GNOME.org

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.

GnomeWeb/Library/ServerDetails (last edited 2008-02-03 14:47:32 by localhost)