Subject: Re: pkg/31103: apache installs configs, so are prexisting and so
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Jeremy C. Reed <reed@reedmedia.net>
List: pkgsrc-bugs
Date: 08/30/2005 21:14:02
The following reply was made to PR pkg/31103; it has been noted by GNATS.

From: "Jeremy C. Reed" <reed@reedmedia.net>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/31103: apache installs configs, so are prexisting and so
 doesn't cleanup
Date: Tue, 30 Aug 2005 14:13:21 -0700 (PDT)

 This is a new patch-aa which is easier to read than a patch of a patch.
 This gets rid of the install step. Anyone want to test?
 
 --- Makefile.tmpl.orig	2005-08-30 13:35:29.000000000 -0700
 +++ Makefile.tmpl	2005-08-30 14:05:10.000000000 -0700
 @@ -56,6 +56,8 @@
   PERL            = @PERL@
   TAR		= @TAR@
   TAROPT		= @TAROPT@
 +BINOWN		= @BINOWN@
 +BINGRP		= @BINGRP@
 
   #   installation name of Apache webserver
   TARGET          = @TARGET@
 @@ -280,11 +282,6 @@
   	$(MKDIR) $(root)$(mandir)/man1
   	$(MKDIR) $(root)$(mandir)/man8
   	$(MKDIR) $(root)$(sysconfdir)
 -	$(MKDIR) $(root)$(sysconfdir)/ssl.crt
 -	$(MKDIR) $(root)$(sysconfdir)/ssl.crl
 -	$(MKDIR) $(root)$(sysconfdir)/ssl.csr
 -	$(MKDIR) $(root)$(sysconfdir)/ssl.key
 -	$(MKDIR) $(root)$(sysconfdir)/ssl.prm
   	$(MKDIR) $(root)$(htdocsdir)
   	$(MKDIR) $(root)$(manualdir)
   	$(MKDIR) $(root)$(iconsdir)
 @@ -296,9 +293,9 @@
   	$(MKDIR) $(root)$(proxycachedir)
   	-@if [ "x`$(AUX)/getuid.sh`" = "x0" ]; then \
   		echo "chown $(conf_user) $(root)$(proxycachedir)"; \
 -		chown $(conf_user) $(root)$(proxycachedir); \
 +		${CHOWN} $(conf_user) $(root)$(proxycachedir); \
   		echo "chgrp $(conf_group) $(root)$(proxycachedir)"; \
 -		chgrp "$(conf_group)" $(root)$(proxycachedir); \
 +		${CHGRP} "$(conf_group)" $(root)$(proxycachedir); \
   	fi
   	@echo "<=== [mktree]"
 
 @@ -343,34 +340,6 @@
   			file=`echo $${mod} | sed -e 's;^.*/\([^/]*\);\1;'`; \
   			echo "$(INSTALL_DSO) $(TOP)/$(SRC)/$${mod} $(root)$(libexecdir)/$${file}"; \
   			$(INSTALL_DSO) $(TOP)/$(SRC)/$${mod} $(root)$(libexecdir)/$${file}; \
 -			name=`$(TOP)/$(AUX)/fmn.sh $(TOP)/$(SRC)/$${mod}`; \
 -			if [ ".$$name" = .ssl_module ]; then \
 -				echo "<IfDefine SSL>" >>$(SRC)/.apaci.install.conf; \
 -			fi; \
 -			echo dummy | awk '{ printf("LoadModule %-18s %s\n", modname, modpath); }' \
 -			modname="$${name}" modpath="$(libexecdir_relative)$${file}" >>$(SRC)/.apaci.install.conf; \
 -			if [ ".$$name" = .ssl_module ]; then \
 -				echo "</IfDefine>" >>$(SRC)/.apaci.install.conf; \
 -			fi; \
 -		done; \
 -		echo "" >>$(SRC)/.apaci.install.conf; \
 -		echo "#  Reconstruction of the complete module list from all available modules" >>$(SRC)/.apaci.install.conf; \
 -		echo "#  (static and shared ones) to achieve correct module execution order." >>$(SRC)/.apaci.install.conf; \
 -		echo "#  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]" >>$(SRC)/.apaci.install.conf; \
 -		echo "ClearModuleList" >>$(SRC)/.apaci.install.conf; \
 -		for mod in `egrep "^[ 	]*(Add|Shared)Module" $(SRC)/Configuration.apaci |\
 -		            sed	-e 's:[ 	]*SharedModule::' \
 -		                -e 's:[ 	]*AddModule::' \
 -		                -e 's:modules/[^/]*/::' \
 -		                -e 's:[ 	]lib: mod_:' \
 -		                -e 's:\.[soam]*$$:.c:'`; do \
 -			if [ ".$$mod" = .mod_ssl.c ]; then \
 -				echo "<IfDefine SSL>" >>$(SRC)/.apaci.install.conf; \
 -			fi; \
 -			echo "AddModule $$mod" >>$(SRC)/.apaci.install.conf; \
 -			if [ ".$$mod" = .mod_ssl.c ]; then \
 -				echo "</IfDefine>" >>$(SRC)/.apaci.install.conf; \
 -			fi; \
   		done; \
   	fi
   	@echo "<=== [programs]"
 @@ -420,9 +389,9 @@
   	    echo "$(INSTALL_PROGRAM) $(TOP)/$(SRC)/support/suexec $(root)$(sbindir)/suexec"; \
   	    $(INSTALL_PROGRAM) $(TOP)/$(SRC)/support/suexec $(root)$(sbindir)/suexec; \
   	    echo "chown root $(root)$(sbindir)/suexec"; \
 -	    chown root $(root)$(sbindir)/suexec; \
 +	    ${CHOWN} root $(root)$(sbindir)/suexec; \
   	    echo "chmod 4711 $(root)$(sbindir)/suexec"; \
 -	    chmod 4711 $(root)$(sbindir)/suexec; \
 +	    ${CHMOD} 4711 $(root)$(sbindir)/suexec; \
   	    echo "$(INSTALL_DATA) $(TOP)/$(SRC)/support/suexec.8 $(root)$(mandir)/man8/suexec.8"; \
   	    $(INSTALL_DATA) $(TOP)/$(SRC)/support/suexec.8 $(root)$(mandir)/man8/suexec.8; \
   	fi
 @@ -464,9 +433,9 @@
   	    echo "$(INSTALL_PROGRAM) $(TOP)/$(SRC)/support/suexec $(root)$(sbindir)/suexec"; \
   	    $(INSTALL_PROGRAM) $(TOP)/$(SRC)/support/suexec $(root)$(sbindir)/suexec; \
   	    echo "chown root $(root)$(sbindir)/suexec"; \
 -	    chown root $(root)$(sbindir)/suexec; \
 +	    ${CHOWN} root $(root)$(sbindir)/suexec; \
   	    echo "chmod 4711 $(root)$(sbindir)/suexec"; \
 -	    chmod 4711 $(root)$(sbindir)/suexec; \
 +	    ${CHMOD} 4711 $(root)$(sbindir)/suexec; \
   	    echo "$(INSTALL_DATA) $(TOP)/$(SRC)/support/suexec.8 $(root)$(mandir)/man8/suexec.8"; \
   	    $(INSTALL_DATA) $(TOP)/$(SRC)/support/suexec.8 $(root)$(mandir)/man8/suexec.8; \
   	fi
 @@ -489,21 +458,25 @@
   #   icons and distributed CGI scripts.
   install-data:
   	@echo "===> [data: Installing initial data files]"
 -	-@if [ -f $(root)$(htdocsdir)/index.html ] || [ -f $(root)$(htdocsdir)/index.html.en ]; then \
 +	-@if false; then \
   		echo "[PRESERVING EXISTING DATA SUBDIR: $(root)$(htdocsdir)/]"; \
   	else \
   		echo "Copying tree $(TOP)/htdocs/ -> $(root)$(htdocsdir)/"; \
   		(cd $(TOP)/htdocs/ && $(TAR) $(TAROPT) - index* apache_pb.* ) |\
   		(cd $(root)$(htdocsdir)/ && $(TAR) -xf -); \
 -		find $(root)$(htdocsdir)/ -type d -exec chmod a+rx {} \; ; \
 -		find $(root)$(htdocsdir)/ -type f -print | xargs chmod a+r ; \
 +		${FIND} $(root)$(htdocsdir)/ -type d -exec ${CHMOD} a+rx {} \; ; \
 +		${FIND} $(root)$(htdocsdir)/ -type f -print | ${XARGS} ${CHMOD} a+r ; \
 +		${FIND} $(root)$(htdocsdir)/ -print | \
 +			${XARGS} ${CHOWN} ${BINOWN}:${BINGRP} ; \
   	fi
   	-@if [ -d $(TOP)/htdocs/manual ]; then \
   		echo "Copying tree $(TOP)/htdocs/manual -> $(root)/$(manualdir)/"; \
   		(cd $(TOP)/htdocs/manual/ && $(TAR) $(TAROPT) - *) |\
   		(cd $(root)$(manualdir)/ && $(TAR) -xf -); \
 -		find $(root)$(manualdir)/ -type d -exec chmod a+rx {} \; ; \
 -		find $(root)$(manualdir)/ -type f -print | xargs chmod a+r ; \
 +		${FIND} $(root)$(manualdir)/ -type d -exec ${CHMOD} a+rx {} \; ; \
 +		${FIND} $(root)$(manualdir)/ -type f -print | ${XARGS} ${CHMOD} a+r ; \
 +		${FIND} $(root)$(manualdir)/ -print | \
 +			${XARGS} ${CHOWN} ${BINOWN}:${BINGRP} ; \
   	fi
   	-@if [ -f $(root)$(cgidir)/printenv ]; then \
   		echo "[PRESERVING EXISTING CGI SUBDIR: $(root)$(cgidir)/]"; \
 @@ -511,23 +484,25 @@
   		for script in printenv test-cgi; do \
   			cat $(TOP)/cgi-bin/$${script} |\
   			sed -e 's;^#!/.*perl;#!$(PERL);' \
 +			    -e 's;LD_LIBRARY_PATH=.*;LD_LIBRARY_PATH=/usr/lib:$(prefix)/lib:/usr/local/lib;' \
   			> $(TOP)/$(SRC)/.apaci.install.tmp; \
 -			echo "$(INSTALL_DATA) $(TOP)/conf/$${script}[*] $(root)$(cgidir)/$${script}"; \
 -			$(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(cgidir)/$${script}; \
 +			echo "$(INSTALL_SCRIPT) $(TOP)/conf/$${script}[*] $(root)$(cgidir)/$${script}"; \
 +			$(INSTALL_SCRIPT) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(cgidir)/$${script}; \
   		done; \
   	fi
   	@echo "Copying tree $(TOP)/icons/ -> $(root)$(iconsdir)/"; \
   	(cd $(TOP)/icons/ && $(TAR) $(TAROPT) - *) |\
   	(cd $(root)$(iconsdir)/ && $(TAR) -xf -); \
 -	find $(root)$(iconsdir)/ -type d -exec chmod a+rx {} \; ;\
 -	find $(root)$(iconsdir)/ -type f -exec chmod a+r {} \;
 +	${FIND} $(root)$(iconsdir)/ -type d -exec ${CHMOD} a+rx {} \; ;\
 +	${FIND} $(root)$(iconsdir)/ -type f -exec ${CHMOD} a+r {} \; ;\
 +	${CHOWN} -R ${BINOWN}:${BINGRP} $(root)$(iconsdir)/.
   	@echo "<=== [data]"
 
   #   create the initial configuration by providing default files
   #   and initial config files while preserving existing ones.
   install-config:
   	@echo "===> [config: Installing Apache configuration files]"
 -	-@for conf in httpd.conf access.conf srm.conf; do \
 +	-@for conf in httpd.conf; do \
   		if [ .$$conf = .httpd.conf ]; then \
   			target_conf="$(TARGET).conf"; \
   		else \
 @@ -583,22 +558,10 @@
           	> $(TOP)/$(SRC)/.apaci.install.tmp && \
   		echo "$(INSTALL_DATA) $(TOP)/conf/$${conf}-dist[*] $(root)$(sysconfdir)/$${target_conf}.default"; \
   		$(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sysconfdir)/$${target_conf}.default; \
 -		if [ ! -f "$(root)$(sysconfdir)/$${target_conf}" ]; then \
 -			echo "$(INSTALL_DATA) $(TOP)/conf/$${conf}-dist[*] $(root)$(sysconfdir)/$${target_conf}"; \
 -			$(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sysconfdir)/$${target_conf}; \
 -		else \
 -			echo "[PRESERVING EXISTING CONFIG FILE: $(root)$(sysconfdir)/$${target_conf}]"; \
 -		fi; \
   	done
   	-@for conf in mime.types magic; do \
   		echo "$(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}.default"; \
   		$(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}.default; \
 -		if [ ! -f "$(root)$(sysconfdir)/$${conf}" ]; then \
 -			echo "$(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}"; \
 -			$(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}; \
 -		else \
 -			echo "[PRESERVING EXISTING CONFIG FILE: $(root)$(sysconfdir)/$${conf}]"; \
 -		fi; \
   	done
   	-@if [ ".$(ssl)" = .1 ]; then \
   		echo "chmod 755 $(root)$(sysconfdir)/ssl.crt"; \