On Fri, Apr 06, 2001 at 03:05:57AM +0200, Ralf S. Engelschall wrote:
>
> 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:
These attached patches should be a step in the right direction for getting
distclean to work as expected. Because these patches apply to different
repository, I attached them (I hope that is okay). Patches for httpd-2.0,
apr, and apr-util. I didn't touch expat because Greg or someone else knows
that better than I - I could submit a patch for this as well, but this isn't
ASF stuff. If he feels like cleaning it up, Greg could commit it into the
real expat repository.
If someone likes these patches, they can commit them.
My own comments before these patches disappear into the black hole:
The Makefile.in in httpd-2.0 had a lot of stale DISTCLEAN_TARGETS variables,
so I tried to figure out what is still present in the repository.
.deps is removed by build/rules.mk for the distclean target already, so I
guess the directory used for building the tarball was not clean (Ryan?).
I'd suggest adding a "dist" target that does the actual rolling of a
tarball (obviously not the tagging). That way someone can easily
roll a similar tarball (with excluded files and stuff) from the end-user
build system. I don't know if Ryan has finalized the process for the
rolling of a tarball yet. He's the RM... =-)
I added a simple maintainer-clean target to build/rules.mk and related
MAINTAINERCLEAN_TARGETS, but the apr/apr-util Makefiles define
EXTRACLEAN_TARGETS. Shall we standardize this, or has this already been
discussed? Based on my interpretation, the GNU standards texinfo page
suggests maintainer-clean. apr defines EXTRACLEAN_TARGETS, but it doesn't
seem to use them anywhere (could just be missing the reference).
Although I could see a case for keeping config.nice around even past
a distclean, these patches remove it. I think you could leave config.nice,
but I'm not sure what the accepted practice is. Apache 1.3.x deleted the
config.status (which is really what config.nice is), so that settles it for
me right now.
I'm not sure of the usage of server/exports.c, but I just added it to
DISTCLEAN_TARGETS. There seems to be a delete-exports target, but I haven't
taken the time to understand it. I think it is regenerated somewhere, so
we should delete it when doing a distclean.
Most of the other stuff is fairly straightforward.
Enjoy. -- justin
Index: Makefile.in
===================================================================
RCS file: /home/cvspublic/apr/Makefile.in,v
retrieving revision 1.45
diff -u -r1.45 Makefile.in
--- Makefile.in 2001/04/05 03:59:29 1.45
+++ Makefile.in 2001/04/06 02:51:41
@@ -27,9 +27,9 @@
@INCLUDE_RULES@
CLEAN_TARGETS = $(TARGET_EXPORTS)
-DISTCLEAN_TARGETS = config.cache config.log config.status \
+DISTCLEAN_TARGETS = config.cache config.log config.status config.nice \
include/apr.h include/arch/unix/apr_private.h \
- APRVARS
+ APRVARS libtool build/rules.mk
EXTRACLEAN_TARGETS = configure libtool aclocal.m4 \
include/arch/unix/apr_private.h.in
Index: Makefile.in
===================================================================
RCS file: /home/cvspublic/apr-util/Makefile.in,v
retrieving revision 1.26
diff -u -r1.26 Makefile.in
--- Makefile.in 2001/04/05 04:00:10 1.26
+++ Makefile.in 2001/04/06 02:52:20
@@ -14,9 +14,10 @@
CLEAN_SUBDIRS = . test build
CLEAN_TARGETS = $(TARGET_EXPORTS)
-DISTCLEAN_TARGETS = config.cache config.log config.status \
+DISTCLEAN_TARGETS = config.cache config.log config.status config.nice \
include/private/apu_config.h include/private/apu_private.h \
- include/apu.h export_vars.sh
+ include/private/apu_select_dbm.h include/apu.h export_vars.sh \
+ libtool build/Makefile build/rules.mk
EXTRACLEAN_TARGETS = configure libtool aclocal.m4 \
include/private/apu_config.h.in
Index: Makefile.in
===================================================================
RCS file: /home/cvspublic/httpd-2.0/Makefile.in,v
retrieving revision 1.64
diff -u -r1.64 Makefile.in
--- Makefile.in 2001/04/03 17:03:35 1.64
+++ Makefile.in 2001/04/06 02:50:55
@@ -17,10 +17,10 @@
phony_targets = $(srcdir)/buildmark.c
install_targets = install-conf install-htdocs install-icons install-other \
install-cgi install-include install-support install-suexec
-DISTCLEAN_TARGETS = include/config_auto.h modules.c aclocal.m4 buildmk.stamp \
- configure generated_lists include/ap_config_auto.h \
- include/ap_config_auto.h.in include/ap_config_path.h install-sh \
- missing mkinstalldirs
+DISTCLEAN_TARGETS = include/ap_config_auto.h include/ap_config_path.h \
+ modules.c libtool config.nice
+MAINTAINERCLEAN_TARGETS = configure include/ap_config_auto.h.in \
+ generated_lists
include $(top_srcdir)/build/rules.mk
include $(top_srcdir)/build/program.mk
Index: build/rules.mk
===================================================================
RCS file: /home/cvspublic/httpd-2.0/build/rules.mk,v
retrieving revision 1.47
diff -u -r1.47 rules.mk
--- build/rules.mk 2001/04/03 00:29:42 1.47
+++ build/rules.mk 2001/04/06 02:50:56
@@ -196,6 +196,9 @@
rm -f config.cache config.log config.status config_vars.mk \
stamp-h Makefile shlibtool .deps $(DISTCLEAN_TARGETS)
+maintainer-clean: distclean
+ rm -f $(MAINTAINERCLEAN_TARGETS)
+
include $(builddir)/.deps
.PHONY: all-recursive clean-recursive install-recursive \
Index: server/Makefile.in
===================================================================
RCS file: /home/cvspublic/httpd-2.0/server/Makefile.in,v
retrieving revision 1.39
diff -u -r1.39 Makefile.in
--- server/Makefile.in 2001/04/02 15:20:45 1.39
+++ server/Makefile.in 2001/04/06 02:50:56
@@ -2,6 +2,7 @@
TARGET_EXPORTS = apache.exports
CLEAN_TARGETS = gen_test_char gen_uri_delims test_char.h uri_delims.h \
$(TARGET_EXPORTS) ApacheCoreOS2.def
+DISTCLEAN_TARGETS = exports.c
SUBDIRS = mpm
Index: support/Makefile.in
===================================================================
RCS file: /home/cvspublic/httpd-2.0/support/Makefile.in,v
retrieving revision 1.12
diff -u -r1.12 Makefile.in
--- support/Makefile.in 2001/01/10 01:04:53 1.12
+++ support/Makefile.in 2001/04/06 02:50:56
@@ -1,4 +1,5 @@
-DISTCLEAN_TARGETS = apxs apachectl
+DISTCLEAN_TARGETS = apxs apachectl dbmmanage log_server_status logresolve.pl \
+ phf_abuse_log.cgi split-logfile
PROGRAMS = htpasswd htdigest rotatelogs logresolve ab
targets = $(PROGRAMS)