[package] add nginx, patch from Benjamin Cama
git-svn-id: svn://svn.openwrt.org/openwrt/packages@18620 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
f6aec9c62c
commit
0f0c466f49
73
net/nginx/Makefile
Normal file
73
net/nginx/Makefile
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2009 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=nginx
|
||||||
|
PKG_VERSION:=0.7.61
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=http://sysoev.ru/nginx/
|
||||||
|
PKG_MD5SUM:=6ebf89b9b00a3b82734e93c32da7df07
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/nginx
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
DEPENDS:=+libpcre +libopenssl
|
||||||
|
TITLE:=Nginx web server
|
||||||
|
URL:=http://nginx.net/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/nginx/description
|
||||||
|
Nginx is a free, open-source, high-performance HTTP server
|
||||||
|
and reverse proxy, as well as an IMAP/POP3 proxy server,
|
||||||
|
written by Igor Sysoev.
|
||||||
|
endef
|
||||||
|
|
||||||
|
config_files=nginx.conf mime.types fastcgi_params koi-utf koi-win win-utf
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
# fix --crossbuild
|
||||||
|
(cd $(PKG_BUILD_DIR) ;\
|
||||||
|
./configure \
|
||||||
|
--crossbuild=Linux::$(ARCH) \
|
||||||
|
--prefix=/usr \
|
||||||
|
--conf-path=/etc/nginx/nginx.conf \
|
||||||
|
--error-log-path=/var/log/nginx/error.log \
|
||||||
|
--pid-path=/var/run/nginx.pid \
|
||||||
|
--lock-path=/var/lock/nginx.lock \
|
||||||
|
--http-log-path=/var/log/nginx/access.log \
|
||||||
|
--http-client-body-temp-path=/var/lib/nginx/body \
|
||||||
|
--http-proxy-temp-path=/var/lib/nginx/proxy \
|
||||||
|
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
|
||||||
|
--with-cc="$(TARGET_CC)" \
|
||||||
|
--with-cc-opt="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||||
|
--with-ld-opt="$(TARGET_LDFLAGS)" \
|
||||||
|
--with-http_stub_status_module \
|
||||||
|
--with-http_ssl_module \
|
||||||
|
--with-ipv6 )
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
|
DESTDIR=$(PKG_INSTALL_DIR) \
|
||||||
|
build install
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/nginx/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nginx $(1)/usr/sbin/
|
||||||
|
$(INSTALL_DIR) $(1)/etc/nginx
|
||||||
|
$(INSTALL_DATA) $(addprefix $(PKG_INSTALL_DIR)/etc/nginx/,$(config_files)) $(1)/etc/nginx
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/nginx.init $(1)/etc/init.d/nginx
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,nginx))
|
24
net/nginx/files/nginx.init
Normal file
24
net/nginx/files/nginx.init
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2009 OpenWrt.org
|
||||||
|
|
||||||
|
START=50
|
||||||
|
NGINX_BIN=/usr/sbin/nginx
|
||||||
|
|
||||||
|
start() {
|
||||||
|
mkdir -p /var/log/nginx
|
||||||
|
mkdir -p /var/lib/nginx
|
||||||
|
$NGINX_BIN
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
$NGINX_BIN -s stop
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
$NGINX_BIN -s reload
|
||||||
|
}
|
||||||
|
|
||||||
|
shutdown() {
|
||||||
|
$NGINX_BIN -s quit
|
||||||
|
}
|
||||||
|
|
144
net/nginx/patches/001-feature_test_fix
Normal file
144
net/nginx/patches/001-feature_test_fix
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
diff --git a/auto/cc/conf b/auto/cc/conf
|
||||||
|
index 4823900..1e676f4 100644
|
||||||
|
--- a/auto/cc/conf
|
||||||
|
+++ b/auto/cc/conf
|
||||||
|
@@ -135,7 +135,8 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
||||||
|
ngx_feature_test="char buf[30]; buf[0] = '0';
|
||||||
|
var(0, buf, \"%d\", 1);
|
||||||
|
if (buf[0] != '1') return 1"
|
||||||
|
- . auto/feature
|
||||||
|
+ #. auto/feature
|
||||||
|
+ have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$NGX_CC_NAME" = "ccc" ]; then
|
||||||
|
@@ -151,7 +152,8 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
||||||
|
ngx_feature_test="char buf[30]; buf[0] = '0';
|
||||||
|
var(0, buf, \"%d\", 1);
|
||||||
|
if (buf[0] != '1') return 1"
|
||||||
|
- . auto/feature
|
||||||
|
+ #. auto/feature
|
||||||
|
+ have=$ngx_feature_name . auto/have
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/auto/cc/name b/auto/cc/name
|
||||||
|
index d197fc5..28b74b0 100644
|
||||||
|
--- a/auto/cc/name
|
||||||
|
+++ b/auto/cc/name
|
||||||
|
@@ -13,12 +13,12 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
||||||
|
ngx_feature_test=
|
||||||
|
. auto/feature
|
||||||
|
|
||||||
|
- if [ $ngx_found = no ]; then
|
||||||
|
- echo
|
||||||
|
- echo $0: error: C compiler $CC is not found
|
||||||
|
- echo
|
||||||
|
- exit 1
|
||||||
|
- fi
|
||||||
|
+ #if [ $ngx_found = no ]; then
|
||||||
|
+ # echo
|
||||||
|
+ # echo $0: error: C compiler $CC is not found
|
||||||
|
+ # echo
|
||||||
|
+ # exit 1
|
||||||
|
+ #fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
diff --git a/auto/os/linux b/auto/os/linux
|
||||||
|
index 0bd0488..9cb0aa1 100644
|
||||||
|
--- a/auto/os/linux
|
||||||
|
+++ b/auto/os/linux
|
||||||
|
@@ -49,7 +49,8 @@ ngx_feature_test="int efd = 0, fd = 1, n;
|
||||||
|
ee.data.ptr = NULL;
|
||||||
|
efd = epoll_create(100);
|
||||||
|
if (efd == -1) return 1;"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
if [ $ngx_found = yes ]; then
|
||||||
|
have=NGX_HAVE_CLEAR_EVENT . auto/have
|
||||||
|
@@ -73,7 +74,8 @@ ngx_feature_test="int s = 0, fd = 1;
|
||||||
|
ssize_t n; off_t off = 0;
|
||||||
|
n = sendfile(s, fd, &off, 1);
|
||||||
|
if (n == -1 && errno == ENOSYS) return 1"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
if [ $ngx_found = yes ]; then
|
||||||
|
CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
|
||||||
|
@@ -94,7 +96,8 @@ ngx_feature_test="int s = 0, fd = 1;
|
||||||
|
ssize_t n; off_t off = 0;
|
||||||
|
n = sendfile(s, fd, &off, 1);
|
||||||
|
if (n == -1 && errno == ENOSYS) return 1"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
ngx_include="sys/prctl.h"; . auto/include
|
||||||
|
@@ -108,7 +111,8 @@ ngx_feature_incs="#include <sys/prctl.h>"
|
||||||
|
ngx_feature_path=
|
||||||
|
ngx_feature_libs=
|
||||||
|
ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
# sched_setaffinity()
|
||||||
|
diff --git a/auto/unix b/auto/unix
|
||||||
|
index 687a23a..23e8b78 100755
|
||||||
|
--- a/auto/unix
|
||||||
|
+++ b/auto/unix
|
||||||
|
@@ -117,7 +117,7 @@ ngx_feature_path=
|
||||||
|
ngx_feature_libs=
|
||||||
|
ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
|
||||||
|
if (n < 0 || n > 1024) return 1;"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
|
||||||
|
|
||||||
|
# GNU style strerror_r() returns not length, but pointer
|
||||||
|
@@ -130,7 +130,8 @@ ngx_feature_path=
|
||||||
|
ngx_feature_libs=
|
||||||
|
ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
|
||||||
|
if (n >= 0 && n < 1024) return 1;"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
ngx_feature="localtime_r()"
|
||||||
|
@@ -173,7 +174,8 @@ ngx_feature_test="void *p;
|
||||||
|
p = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
|
||||||
|
MAP_ANON|MAP_SHARED, -1, 0);
|
||||||
|
if (p == MAP_FAILED) return 1;"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
ngx_feature='mmap("/dev/zero", MAP_SHARED)'
|
||||||
|
@@ -188,7 +190,8 @@ ngx_feature_test='void *p; int fd;
|
||||||
|
fd = open("/dev/zero", O_RDWR);
|
||||||
|
p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
||||||
|
if (p == MAP_FAILED) return 1;'
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
ngx_feature="System V shared memory"
|
||||||
|
@@ -202,7 +205,8 @@ ngx_feature_test="int id;
|
||||||
|
id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT));
|
||||||
|
if (id == -1) return 1;
|
||||||
|
shmctl(id, IPC_RMID, NULL);"
|
||||||
|
-. auto/feature
|
||||||
|
+#. auto/feature
|
||||||
|
+have=$ngx_feature_name . auto/have
|
||||||
|
|
||||||
|
|
||||||
|
ngx_feature="struct msghdr.msg_control"
|
28
net/nginx/patches/002-sizeof_test_fix
Normal file
28
net/nginx/patches/002-sizeof_test_fix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
diff --git a/auto/types/sizeof b/auto/types/sizeof
|
||||||
|
index 4d65dca..2d5da3e 100644
|
||||||
|
--- a/auto/types/sizeof
|
||||||
|
+++ b/auto/types/sizeof
|
||||||
|
@@ -23,8 +23,13 @@ $NGX_INCLUDE_UNISTD_H
|
||||||
|
$NGX_INCLUDE_INTTYPES_H
|
||||||
|
$NGX_INCLUDE_AUTO_CONFIG_H
|
||||||
|
|
||||||
|
+char object_code_block[] = {
|
||||||
|
+ '\n', 'e', '4', 'V', 'A',
|
||||||
|
+ '0', 'x', ('0' + sizeof($ngx_type)),
|
||||||
|
+ 'Y', '3', 'p', 'M', '\n'
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
int main() {
|
||||||
|
- printf("%d", sizeof($ngx_type));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -38,7 +43,7 @@ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
|
||||||
|
|
||||||
|
|
||||||
|
if [ -x $NGX_AUTOTEST ]; then
|
||||||
|
- ngx_size=`$NGX_AUTOTEST`
|
||||||
|
+ ngx_size=`sed -ne 's/^e4VA0x\(.\)Y3pM$/\1/p' < $NGX_AUTOTEST`
|
||||||
|
echo " $ngx_size bytes"
|
||||||
|
fi
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user