Developers:
* Building - standard autotools - Do not edit configure or Makefile or Makefile.in -
Instead, change Makefile.am or configure.ac, then run autoreconf -fvi - do not
attempt to run aclocal or automake or autoconf - only use autoreconf -fvi - this
also applies to the files in m4/, that is, if you modify them, you must run
autoreconf -fvi
* configure - DSGW requires NSPR, NSS, Mozilla LDAP C SDK, ICU, and AdminUtil - these
can be specified to configure (e.g.--with-nspr=/path), or configure will attempt
to find these components on the OS using pkg-config or icu-config
You can also specify --with-admserv=/path/to/admserv to make a DSGW package that
is compatible with the Admin Server (e.g. installs in clients/dsgw).
* Build process
0. Properties are in dbtdsgw.h - this file is used to generate the resource bundles
and is also used in the source code to refer to the property by its key
1. build propmaker
2. use propmaker to parse dbtdsgw.h and generate dsgw.properties
3. use genrb_wrapper.sh to "compile" dsgw.properties into dsgw_root.res
4. build the executable CGI programs
5. For a make install, copy the files to their desired directories - if you just
want to see how the files with be laid out in the file system, use
make DESTDIR=built install # create destination directory structure under built/
OR
make DESTDIR=/tmp/dsgwbuild # create dest dir under /tmp/dsgwbuild/
rpmbuild will typically do something like the latter
* Setup
1. The configure/make process creates a shell script called setup-ds-dsgw which is
installed in the sbindir (e.g. /usr/sbin for FHS). This
should be run after installation (e.g. after rpm -i). This gets the information
from the admin and directory server installation which it looks for under
/etc/dirsrv. After running setup, you can edit the files in /etc/dirsrv/dsgw
if needed (but you will usually not need to).
2. The old Admin Server had the DSGW (Directory Server Express and
Directory Server Gateway) hard coded in start-console.html - we now replace
this during setup - the file has this information commented out - during
setup, if we find that file, we uncomment out the relevant sections and
change the URL appropriately (e.g. replace @cgiuri@ with the real one)
3. We need to add some information to the httpd.conf file - to enable cgi-bin
execution, provide access to our HTML pages, and to set the environment
variable pointing to the config directory - The config directory will
usually be set during build/packaging, but can be overridden by SetEnv -
The setup process will copy the file dsgw-httpd.conf into the Apache
config directory (e.g. /etc/httpd/conf) and change httpd.conf to Include
the file