Changeset 34223


Ignore:
Timestamp:
2012-11-17T17:48:53+01:00 (5 years ago)
Author:
luka
Message:

Add configuration settings to disable certain features in nginx to
be able to reduce it's footprint and allow nginx to be built with
support for lua.

Signed-off-by: Karl Vogel <karl.vogel@…>

Location:
packages/net/nginx
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • packages/net/nginx/Config.in

    r32166 r34223  
    3737                Enable the HTTP and WebDAV methods PUT, DELETE, MKCOL, COPY and MOVE. 
    3838 
     39config NGINX_MODULE_LUA 
     40        bool 
     41        prompt "Enable LUA module" 
     42        default n 
     43        help 
     44                Enable support for LUA scripts. 
     45 
     46        menu "Disable features" 
     47 
     48        config NGINX_DISABLE_PCRE 
     49              bool 
     50              prompt "Disable PCRE library usage" 
     51              default n 
     52 
     53        config NGINX_DISABLE_HTTP_CACHE 
     54              depends on NGINX_SSL=y 
     55              bool 
     56              prompt "Disable HTTP cache" 
     57              default y 
     58 
     59        config NGINX_DISABLE_HTTP_CHARSET_MODULE 
     60              bool 
     61              prompt "Disable HTTP charset module" 
     62              default n 
     63 
     64        config NGINX_DISABLE_HTTP_GZIP_MODULE 
     65              bool 
     66              prompt "Disable HTTP gzip module" 
     67              default n 
     68 
     69        config NGINX_DISABLE_HTTP_SSI_MODULE 
     70              bool 
     71              prompt "Disable HTTP ssi module" 
     72              default n 
     73 
     74        config NGINX_DISABLE_HTTP_USERID_MODULE 
     75              bool 
     76              prompt "Disable HTTP userid module" 
     77              default n 
     78 
     79        config NGINX_DISABLE_HTTP_ACCESS_MODULE 
     80              bool 
     81              prompt "Disable HTTP access module" 
     82              default n 
     83 
     84        config NGINX_DISABLE_HTTP_AUTH_BASIC_MODULE 
     85              bool 
     86              prompt "Disable HTTP auth basic" 
     87              default n 
     88 
     89        config NGINX_DISABLE_HTTP_AUTOINDEX_MODULE 
     90              bool 
     91              prompt "Disable HTTP autoindex module" 
     92              default n 
     93 
     94        config NGINX_DISABLE_HTTP_GEO_MODULE 
     95              bool 
     96              prompt "Disable HTTP geo module" 
     97              default n 
     98 
     99        config NGINX_DISABLE_HTTP_MAP_MODULE 
     100              bool 
     101              prompt "Disable HTTP map module" 
     102              default n 
     103 
     104        config NGINX_DISABLE_HTTP_SPLIT_CLIENTS_MODULE 
     105              bool 
     106              prompt "Disable HTTP split clients" 
     107              default n 
     108 
     109        config NGINX_DISABLE_HTTP_REFERER_MODULE 
     110              bool 
     111              prompt "Disable HTTP referer module" 
     112              default n 
     113 
     114        config NGINX_DISABLE_HTTP_REWRITE_MODULE 
     115              bool 
     116              prompt "Disable HTTP rewrite module" 
     117              default n 
     118 
     119        config NGINX_DISABLE_HTTP_PROXY_MODULE 
     120              bool 
     121              prompt "Disable HTTP proxy module" 
     122              default n 
     123 
     124        config NGINX_DISABLE_HTTP_FASTCGI_MODULE 
     125              bool 
     126              prompt "Disable HTTP fastcgi module" 
     127              default n 
     128 
     129        config NGINX_DISABLE_HTTP_UWSGI_MODULE 
     130              bool 
     131              prompt "Disable HTTP uwsgi module" 
     132              default n 
     133 
     134        config NGINX_DISABLE_HTTP_SCGI_MODULE 
     135              bool 
     136              prompt "Disable HTTP scgi module" 
     137              default n 
     138 
     139        config NGINX_DISABLE_HTTP_MEMCACHED_MODULE 
     140              bool 
     141              prompt "Disable HTTP memcached module" 
     142              default n 
     143 
     144        config NGINX_DISABLE_HTTP_LIMIT_CONN_MODULE 
     145              bool 
     146              prompt "Disable HTTP limit conn" 
     147              default n 
     148 
     149        config NGINX_DISABLE_HTTP_LIMIT_REQ_MODULE 
     150              bool 
     151              prompt "Disable HTTP limit req" 
     152              default n 
     153 
     154        config NGINX_DISABLE_HTTP_EMPTY_GIF_MODULE 
     155              bool 
     156              prompt "Disable HTTP empty gif" 
     157              default n 
     158 
     159        config NGINX_DISABLE_HTTP_BROWSER_MODULE 
     160              bool 
     161              prompt "Disable HTTP browser module" 
     162              default n 
     163 
     164        config NGINX_DISABLE_HTTP_UPSTREAM_IP_HASH_MODULE 
     165              bool 
     166              prompt "Disable HTTP IP hash module" 
     167              default n 
     168 
     169        endmenu 
    39170endmenu 
  • packages/net/nginx/Makefile

    r33271 r34223  
    2323        CONFIG_NGINX_FLV \ 
    2424        CONFIG_NGINX_SSL \ 
    25         CONFIG_NGINX_DAV 
     25        CONFIG_NGINX_DAV \ 
     26        CONFIG_NGINX_MODULE_LUA \ 
     27        CONFIG_NGINX_DISABLE_PCRE \ 
     28        CONFIG_NGINX_DISABLE_HTTP_CHARSET_MODULE \ 
     29        CONFIG_NGINX_DISABLE_HTTP_GZIP_MODULE \ 
     30        CONFIG_NGINX_DISABLE_HTTP_SSI_MODULE \ 
     31        CONFIG_NGINX_DISABLE_HTTP_USERID_MODULE \ 
     32        CONFIG_NGINX_DISABLE_HTTP_ACCESS_MODULE \ 
     33        CONFIG_NGINX_DISABLE_HTTP_AUTH_BASIC_MODULE \ 
     34        CONFIG_NGINX_DISABLE_HTTP_AUTOINDEX_MODULE \ 
     35        CONFIG_NGINX_DISABLE_HTTP_GEO_MODULE \ 
     36        CONFIG_NGINX_DISABLE_HTTP_MAP_MODULE \ 
     37        CONFIG_NGINX_DISABLE_HTTP_SPLIT_CLIENTS_MODULE \ 
     38        CONFIG_NGINX_DISABLE_HTTP_REFERER_MODULE \ 
     39        CONFIG_NGINX_DISABLE_HTTP_REWRITE_MODULE \ 
     40        CONFIG_NGINX_DISABLE_HTTP_PROXY_MODULE \ 
     41        CONFIG_NGINX_DISABLE_HTTP_FASTCGI_MODULE \ 
     42        CONFIG_NGINX_DISABLE_HTTP_UWSGI_MODULE \ 
     43        CONFIG_NGINX_DISABLE_HTTP_SCGI_MODULE \ 
     44        CONFIG_NGINX_DISABLE_HTTP_MEMCACHED_MODULE \ 
     45        CONFIG_NGINX_DISABLE_HTTP_LIMIT_CONN_MODULE \ 
     46        CONFIG_NGINX_DISABLE_HTTP_LIMIT_REQ_MODULE \ 
     47        CONFIG_NGINX_DISABLE_HTTP_EMPTY_GIF_MODULE \ 
     48        CONFIG_NGINX_DISABLE_HTTP_BROWSER_MODULE \ 
     49        CONFIG_NGINX_DISABLE_HTTP_UPSTREAM_IP_HASH_MODULE 
    2650 
    2751include $(INCLUDE_DIR)/package.mk 
     
    3357  TITLE:=Nginx web server 
    3458  URL:=http://nginx.org/ 
    35   DEPENDS:=+libpcre +libopenssl +zlib +libpthread 
     59  DEPENDS:=+!NGINX_DISABLE_PCRE:libpcre +NGINX_SSL:libopenssl +!NGINX_DISABLE_HTTP_GZIP_MODULE:zlib +libpthread +NGINX_MODULE_LUA:liblua 
    3660  MENU:=1 
    3761endef 
     
    7195  ADDITIONAL_MODULES += --with-http_dav_module 
    7296endif 
     97ifeq ($(CONFIG_NGINX_MODULE_LUA),y) 
     98  ADDITIONAL_MODULES += --add-module=$(PKG_BUILD_DIR)/lua-nginx 
     99endif 
     100ifeq ($(CONFIG_NGINX_DISABLE_HTTP_CACHE),y) 
     101  ADDITIONAL_MODULES += --without-http-cache 
     102endif 
     103ifeq ($(CONFIG_NGINX_DISABLE_PCRE),y) 
     104  ADDITIONAL_MODULES += --without-pcre 
     105endif 
     106ifeq ($(CONFIG_NGINX_DISABLE_HTTP_CHARSET_MODULE),y) 
     107  ADDITIONAL_MODULES += --without-http_charset_module 
     108endif 
     109ifeq ($(CONFIG_NGINX_DISABLE_HTTP_GZIP_MODULE),y) 
     110  ADDITIONAL_MODULES += --without-http_gzip_module 
     111endif 
     112ifeq ($(CONFIG_NGINX_DISABLE_HTTP_SSI_MODULE),y) 
     113  ADDITIONAL_MODULES += --without-http_ssi_module 
     114endif 
     115ifeq ($(CONFIG_NGINX_DISABLE_HTTP_USERID_MODULE),y) 
     116  ADDITIONAL_MODULES += --without-http_userid_module 
     117endif 
     118ifeq ($(CONFIG_NGINX_DISABLE_HTTP_ACCESS_MODULE),y) 
     119  ADDITIONAL_MODULES += --without-http_access_module 
     120endif 
     121ifeq ($(CONFIG_NGINX_DISABLE_HTTP_AUTH_BASIC_MODULE),y) 
     122  ADDITIONAL_MODULES += --without-http_auth_basic_module 
     123endif 
     124ifeq ($(CONFIG_NGINX_DISABLE_HTTP_AUTOINDEX_MODULE),y) 
     125  ADDITIONAL_MODULES += --without-http_autoindex_module 
     126endif 
     127ifeq ($(CONFIG_NGINX_DISABLE_HTTP_GEO_MODULE),y) 
     128  ADDITIONAL_MODULES += --without-http_geo_module 
     129endif 
     130ifeq ($(CONFIG_NGINX_DISABLE_HTTP_MAP_MODULE),y) 
     131  ADDITIONAL_MODULES += --without-http_map_module 
     132endif 
     133ifeq ($(CONFIG_NGINX_DISABLE_HTTP_SPLIT_CLIENTS_MODULE),y) 
     134  ADDITIONAL_MODULES += --without-http_split_clients_module 
     135endif 
     136ifeq ($(CONFIG_NGINX_DISABLE_HTTP_REFERER_MODULE),y) 
     137  ADDITIONAL_MODULES += --without-http_referer_module 
     138endif 
     139ifeq ($(CONFIG_NGINX_DISABLE_HTTP_REWRITE_MODULE),y) 
     140  ADDITIONAL_MODULES += --without-http_rewrite_module 
     141endif 
     142ifeq ($(CONFIG_NGINX_DISABLE_HTTP_PROXY_MODULE),y) 
     143  ADDITIONAL_MODULES += --without-http_proxy_module 
     144endif 
     145ifeq ($(CONFIG_NGINX_DISABLE_HTTP_FASTCGI_MODULE),y) 
     146  ADDITIONAL_MODULES += --without-http_fastcgi_module 
     147endif 
     148ifeq ($(CONFIG_NGINX_DISABLE_HTTP_UWSGI_MODULE),y) 
     149  ADDITIONAL_MODULES += --without-http_uwsgi_module 
     150endif 
     151ifeq ($(CONFIG_NGINX_DISABLE_HTTP_SCGI_MODULE),y) 
     152  ADDITIONAL_MODULES += --without-http_scgi_module 
     153endif 
     154ifeq ($(CONFIG_NGINX_DISABLE_HTTP_MEMCACHED_MODULE),y) 
     155  ADDITIONAL_MODULES += --without-http_memcached_module 
     156endif 
     157ifeq ($(CONFIG_NGINX_DISABLE_HTTP_LIMIT_CONN_MODULE),y) 
     158  ADDITIONAL_MODULES += --without-http_limit_conn_module 
     159endif 
     160ifeq ($(CONFIG_NGINX_DISABLE_HTTP_LIMIT_REQ_MODULE),y) 
     161  ADDITIONAL_MODULES += --without-http_limit_req_module 
     162endif 
     163ifeq ($(CONFIG_NGINX_DISABLE_HTTP_EMPTY_GIF_MODULE),y) 
     164  ADDITIONAL_MODULES += --without-http_empty_gif_module 
     165endif 
     166ifeq ($(CONFIG_NGINX_DISABLE_HTTP_BROWSER_MODULE),y) 
     167  ADDITIONAL_MODULES += --without-http_browser_module 
     168endif 
     169ifeq ($(CONFIG_NGINX_DISABLE_HTTP_UPSTREAM_IP_HASH_MODULE),y) 
     170  ADDITIONAL_MODULES += --without-http_upstream_ip_hash_module 
     171endif 
    73172 
    74173define Build/Configure 
    75174        # TODO: fix --crossbuild 
    76175        (cd $(PKG_BUILD_DIR) ;\ 
     176                $(if $(CONFIG_NGINX_MODULE_LUA),LUA_INC=$(STAGING_DIR)/usr/include LUA_LIB=$(STAGING_DIR)/usr/lib) \ 
    77177                ./configure \ 
    78178                        --crossbuild=Linux::$(ARCH) \ 
     
    101201endef 
    102202 
     203define Build/Prepare 
     204        $(call Build/Prepare/Default) 
     205        $(if $(CONFIG_NGINX_MODULE_LUA),$(call Prepare/lua-nginx)) 
     206endef 
     207 
     208define Download/lua-nginx 
     209        VERSION:=7c0948a08e8449f7a9ffbc35244954e6aaddac5b 
     210        SUBDIR:=lua-nginx 
     211        FILE:=lua-nginx-module-$(PKG_VERSION)-$$(VERSION).tar.gz 
     212        URL:=https://github.com/chaoslawful/lua-nginx-module.git 
     213        PROTO:=git 
     214endef 
     215 
     216define  Prepare/lua-nginx 
     217        $(eval $(call Download,lua-nginx)) 
     218        gzip -dc $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) 
     219        $(call PatchDir,$(PKG_BUILD_DIR),./patches-lua-nginx) 
     220endef 
     221 
    103222$(eval $(call BuildPackage,nginx)) 
Note: See TracChangeset for help on using the changeset viewer.