[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:
florian 2009-12-03 14:22:48 +00:00
parent f6aec9c62c
commit 0f0c466f49
4 changed files with 269 additions and 0 deletions

73
net/nginx/Makefile Normal file
View 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))

View 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
}

View 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"

View 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