What about getting use of autoconf/automake?
Autoconf scares me.
It does not, however, scare me, at least to the extent that I know it.
I autoconfiscated the Makefile for 2.0.15pre1; attached it the
configure.in and Makefile.in that I used. It worked for my install.
To use it, do:
$ ./configure --help
The proper invocation of configure (with the correct options, which are
pretty obvious from the --help output) will produce a Makefile with the
appropriate settings. I’ve tested it by modifying the original Makefile
such that it contains all the settings I needed to modify, moving it to
Makefile.orig, running configure, and then diffing Makefile and
All of the appropriate rt variables are --with variables, with defaults
and descriptions taken from the Makefile:
Features and packages:
–disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
–enable-FEATURE[=ARG] include FEATURE [ARG=yes]
–with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
–without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
–x-includes=DIR X include files are in DIR
–x-libraries=DIR X library files are in DIR
–enable and --with options recognized:
–with-rt-path=PATH Name of the directory you want to install RT in (default: /opt/rt2)
–with-rt-lib-path=PATH Name of the directory you want to install RT libraries in (default: $RT_PATH/lib)
–with-rt-etc-path=PATH Name of the directory you want to install RT config in (default: $RT_PATH/etc)
–with-rt-bin-path=PATH Name of the directory you want to install RT binaries in (default: $RT_PATH/bin)
–with-rt-man-path=PATH Name of the directory you want to install RT man pages in (default: $RT_PATH/man)
–with-mason-html-path=PATH Name of the directory you want to be the HTML::Mason docroot (default: $RT_PATH/WebRT/html)
–with-destdir=PATH path where RT will eventuall reside (if different from $RT_PATH)
–with-rt-group=GROUP chgrp all files to GROUP (default: rt)
–with-bin-owner=OWNER User that should own rt binaries (default root)
–with-libs-owner=OWNER User that should own all of RT’s libraries (default root)
–with-libs-group=GROUP Group that should own rt binaries (default bin)
–with-rt-log-path=PATH Name of the directory in which you want logs to appear (default: /tmp)
–with-db-type=TYPE what sort of database RT trys to talk to (default: mysql)
–with-db-home=PATH where the database’s commandline tools live (default: /usr)
–with-db-dba=USER name of the DB user with permission to create new databases (default: root)
–with-db-dba-password=TYPE password for $DB_DBA
–with-db-host=HOSTNAME FQDN of database server (default: localhost)
–with-db-port=PORT Port on which the database server on $DB_HOST listen
–with-db-rt-host=HOSTNAME FQDN of database server (default: localhost)
–with-db-database=DBNAME name of the rt database (default: rt2)
–with-db-rt-user=DBUSER name of database user (default: rt_user)
–with-db-rt-pass=PASSWORD password for $DBUSER (default: rt_pass)
–with-web-user=USER name of web server (default: www)
–with-web-group=GROUP group of web server (default: rt)
There is some room for improvement (I only had an hour to do this – my
train ride is only an hour ;), like using the standard --libdir for what
is --with-rt-lib-dir, and the same for rt-bin-path, rt-man-path, and so
on. Patches welcome, of course.
Finally, I have not been following RT 2.1 development, so I have no idea
if/how this will translate to it.
We are not who we think we are.
We are not who others think we are.
We are who we think others think we are.
configure.in (5.69 KB)
Makefile.in (13 KB)