Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Dec 2010 13:55:15 +0300
From:      Anes Muhametov <anes@anes.su>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        osa@FreeBSD.org
Subject:   ports/152920: Port update: www/nginx              
Message-ID:  <E1PQHg3-000LoJ-66@n4.cm.hc.ru>
Resent-Message-ID: <201012081120.oB8BKCYe037898@freefall.freebsd.org>

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

>Number:         152920
>Category:       ports
>Synopsis:       Port update: www/nginx
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec 08 11:20:11 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Anes Muhametov <anes@anes.su>
>Release:        FreeBSD 7.2-RELEASE-p1 amd64
>Organization:
>Environment:
System: FreeBSD n4.cm.hc.ru 7.2-RELEASE-p1 FreeBSD 7.2-RELEASE-p1 #0: Tue Jul 14 03:45:36 MSD 2009 root@n1.cm.hc.ru:/usr/obj/usr/src/sys/HCSMP64-72-NOINET6 amd64


        
>Description:
        Updated www/nginx port. Added syslog support patch based on http://dl.dropbox.com/u/5836407/Patches/Nginx_0.8.49-syslog-support.txt (found in http://wiki.nginx.org/3rdPa
rtyModules). Also there are ability to change syslog facility in the port.
>How-To-Repeat:
	
>Fix:

	

--- nginx.port.diff begins here ---
diff -ruN nginx.orig/Makefile nginx/Makefile
--- nginx.orig/Makefile	2010-12-01 23:18:56.000000000 +0300
+++ nginx/Makefile	2010-12-08 13:37:55.000000000 +0300
@@ -73,7 +73,8 @@
 		PASSENGER_MODULE	"3rd party passenger module" off \
 		SLOWFS_CACHE_MODULE	"3rd party slowfs_cache module" off \
 		SUPERVISORD_MODULE	"3rd party supervisord module" off \
-		UDPLOG_MODULE		"3rd party udplog (syslog) module" off
+		UDPLOG_MODULE		"3rd party udplog (syslog) module" off \
+		SYSLOG_SUPPORT          "3rd party syslog support" off 
 
 WANT_GNOME=	yes
 MAKE_JOBS_SAFE=	yes
@@ -426,6 +427,12 @@
 EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_udplog_module.c
 .endif
 
+.if defined(WITH_SYSLOG_SUPPORT)
+NGINX_SYSLOG_SUPPORT_FACILITY?= LOG_DAEMON
+CONFIGURE_ARGS+=--with-syslog --with-syslog-facility=${NGINX_SYSLOG_SUPPORT_FACILITY}
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-syslog_support
+.endif
+
 .if defined(WITH_WWW)
 PLIST_SUB+=	WWWDATA=""
 .else
diff -ruN nginx.orig/files/extra-patch-syslog_support nginx/files/extra-patch-syslog_support
--- nginx.orig/files/extra-patch-syslog_support	1970-01-01 03:00:00.000000000 +0300
+++ nginx/files/extra-patch-syslog_support	2010-12-08 13:12:18.000000000 +0300
@@ -0,0 +1,251 @@
+diff -u a/src/core/nginx.c b/src/core/nginx.c
+index 80a5d18..fdad5d5 100644
+--- src/core/nginx.c.orig
++++ src/core/nginx.c
+@@ -8,6 +8,9 @@
+ #include <ngx_core.h>
+ #include <nginx.h>
+ 
++#ifdef USE_SYSLOG
++#include <syslog.h>
++#endif
+ 
+ static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle);
+ static ngx_int_t ngx_get_options(int argc, char *const *argv);
+@@ -278,6 +281,11 @@ main(int argc, char *const *argv)
+     ngx_ssl_init(log);
+ #endif
+ 
++    /* SYSLOG SUPPORT */
++#ifdef USE_SYSLOG
++    openlog("nginx", LOG_NDELAY, SYSLOG_FACILITY);
++#endif
++
+     /*
+      * init_cycle->log is required for signal handlers and
+      * ngx_process_options()
+@@ -396,6 +404,10 @@ main(int argc, char *const *argv)
+         ngx_master_process_cycle(cycle);
+     }
+ 
++#ifdef USE_SYSLOG
++    closelog();
++#endif
++
+     return 0;
+ }
+ 
+diff -u a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
+index 83c1073..1817627 100644
+--- src/core/ngx_conf_file.c.orig
++++ src/core/ngx_conf_file.c
+@@ -907,6 +907,12 @@ ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name)
+     ngx_str_null(&full);
+ #endif
+ 
++#ifdef USE_SYSLOG
++    if (name->len) {
++      name->len = 0;
++    }
++#endif
++
+     if (name->len) {
+         full = *name;
+ 
+diff -u a/src/core/ngx_log.c b/src/core/ngx_log.c
+index c0485c6..b4ae00a 100644
+--- src/core/ngx_log.c.orig
++++ src/core/ngx_log.c
+@@ -7,6 +7,9 @@
+ #include <ngx_config.h>
+ #include <ngx_core.h>
+ 
++#ifdef USE_SYSLOG
++#include <syslog.h>
++#endif
+ 
+ static char *ngx_error_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
+ 
+@@ -90,9 +93,11 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
+     u_char  *p, *last, *msg;
+     u_char   errstr[NGX_MAX_ERROR_STR];
+ 
++#ifndef USE_SYSLOG
+     if (log->file->fd == NGX_INVALID_FILE) {
+         return;
+     }
++#endif
+ 
+     last = errstr + NGX_MAX_ERROR_STR;
+ 
+@@ -139,7 +144,21 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
+ 
+     ngx_linefeed(p);
+ 
++#ifdef USE_SYSLOG
++    /* allocate a string which can hold the error message */
++    char *syslogstr;
++
++    if ((syslogstr = calloc((p - errstr + 1), sizeof(char))) != NULL) {
++      strncpy(syslogstr, errstr, p - errstr);
++
++      /* write to syslog */
++      syslog(LOG_CRIT, "%s", syslogstr);
++
++      free(syslogstr);
++    }
++#else
+     (void) ngx_write_fd(log->file->fd, errstr, p - errstr);
++#endif
+ 
+     if (!ngx_use_stderr
+         || level > NGX_LOG_WARN
+@@ -428,6 +447,10 @@ ngx_error_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+ 
+     value = cf->args->elts;
+ 
++#ifdef USE_SYSLOG
++    value[1].data = "stderr";
++#endif
++
+     if (ngx_strcmp(value[1].data, "stderr") == 0) {
+         ngx_str_null(&name);
+ 
+diff -u a/src/http/modules/ngx_http_log_module.c b/src/http/modules/ngx_http_log_module.c
+index 5f356c3..5232ad6 100644
+--- src/http/modules/ngx_http_log_module.c.orig
++++ src/http/modules/ngx_http_log_module.c
+@@ -8,6 +8,9 @@
+ #include <ngx_core.h>
+ #include <ngx_http.h>
+ 
++#ifdef USE_SYSLOG
++#include <syslog.h>
++#endif
+ 
+ typedef struct ngx_http_log_op_s  ngx_http_log_op_t;
+ 
+@@ -310,6 +313,19 @@ static void
+ ngx_http_log_write(ngx_http_request_t *r, ngx_http_log_t *log, u_char *buf,
+     size_t len)
+ {
++#ifdef USE_SYSLOG
++  /* allocate a string which can hold the error message */
++  char *syslogstr;
++
++  if ((syslogstr = calloc((len + 1), sizeof(char))) != NULL) {
++    strncpy(syslogstr, buf, len);
++
++    /* write to syslog */
++    syslog(LOG_NOTICE, "%s", syslogstr);
++
++    free(syslogstr);
++  }
++#else
+     u_char     *name;
+     time_t      now;
+     ssize_t     n;
+@@ -354,6 +370,7 @@ ngx_http_log_write(ngx_http_request_t *r, ngx_http_log_t *log, u_char *buf,
+ 
+         log->error_log_time = now;
+     }
++#endif
+ }
+ 
+ 
+@@ -818,7 +835,11 @@ ngx_http_log_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
+         return NGX_CONF_ERROR;
+     }
+ 
++#ifdef USE_SYSLOG
++    ngx_http_access_log.data = "";
++#endif
+     log->file = ngx_conf_open_file(cf->cycle, &ngx_http_access_log);
++
+     if (log->file == NULL) {
+         return NGX_CONF_ERROR;
+     }
+@@ -883,7 +904,11 @@ ngx_http_log_set_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+     n = ngx_http_script_variables_count(&value[1]);
+ 
+     if (n == 0) {
++#ifdef USE_SYSLOG
++        value[1].data = "";
++#endif
+         log->file = ngx_conf_open_file(cf->cycle, &value[1]);
++
+         if (log->file == NULL) {
+             return NGX_CONF_ERROR;
+         }
+-- 
+1.6.3.3
+
+--- auto/summary.orig	2010-07-08 19:57:36.000000000 +0400
++++ auto/summary	2010-12-08 12:25:16.000000000 +0300
+@@ -73,6 +73,11 @@
+     *)     echo "  + using libatomic_ops library: $NGX_LIBATOMIC" ;;
+ esac
+ 
++case $USE_SYSLOG in
++    YES)   echo "  + using syslog with $SYSLOG_FACILITY facility" ;;
++    *)     echo "  + syslog is not used" ;;
++esac
++
+ echo
+ 
+ 
+--- auto/make.orig	2009-05-12 17:15:43.000000000 +0400
++++ auto/make	2010-12-08 12:32:25.000000000 +0300
+@@ -15,6 +15,13 @@
+ ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep
+ ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"`
+ 
++#SYSLOG
++if test -z "${SYSLOG_FACILITY}"; then
++    SYSLOG_FACILITY="LOG_DAEMON"
++fi
++if test "${USE_SYSLOG}" = "YES"; then
++    CFLAGS="$CFLAGS -DUSE_SYSLOG -DSYSLOG_FACILITY=${SYSLOG_FACILITY}"
++fi
+ 
+ cat << END                                                     > $NGX_MAKEFILE
+ 
+--- auto/options.orig	2010-06-18 19:51:14.000000000 +0400
++++ auto/options	2010-12-08 13:00:42.000000000 +0300
+@@ -118,6 +118,8 @@
+ MD5_OPT=
+ MD5_ASM=NO
+ 
++USE_SYSLOG=NO
++
+ USE_SHA1=NO
+ SHA1=NONE
+ SHA1_OPT=
+@@ -270,6 +272,9 @@
+         --with-md5-opt=*)                MD5_OPT="$value"           ;;
+         --with-md5-asm)                  MD5_ASM=YES                ;;
+ 
++	--with-syslog)			 USE_SYSLOG=YES		    ;;
++        --with-syslog-facility=*)        SYSLOG_FACILITY="$value"  ;;
++
+         --with-sha1=*)                   SHA1="$value"              ;;
+         --with-sha1-opt=*)               SHA1_OPT="$value"          ;;
+         --with-sha1-asm)                 SHA1_ASM=YES               ;;
+@@ -410,6 +415,9 @@
+   --with-md5-opt=OPTIONS             set additional options for md5 building
+   --with-md5-asm                     use md5 assembler sources
+ 
++  --with-syslog			     use syslog instead of files to log messages
++  --with-syslog-facility=FACILITY    set syslog facility
++
+   --with-sha1=DIR                    set path to sha1 library sources
+   --with-sha1-opt=OPTIONS            set additional options for sha1 building
+   --with-sha1-asm                    use sha1 assembler sources
+@@ -427,6 +435,7 @@
+   --with-openssl-opt=OPTIONS         set additional options for OpenSSL building
+ 
+   --with-debug                       enable the debugging logging
++  
+ 
+ END
+ 
--- nginx.port.diff ends here ---

