The GNOME Web sites are stored in cvs.gnome.org in gnomeweb-wml, web-devel-2, and foundation-web modules, as too are lxr (cvs), bonsai (cvs), and bugzilla:
| Site | Module |
|---|---|
| www.gnome.org | gnomeweb-wml |
| foundation.gnome.org | foundation-web |
| developer.gnome.org | web-devel-2 |
| guadec.gnome.org | guadec-web |
| cvs.gnome.org | bonsai and lxr |
| bugzilla.gnome.org | bugzilla |
| mail.gnome.org | none |
| irc.gnome.org | none |
Instructions for using GNOME CVS are located at developer.gnome.org tools. Check out one, or all, of the modules out.
Run, at the top of each module,
autogen.sh --with-http-prefix=HOST/PATH, where HOST is
the base URL where you will access the test site. HOST may be like
http://www.myisp.net/~/me/www.gnome.org. Leave HOST blank if you
are using virtual hosts on a development server (see the table
below).
For each site within each module, cd into it, and
type make to build the test site. The web-devel-2
module is an exception, cd into its content directory
and run make.
I recommend setting up apache with vhosts, one for each Web site you wish to work on. Almost any Web server that will do, though PHP may require configuration. Consult your Web server documentation for specifics. What follows are the basic steps I took QA my changes to the code.
| Site | Virtual host |
|---|---|
| www.gnome.org | http://wgo |
| foundation.gnome.org | http://fgo |
| developer.gnome.org | http://dgo |
| guadec.gnome.org | http://ggo |
I added additional host names to my /etc/hosts file:
127.0.0.1 autumn localhost wgo dgo fgo ggo lgo
Check that the htaccess files are enabled in the apache
httpd.conf:
AccessFileName .htaccess
Check that virtual host naming is enabled in the apache
httpd.conf:
NameVirtualHost *
To the apache httpd.conf, add a section like below to for
each virtual host. Note that developer.gnome.org is an exception,
its DocumentRoot is web-devel-2/html/:
<VirtualHost *>
DocumentRoot /home/chovey/Projects/gnome2/gnomeweb-wml/www.gnome.org/
ServerName wgo
</VirtualHost>
Restart Apache. With your browser, test that everything worked by
visiting each site. Using the setup described above the location
http://wgo/ should display the www.gnome.org homepage.
Make your changes to the site(s) using your editor. Issue the
make command at the top of the site directory to
regenerate the site to see your changes. The make program uses
the Makefile.am file in each directory to call a script
that merges header, footer and CSS content with the source page to
generate the final page. The scripts and included content are
located at the top of the module in the scripts and include
directories.
If you add files to a site, be sure to update the
Makefile.am file in the same directory with the file
names. Makefile.am contains the list of files that
the make program must compile and/or generate for the site.
If you create a directory, you must also create a
Makefile.am in that directory, and you
must add that Makefile.am to the
configure.in file located at the top of the module.
You must rerun autogen.sh --with-http-prefix=HOST
to make file and directory additions take affect, and you must
run make to see them.
Moving a directory will break its history in CVS, so please contact a CVS administrator to make arrangements. Breaking URLs is a bad thing for search engines, bookmarks, and linking sites. If an asset must move, a redirect should be setup in the htaccess file located at the top of the module. Note that the htaccess file is copied by the make program to the generated site as .htaccess.
Some older PHP application require the true GNOME server to run so they cannot easily be developed.
Check out the suggested tools page for advice about tools to make and check your changes.
If you created new files and directories, add them to cvs. Remove
your deleted files from CVS. You should run cvs up at
the top of the module to get the most recent changes from CVS. Be
sure to check that none of your change show up as a conflict.
Run the prepare-ChangeLog.pl script (from
developer.gnome.org scripts) at
the top of the module. Update the ChangeLog file at the
top of the module with your changes. The modules's maintainer can
give you permission to commit after the patch is reviewed. If you
do not have commit rights, the maintainer or another member of the
Webhackers group can.
To create a patch, run
cvs diff > module_name-your_name-fix_description.patch
at the top of the
module. The patch should be sent to the gnome-web-list to notify
someone to review your changes. If you can catch the attention of a
maintainer in #webhackers on IRC, you can send the patch to them.
If the fix is for a filed bug in bugzilla, then the bug number will be a suitable description for the patch. Please update the bug in bugzilla by attaching the patch and use the keyword 'PATCH' so that it can be found.