You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Karl Fogel <kf...@newton.ch.collab.net> on 2002/07/19 21:18:21 UTC

gregames, are you sure about Makefile.in rev 1.122 ?

I'm building HEAD of httpd right now, like this:

   $ ./buildconf
   $ ./configure --enable-dav --enable-so --enable-maintainer-mode
   $ make depend
   $ make
   $ make install

The last step fails because /usr/local/apache2/conf is not a
directory, it's a file!  The file appears to be a mod_mime_magic
configuration file or something.

Sander Striker mentioned to me that Greg Ames (I assume that's the
expansion of "gregames", never met him personally :-) ) had made some
changes very recently that might have affected this.

So Greg, are you sure about this change to Makefile.in:

    2002-07-19 10:11  gregames

	* Makefile.in (1.122): Install mime.types and magic in conf/ if
	they don't already exist.
	
	This also re-enables existing logic to always install *-std.conf
	with substitutions made.  These are then copied into *.conf
	(without the -std) if that file doesn't already exist.
	
	style police: please chill for a bit.  I intentionally didn't
	re-format the indenting in this commit to make it easier to review.

The patch is below.  In the added code, it looks like perhaps the
sense of the first `if' test is reversed, though that may be
relatively harmless.  Then I'm not sure about the next `if', but I'd
guess the line

   "$(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir);" 

is being run when it shouldn't.  If "$(DESTDIR)$(sysconfdir)" does not
exist, then the conf file will itself be copied to that name!


--- Makefile.in	1 Jul 2002 11:44:21 -0000	1.121
+++ Makefile.in	19 Jul 2002 15:11:58 -0000	1.122
@@ -27,14 +27,15 @@
 include $(top_srcdir)/build/program.mk
 
 install-conf:
-	-@if [ -d $(DESTDIR)$(sysconfdir) ]; then \
-           echo "[PRESERVING EXISTING CONF SUBDIR: $(DESTDIR)$(sysconfdir)]"; \
-        else \
-	    echo Installing configuration files ; \
+	@echo Installing configuration files ; \
+	if [ -d $(DESTDIR)$(sysconfdir) ]; then \
 	    $(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) ; \
+	fi ; \
 	    cd $(top_srcdir)/docs/conf; \
 	    for i in mime.types magic; do \
+	        if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \
 	    	$(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \
+	        fi; \
 	    done; \
 	    for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \
 	    	cd $$j ; \
@@ -86,7 +87,6 @@
 	        if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
 	            cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
 	        fi ; \
-	    fi ; \
 	fi
 
 install-build:

Can anyone else run "make install" with head and get a correct conf/
directory?

-Karl

Re: gregames, are you sure about Makefile.in rev 1.122 ?

Posted by Greg Ames <gr...@apache.org>.
Karl Fogel wrote:
> 
> I'm building HEAD of httpd right now, like this:
> 
>    $ ./buildconf
>    $ ./configure --enable-dav --enable-so --enable-maintainer-mode
>    $ make depend
>    $ make
>    $ make install
> 
> The last step fails because /usr/local/apache2/conf is not a
> directory, it's a file!  The file appears to be a mod_mime_magic
> configuration file or something.

> The patch is below.  In the added code, it looks like perhaps the
> sense of the first `if' test is reversed, 

whoops!  You're right...sorry about that.

> though that may be relatively harmless.  

I think that's the whole problem.  Let me fix the reversed "if" test, then try
this with an empty install directory, and see what happens.

>   If "$(DESTDIR)$(sysconfdir)" does not
> exist, then the conf file will itself be copied to that name!

We have to have a conf/ directory.

Greg