Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Apr 2002 10:27:50 +0900 (KST)
From:      Hye-Shik Chang <perky@fallin.lv>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/37211: Update port: www/apache2 (respect DESTDIR)
Message-ID:  <200204180127.g3I1Roef084447@akaraka.yonsei.ac.kr>

next in thread | raw e-mail | index | archive | help

>Number:         37211
>Category:       ports
>Synopsis:       Update port: www/apache2 (respect DESTDIR)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 17 18:30:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Hye-Shik Chang
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
Yonsei University
>Environment:
System: FreeBSD akaraka.yonsei.ac.kr 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Mon Apr 15 01:05:17 KST 2002 root@akaraka.yonsei.ac.kr:/usr/src/sys/i386/compile/JOARRA i386

>Description:
- Respect $DESTDIR for all paths

Just for convenience of testers who want to run both of apache13 and apache2.
This have no effect to default-installed binary.

>How-To-Repeat:
cd /usr/ports/www/apache2 && make DESTDIR=/apache2test install

>Fix:

diff -ruN apache2.orig/Makefile apache2/Makefile
--- apache2.orig/Makefile	Thu Apr 11 14:16:07 2002
+++ apache2/Makefile	Thu Apr 18 10:10:07 2002
@@ -41,7 +41,9 @@
 		LDFLAGS="${LDFLAGS}"
 SHARED_MODULES= all cgid charset_lite ext_filter case_filter case_filter_in \
 		deflate bucketeer
-RC_SUB=		-e 's,@@PREFIX@@,${PREFIX},g'
+RC_SUB=		-e 's,@@PREFIX@@,${PREFIX},g' -e 's,@@DESTDIR@@,${DESTDIR},g'
+MAKE_ENV+=	DESTDIR=${DESTDIR}
+PLIST_SUB+=	DESTDIR=${DESTDIR}
 
 .if defined(NOPORTDOCS)
 MAKE_ENV+=	NOPORTDOCS=YES
@@ -68,7 +70,7 @@
 		--with-suexec-uidmin=1000 --with-suexec-gidmin=1000 \
 		--with-suexec-docroot="${PREFIX}/www/data" \
 		--with-suexec-safepath="${PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:/bin" \
-		--with-suexec-logfile="/var/log/httpd-suexec.log"
+		--with-suexec-logfile="${DESTDIR}/var/log/httpd-suexec.log"
 PLIST_SUB+=	SUEXEC=""
 .else
 PLIST_SUB+=	SUEXEC="@comment "
@@ -112,6 +114,7 @@
 	 ); done
 	@${FIND} ${WRKSRC} -name "*.orig" -exec ${RM} -f {} \;
 	@${SED} ${RC_SUB} ${FILESDIR}/apache.sh >${WRKDIR}/apache2.sh
+	@${SED} ${RC_SUB} ${FILESDIR}/config.layout >>${WRKSRC}/config.layout
 .if ${OSVERSION} >= 500032
 .for ltfile in srclib/pcre/ltmain.sh srclib/apr/build/ltmain.sh \
 		srclib/apr-util/xml/expat/conftools/ltmain.sh
@@ -128,5 +131,7 @@
 		${ECHO} "Installing ${PREFIX}/etc/rc.d/apache2.sh startup file."; \
 		${INSTALL_SCRIPT} -m 751 ${WRKDIR}/apache2.sh ${PREFIX}/etc/rc.d/apache2.sh; \
 	fi
+	[ -d ${DESTDIR}/var/log ] || ${MKDIR} ${DESTDIR}/var/log
+	[ -d ${DESTDIR}/var/run ] || ${MKDIR} ${DESTDIR}/var/run
 
 .include <bsd.port.post.mk>
diff -ruN apache2.orig/files/apache.sh apache2/files/apache.sh
--- apache2.orig/files/apache.sh	Mon Apr  8 15:45:33 2002
+++ apache2/files/apache.sh	Thu Apr 18 09:23:35 2002
@@ -7,7 +7,7 @@
 	[ -x ${PREFIX}/sbin/apachectl ] && ${PREFIX}/sbin/apachectl start${SSL} > /dev/null && echo -n ' apache2'
 	;;
 stop)
-	[ -r /var/run/httpd.pid ] && ${PREFIX}/sbin/apachectl stop > /dev/null && echo -n ' apache2'
+	[ -r @@DESTDIR@@/var/run/httpd.pid ] && ${PREFIX}/sbin/apachectl stop > /dev/null && echo -n ' apache2'
 	;;
 *)
 	echo "Usage: `basename $0` {start|stop}" >&2
