httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf S. Engelschall" <>
Subject Wishes for adjustments in Apache 2.0
Date Fri, 06 Apr 2001 01:05:57 GMT

As Ryan requested today (because I said on ApacheCon 2001 that I'm still not
very happy with Apache 2.0 ;), here is a quick list of things related to the
distribution source tree and build system which I recognized recently and
which should be fixed:

o distribution tarballs are named httpd-2_0_xx-yyyy.tar.gz
  instead of the expected one: httpd-2.0.xx-yyyy.tar.gz

o distribution tarballs are named httpd-2_0_xx-yyyy.tar.gz
  but unpack into httpd-2_0_xx instead of httpd-2_0_xx-yyyy.  This is both
  against the usual conventions for tarballs and complicates packaging (for
  RPM you need a extra and ugly "-n httpd-2_0_xx" on the %setup line, etc.)

o the latest httpd-2_0_16-beta.tar.gz ships with a few "logit" files
  which seem to be developer logfiles. These should not be distributed
  to end-users.

o if a module wants to hook into the build system, it has to
  provide its own config.m4. That's fine for modules which ship with Apache
  2.0. For externally maintained modules this implies that the end-user has
  GNU Autoconf installed.  This is both against the principle (Autoconf is a
  developer tool) and makes life of end-users more complicated. Not to mention
  the problems which arise if the end-users has a different version of
  Autoconf installed.

o there is --enable-modules=MODULE-LIST and --enable-mods-shared=MODULE-LIST
  but neither of them do actually accept a list of multiple modules AFAIK.
  They just accept a single module name and the "all" and "most" keywords.

o the old scripts build/, build/ and build/
  should be replaced by a single build/shtool generated with "shtoolize
  install mkdir echo" which is more robust and portable. 

o the old config.guess and config.sub versions should be replaced
  by the latest version from GNU.

o configure --help shows a few lines with wrong indentation (--with-ssl,
  --with-mpm, etc.) This should be lined up correctly.

o Under FreeBSD 4.3-RC I get on the compile command line "-D_REENTRANT
  -D_THREAD_SAFE -D_REENTRANT -D_THREAD_SAFE", i.e. the thread stuff twice. 
  Additionally on the linker command there should be a "-pthread"
  to make sure under FreeBSD 4 -libc_r is used. And it seems that
  the compile flags are not spreaded consistently in the source tree,
  i.e., there are areas where the "-D_REENTRANT -D_THREAD_SAFE"
  are not present at all. This can lead to problems earlier or later, too.

o On the httpd linker command line I get "-export-dynamic -export-dynamic
  -export-dynamic -export-dynamic -export-dynamic -export-dynamic" under

o If I unpack httpd-2_0_16-beta.tar.gz twice and in one copy
  perform "./configure --enable-modules=most; make; make distclean"
  the result is different from a fresh unpack:
  $ diff -ru3 httpd-2_0_16.orig httpd-2_0_16
  Only in httpd-2_0_16.orig: .deps
  Only in httpd-2_0_16: config.nice
  Only in httpd-2_0_16.orig: configure
  Only in httpd-2_0_16.orig/include:
  Only in httpd-2_0_16: libtool
  Only in httpd-2_0_16/server: exports.c
  Only in httpd-2_0_16/srclib/apr/build:
  Only in httpd-2_0_16/srclib/apr: config.nice
  Only in httpd-2_0_16/srclib/apr: libtool
  Only in httpd-2_0_16/srclib/apr-util/build: Makefile
  Only in httpd-2_0_16/srclib/apr-util/build:
  Only in httpd-2_0_16/srclib/apr-util/include/private: apu_select_dbm.h
  Only in httpd-2_0_16/srclib/apr-util: libtool
  Only in httpd-2_0_16/srclib/apr-util/xml/expat: Makefile
  Only in httpd-2_0_16/srclib/apr-util/xml/expat/lib: expat.h
  Only in httpd-2_0_16/support: dbmmanage
  Only in httpd-2_0_16/support: log_server_status
  Only in httpd-2_0_16/support:
  Only in httpd-2_0_16/support: phf_abuse_log.cgi
  Only in httpd-2_0_16/support: split-logfile
  Most important: the "make distclean" also removed the top-level "configure"
  script.  That should only happen on a "make realclean" (if exists) but never
  on a "make distclean".

o spmt_os2 as the name for an OS/2 specific MPM is inconsistent with
  the use of just "win32" and "beos" for the other OS specific MPMs.
  I think the whole naming of MPMs currently is confusing to end-users.

o In the installation tree there is a bin/httpd.exp which is the
  list of exported symbols and definetely not an executable.  This has to be
  moved to a different location. Under GNU layout this should be placed under
  "datadir" (share/) or "sysconfdir" (etc/).
                                       Ralf S. Engelschall

View raw message