www/nginx FreeBSD port
Sergey A. Osokin
osa at macomnet.ru
Mon Sep 3 17:56:45 MSD 2007
Добрый день.
В ближайшее время планируется внести следующие измения в порт www/nginx:
1) перенос OPTIONfy из www/nginx-devel
2) утилизация ETCDIR в Makefile и pkg-plist
Просьба всем желающим тестировать. Комментарии и предложения are
welcome.
--
Sergey A. Osokin,
System Engineer,
Macomnet, Internet Dept.
tel: +7 (495) 796-9079
fax: +7 (495) 796-9067
Index: ports/www/nginx/Makefile
===================================================================
RCS file: /home/pcvs/ports/www/nginx/Makefile,v
retrieving revision 1.127
diff -u -r1.127 Makefile
--- ports/www/nginx/Makefile 16 Aug 2007 08:43:06 -0000 1.127
+++ ports/www/nginx/Makefile 3 Sep 2007 13:51:14 -0000
@@ -15,55 +15,90 @@
MAINTAINER= osa at FreeBSD.org
COMMENT= Robust and small WWW server
+OPTIONS= DEBUG "Enable nginx debugging" off \
+ HTTP_MODULE "Enable HTTP module" on \
+ HTTP_ADDITION_MODULE "Enable http_addition module" off \
+ HTTP_DAV_MODULE "Enable http_webdav module" off \
+ HTTP_FLV_MODULE "Enable http_flv module" off \
+ HTTP_PERL_MODULE "Enable http_perl module" off \
+ HTTP_REALIP_MODULE "Enable http_realip module" off \
+ HTTP_REWRITE_MODULE "Enable http_rewrite module" on \
+ HTTP_SSL_MODULE "Enable http_ssl module" off \
+ HTTP_STATUS_MODULE "Enable http_stub_status module" on \
+ HTTP_SUB_MODULE "Enable http_sub module" off \
+ MAIL_MODULE "Enable IMAP4/POP3/SMTP proxy module" off \
+ MAIL_SSL_MODULE "Enable mail_ssl module" off \
+ WWW "Enable html sample files" on
+
+.include <bsd.port.pre.mk>
+
NGINX_VARDIR?= /var
NGINX_LOGDIR?= ${NGINX_VARDIR}/log
NGINX_RUNDIR?= ${NGINX_VARDIR}/run
NGINX_TMPDIR?= ${NGINX_VARDIR}/tmp/nginx
HTTP_PORT?= 80
-.if defined(WITH_PERL_MODULE)
-USE_PERL5= yes
-.endif
-
CONFLICTS?= nginx-devel-0.*
USE_RC_SUBR= nginx.sh
HAS_CONFIGURE= yes
-CONFIGURE_ARGS+=--prefix=${PREFIX}/etc/nginx \
+CONFIGURE_ARGS+=--prefix=${ETCDIR} \
--with-cc-opt="-I ${LOCALBASE}/include" \
--with-ld-opt="-L ${LOCALBASE}/lib" \
- --conf-path=${PREFIX}/etc/nginx/nginx.conf \
+ --conf-path=${ETCDIR}/nginx.conf \
--sbin-path=${PREFIX}/sbin/nginx \
--pid-path=${NGINX_RUNDIR}/nginx.pid \
- --http-client-body-temp-path=${NGINX_TMPDIR}/client_body_temp \
- --http-proxy-temp-path=${NGINX_TMPDIR}/proxy_temp \
- --http-fastcgi-temp-path=${NGINX_TMPDIR}/fastcgi_temp \
- --http-log-path=${NGINX_LOGDIR}/nginx-access.log \
--error-log-path=${NGINX_LOGDIR}/nginx-error.log \
- --with-http_stub_status_module \
--user=${WWWOWN} --group=${WWWGRP}
+.if defined(WITHOUT_HTTP_MODULE) && defined(WITHOUT_MAIL_MODULE)
+IGNORE= requires at least HTTP_MODULE or MAIL_MODULE to \
+ be defined. Please 'make config' again
+.endif
+
.if defined(WITH_DEBUG)
CFLAGS+= -g -DNGX_DEBUG_MALLOC
CONFIGURE_ARGS+=--with-debug
STRIP= #do not strip if nginx with debug information
.endif
-.if defined(WITH_OPENSSL_MODULE)
-NGINX_OPENSSL= yes
-CONFIGURE_ARGS+=--with-http_ssl_module
-.endif
+.if defined(WITH_HTTP_MODULE)
+CONFIGURE_ARGS+=--http-client-body-temp-path=${NGINX_TMPDIR}/client_body_temp \
+ --http-proxy-temp-path=${NGINX_TMPDIR}/proxy_temp \
+ --http-fastcgi-temp-path=${NGINX_TMPDIR}/fastcgi_temp \
+ --http-log-path=${NGINX_LOGDIR}/nginx-access.log
-.if defined(WITH_ADDITION_MODULE)
+.if defined(WITH_HTTP_ADDITION_MODULE)
CONFIGURE_ARGS+=--with-http_addition_module
.endif
-.if defined(WITH_MAIL_MODULE)
+.if defined(WITH_HTTP_DAV_MODULE)
+CONFIGURE_ARGS+=--with-http_dav_module
+.endif
+
+.if defined(WITH_HTTP_FLV_MODULE)
+CONFIGURE_ARGS+=--with-http_flv_module
+.endif
+
+.if defined(WITH_HTTP_PERL_MODULE)
+CONFIGURE_ARGS+=--with-http_perl_module
+USE_PERL5= yes
+.endif
+
+.if defined(WITH_HTTP_REALIP_MODULE)
+CONFIGURE_ARGS+=--with-http_realip_module
+.endif
+
+.if defined(WITH_HTTP_SSL_MODULE)
NGINX_OPENSSL= yes
-CONFIGURE_ARGS+=--with-mail --with-mail_ssl_module
+CONFIGURE_ARGS+=--with-http_ssl_module
.endif
-.if defined(NGINX_OPENSSL)
-USE_OPENSSL= yes
+.if defined(WITH_HTTP_STATUS_MODULE)
+CONFIGURE_ARGS+=--with-http_stub_status_module
+.endif
+
+.if defined(WITH_HTTP_SUB_MODULE)
+CONFIGURE_ARGS+=--with-http_sub_module
.endif
.if defined(WITHOUT_HTTP_REWRITE_MODULE) || defined(WITHOUT_PCRE)
@@ -74,14 +109,27 @@
LIB_DEPENDS= pcre.0:${PORTSDIR}/devel/pcre
.endif
-.if defined(WITH_PERL_MODULE)
-CONFIGURE_ARGS+=--with-http_perl_module
+.if defined(WITH_WWW)
+PLIST_SUB+= WWWDATA=""
+.else
+PLIST_SUB+= WWWDATA="@comment "
.endif
-.if defined(WITHOUT_WWW)
-PLIST_SUB+= WWWDATA="@comment "
.else
-PLIST_SUB+= WWWDATA=""
+CONFIGURE_ARGS+=--without-http
+PLIST_SUB+= WWWDATA="@comment "
+.endif # WITH_HTTP_MODULE
+
+.if defined(WITH_MAIL_MODULE)
+CONFIGURE_ARGS+=--with-mail
+.if defined(WITH_MAIL_SSL_MODULE)
+NGINX_OPENSSL= yes
+CONFIGURE_ARGS+=--with-mail_ssl_module --with-http_ssl_module
+.endif
+.endif # WITH_MAIL_MODULE
+
+.if defined(NGINX_OPENSSL)
+.include "${PORTSDIR}/Mk/bsd.openssl.mk"
.endif
PLIST_SUB+= NGINX_TMPDIR=${NGINX_TMPDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
@@ -95,18 +143,18 @@
@cd ${WRKSRC} && ${MAKE}
do-install:
- ${MKDIR} ${PREFIX}/etc/nginx ${NGINX_TMPDIR}
+ ${MKDIR} ${ETCDIR} ${NGINX_TMPDIR}
${CHOWN} ${WWWOWN}:${WWWGRP} ${NGINX_TMPDIR}
${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${PREFIX}/sbin
.for i in koi-win koi-utf win-utf fastcgi_params
- ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${PREFIX}/etc/nginx
+ ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}
.endfor
.for i in mime.types nginx.conf
- [ -f ${PREFIX}/etc/nginx/${i} ] || \
- ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${PREFIX}/etc/nginx
- ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${PREFIX}/etc/nginx/${i}-dist
+ [ -f ${ETCDIR}/${i} ] || \
+ ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}/${i}-dist
.endfor
-.if !defined(WITHOUT_WWW)
+.if defined(WITH_HTTP_MODULE) && defined(WITH_WWW)
${MKDIR} ${PREFIX}/www/nginx-dist
.for i in index.html 50x.html
${INSTALL_DATA} ${WRKSRC}/html/${i} ${PREFIX}/www/nginx-dist
@@ -116,7 +164,7 @@
${LN} -sf ${PREFIX}/www/nginx-dist ${PREFIX}/www/nginx
.endif
-.if defined(WITH_PERL_MODULE)
+.if defined(WITH_HTTP_MODULE) && defined(WITH_HTTP_PERL_MODULE)
${MKDIR} ${SITE_PERL}/${PERL_ARCH}/auto/nginx
${INSTALL_PROGRAM} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so \
${SITE_PERL}/${PERL_ARCH}/auto/nginx
@@ -127,11 +175,11 @@
.endif
post-install:
-.if defined(WITH_PERL_MODULE)
+.if defined(WITH_HTTP_MODULE) && defined(WITH_HTTP_PERL_MODULE)
${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx/nginx.so >> ${TMPPLIST}
${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx/nginx.bs >> ${TMPPLIST}
${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/nginx.pm >> ${TMPPLIST}
${ECHO_CMD} @dirrm ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx >> ${TMPPLIST}
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: ports/www/nginx/pkg-plist
===================================================================
RCS file: /home/pcvs/ports/www/nginx/pkg-plist,v
retrieving revision 1.10
diff -u -r1.10 pkg-plist
--- ports/www/nginx/pkg-plist 16 Aug 2007 08:43:06 -0000 1.10
+++ ports/www/nginx/pkg-plist 3 Sep 2007 13:51:14 -0000
@@ -1,15 +1,15 @@
@comment $FreeBSD: ports/www/nginx/pkg-plist,v 1.10 2007/08/16 08:43:06 osa Exp $
-etc/nginx/fastcgi_params
-etc/nginx/koi-utf
-etc/nginx/koi-win
-etc/nginx/win-utf
- at unexec if cmp -s %D/etc/nginx/mime.types-dist %D/etc/nginx/mime.types; then rm -f %D/etc/nginx/mime.types; fi
-etc/nginx/mime.types-dist
- at exec if [ ! -f %D/etc/nginx/mime.types ] ; then cp -p %D/%F %B/mime.types; fi
- at unexec if cmp -s %D/etc/nginx/nginx.conf-dist %D/etc/nginx/nginx.conf; then rm -f %D/etc/nginx/nginx.conf; fi
-etc/nginx/nginx.conf-dist
- at exec if [ ! -f %D/etc/nginx/nginx.conf ] ; then cp -p %D/%F %B/nginx.conf; fi
- at dirrmtry etc/nginx
+%%ETCDIR%%/fastcgi_params
+%%ETCDIR%%/koi-utf
+%%ETCDIR%%/koi-win
+%%ETCDIR%%/win-utf
+ at unexec if cmp -s %D/%%ETCDIR%%/mime.types-dist %D/%%ETCDIR%%/mime.types; then rm -f %D/%%ETCDIR%%/mime.types; fi
+%%ETCDIR%%/mime.types-dist
+ at exec if [ ! -f %D/%%ETCDIR%%/mime.types ] ; then cp -p %D/%F %B/mime.types; fi
+ at unexec if cmp -s %D/%%ETCDIR%%/nginx.conf-dist %D/%%ETCDIR%%/nginx.conf; then rm -f %D/%%ETCDIR%%/nginx.conf; fi
+%%ETCDIR%%/nginx.conf-dist
+ at exec if [ ! -f %D/%%ETCDIR%%/nginx.conf ] ; then cp -p %D/%F %B/nginx.conf; fi
+ at dirrmtry %%ETCDIR%%
%%WWWDATA%%@exec mkdir -p -m 755 www/nginx-dist
%%WWWDATA%%@exec if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi
%%WWWDATA%%www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
More information about the nginx-ru
mailing list