--- nginx.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	nginx
#	nginx/files
#	nginx/files/extra-patch-ngx_http_notice_module.c
#	nginx/files/extra-patch-ngx_http_streaming_module.c
#	nginx/files/extra-patch-ngx_http_udplog_module.c
#	nginx/files/extra-patch-ngx_http_upstream.h
#	nginx/files/extra-patch-passenger::build::nginx.rb
#	nginx/files/nginx.8.in
#	nginx/files/nginx.sh.in
#	nginx/files/patch-conf-nginx.conf
#	nginx/files/extra-patch-syslog_support
#	nginx/Makefile
#	nginx/distinfo
#	nginx/pkg-descr
#	nginx/pkg-plist
#
echo c - nginx
mkdir -p nginx > /dev/null 2>&1
echo c - nginx/files
mkdir -p nginx/files > /dev/null 2>&1
echo x - nginx/files/extra-patch-ngx_http_notice_module.c
sed 's/^X//' >nginx/files/extra-patch-ngx_http_notice_module.c << '411c296d5c765bf814234327488c64c8'
X--- ../nginx-notice-2/ngx_http_notice_module.c.orig	2009-07-16 18:37:57.000000000 +0200
X+++ ../nginx-notice-2/ngx_http_notice_module.c	2009-07-16 08:09:38.000000000 +0200
X@@ -153,7 +153,7 @@
X         return NGX_HTTP_NOT_ALLOWED;
X     }
X 
X-    rc = ngx_http_discard_body(r);
X+    rc = ngx_http_discard_request_body(r);
X 
X     if (rc != NGX_OK && rc != NGX_AGAIN) {
X         return rc;
411c296d5c765bf814234327488c64c8
echo x - nginx/files/extra-patch-ngx_http_streaming_module.c
sed 's/^X//' >nginx/files/extra-patch-ngx_http_streaming_module.c << 'dc6b985e6b3f532db80d50ab1b6d0945'
X--- ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c.orig	2010-05-24 18:04:43.000000000 +0400
X+++ ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c	2010-05-24 18:05:02.000000000 +0400
X@@ -155,10 +155,6 @@
X   }
X 
X   /* TODO: Win32 */
X-  if (r->zero_in_uri)
X-  {
X-    return NGX_DECLINED;
X-  }
X 
X   rc = ngx_http_discard_request_body(r);
X 
dc6b985e6b3f532db80d50ab1b6d0945
echo x - nginx/files/extra-patch-ngx_http_udplog_module.c
sed 's/^X//' >nginx/files/extra-patch-ngx_http_udplog_module.c << 'cdacce6aef08c9ec5263985ab6f3c71a'
X--- ../nginx_udplog_module-1.0.0/ngx_http_udplog_module.c.orig	2010-01-11 19:16:46.000000000 +0300
X+++ ../nginx_udplog_module-1.0.0/ngx_http_udplog_module.c	2010-01-11 19:20:17.000000000 +0300
X@@ -280,7 +280,7 @@
X     uc->sockaddr = endpoint->peer_addr.sockaddr;
X     uc->socklen = endpoint->peer_addr.socklen;
X     uc->server = endpoint->peer_addr.name;
X-#if defined nginx_version && nginx_version >= 7054
X+#if defined nginx_version && ( nginx_version >= 7054 && nginx_version < 8032 )
X     uc->log = &cf->cycle->new_log;
X #else
X     uc->log = cf->cycle->new_log;
X@@ -335,7 +335,11 @@
X     }
X 
X     if ((size_t) n != (size_t) len) {
X+#if defined nginx_version && nginx_version >= 8032
X+        ngx_log_error(NGX_LOG_CRIT, &uc->log, 0, "send() incomplete");
X+#else
X         ngx_log_error(NGX_LOG_CRIT, uc->log, 0, "send() incomplete");
X+#endif
X         return NGX_ERROR;
X     }
X 
cdacce6aef08c9ec5263985ab6f3c71a
echo x - nginx/files/extra-patch-ngx_http_upstream.h
sed 's/^X//' >nginx/files/extra-patch-ngx_http_upstream.h << '3046c02e445dd1fb95396ac8dd99b628'
X--- src/http/ngx_http_upstream.h.orig	2010-01-14 04:20:57.000000000 +0300
X+++ src/http/ngx_http_upstream.h	2010-01-14 04:22:00.000000000 +0300
X@@ -105,6 +105,10 @@
X 
X     ngx_array_t                     *servers;  /* ngx_http_upstream_server_t */
X 
X+    ngx_array_t                     *values;
X+    ngx_array_t                     *lengths;
X+    ngx_uint_t                       retries;
X+
X     ngx_uint_t                       flags;
X     ngx_str_t                        host;
X     u_char                          *file_name;
3046c02e445dd1fb95396ac8dd99b628
echo x - nginx/files/extra-patch-passenger::build::nginx.rb
sed 's/^X//' >nginx/files/extra-patch-passenger::build::nginx.rb << '1b3e22589e2a7bbd48d4b80740020502'
X--- ../passenger-3.0.0/build/nginx.rb.orig	2010-10-01 14:22:34.000000000 +0400
X+++ ../passenger-3.0.0/build/nginx.rb	2010-12-04 15:27:45.000000000 +0300
X@@ -16,10 +16,7 @@
X 
X desc "Build Nginx helper agent"
X task :nginx => [
X-	'agents/nginx/PassengerHelperAgent',
X-	'agents/PassengerWatchdog',
X-	'agents/PassengerLoggingAgent',
X-	:native_support
X+	'agents/nginx/PassengerHelperAgent'
X ]
X 
X dependencies = [
X@@ -44,17 +41,7 @@
X 	LIBCOMMON,
X ]
X file 'agents/nginx/PassengerHelperAgent' => dependencies do
X-	sh "mkdir -p agents/nginx" if !File.directory?("agents/nginx")
X-	create_executable "agents/nginx/PassengerHelperAgent",
X-		'ext/nginx/HelperAgent.cpp',
X-		"-Iext -Iext/common " <<
X-		"#{PlatformInfo.portability_cflags} " <<
X-		"#{EXTRA_CXXFLAGS}  " <<
X-		"#{LIBCOMMON} " <<
X-		"#{LIBBOOST_OXT} " <<
X-		"#{PlatformInfo.portability_ldflags} " <<
X-		"#{AGENT_LDFLAGS} " <<
X-		"#{EXTRA_LDFLAGS}"
X+	true
X end
X 
X task :clean => 'nginx:clean'
1b3e22589e2a7bbd48d4b80740020502
echo x - nginx/files/nginx.8.in
sed 's/^X//' >nginx/files/nginx.8.in << '820244ab4524485ed61280fccfc54fc1'
X.\"
X.\" Copyright (c) 2010 Sergey A. Osokin
X.\" All rights reserved.
X.\"
X.\" Redistribution and use in source and binary forms, with or without
X.\" modification, are permitted provided that the following conditions
X.\" are met:
X.\" 1. Redistributions of source code must retain the above copyright
X.\"    notice, this list of conditions and the following disclaimer.
X.\" 2. Redistributions in binary form must reproduce the above copyright
X.\"    notice, this list of conditions and the following disclaimer in the
X.\"    documentation and/or other materials provided with the distribution.
X.\"
X.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
X.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
X.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
X.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
X.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
X.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
X.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
X.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
X.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
X.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X.\" SUCH DAMAGE.
X.\"
X.\"
X.Dd November 14, 2010
X.Dt NGINX 8
X.Os
X.Sh NAME
X.Nm nginx
X.Nd "HTTP and reverse proxy server, mail proxy server"
X.Sh SYNOPSIS
X.Nm
X.Op Fl hqtvV?
X.Op Fl c Ar file
X.Op Fl g Ar directives
X.Op Fl p Ar prefix
X.Op Fl s Ar signal
X.Sh DESCRIPTION
XThe
X.Nm
X(spelled
X.Dq engine x )
Xis an HTTP and reverse proxy server, as well as a mail proxy server.
XThe
X.Nm
Xis known for its high performance, stability, rich feature set, simple
Xconfiguration, and low resource consumption.
X.Pp
XThe options are as follows:
X.Bl -tag -width ".Fl d Ar directives"
X.It Fl ?\& | h
XPrint help.
X.It Fl c Ar file
XUse an alternative configuration
X.Ar file .
X.It Fl g Ar directives
XSet global configuration directives.
XSee
X.Sx EXAMPLES
Xfor details.
X.It Fl p Ar prefix
XSet prefix path.
XDefault value is
X.Pa %%PREFIX%%/etc/nginx .
X.It Fl q
XSuppress non-error messages during configuration testing.
X.It Fl s Ar signal
XSend signal to the master process.
XThe argument
X.Ar signal
Xcan be one of:
X.Cm stop , quit , reopen , reload .
XThe following table shows the corresponding system signals.
X.Pp
X.Bl -tag -width ".It Cm reopen" -compact
X.It Cm stop
X.Dv SIGTERM
X.It Cm quit
X.Dv SIGQUIT
X.It Cm reopen
X.Dv SIGUSR1
X.It Cm reload
X.Dv SIGHUP
X.El
X.It Fl t
XDon't run, just test the configuration file.
XThe
X.Nm
Xchecks configuration for correct syntax and then tries to open files
Xreferred in configuration.
X.It Fl v
XPrint
X.Nm
Xversion.
X.It Fl V
XPrint
X.Nm
Xversion, compiler version and
X.Pa configure
Xscript parameters.
X.El
X.Sh SIGNALS
XThe master process of
X.Nm
Xcan handle the following signals.
X.Pp
X.Bl -tag -width ".It Dv SIGINT , SIGTERM" -compact
X.It Dv SIGINT , SIGTERM
XShut down quickly.
X.It Dv SIGHUP
XReload configuration, start the new worker process with a new
Xconfiguration, gracefully shut down old worker processes.
X.It Dv SIGQUIT
XShut down gracefully.
X.It Dv SIGUSR1
XReopen log files.
X.It Dv SIGUSR2
XUpgrade
X.Nm
Xexecutable on the fly.
X.It Dv SIGWINCH
XShut down gracefully worker processes.
X.El
X.Pp
XWhile there's no need to explicitly control worker processes normally,
Xthey support some signals, too:
X.Pp
X.Bl -tag -width ".It Dv SIGINT , SIGTERM" -compact
X.It Dv SIGTERM
XShut down quickly.
X.It Dv SIGQUIT
XShut down gracefully.
X.It Dv SIGUSR1
XReopen log files.
X.El
X.Sh DEBUGGING LOG
XTo enable a debugging log, reconfigure
X.Nm
Xto build with debugging:
X.Pp
X.Dl "./configure --with-debug ..."
X.Pp
Xand then set the
X.Cm debug
Xlevel of the
X.Va error_log :
X.Pp
X.Dl "error_log /path/to/log debug;"
X.Pp
XIt is also possible to enable the debugging for some IP address:
X.Bd -literal -offset indent
Xevents {
X	debug_connection 127.0.0.1;
X}
X.Ed
X.Sh FILES
X.Bl -tag -width indent -compact
X.It Pa %%NGINX_RUNDIR%%/nginx/nginx.pid
XContains the process ID of the
X.Nm
Xlistening for connections.
XThe content of this file is not sensitive; it can be world-readable.
X.It Pa %%PREFIX%%/etc/nginx/nginx.conf
XMain configuration file.
X.It Pa %%NGINX_ERRORLOG%%
XError log file.
X.El
X.Sh EXIT STATUS
XExit status is 0 on success, or 1 if the command fails.
X.Sh EXAMPLES
X.Bd -literal
Xnginx -t -c ~/mynginx.conf -g "pid %%NGINX_RUNDIR%%/mynginx.pid; worker_processes 2;"
X.Ed
XTest configuration file
X.Pa ~/mynginx.conf
Xwith global directives for PID and quantity of worker processes.
X.Sh SEE ALSO
X.Xr nginx.conf 5
X.Sh HISTORY
XDevelopment of
X.Nm
Xstarted in 2002, with the first public release in 2004.
X.Sh AUTHORS
X.An Igor Sysoev Aq igor@sysoev.ru
X.Pp
XDocumentation available on
X.Pa http://nginx.org/
Xand
X.Pa http://sysoev.ru/nginx/ .
X.Pp
XThis manual page was written by
X.An Sergey A. Osokin Aq osa@FreeBSD.org.ru
Xas a result of compilation of many
X.Nm
Xdocuments all over the world.
X.Sh BUGS
XReport to mailing list
X.Aq Li nginx@nginx.org
Xif you found one.
820244ab4524485ed61280fccfc54fc1
echo x - nginx/files/nginx.sh.in
sed 's/^X//' >nginx/files/nginx.sh.in << 'ca857c765719d090275e9da5430d498f'
X#!/bin/sh
X# $FreeBSD: ports/www/nginx/files/nginx.sh.in,v 1.9 2010/03/28 04:44:54 dougb Exp $
X
X# PROVIDE: nginx
X# REQUIRE: LOGIN cleanvar
X# KEYWORD: shutdown
X
X#
X# Add the following lines to /etc/rc.conf to enable nginx:
X# nginx_enable (bool):		Set to "NO" by default.
X#				Set it to "YES" to enable nginx
X# nginx_profiles (str):		Set to "" by default.
X#				Define your profiles here.
X# nginxlimits_enable (bool):	Set to "NO" by default.
X#				Set it to yes to run `limits $limits_args`
X#				just before nginx starts.
X# nginx_flags (str):		Set to "" by default.
X#				Extra flags passed to start command.
X# nginxlimits_args (str):	Default to "-e -U %%WWWOWN%%"
X#				Arguments of pre-start limits run.
X
X. /etc/rc.subr
X
Xname="nginx"
Xrcvar=`set_rcvar`
X
Xstart_precmd="nginx_precmd"
Xrestart_precmd="nginx_checkconfig"
Xreload_precmd="nginx_checkconfig"
Xconfigtest_cmd="nginx_checkconfig"
Xgracefulstop_cmd="nginx_gracefulstop"
Xupgrade_precmd="nginx_checkconfig"
Xupgrade_cmd="nginx_upgrade"
Xcommand="%%PREFIX%%/sbin/nginx"
X_pidprefix="/var/run/nginx"
Xpidfile="${_pidprefix}.pid"
Xrequired_files=%%PREFIX%%/etc/nginx/nginx.conf
X
X[ -z "$nginx_enable" ]		&& nginx_enable="NO"
X[ -z "$nginxlimits_enable" ]	&& nginxlimits_enable="NO"
X[ -z "$nginxlimits_args" ]	&& nginxlimits_args="-e -U %%WWWOWN%%"
X
Xload_rc_config $name
X
Xif [ -n "$2" ]; then
X	profile="$2"
X	if [ "x${nginx_profiles}" != "x" ]; then
X		pidfile="${_pidprefix}.${profile}.pid"
X		eval nginx_configfile="\${nginx_${profile}_configfile:-}"
X		if [ "x${nginx_configfile}" = "x" ]; then
X			echo "You must define a configuration file (nginx_${profile}_configfile)"
X			exit 1
X		fi
X		required_files="${nginx_configfile}"
X		eval nginx_enable="\${nginx_${profile}_enable:-${nginx_enable}}"
X		eval nginx_flags="\${nginx_${profile}_flags:-${nginx_flags}}"
X		eval nginxlimits_enable="\${nginxlimits_${profile}_enable:-${nginxlimits_enable}}"
X		eval nginxlimits_args="\${nginxlimits_${profile}_args:-${nginxlimits_args}}"
X		nginx_flags="-c ${nginx_configfile} -g \"pid ${pidfile};\" ${nginx_flags}"
X	else
X		echo "$0: extra argument ignored"
X	fi
Xelse
X	if [ "x${nginx_profiles}" != "x" -a "x$1" != "x" ]; then
X		for profile in ${nginx_profiles}; do
X			echo "===> nginx profile: ${profile}"
X			%%PREFIX%%/etc/rc.d/nginx $1 ${profile}
X			retcode="$?"
X			if [ "0${retcode}" -ne 0 ]; then
X				failed="${profile} (${retcode}) ${failed:-}"
X			else
X				success="${profile} ${success:-}"
X			fi
X		done
X		exit 0
X	fi
Xfi
X
Xnginx_checkconfig()
X{
X	echo "Performing sanity check on nginx configuration:"
X	eval ${command} ${nginx_flags} -t
X}
X
Xnginx_gracefulstop()
X{
X	echo "Performing a graceful stop:"
X	sig_stop="QUIT"
X	run_rc_command ${rc_prefix}stop $rc_extra_args || return 1
X}
X
Xnginx_upgrade()
X{
X	echo "Upgrading nginx binary:"
X
X	reload_precmd=""
X	sig_reload="USR2"
X	run_rc_command ${rc_prefix}reload $rc_extra_args || return 1
X
X	sleep 1
X
X	echo "Stopping old binary:"
X
X	sig_reload="QUIT"
X	pidfile="$pidfile.oldbin"
X	run_rc_command ${rc_prefix}reload $rc_extra_args || return 1
X}
X
Xnginx_precmd() 
X{
X	nginx_checkconfig
X
X	if checkyesno nginxlimits_enable
X	then
X		eval `/usr/bin/limits ${nginxlimits_args}` 2>/dev/null
X	else
X		return 0
X	fi
X}
X
Xextra_commands="reload configtest upgrade gracefulstop"
Xrun_rc_command "$1"
ca857c765719d090275e9da5430d498f
echo x - nginx/files/patch-conf-nginx.conf
sed 's/^X//' >nginx/files/patch-conf-nginx.conf << '8ae50bb58305e670a6c68b37d391b707'
X
X$FreeBSD: ports/www/nginx/files/patch-conf-nginx.conf,v 1.4 2008/05/19 12:01:14 osa Exp $
X
X--- conf/nginx.conf.orig	Thu Jan 18 10:08:18 2007
X+++ conf/nginx.conf	Thu Jun 14 12:57:52 2007
X@@ -33,7 +33,7 @@
X     #gzip  on;
X 
X     server {
X-        listen       80;
X+        listen       %%HTTP_PORT%%;
X         server_name  localhost;
X 
X         #charset koi8-r;
X@@ -41,7 +41,7 @@
X         #access_log  logs/host.access.log  main;
X 
X         location / {
X-            root   html;
X+            root   %%PREFIX%%/www/nginx;
X             index  index.html index.htm;
X         }
X 
X@@ -51,7 +51,7 @@
X         #
X         error_page   500 502 503 504  /50x.html;
X         location = /50x.html {
X-            root   html;
X+            root   %%PREFIX%%/www/nginx-dist;
X         }
X 
X         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
8ae50bb58305e670a6c68b37d391b707
echo x - nginx/files/extra-patch-syslog_support
sed 's/^X//' >nginx/files/extra-patch-syslog_support << '239671c156bf471422047eb66226460b'
Xdiff -u a/src/core/nginx.c b/src/core/nginx.c
Xindex 80a5d18..fdad5d5 100644
X--- src/core/nginx.c.orig
X+++ src/core/nginx.c
X@@ -8,6 +8,9 @@
X #include <ngx_core.h>
X #include <nginx.h>
X 
X+#ifdef USE_SYSLOG
X+#include <syslog.h>
X+#endif
X 
X static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle);
X static ngx_int_t ngx_get_options(int argc, char *const *argv);
X@@ -278,6 +281,11 @@ main(int argc, char *const *argv)
X     ngx_ssl_init(log);
X #endif
X 
X+    /* SYSLOG SUPPORT */
X+#ifdef USE_SYSLOG
X+    openlog("nginx", LOG_NDELAY, SYSLOG_FACILITY);
X+#endif
X+
X     /*
X      * init_cycle->log is required for signal handlers and
X      * ngx_process_options()
X@@ -396,6 +404,10 @@ main(int argc, char *const *argv)
X         ngx_master_process_cycle(cycle);
X     }
X 
X+#ifdef USE_SYSLOG
X+    closelog();
X+#endif
X+
X     return 0;
X }
X 
Xdiff -u a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
Xindex 83c1073..1817627 100644
X--- src/core/ngx_conf_file.c.orig
X+++ src/core/ngx_conf_file.c
X@@ -907,6 +907,12 @@ ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name)
X     ngx_str_null(&full);
X #endif
X 
X+#ifdef USE_SYSLOG
X+    if (name->len) {
X+      name->len = 0;
X+    }
X+#endif
X+
X     if (name->len) {
X         full = *name;
X 
Xdiff -u a/src/core/ngx_log.c b/src/core/ngx_log.c
Xindex c0485c6..b4ae00a 100644
X--- src/core/ngx_log.c.orig
X+++ src/core/ngx_log.c
X@@ -7,6 +7,9 @@
X #include <ngx_config.h>
X #include <ngx_core.h>
X 
X+#ifdef USE_SYSLOG
X+#include <syslog.h>
X+#endif
X 
X static char *ngx_error_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
X 
X@@ -90,9 +93,11 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
X     u_char  *p, *last, *msg;
X     u_char   errstr[NGX_MAX_ERROR_STR];
X 
X+#ifndef USE_SYSLOG
X     if (log->file->fd == NGX_INVALID_FILE) {
X         return;
X     }
X+#endif
X 
X     last = errstr + NGX_MAX_ERROR_STR;
X 
X@@ -139,7 +144,21 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
X 
X     ngx_linefeed(p);
X 
X+#ifdef USE_SYSLOG
X+    /* allocate a string which can hold the error message */
X+    char *syslogstr;
X+
X+    if ((syslogstr = calloc((p - errstr + 1), sizeof(char))) != NULL) {
X+      strncpy(syslogstr, errstr, p - errstr);
X+
X+      /* write to syslog */
X+      syslog(LOG_CRIT, "%s", syslogstr);
X+
X+      free(syslogstr);
X+    }
X+#else
X     (void) ngx_write_fd(log->file->fd, errstr, p - errstr);
X+#endif
X 
X     if (!ngx_use_stderr
X         || level > NGX_LOG_WARN
X@@ -428,6 +447,10 @@ ngx_error_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
X 
X     value = cf->args->elts;
X 
X+#ifdef USE_SYSLOG
X+    value[1].data = "stderr";
X+#endif
X+
X     if (ngx_strcmp(value[1].data, "stderr") == 0) {
X         ngx_str_null(&name);
X 
Xdiff -u a/src/http/modules/ngx_http_log_module.c b/src/http/modules/ngx_http_log_module.c
Xindex 5f356c3..5232ad6 100644
X--- src/http/modules/ngx_http_log_module.c.orig
X+++ src/http/modules/ngx_http_log_module.c
X@@ -8,6 +8,9 @@
X #include <ngx_core.h>
X #include <ngx_http.h>
X 
X+#ifdef USE_SYSLOG
X+#include <syslog.h>
X+#endif
X 
X typedef struct ngx_http_log_op_s  ngx_http_log_op_t;
X 
X@@ -310,6 +313,19 @@ static void
X ngx_http_log_write(ngx_http_request_t *r, ngx_http_log_t *log, u_char *buf,
X     size_t len)
X {
X+#ifdef USE_SYSLOG
X+  /* allocate a string which can hold the error message */
X+  char *syslogstr;
X+
X+  if ((syslogstr = calloc((len + 1), sizeof(char))) != NULL) {
X+    strncpy(syslogstr, buf, len);
X+
X+    /* write to syslog */
X+    syslog(LOG_NOTICE, "%s", syslogstr);
X+
X+    free(syslogstr);
X+  }
X+#else
X     u_char     *name;
X     time_t      now;
X     ssize_t     n;
X@@ -354,6 +370,7 @@ ngx_http_log_write(ngx_http_request_t *r, ngx_http_log_t *log, u_char *buf,
X 
X         log->error_log_time = now;
X     }
X+#endif
X }
X 
X 
X@@ -818,7 +835,11 @@ ngx_http_log_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
X         return NGX_CONF_ERROR;
X     }
X 
X+#ifdef USE_SYSLOG
X+    ngx_http_access_log.data = "";
X+#endif
X     log->file = ngx_conf_open_file(cf->cycle, &ngx_http_access_log);
X+
X     if (log->file == NULL) {
X         return NGX_CONF_ERROR;
X     }
X@@ -883,7 +904,11 @@ ngx_http_log_set_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
X     n = ngx_http_script_variables_count(&value[1]);
X 
X     if (n == 0) {
X+#ifdef USE_SYSLOG
X+        value[1].data = "";
X+#endif
X         log->file = ngx_conf_open_file(cf->cycle, &value[1]);
X+
X         if (log->file == NULL) {
X             return NGX_CONF_ERROR;
X         }
X-- 
X1.6.3.3
X
X--- auto/summary.orig	2010-07-08 19:57:36.000000000 +0400
X+++ auto/summary	2010-12-08 12:25:16.000000000 +0300
X@@ -73,6 +73,11 @@
X     *)     echo "  + using libatomic_ops library: $NGX_LIBATOMIC" ;;
X esac
X 
X+case $USE_SYSLOG in
X+    YES)   echo "  + using syslog with $SYSLOG_FACILITY facility" ;;
X+    *)     echo "  + syslog is not used" ;;
X+esac
X+
X echo
X 
X 
X--- auto/make.orig	2009-05-12 17:15:43.000000000 +0400
X+++ auto/make	2010-12-08 12:32:25.000000000 +0300
X@@ -15,6 +15,13 @@
X ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep
X ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"`
X 
X+#SYSLOG
X+if test -z "${SYSLOG_FACILITY}"; then
X+    SYSLOG_FACILITY="LOG_DAEMON"
X+fi
X+if test "${USE_SYSLOG}" = "YES"; then
X+    CFLAGS="$CFLAGS -DUSE_SYSLOG -DSYSLOG_FACILITY=${SYSLOG_FACILITY}"
X+fi
X 
X cat << END                                                     > $NGX_MAKEFILE
X 
X--- auto/options.orig	2010-06-18 19:51:14.000000000 +0400
X+++ auto/options	2010-12-08 13:00:42.000000000 +0300
X@@ -118,6 +118,8 @@
X MD5_OPT=
X MD5_ASM=NO
X 
X+USE_SYSLOG=NO
X+
X USE_SHA1=NO
X SHA1=NONE
X SHA1_OPT=
X@@ -270,6 +272,9 @@
X         --with-md5-opt=*)                MD5_OPT="$value"           ;;
X         --with-md5-asm)                  MD5_ASM=YES                ;;
X 
X+	--with-syslog)			 USE_SYSLOG=YES		    ;;
X+        --with-syslog-facility=*)        SYSLOG_FACILITY="$value"  ;;
X+
X         --with-sha1=*)                   SHA1="$value"              ;;
X         --with-sha1-opt=*)               SHA1_OPT="$value"          ;;
X         --with-sha1-asm)                 SHA1_ASM=YES               ;;
X@@ -410,6 +415,9 @@
X   --with-md5-opt=OPTIONS             set additional options for md5 building
X   --with-md5-asm                     use md5 assembler sources
X 
X+  --with-syslog			     use syslog instead of files to log messages
X+  --with-syslog-facility=FACILITY    set syslog facility
X+
X   --with-sha1=DIR                    set path to sha1 library sources
X   --with-sha1-opt=OPTIONS            set additional options for sha1 building
X   --with-sha1-asm                    use sha1 assembler sources
X@@ -427,6 +435,7 @@
X   --with-openssl-opt=OPTIONS         set additional options for OpenSSL building
X 
X   --with-debug                       enable the debugging logging
X+  
X 
X END
X 
239671c156bf471422047eb66226460b
echo x - nginx/Makefile
sed 's/^X//' >nginx/Makefile << '37f2e31004f98fc09f07aa16832ed19c'
X# New ports collection makefile for:	nginx
X# Date created:				11 Oct 2004
X# Whom:					osa
X#
X# $FreeBSD: ports/www/nginx/Makefile,v 1.240 2010/12/01 20:18:56 osa Exp $
X#
X
XPORTNAME=	nginx
XPORTVERSION=	0.8.53
XPORTREVISION=	1
XCATEGORIES=	www
XMASTER_SITES=	http://sysoev.ru/nginx/
XMASTER_SITES+=	${MASTER_SITE_LOCAL}
XMASTER_SITE_SUBDIR=	osa
XDISTFILES=	${DISTNAME}${EXTRACT_SUFX}
X
XMAINTAINER=	osa@FreeBSD.org
XCOMMENT=	Robust and small WWW server
X
XLICENSE=	BSD
X
XOPTIONS=	DEBUG			"Enable nginx debugging" off \
X		DEBUGLOG		"Enable debug log (--with-debug)" off \
X		FILE_AIO		"Enable file aio" off \
X		IPV6			"Enable IPv6" off \
X		GOOGLE_PERFTOOLS	"Enable google perftools module" off \
X		HTTP_MODULE		"Enable HTTP module" on \
X		HTTP_ADDITION_MODULE	"Enable http_addition module" off \
X		HTTP_CACHE_MODULE	"Enable http_cache module" on \
X		HTTP_DAV_MODULE		"Enable http_webdav module" off \
X		HTTP_FLV_MODULE		"Enable http_flv module" off \
X		HTTP_GEOIP_MODULE	"Enable http_geoip module" off \
X		HTTP_GZIP_STATIC_MODULE "Enable http_gzip_static module" off \
X		HTTP_IMAGE_FILTER_MODULE "Enable http_image_filter module" off \
X		HTTP_PERL_MODULE	"Enable http_perl module" off \
X		HTTP_RANDOM_INDEX_MODULE "Enable http_random_index module" off \
X		HTTP_REALIP_MODULE	"Enable http_realip module" off \
X		HTTP_REWRITE_MODULE	"Enable http_rewrite module" on \
X		HTTP_SECURE_LINK_MODULE "Enable http_secure_link module" off \
X		HTTP_SSL_MODULE		"Enable http_ssl module" off \
X		HTTP_STATUS_MODULE	"Enable http_stub_status module" on \
X		HTTP_SUB_MODULE		"Enable http_sub module" off \
X		HTTP_XSLT_MODULE	"Enable http_xslt module" off \
X		MAIL_MODULE		"Enable IMAP4/POP3/SMTP proxy module" off \
X		MAIL_IMAP_MODULE	"Enable IMAP4 proxy module" off \
X		MAIL_POP3_MODULE	"Enable POP3 proxy module" off \
X		MAIL_SMTP_MODULE	"Enable SMTP proxy module" off \
X		MAIL_SSL_MODULE		"Enable mail_ssl module" off \
X		WWW			"Enable html sample files" on \
X		CACHE_PURGE_MODULE	"3rd party cache_purge module" off \
X		ECHO_MODULE		"3rd party echo module" off \
X		HEADERS_MORE_MODULE	"3rd party headers_more module" off \
X		HTTP_ACCEPT_LANGUAGE	"3rd party accept_language module" off \
X		HTTP_ACCESSKEY_MODULE	"3rd party http_accesskey module" off \
X		HTTP_AUTH_PAM_MODULE	"3rd party http_auth_pam module" off \
X		HTTP_AUTH_REQ_MODULE	"3rd party http_auth_request module" off \
X		HTTP_EVAL_MODULE	"3rd party eval module" off \
X		HTTP_FANCYINDEX_MODULE	"3rd party http_fancyindex module" off \
X		HTTP_GUNZIP_FILTER	"3rd party http_gunzip_filter module" off \
X		HTTP_MOGILEFS_MODULE	"3rd party mogilefs module" off \
X		HTTP_MP4_H264_MODULE	"3rd party mp4/h264 module" off \
X		HTTP_NOTICE_MODULE	"3rd party notice module" off \
X		HTTP_PUSH_MODULE	"3rd party push module" off \
X		HTTP_REDIS_MODULE	"3rd party http_redis module" off \
X		HTTP_RESPONSE_MODULE	"3rd party http_response module" off \
X		HTTP_UPLOAD_MODULE	"3rd party upload module" off \
X		HTTP_UPLOAD_PROGRESS	"3rd party uploadprogress module" off \
X		HTTP_UPSTREAM_FAIR	"3rd party upstream fair module" off \
X		HTTP_UPSTREAM_HASH	"3rd party upstream hash module" off \
X		HTTP_UPSTREAM_KEEPALIVE "3rd party upstream keepalive module" off \
X		HTTP_ZIP_MODULE		"3rd party http_zip module" off \
X		MEMC_MODULE		"3rd party memc (memcached) module" off \
X		PASSENGER_MODULE	"3rd party passenger module" off \
X		SLOWFS_CACHE_MODULE	"3rd party slowfs_cache module" off \
X		SUPERVISORD_MODULE	"3rd party supervisord module" off \
X		UDPLOG_MODULE		"3rd party udplog (syslog) module" off \
X		SYSLOG_SUPPORT          "3rd party syslog support" off 
X
XWANT_GNOME=	yes
XMAKE_JOBS_SAFE=	yes
X
X.include <bsd.port.options.mk>
X
X.if defined(WITH_PASSENGER_MODULE)
XCATEGORIES+=	ruby
XUSE_RUBY=	yes
XUSE_RAKE=	yes
X.endif
X
XNGINX_VARDIR?=	/var
XNGINX_LOGDIR?=	${NGINX_VARDIR}/log
XNGINX_RUNDIR?=	${NGINX_VARDIR}/run
XNGINX_TMPDIR?=	${NGINX_VARDIR}/tmp/nginx
XHTTP_PORT?=	80
X
XNGINX_ACCESSLOG?=	${NGINX_LOGDIR}/nginx-access.log
XNGINX_ERRORLOG?=	${NGINX_LOGDIR}/nginx-error.log
X
XCONFLICTS?=	nginx-devel-0.*
XUSE_RC_SUBR=	nginx.sh
XSUB_LIST+=	WWWOWN=${WWWOWN}
X.if !defined(NO_INSTALL_MANPAGES)
XMAN8=		nginx.8
XSUB_FILES+=	nginx.8
XSUB_LIST+=	NGINX_ERRORLOG=${NGINX_ERRORLOG} NGINX_RUNDIR=${NGINX_RUNDIR}
X.endif
X
XHAS_CONFIGURE=	yes
XCONFIGURE_ARGS+=--prefix=${ETCDIR} \
X		--with-cc-opt="-I ${LOCALBASE}/include" \
X		--with-ld-opt="-L ${LOCALBASE}/lib" \
X		--conf-path=${ETCDIR}/nginx.conf \
X		--sbin-path=${PREFIX}/sbin/nginx \
X		--pid-path=${NGINX_RUNDIR}/nginx.pid \
X		--error-log-path=${NGINX_ERRORLOG} \
X		--user=${WWWOWN} --group=${WWWGRP}
X
X.if defined(WITHOUT_HTTP_MODULE) && defined(WITHOUT_MAIL_MODULE)
XIGNORE=		requires at least HTTP_MODULE or MAIL_MODULE to \
X		be defined.  Please 'make config' again
X.endif
X
X.if defined(WITH_DEBUG)
XCFLAGS+=	-g -DNGX_DEBUG_MALLOC
XSTRIP=		#do not strip if nginx with debug information
X.endif
X
X.if defined(WITH_DEBUGLOG)
XCONFIGURE_ARGS+=--with-debug
X.endif
X
X.if defined(WITH_FILE_AIO)
XCONFIGURE_ARGS+=--with-file-aio
X.endif
X
X.if defined(WITH_IPV6)
XCONFIGURE_ARGS+=--with-ipv6
XCATEGORIES+=	ipv6
X.endif
X
X.if defined(WITH_GOOGLE_PERFTOOLS)
XLIB_DEPENDS+=	profiler.0:${PORTSDIR}/devel/google-perftools
XCONFIGURE_ARGS+=--with-google_perftools_module
X.endif
X
X.if defined(WITH_HTTP_MODULE)
XCONFIGURE_ARGS+=--http-client-body-temp-path=${NGINX_TMPDIR}/client_body_temp \
X		--http-fastcgi-temp-path=${NGINX_TMPDIR}/fastcgi_temp \
X		--http-proxy-temp-path=${NGINX_TMPDIR}/proxy_temp \
X		--http-scgi-temp-path=${NGINX_TMPDIR}/scgi_temp \
X		--http-uwsgi-temp-path=${NGINX_TMPDIR}/uwsgi_temp \
X		--http-log-path=${NGINX_ACCESSLOG}
X
X.if defined(WITH_HTTP_ACCEPT_LANGUAGE)
XMASTER_SITES+=	ftp://inside01.p8.ru/nginx/:accept_language
XDISTFILES+=	nginx_accept_language_module.tar.gz:accept_language
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_accept_language_module
X.endif
X
X.if defined(WITH_HTTP_ACCESSKEY_MODULE)
XNGINX_ACCESSKEY_MODULE_VERSION=	2.0.3
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:accesskey/}
XMASTER_SITE_SUBDIR+=	osa/:accesskey
XDISTFILES+=	nginx-accesskey-${NGINX_ACCESSKEY_MODULE_VERSION}.tar.gz:accesskey
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_ADDITION_MODULE)
XCONFIGURE_ARGS+=--with-http_addition_module
X.endif
X
X.if defined(WITH_HTTP_AUTH_PAM_MODULE)
XNGINX_AUTH_PAM_MODULE_VERSION=	1.2
XMASTER_SITES+=	http://web.iti.upv.es/~sto/nginx/:auth_pam
XDISTFILES+=	ngx_http_auth_pam_module-${NGINX_AUTH_PAM_MODULE_VERSION}.tar.gz:auth_pam
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_auth_pam_module-${NGINX_AUTH_PAM_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_AUTH_REQ_MODULE)
XNGINX_AUTH_REQ_MODULE_VERSION=	0.2
XMASTER_SITES+=	http://mdounin.ru/files/:auth_request
XDISTFILES+=	ngx_http_auth_request_module-${NGINX_AUTH_REQ_MODULE_VERSION}.tar.gz:auth_request
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_auth_request_module-${NGINX_AUTH_REQ_MODULE_VERSION}
X.endif
X
X.if defined(WITHOUT_HTTP_CACHE_MODULE)
XCONFIGURE_ARGS+=--without-http-cache
X.endif
X
X.if defined(WITH_CACHE_PURGE_MODULE)
XNGINX_CACHE_PURGE_MODULE_VERSION=	1.2
XMASTER_SITES+=	http://labs.frickle.com/files/:cache_purge
XDISTFILES+=	ngx_cache_purge-${NGINX_CACHE_PURGE_MODULE_VERSION}.tar.gz:cache_purge
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_cache_purge-${NGINX_CACHE_PURGE_MODULE_VERSION}
X.endif
X
X.if defined(WITH_ECHO_MODULE)
XNGINX_ECHO_MODULE_VERSION=	0.30
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:echo/}
XMASTER_SITE_SUBDIR+=	osa/:echo
XDISTFILES+=	ngx_echo_module-${NGINX_ECHO_MODULE_VERSION}.tar.gz:echo
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_echo_module-${NGINX_ECHO_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HEADERS_MORE_MODULE)
XNGINX_HEADERS_MORE_MODULE_VERSION=	0.10
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:headers_more/}
XMASTER_SITE_SUBDIR+=	osa/:headers_more
XDISTFILES+=	ngx_headers_more_module-${NGINX_HEADERS_MORE_MODULE_VERSION}.tar.gz:headers_more
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_headers_more_module-${NGINX_HEADERS_MORE_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_DAV_MODULE)
XCONFIGURE_ARGS+=--with-http_dav_module
X.endif
X
X.if defined(WITH_HTTP_EVAL_MODULE)
XNGINX_EVAL_MODULE_VERSION=	1.0.1
XMASTER_SITES+=	http://www.grid.net.ru/nginx/download/:eval
XDISTFILES+=	nginx_eval_module-${NGINX_EVAL_MODULE_VERSION}.tar.gz:eval
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_eval_module-${NGINX_EVAL_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_FANCYINDEX_MODULE)
XNGINX_FANCYINDEX_MODULE_VERSION=	0.3
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:fancyindex/}
XMASTER_SITE_SUBDIR+=	osa/:fancyindex
XDISTFILES+=	ngx-fancyindex-${NGINX_FANCYINDEX_MODULE_VERSION}.tar.gz:fancyindex
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx-fancyindex-${NGINX_FANCYINDEX_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_GUNZIP_FILTER)
XNGINX_GUNZIP_FILTER_MODULE_VERSION=	0.3
XMASTER_SITES+=	http://mdounin.ru/files/:gunzipfilter
XDISTFILES+=	ngx_http_gunzip_filter_module-${NGINX_GUNZIP_FILTER_MODULE_VERSION}.tar.gz:gunzipfilter
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_gunzip_filter_module-${NGINX_GUNZIP_FILTER_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_FLV_MODULE)
XCONFIGURE_ARGS+=--with-http_flv_module
X.endif
X
X.if defined(WITH_HTTP_GEOIP_MODULE)
XCONFIGURE_ARGS+=--with-http_geoip_module
XLIB_DEPENDS+=	GeoIP.5:${PORTSDIR}/net/GeoIP
X.endif
X
X.if defined(WITH_HTTP_GZIP_STATIC_MODULE)
XCONFIGURE_ARGS+=--with-http_gzip_static_module
X.endif
X
X.if defined(WITH_HTTP_IMAGE_FILTER_MODULE)
XLIB_DEPENDS+=	gd.4:${PORTSDIR}/graphics/gd
XCONFIGURE_ARGS+=--with-http_image_filter_module
X.endif
X
X.if defined(WITH_HTTP_MOGILEFS_MODULE)
XNGINX_MOGILEFS_MODULE_VERSION=	1.0.4
XMASTER_SITES+=	http://www.grid.net.ru/nginx/download/:mogilefs
XDISTFILES+=	nginx_mogilefs_module-${NGINX_MOGILEFS_MODULE_VERSION}.tar.gz:mogilefs
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_mogilefs_module-${NGINX_MOGILEFS_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_MP4_H264_MODULE)
XNGINX_H264_MODULE_VERSION=	2.2.7
XMASTER_SITES+=	http://h264.code-shop.com/download/:mp4streaming
XDISTFILES+=	nginx_mod_h264_streaming-${NGINX_H264_MODULE_VERSION}.tar.gz:mp4streaming
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_mod_h264_streaming-${NGINX_H264_MODULE_VERSION}
XEXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_streaming_module.c
X.endif
X
X.if defined(WITH_HTTP_NOTICE_MODULE)
XMASTER_SITES+=	http://xph.us/dist/nginx-notice/:notice2
XDISTFILES+=	nginx-notice-2.tar.gz:notice2
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-notice-2
XEXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_notice_module.c
X.endif
X
X.if defined(WITH_HTTP_PERL_MODULE)
XCATEGORIES+=	perl5
XCONFIGURE_ARGS+=--with-http_perl_module
XUSE_PERL5=	yes
X.endif
X
X.if defined(WITH_HTTP_PUSH_MODULE)
XNGINX_PUSH_MODULE_VERSION=	0.692
XMASTER_SITES+=	http://pushmodule.slact.net/downloads/:push
XDISTFILES+=	nginx_http_push_module-${NGINX_PUSH_MODULE_VERSION}.tar.gz:push
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_http_push_module-${NGINX_PUSH_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_RANDOM_INDEX_MODULE)
XCONFIGURE_ARGS+=--with-http_random_index_module
X.endif
X
X.if defined(WITH_HTTP_REALIP_MODULE)
XCONFIGURE_ARGS+=--with-http_realip_module
X.endif
X
X.if defined(WITH_HTTP_REDIS_MODULE)
XNGINX_REDIS_MODULE_VERSION=	0.3.2
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:redis/}
XMASTER_SITE_SUBDIR+=	osa/:redis
XDISTFILES+=	ngx_http_redis-${NGINX_REDIS_MODULE_VERSION}.tar.gz:redis
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_RESPONSE_MODULE)
XNGINX_RESPONSE_MODULE_VERSION=	0.3
XMASTER_SITES+=	http://catap.ru/downloads/nginx/:response
XDISTFILES+=	ngx_http_response-${NGINX_RESPONSE_MODULE_VERSION}.tar.gz:response
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_response-${NGINX_RESPONSE_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_SECURE_LINK_MODULE)
XCONFIGURE_ARGS+=--with-http_secure_link_module
X.endif
X
X.if defined(WITH_HTTP_SSL_MODULE)
XNGINX_OPENSSL=	yes
XCONFIGURE_ARGS+=--with-http_ssl_module
X.endif
X
X.if defined(WITH_HTTP_STATUS_MODULE)
XCONFIGURE_ARGS+=--with-http_stub_status_module
X.endif
X
X.if defined(WITH_HTTP_SUB_MODULE)
XCONFIGURE_ARGS+=--with-http_sub_module
X.endif
X
X.if defined(WITH_HTTP_UPLOAD_MODULE)
XNGINX_UPLOAD_MODULE_VERSION=	2.2.0
XMASTER_SITES+=	http://www.grid.net.ru/nginx/download/:upload
XDISTFILES+=	nginx_upload_module-${NGINX_UPLOAD_MODULE_VERSION}.tar.gz:upload
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upload_module-${NGINX_UPLOAD_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_UPLOAD_PROGRESS)
XNGINX_UPLOADPROGRESS_MODULE_VERSION=	0.8
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:uploadprogress/}
XMASTER_SITE_SUBDIR+=	osa/:uploadprogress
XDISTFILES+=	nginx_uploadprogress_module-${NGINX_UPLOADPROGRESS_MODULE_VERSION}.tar.gz:uploadprogress
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_uploadprogress_module-${NGINX_UPLOADPROGRESS_MODULE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_UPSTREAM_FAIR) || defined(WITH_SUPERVISORD_MODULE)
XNGINX_UPSTREAM_FAIR_VERSION=	20090923
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:upstreamfair/}
XMASTER_SITE_SUBDIR+=	osa/:upstreamfair
XDISTFILES+=	nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}.tar.gz:upstreamfair
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}
X.endif
X
X.if defined(WITH_HTTP_UPSTREAM_HASH)
XNGINX_UPSTREAM_HASH_VERSION=	0.3.1
XMASTER_SITES+=	http://wiki.nginx.org/images/1/11/:upstreamhash
XDISTFILES+=	Nginx_upstream_hash-${NGINX_UPSTREAM_HASH_VERSION}.tar.gz:upstreamhash
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_hash-${NGINX_UPSTREAM_HASH_VERSION}
XEXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_upstream.h
X.endif
X
X.if defined(WITH_HTTP_UPSTREAM_KEEPALIVE)
XNGINX_UPSTREAM_KEEPALIVE_VERSION=	0.3
XMASTER_SITES+=	http://mdounin.ru/files/:upstream
XDISTFILES+=	ngx_http_upstream_keepalive-${NGINX_UPSTREAM_KEEPALIVE_VERSION}.tar.gz:upstream
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_upstream_keepalive-${NGINX_UPSTREAM_KEEPALIVE_VERSION}
X.endif
X
X.if defined(WITH_HTTP_XSLT_MODULE)
XUSE_GNOME=	libxml2 libxslt
XCONFIGURE_ARGS+=--with-http_xslt_module
X.endif
X
X.if defined(WITH_HTTP_ZIP_MODULE)
XNGINX_ZIP_MODULE_VERSION=	1.1.6
XMASTER_SITES+=	${MASTER_SITE_GOOGLE_CODE}:zip
XPROJECTHOST=	mod-zip
XDISTFILES+=	mod_zip-${NGINX_ZIP_MODULE_VERSION}.tar.gz:zip
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/mod_zip-${NGINX_ZIP_MODULE_VERSION}
X.endif
X
X.if defined(WITH_MEMC_MODULE)
XNGINX_MEMC_MODULE_VERSION=	0.11
XMASTER_SITES+=	${MASTER_SITE_LOCAL:S/$/:memc/}
XMASTER_SITE_SUBDIR+=	osa/:memc
XDISTFILES+=	ngx_http_memc_module-${NGINX_MEMC_MODULE_VERSION}.tar.gz:memc
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_memc_module-${NGINX_MEMC_MODULE_VERSION}
X.endif
X
X.if defined(WITHOUT_HTTP_REWRITE_MODULE) || defined(WITHOUT_PCRE)
XPKGNAMESUFFIX:=	${PKGNAMESUFFIX}-nopcre
XCONFIGURE_ARGS+=--without-http_rewrite_module \
X		--without-pcre
X.else
XLIB_DEPENDS+=	pcre.0:${PORTSDIR}/devel/pcre
XCONFIGURE_ARGS+=--with-pcre
X.endif
X
X.if defined(WITH_PASSENGER_MODULE)
XPASSENGER_VERSION=	3.0.0
XMASTER_SITES+=	RF/passenger/:passenger
XDISTFILES+=	passenger-${PASSENGER_VERSION}.tar.gz:passenger
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/ext/nginx
XEXTRA_PATCHES+=	${PATCHDIR}/extra-patch-passenger::build::nginx.rb
X.endif
X
X.if defined(WITH_SLOWFS_CACHE_MODULE)
XNGINX_SLOWFS_CACHE_MODULE_VERSION=	1.5
XMASTER_SITES+=	http://labs.frickle.com/files/:slowfs_cache
XDISTFILES+=	ngx_slowfs_cache-${NGINX_SLOWFS_CACHE_MODULE_VERSION}.tar.gz:slowfs_cache
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_slowfs_cache-${NGINX_SLOWFS_CACHE_MODULE_VERSION}
X.endif
X
X.if defined(WITH_SUPERVISORD_MODULE)
XNGINX_SUPERVISORD_MODULE_VERSION=	1.4
XMASTER_SITES+=	http://labs.frickle.com/files/:supervisord
XDISTFILES+=	ngx_supervisord-${NGINX_SUPERVISORD_MODULE_VERSION}.tar.gz:supervisord
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_MODULE_VERSION}
X.endif
X
X.if defined(WITH_UDPLOG_MODULE)
XNGINX_UDPLOG_MODULE_VERSION=	1.0.0
XMASTER_SITES+=	http://www.grid.net.ru/nginx/download/:udplog
XDISTFILES+=	nginx_udplog_module-${NGINX_UDPLOG_MODULE_VERSION}.tar.gz:udplog
XCONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_udplog_module-${NGINX_UDPLOG_MODULE_VERSION}
XEXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_udplog_module.c
X.endif
X
X.if defined(WITH_SYSLOG_SUPPORT)
XNGINX_SYSLOG_SUPPORT_FACILITY?= LOG_DAEMON
XCONFIGURE_ARGS+=--with-syslog --with-syslog-facility=${NGINX_SYSLOG_SUPPORT_FACILITY}
XEXTRA_PATCHES+= ${PATCHDIR}/extra-patch-syslog_support
X.endif
X
X.if defined(WITH_WWW)
XPLIST_SUB+=	WWWDATA=""
X.else
XPLIST_SUB+=	WWWDATA="@comment "
X.endif
X
X.else
XCONFIGURE_ARGS+=--without-http
XPLIST_SUB+=	WWWDATA="@comment "
X.endif		# WITH_HTTP_MODULE
X
X.if defined(WITH_MAIL_MODULE)
XCONFIGURE_ARGS+=--with-mail
X.if defined(WITHOUT_MAIL_IMAP_MODULE)
XCONFIGURE_ARGS+=--without-mail_imap_module
X.endif
X.if defined(WITHOUT_MAIL_POP3_MODULE)
XCONFIGURE_ARGS+=--without-mail_pop3_module
X.endif
X.if defined(WITHOUT_MAIL_SMTP_MODULE)
XCONFIGURE_ARGS+=--without-mail_smtp_module
X.endif
X.if defined(WITH_MAIL_SSL_MODULE)
XNGINX_OPENSSL=	yes
XCONFIGURE_ARGS+=--with-mail_ssl_module
X.endif
X.endif		# WITH_MAIL_MODULE
X
X.if defined(NGINX_OPENSSL)
XUSE_OPENSSL=	yes
X.endif
X
XPLIST_SUB+=	NGINX_TMPDIR=${NGINX_TMPDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
X
X.include <bsd.port.pre.mk>
X
Xpre-everything::
X	@${ECHO_MSG}
X.if defined(WITH_HTTP_UPSTREAM_FAIR)
X	@${ECHO_MSG} "Enable http_ssl module to build upstream_fair with SSL support"
X.endif
X.if defined(WITH_PASSENGER_MODULE)
X	@${ECHO_MSG} "This port install Passenger module only"
X.endif
X	@${ECHO_MSG}
X
Xpost-patch:
X	@${REINPLACE_CMD} 's!%%HTTP_PORT%%!${HTTP_PORT}!; \
X		s!%%PREFIX%%!${PREFIX}!' \
X		${WRKSRC}/conf/nginx.conf
X.if defined(WITH_HTTP_ACCESSKEY_MODULE)
X	@${REINPLACE_CMD} \
X		's!$$HTTP_ACCESSKEY_MODULE!ngx_http_accesskey_module!' \
X		${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_MODULE_VERSION}/config
X.endif
X.if defined(WITH_PASSENGER_MODULE)
X	@${REINPLACE_CMD} 's!-lpthread!${PTHREAD_LIBS}!g' \
X		${WRKDIR}/passenger-${PASSENGER_VERSION}/ext/nginx/config
X	@${REINPLACE_CMD} 's!-Wall!!g; \
X		s!#{PlatformInfo.debugging_cflags}!${CFLAGS}!g; \
X		s!-O2!!g; \
X		35s!true!false!' \
X		${WRKDIR}/passenger-${PASSENGER_VERSION}/build/config.rb
X	@${REINPLACE_CMD} 's!-lpthread!${PTHREAD_LIBS}!g' \
X		${WRKDIR}/passenger-${PASSENGER_VERSION}/lib/phusion_passenger/platform_info/compiler.rb
X.endif
X.if defined(WITH_SUPERVISORD_MODULE)
X	( cd ${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION} && \
X		${PATCH} -p0 < \
X			${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_MODULE_VERSION}/patches/ngx_http_upstream_fair_module.patch )
X	( cd ${WRKSRC} && \
X		${PATCH} -p0 < \
X			${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_MODULE_VERSION}/patches/ngx_http_upstream_init_busy-0.8.17.patch )
X.endif
X
Xdo-build:
X	@cd ${WRKSRC} && ${MAKE}
X
Xdo-install:
X	${MKDIR} ${ETCDIR} ${NGINX_TMPDIR}
X	${CHOWN} ${WWWOWN}:${WWWGRP} ${NGINX_TMPDIR}
X	${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${PREFIX}/sbin
X.for i in koi-utf koi-win win-utf
X	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}
X.endfor
X.for i in fastcgi_params mime.types nginx.conf scgi_params uwsgi_params
X	[ -f ${ETCDIR}/${i} ] || \
X		${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}
X	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}/${i}-dist
X.endfor
X.if defined(WITH_HTTP_MODULE) && defined(WITH_WWW)
X	${MKDIR} ${PREFIX}/www/nginx-dist
X.for i in index.html 50x.html
X	${INSTALL_DATA} ${WRKSRC}/html/${i} ${PREFIX}/www/nginx-dist
X.endfor
X	${ECHO_CMD} "" >>${PREFIX}/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
X	[ -e ${PREFIX}/www/nginx ] || \
X		${LN} -sf ${PREFIX}/www/nginx-dist ${PREFIX}/www/nginx
X.endif
X
X.if defined(WITH_HTTP_MODULE) && defined(WITH_HTTP_PERL_MODULE)
X	${MKDIR} ${SITE_PERL}/${PERL_ARCH}/auto/nginx
X	${INSTALL_PROGRAM} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so \
X		${SITE_PERL}/${PERL_ARCH}/auto/nginx
X	${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.bs \
X		${SITE_PERL}/${PERL_ARCH}/auto/nginx
X	${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \
X		${SITE_PERL}/${PERL_ARCH}/
X.endif
X
Xpost-install:
X.if defined(WITH_HTTP_MODULE) && defined(WITH_HTTP_PERL_MODULE)
X	${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx/nginx.so >> ${TMPPLIST}
X	${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx/nginx.bs >> ${TMPPLIST}
X	${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/nginx.pm >> ${TMPPLIST}
X	${ECHO_CMD} @dirrm ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx >> ${TMPPLIST}
X.endif
X.if !defined(NO_INSTALL_MANPAGES)
X	@${INSTALL_MAN} ${WRKDIR}/nginx.8 ${MAN8PREFIX}/man/man8
X.endif
X
X.include <bsd.port.post.mk>
37f2e31004f98fc09f07aa16832ed19c
echo x - nginx/distinfo
sed 's/^X//' >nginx/distinfo << 'd163432960bd00d4a4ee325434c8ae21'
XSHA256 (nginx-0.8.53.tar.gz) = 8ab8a87beb555d9ea09fe61d0de86a71ea4e90ef7970df0d38f7acfb9bed6dcf
XSIZE (nginx-0.8.53.tar.gz) = 649835
XSHA256 (nginx_accept_language_module.tar.gz) = 7a4c2d42a83c5b6efd2b7b13ad232850b6ab0ca4261df6b46fb7d2d2738b1c0a
XSIZE (nginx_accept_language_module.tar.gz) = 3299
XSHA256 (nginx-accesskey-2.0.3.tar.gz) = d9e94321e78a02de16c57f3e048fd31059fd8116ed03d6de7180f435c52502b1
XSIZE (nginx-accesskey-2.0.3.tar.gz) = 2632
XSHA256 (ngx_http_auth_pam_module-1.2.tar.gz) = 5a85970ba61a99f55a26d2536a11d512b39bbd622f5737d25a9a8c10db81efa9
XSIZE (ngx_http_auth_pam_module-1.2.tar.gz) = 5424
XSHA256 (ngx_http_auth_request_module-0.2.tar.gz) = eea5d0ec02bba93d0b204a034230cc61462b60497cbac6f581d7e008a9262ba4
XSIZE (ngx_http_auth_request_module-0.2.tar.gz) = 6736
XSHA256 (ngx_cache_purge-1.2.tar.gz) = cb350bcd3649872ffd836048679f34e242f67f851fcec26bb4bf5127b97d89a8
XSIZE (ngx_cache_purge-1.2.tar.gz) = 5807
XSHA256 (ngx_echo_module-0.30.tar.gz) = 6ea23635377098318806ba1bb6d6a245c17ee4ccd4828da813e505eebb41c42c
XSIZE (ngx_echo_module-0.30.tar.gz) = 115008
XSHA256 (ngx_headers_more_module-0.10.tar.gz) = 7428316ea779a53acf581ca45b3e2bcd7cc0cb4a9100dc47d4a8456cb64a399c
XSIZE (ngx_headers_more_module-0.10.tar.gz) = 78165
XSHA256 (nginx_eval_module-1.0.1.tar.gz) = f11ba0bf445f0eafd999d52817e298b1f1b09817f74b6120ed491e611d53c798
XSIZE (nginx_eval_module-1.0.1.tar.gz) = 4974
XSHA256 (ngx-fancyindex-0.3.tar.gz) = b7e6635acf06aa90e9c5e6fe0d3f8f7c0047af2035ad50bbf240b3544a952b81
XSIZE (ngx-fancyindex-0.3.tar.gz) = 12426
XSHA256 (ngx_http_gunzip_filter_module-0.3.tar.gz) = c1860befc868970dce4085631e7717c749329883d8b05a2a64bd2850f346cd39
XSIZE (ngx_http_gunzip_filter_module-0.3.tar.gz) = 7361
XSHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
XSIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
XSHA256 (nginx_mod_h264_streaming-2.2.7.tar.gz) = 6d974ba630cef59de1f60996c66b401264a345d25988a76037c2856cec756c19
XSIZE (nginx_mod_h264_streaming-2.2.7.tar.gz) = 44012
XSHA256 (nginx-notice-2.tar.gz) = 682824a9f5187831ee49e5828bafebde5c25706e681d361804f96308f24e58c2
XSIZE (nginx-notice-2.tar.gz) = 3253
XSHA256 (nginx_http_push_module-0.692.tar.gz) = 64868708071aa21dbc4c7a07d149dd6ec9108fb7eaf2aad5ad069406151f17fe
XSIZE (nginx_http_push_module-0.692.tar.gz) = 29119
XSHA256 (ngx_http_redis-0.3.2.tar.gz) = eb7bcbcb0382b82050f06d80aa6c05c17b576d572bc8ee132c8e7f1e34a13837
XSIZE (ngx_http_redis-0.3.2.tar.gz) = 6346
XSHA256 (ngx_http_response-0.3.tar.gz) = 0835584029f053051c624adbe33a826ab0205c9d85a02af6019e6b57607e9045
XSIZE (ngx_http_response-0.3.tar.gz) = 2244
XSHA256 (nginx_upload_module-2.2.0.tar.gz) = b1c26abe0427180602e257627b4ed21848c93cc20cefc33af084983767d65805
XSIZE (nginx_upload_module-2.2.0.tar.gz) = 25796
XSHA256 (nginx_uploadprogress_module-0.8.tar.gz) = 7828410e79603de86a135084d60e74393df18894194b30af92ff144e6afeae13
XSIZE (nginx_uploadprogress_module-0.8.tar.gz) = 16364
XSHA256 (nginx_upstream_fair-20090923.tar.gz) = ec9ed7f856263e17faadee3dc7209932364ded4e546b829841c2454aa432450b
XSIZE (nginx_upstream_fair-20090923.tar.gz) = 10024
XSHA256 (Nginx_upstream_hash-0.3.1.tar.gz) = 51929c5352d4c2608b3f852987830be08b6946baf20da346fe520d9b12e39968
XSIZE (Nginx_upstream_hash-0.3.1.tar.gz) = 5049
XSHA256 (ngx_http_upstream_keepalive-0.3.tar.gz) = 44ebda7c854293db7852ca5121491622dfdfcc8aa47c42477529d19243a9d519
XSIZE (ngx_http_upstream_keepalive-0.3.tar.gz) = 8049
XSHA256 (mod_zip-1.1.6.tar.gz) = d30546b4be8308c721df0240ebc38c474c6b577381a110321eded6dbed5104b1
XSIZE (mod_zip-1.1.6.tar.gz) = 21991
XSHA256 (ngx_http_memc_module-0.11.tar.gz) = 9ece68bdae2c170fb845c1082da6502401763ffd3e4b443226ff9303df65951f
XSIZE (ngx_http_memc_module-0.11.tar.gz) = 98042
XSHA256 (passenger-3.0.0.tar.gz) = 6e769fb3c294ad437057438e38982b14aff023c1f914ab281bfd23fcd8681a59
XSIZE (passenger-3.0.0.tar.gz) = 3048705
XSHA256 (ngx_slowfs_cache-1.5.tar.gz) = 8f3d1afd6bcaaeba89bc4f9d5e5ba3e2b334bf8e7e5b56bd37f25b5cbac8d828
XSIZE (ngx_slowfs_cache-1.5.tar.gz) = 9785
XSHA256 (ngx_supervisord-1.4.tar.gz) = 0954a4efb1b955692acf523e169221146d6aa93ad1643c9f2482f75a1fbf9e3b
XSIZE (ngx_supervisord-1.4.tar.gz) = 19351
XSHA256 (nginx_udplog_module-1.0.0.tar.gz) = e0c0bfa524c3a675ad6c08b916d08e57ef45f9818cb8a0d848c2c83785c6e659
XSIZE (nginx_udplog_module-1.0.0.tar.gz) = 6284
d163432960bd00d4a4ee325434c8ae21
echo x - nginx/pkg-descr
sed 's/^X//' >nginx/pkg-descr << '2897b2d09b3641973eec32212b6e83fe'
XAnother one small and robust www server, supports
Xkqueue (EV_CLEAR, EV_DISABLE, NOTE_LOWAT, EV_EOF, etc.),
Xselect, poll, sendfile.
X
XWWW: http://sysoev.ru/nginx/
2897b2d09b3641973eec32212b6e83fe
echo x - nginx/pkg-plist
sed 's/^X//' >nginx/pkg-plist << 'abd2877b1e482a34802fce2b5572e1f6'
X@comment $FreeBSD: ports/www/nginx/pkg-plist,v 1.14 2010/09/28 06:32:16 osa Exp $
X@unexec if cmp -s %D/%%ETCDIR%%/fastcgi_params-dist %D/%%ETCDIR%%/fastcgi_params; then rm -f %D/%%ETCDIR%%/fastcgi_params; fi
X%%ETCDIR%%/fastcgi_params-dist
X@exec if [ ! -f %D/%%ETCDIR%%/fastcgi_params ] ; then cp -p %D/%F %B/fastcgi_params; fi
X%%ETCDIR%%/koi-utf
X%%ETCDIR%%/koi-win
X@unexec if cmp -s %D/%%ETCDIR%%/scgi_params-dist %D/%%ETCDIR%%/scgi_params; then rm -f %D/%%ETCDIR%%/scgi_params; fi
X%%ETCDIR%%/scgi_params-dist
X@exec if [ ! -f %D/%%ETCDIR%%/scgi_params ] ; then cp -p %D/%F %B/scgi_params; fi
X@unexec if cmp -s %D/%%ETCDIR%%/uwsgi_params-dist %D/%%ETCDIR%%/uwsgi_params; then rm -f %D/%%ETCDIR%%/uwsgi_params; fi
X%%ETCDIR%%/uwsgi_params-dist
X@exec if [ ! -f %D/%%ETCDIR%%/uwsgi_params ] ; then cp -p %D/%F %B/uwsgi_params; fi
X%%ETCDIR%%/win-utf
X@unexec if cmp -s %D/%%ETCDIR%%/mime.types-dist %D/%%ETCDIR%%/mime.types; then rm -f %D/%%ETCDIR%%/mime.types; fi
X%%ETCDIR%%/mime.types-dist
X@exec if [ ! -f %D/%%ETCDIR%%/mime.types ] ; then cp -p %D/%F %B/mime.types; fi
X@unexec if cmp -s %D/%%ETCDIR%%/nginx.conf-dist %D/%%ETCDIR%%/nginx.conf; then rm -f %D/%%ETCDIR%%/nginx.conf; fi
X%%ETCDIR%%/nginx.conf-dist
X@exec if [ ! -f %D/%%ETCDIR%%/nginx.conf ] ; then cp -p %D/%F %B/nginx.conf; fi
X@dirrmtry %%ETCDIR%%
X%%WWWDATA%%@exec mkdir -p -m 755 www/nginx-dist
X%%WWWDATA%%@exec if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi
X%%WWWDATA%%www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
X%%WWWDATA%%www/nginx-dist/index.html
X%%WWWDATA%%www/nginx-dist/50x.html
X%%WWWDATA%%@exec chmod a-w www/nginx-dist
X%%WWWDATA%%@unexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
X%%WWWDATA%%@dirrmtry www/nginx-dist
Xsbin/nginx
X@exec [ -d %%NGINX_TMPDIR%% ] || mkdir -p %%NGINX_TMPDIR%%
X@exec chown %%WWWOWN%%:%%WWWGRP%% %%NGINX_TMPDIR%%
X@unexec if [ -z ${UPGRADE_PORT} ] ; then rm -fr %%NGINX_TMPDIR%%; fi
abd2877b1e482a34802fce2b5572e1f6
exit
--- nginx.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1PQHg3-000LoJ-66>