diff -ruN apache2.orig/files/config.layout apache2/files/config.layout
--- apache2.orig/files/config.layout	Thu Jan  1 09:00:00 1970
+++ apache2/files/config.layout	Thu Apr 18 09:25:05 2002
@@ -0,0 +1,22 @@
+<Layout FreeBSD>
+  prefix:        /usr/local
+  exec_prefix:   ${prefix}
+  bindir:        ${exec_prefix}/bin
+  sbindir:       ${exec_prefix}/sbin
+  libexecdir:    ${exec_prefix}/libexec/apache2
+  mandir:        ${prefix}/man
+  sysconfdir:    ${prefix}/etc/apache2
+  datadir:       ${prefix}/www
+  installbuilddir: ${prefix}/share/apache2
+  errordir:      ${datadir}/error
+  iconsdir:      ${datadir}/icons
+  htdocsdir:     ${datadir}/data
+  manualdir:     ${prefix}/share/doc/apache2
+  cgidir:        ${datadir}/cgi-bin
+  includedir:    ${prefix}/include/apache2
+  localstatedir: @@DESTDIR@@/var
+  runtimedir:    ${localstatedir}/run
+  logfiledir:    ${localstatedir}/log
+  proxycachedir: ${datadir}/proxy
+  infodir:       ${exec_prefix}/share/info
+</Layout>
diff -ruN apache2.orig/files/patch-Makefile.in apache2/files/patch-Makefile.in
--- apache2.orig/files/patch-Makefile.in	Mon Apr  8 15:45:33 2002
+++ apache2/files/patch-Makefile.in	Thu Apr 18 09:22:50 2002
@@ -1,6 +1,6 @@
 --- Makefile.in.orig	Sat Apr  6 04:36:06 2002
-+++ Makefile.in	Sun Apr  7 08:26:45 2002
-@@ -33,12 +33,15 @@
++++ Makefile.in	Thu Apr 18 09:22:29 2002
+@@ -33,23 +33,28 @@
  	@test -d $(sysconfdir) || $(MKINSTALLDIRS) $(sysconfdir)
  	@cd $(top_srcdir)/docs/conf; \
  	for i in mime.types magic; do \
