From: Richard Kettlewell Date: Mon, 9 Jun 2008 07:08:35 +0000 (+0100) Subject: Install CGI correctly. X-Git-Tag: 4.0.1~3 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/f03d418427984d413a11aa1de58fbffe33718403 Install CGI correctly. --- diff --git a/CHANGES.html b/CHANGES.html index d090beb..b0f27e0 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -57,6 +57,16 @@ span.command {

This file documents recent user-visible changes to DisOrder.

+

Changes up to version 4.0.1

+ +
+ +

Libtool and Automake now install the CGI correctly. As part of this, + cgidir has been renamed to cgiexecdir. The configure + script will report an error if you try to use the old name.

+ +
+

Changes up to version 4.0

diff --git a/README b/README index acd06ee..a6f6963 100644 --- a/README +++ b/README @@ -91,7 +91,7 @@ platform, please get in touch. If configure cannot guess where your web server keeps its HTML documents and CGI programs, you may have to tell it, for instance: - ./configure cgidir=/whatever/cgi-bin httpdir=/whatever/htdocs + ./configure cgiexecdir=/whatever/cgi-bin httpdir=/whatever/htdocs See README.client for setting up a standalone client (or read the disobedience man page). diff --git a/cgi/Makefile.am b/cgi/Makefile.am index e2fa895..72ea195 100644 --- a/cgi/Makefile.am +++ b/cgi/Makefile.am @@ -18,7 +18,7 @@ # USA # -cgi_PROGRAMS=disorder +cgiexec_PROGRAMS=disorder AM_CPPFLAGS=-I${top_srcdir}/lib -I../lib @@ -28,3 +28,6 @@ disorder_LDADD=../lib/libdisorder.a \ $(LIBPCRE) $(LIBGCRYPT) $(LIBDL) $(LIBDB) disorder_LDFLAGS=-export-dynamic disorder_DEPENDENCIES=../lib/libdisorder.a + +install-exec-hook: + $(LIBTOOL) --mode=finish $(DESTDIR)$(cgiexecdir) diff --git a/configure.ac b/configure.ac index 87430a3..03ba384 100644 --- a/configure.ac +++ b/configure.ac @@ -20,9 +20,9 @@ # USA # -AC_INIT([disorder], [4.0], [richard+disorder@sfere.greenend.org.uk]) +AC_INIT([disorder], [4.0+], [richard+disorder@sfere.greenend.org.uk]) AC_CONFIG_AUX_DIR([config.aux]) -AM_INIT_AUTOMAKE(disorder, [4.0]) +AM_INIT_AUTOMAKE(disorder, [4.0+]) AC_CONFIG_SRCDIR([server/disorderd.c]) AM_CONFIG_HEADER([config.h]) @@ -219,14 +219,18 @@ if test $want_cgi = yes; then fi done ]) - if test "$rjk_cv_cgidir" = "not found"; then + if test "$rjk_cv_cgiexecdir" = "not found"; then AC_MSG_ERROR([cannot identify httpd documentroot. Set httpdir on configure command line]) fi httpdir="$rjk_cv_httpdir" fi - if test -z "$cgidir"; then - AC_CACHE_CHECK([for CGI directory],[rjk_cv_cgidir],[ - rjk_cv_cgidir="not found" + if test ! -z "$cgidir"; then + # This is a bit harsh but should stop any disasters + AC_MSG_ERROR([cgidir has been renamed to cgiexecdir]) + fi + if test -z "$cgiexecdir"; then + AC_CACHE_CHECK([for CGI directory],[rjk_cv_cgiexecdir],[ + rjk_cv_cgiexecdir="not found" for dir in /usr/lib/cgi-bin \ /Library/WebServer/CGI-Executables \ /srv/www/cgi-bin \ @@ -237,18 +241,18 @@ if test $want_cgi = yes; then /usr/local/www/cgi-bin \ /usr/local/www/*/cgi-bin; do if test -d "$dir"; then - rjk_cv_cgidir="$dir" + rjk_cv_cgiexecdir="$dir" break fi done ]) - if test "$rjk_cv_cgidir" = "not found"; then - AC_MSG_ERROR([cannot identify CGI install directory. Set cgidir on configure command line]) + if test "$rjk_cv_cgiexecdir" = "not found"; then + AC_MSG_ERROR([cannot identify CGI install directory. Set cgiexecdir on configure command line]) fi - cgidir="$rjk_cv_cgidir" + cgiexecdir="$rjk_cv_cgiexecdir" fi fi -AC_ARG_VAR([cgidir], [location of cgi-bin directory, e.g. /usr/lib/cgi-bin]) +AC_ARG_VAR([cgiexecdir], [location of cgi-bin directory, e.g. /usr/lib/cgi-bin]) AC_ARG_VAR([httpdir], [location of http document root, e.g. /var/www/htdocs]) if test -z "$pkghttpdir"; then pkghttpdir='$(httpdir)/disorder' diff --git a/debian/rules b/debian/rules index 000be81..113f989 100755 --- a/debian/rules +++ b/debian/rules @@ -18,12 +18,12 @@ # USA # -cgidir=/usr/lib/cgi-bin +cgiexecdir=/usr/lib/cgi-bin httpdir=/var/www browser=x-www-browser # Options to configure. This can be overridden by the caller if necessary. -CONFIGURE=--prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --mandir=/usr/share/man --with-browser=$browser cgidir="${cgidir}" httpdir="${httpdir}" +CONFIGURE=--prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --mandir=/usr/share/man --with-browser=$browser cgiexecdir="${cgiexecdir}" httpdir="${httpdir}" # Set DEB_BUILD_OPTIONS=noopt to produce a non-optimized build. ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) @@ -149,7 +149,7 @@ pkg-disorder-server: build rm -f debian/disorder-server/usr/share/man/man5/disorder_protocol.5 $(MKDIR) debian/disorder-server/etc/disorder $(MKDIR) debian/disorder-server/etc/init.d - $(MKDIR) debian/disorder-server/usr/lib/cgi-bin + $(MKDIR) debian/disorder-server${cgiexecdir} $(MKDIR) debian/disorder-server/var/lib/disorder $(INSTALL_SCRIPT) examples/disorder.init \ debian/disorder-server/etc/init.d/disorder @@ -160,9 +160,9 @@ pkg-disorder-server: build $(INSTALL_DATA) debian/etc.disorder.options.user \ debian/disorder-server/etc/disorder/options.user $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cgi/disorder \ - $(shell pwd)/debian/disorder-server/usr/lib/cgi-bin/disorder + $(shell pwd)/debian/disorder-server${cgiexecdir}/disorder dpkg-shlibdeps -Tdebian/substvars.disorder-server \ - debian/disorder-server/usr/lib/cgi-bin/disorder \ + debian/disorder-server${cgiexecdir}/disorder \ debian/disorder-server/usr/sbin/* \ debian/disorder-server/usr/lib/disorder/*.so* rm -rf debian/disorder-server/usr/share/doc/disorder-server