@@ -17,7 +17,20 @@
  		( \
  			n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \
  			if test $$n_lm -eq 0 -o "x$(DSO_MODULES)" = "x"; then \
-@@ -57,7 +60,7 @@
+ 				sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+ 					-e 's#@@Port@@#$(PORT)#g' \
++					-e 's#@@DESTDIR@@#$(DESTDIR)#g' \
+ 					-e '/@@LoadModule@@/d' \
+ 					< $$i; \
+ 			else \
+ 				sed -n -e '/@@LoadModule@@/q' \
+ 					-e 's#@@ServerRoot@@#$(prefix)#g' \
+ 					-e 's#@@Port@@#$(PORT)#g' \
++					-e 's#@@DESTDIR@@#$(DESTDIR)#g' \
+ 					-e 'p' \
+ 					< $$i; \
+ 				for j in $(DSO_MODULES) "^EOL^"; do \
+@@ -57,7 +62,7 @@
  						echo "<IfDefine SSL>"; \
  					fi; \
  					if test $$j != "^EOL^"; then \
@@ -26,7 +39,7 @@
  					fi; \
  					if test "x$$j" = "xssl"; then \
  						echo "</IfDefine>"; \
-@@ -106,11 +109,14 @@
+@@ -106,11 +111,14 @@
  
  install-htdocs:
  	@echo Installing HTML documents
@@ -44,7 +57,7 @@
  
  install-error:
  	@echo Installing error documents
-@@ -126,9 +132,10 @@
+@@ -126,9 +134,10 @@
  
  install-cgi:
  	@echo Installing CGIs
diff -ruN apache2.orig/files/patch-config.layout apache2/files/patch-config.layout
--- apache2.orig/files/patch-config.layout	Mon Apr  8 15:45:33 2002
+++ apache2/files/patch-config.layout	Thu Jan  1 09:00:00 1970
@@ -1,29 +0,0 @@
---- config.layout.orig	Fri Mar 29 04:04:47 2002
-+++ config.layout	Sun Apr  7 06:27:03 2002
-@@ -309,3 +309,26 @@
-     installbuilddir: ${prefix}/etc/apache2/build
-     errordir:      ${datadir}/error
- </Layout>
-+
-+<Layout FreeBSD>
-+    prefix:        /usr/local
-+    exec_prefix:   ${prefix}
-+    bindir:        ${exec_prefix}/bin
-+    sbindir:       ${exec_prefix}/sbin
-+    libexecdir:    ${exec_prefix}/libexec/apache2
-+    mandir:        ${prefix}/man
-+    sysconfdir:    ${prefix}/etc/apache2
-+    datadir:       ${prefix}/www
-+    installbuilddir: ${prefix}/share/apache2
-+    errordir:      ${datadir}/error
-+    iconsdir:      ${datadir}/icons
-+    htdocsdir:     ${datadir}/data
-+    manualdir:     ${prefix}/share/doc/apache2
-+    cgidir:        ${datadir}/cgi-bin
-+    includedir:    ${prefix}/include/apache2
-+    localstatedir: /var
-+    runtimedir:    ${localstatedir}/run
-+    logfiledir:    ${localstatedir}/log
-+    proxycachedir: ${datadir}/proxy
-+    infodir:       ${exec_prefix}/share/info
-+</Layout>
diff -ruN apache2.orig/files/patch-docs:conf:ssl-std.conf apache2/files/patch-docs:conf:ssl-std.conf
--- apache2.orig/files/patch-docs:conf:ssl-std.conf	Mon Apr  8 15:45:33 2002
+++ apache2/files/patch-docs:conf:ssl-std.conf	Thu Apr 18 09:25:38 2002
@@ -7,16 +7,16 @@
 -#SSLSessionCache        shmht:logs/ssl_scache(512000)
 -#SSLSessionCache        shmcb:logs/ssl_scache(512000)
 -SSLSessionCache         dbm:logs/ssl_scache
-+#SSLSessionCache        shmht:/var/log/httpd-ssl_scache(512000)
-+#SSLSessionCache        shmcb:/var/log/httpd-ssl_scache(512000)
-+SSLSessionCache         dbm:/var/log/httpd-ssl_scache
++#SSLSessionCache        shmht:@@DESTDIR@@/var/log/httpd-ssl_scache(512000)
++#SSLSessionCache        shmcb:@@DESTDIR@@/var/log/httpd-ssl_scache(512000)
++SSLSessionCache         dbm:@@DESTDIR@@/var/log/httpd-ssl_scache
  SSLSessionCacheTimeout  300
  
  #   Semaphore:
  #   Configure the path to the mutual exclusion semaphore the
  #   SSL engine uses internally for inter-process synchronization. 
 -SSLMutex  file:logs/ssl_mutex
-+SSLMutex  file:/var/log/httpd-ssl_mutex
++SSLMutex  file:@@DESTDIR@@/var/log/httpd-ssl_mutex
  
  #   Pseudo Random Number Generator (PRNG):
  #   Configure one or more sources to seed the PRNG of the 
@@ -25,7 +25,7 @@
  #   Log levels are (ascending order: higher ones include lower ones):
  #   none, error, warn, info, trace, debug.
 -SSLLog      logs/ssl_engine_log
-+SSLLog      /var/log/httpd-ssl_engine_log
++SSLLog      @@DESTDIR@@/var/log/httpd-ssl_engine_log
  SSLLogLevel info
  
  ##
@@ -39,8 +39,8 @@
  ServerAdmin you@your.address
 -ErrorLog logs/error_log
 -TransferLog logs/access_log
-+ErrorLog /var/log/httpd-error.log
-+TransferLog /var/log/httpd-access.log
++ErrorLog @@DESTDIR@@/var/log/httpd-error.log
++TransferLog @@DESTDIR@@/var/log/httpd-access.log
  
  #   SSL Engine Switch:
  #   Enable/Disable SSL for this virtual host.
@@ -110,7 +110,7 @@
  #   The home of a custom SSL log file. Use this when you want a
  #   compact non-error SSL logfile on a virtual host basis.
 -CustomLog logs/ssl_request_log \
-+CustomLog /var/log/httpd-ssl_request.log \
++CustomLog @@DESTDIR@@/var/log/httpd-ssl_request.log \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  
  </VirtualHost>                                  
diff -ruN apache2.orig/files/patch-support:log_server_status.in apache2/files/patch-support:log_server_status.in
--- apache2.orig/files/patch-support:log_server_status.in	Mon Apr  8 15:45:33 2002
+++ apache2/files/patch-support:log_server_status.in	Thu Apr 18 09:28:52 2002
@@ -5,7 +5,7 @@
  require 'sys/socket.ph';
  
 -$wherelog = "/var/log/graph/";  # Logs will be like "/var/log/graph/19960312"
-+$wherelog = "/var/log/httpd-status-";  # Logs will be like "/var/log/httpd-status-19960312.log"
++$wherelog = "@logfiledir@/httpd-status-";  # Logs will be like "/var/log/httpd-status-19960312.log"
  $server = "localhost";          # Name of server, could be "www.foo.com"
  $port = "80";                   # Port on server
 -$request = "/status/?auto";     # Request to send
diff -ruN apache2.orig/pkg-deinstall apache2/pkg-deinstall
--- apache2.orig/pkg-deinstall	Sat Dec  8 08:12:32 2001
+++ apache2/pkg-deinstall	Thu Jan  1 09:00:00 1970
@@ -1,15 +0,0 @@
-#!/bin/sh
-# $FreeBSD: ports/www/apache2/pkg-deinstall,v 1.4 2001/12/07 23:12:32 ache Exp $
-#
-
-if [ "$2" != "POST-DEINSTALL" ]; then
-    exit 0
-fi
-
-USER=www
-
-if pw usershow "${USER}" 2>/dev/null 1>&2; then
-	echo "To delete Apache user permanently, use 'pw userdel ${USER}'"
-fi
-
-exit 0
diff -ruN apache2.orig/pkg-plist apache2/pkg-plist
--- apache2.orig/pkg-plist	Mon Apr  8 15:45:26 2002
+++ apache2/pkg-plist	Thu Apr 18 09:37:34 2002
@@ -815,3 +815,5 @@
 @dirrm lib/apache2
 @dirrm include/apache2
 @dirrm etc/apache2
+@exec [ -d %%DESTDIR%%/var/log ] || mkdir -p %%DESTDIR%%/var/log
+@exec [ -d %%DESTDIR%%/var/run ] || mkdir -p %%DESTDIR%%/var/run
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204180127.g3I1Roef084447>