Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 0 additions & 71 deletions net/uwsgi-cgi/Makefile

This file was deleted.

17 changes: 0 additions & 17 deletions net/uwsgi-cgi/patches/001-remove-unused-deps.patch

This file was deleted.

168 changes: 168 additions & 0 deletions net/uwsgi/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=uwsgi
PKG_VERSION:=2.0.18
PKG_RELEASE:=1

PKG_SOURCE:=uwsgi-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://files.pythonhosted.org/packages/source/u/uwsgi/
PKG_HASH:=4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583
PKG_BUILD_DIR:=$(BUILD_DIR)/uwsgi-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=python3/host

PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>

include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
#for LINUX_UNAME_VERSION:
include $(INCLUDE_DIR)/kernel.mk

define Package/uwsgi
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The uWSGI server
URL:=https://uwsgi-docs.readthedocs.io/en/latest/
DEPENDS:=+libpcre +libcap +libuuid
MENU:=1
endef

define Package/uwsgi-logfile-plugin
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The Logfile plugin for the uWSGI server
DEPENDS:=uwsgi
MDEPENDS:=uwsgi
endef

define Package/uwsgi-syslog-plugin
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The Syslog plugin for the uWSGI server
DEPENDS:=uwsgi
MDEPENDS:=uwsgi
endef

define Package/uwsgi-cgi-plugin
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The CGI plugin for the uWSGI server
DEPENDS:=uwsgi
MDEPENDS:=uwsgi
endef

define Package/uwsgi-python3-plugin
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=The Python3 plugin for the uWSGI server
DEPENDS:=uwsgi +python3-light
MDEPENDS:=uwsgi
endef

define Package/uwsgi-luci-support
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=Support files for LuCI on Nginx
DEPENDS:=uwsgi +uwsgi-syslog-plugin +uwsgi-cgi-plugin
MDEPENDS:=uwsgi
endef

define Package/uwsgi/description
The uWSGI project (to be used together with nginx or nginx-ssl).
endef

define Package/uwsgi-logfile-plugin/description
The Logfile plugin for the uWSGI project.
endef

define Package/uwsgi-syslog-plugin/description
The Syslog plugin for the uWSGI project.
endef

define Package/uwsgi-cgi-plugin/description
The CGI plugin for the uWSGI project.
endef

define Package/uwsgi-python3-plugin/description
The Python3 plugin for the uWSGI project.
endef

define Package/uwsgi-luci-support/description
Support files for LuCI on Nginx
endef

MAKE_VARS+=\
CPP=$(TARGET_CROSS)cpp \
PYTHON=$(STAGING_DIR_HOSTPKG)/bin/python3 \
LINUX_UNAME_VERSION=$(LINUX_UNAME_VERSION)

define Build/Compile
$(call Build/Compile/Default,PROFILE=openwrt)
$(call Build/Compile/Default,plugin.logfile PROFILE=openwrt)
$(call Build/Compile/Default,plugin.syslog PROFILE=openwrt)
$(call Build/Compile/Default,plugin.cgi PROFILE=openwrt)
$(call Build/Compile/HostPy3RunTarget, \
cd $(PKG_BUILD_DIR), \
uwsgiconfig.py --plugin plugins/python openwrt, \
CPP="$(TARGET_CROSS)cpp" \
LINUX_UNAME_VERSION=$(LINUX_UNAME_VERSION) \
CFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON3_INC_DIR) $(TARGET_CFLAGS)" \
)
endef

define Package/uwsgi/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uwsgi $(1)/usr/sbin/

$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/uwsgi.init $(1)/etc/init.d/uwsgi

$(INSTALL_DIR) $(1)/etc/uwsgi
$(INSTALL_CONF) ./files/emperor.ini $(1)/etc/uwsgi/emperor.ini

$(INSTALL_DIR) $(1)/etc/uwsgi/vassals
endef

define Package/uwsgi/conffiles
/etc/uwsgi/emperor.ini
endef

define Package/uwsgi-logfile-plugin/install
$(INSTALL_DIR) $(1)/usr/lib/uwsgi
$(CP) $(PKG_BUILD_DIR)/logfile_plugin.so $(1)/usr/lib/uwsgi/
endef

define Package/uwsgi-syslog-plugin/install
$(INSTALL_DIR) $(1)/usr/lib/uwsgi
$(CP) $(PKG_BUILD_DIR)/syslog_plugin.so $(1)/usr/lib/uwsgi/
endef

define Package/uwsgi-cgi-plugin/install
$(INSTALL_DIR) $(1)/usr/lib/uwsgi
$(CP) $(PKG_BUILD_DIR)/cgi_plugin.so $(1)/usr/lib/uwsgi/
endef

define Package/uwsgi-python3-plugin/install
$(INSTALL_DIR) $(1)/usr/lib/uwsgi
$(INSTALL_BIN) $(PKG_BUILD_DIR)/python_plugin.so $(1)/usr/lib/uwsgi/
endef

define Package/uwsgi-luci-support/install
$(INSTALL_DIR) $(1)/etc/uwsgi/vassals
$(INSTALL_DATA) ./files-luci-support/luci-webui.ini $(1)/etc/uwsgi/vassals/luci-webui.ini
$(INSTALL_DATA) ./files-luci-support/luci-cgi_io.ini $(1)/etc/uwsgi/vassals/luci-cgi_io.ini
endef

$(eval $(call BuildPackage,uwsgi))
$(eval $(call BuildPackage,uwsgi-logfile-plugin))
$(eval $(call BuildPackage,uwsgi-syslog-plugin))
$(eval $(call BuildPackage,uwsgi-cgi-plugin))
$(eval $(call BuildPackage,uwsgi-python3-plugin))
$(eval $(call BuildPackage,uwsgi-luci-support))
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
[uwsgi]
strict = true
if-not-env = UWSGI_EMPEROR_FD
socket = /var/run/luci-cgi_io.socket
chmod-socket = 666
cheap = true
end-if =
plugin = cgi
cgi-mode = true
cgi = /www/
chdir = /usr/lib/lua/luci/
buffer-size = 10000
reload-mercy = 8
max-requests = 2000
Expand All @@ -12,11 +19,13 @@ no-orphans = true
post-buffering = 8192
socket-timeout = 120
thunder-lock = true
#logger = syslog:uwsgi-luci-cgi_io
plugin = syslog
disable-logging = true
req-logger = syslog:uwsgi-luci-cgi_io
log-format=%(method) %(uri) => return %(status) (%(rsize) bytes in %(msecs) ms)
chmod-socket = 666
cgi-safe = /usr/libexec/cgi-io
cgi-dontresolve = true
cgi-close-stdin-on-eof = true
cheap = true
idle = 360
idle = 360
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
[uwsgi]
strict = true
if-not-env = UWSGI_EMPEROR_FD
socket = /var/run/luci-webui.socket
chmod-socket = 666
cheap = true
end-if =
plugin = cgi
cgi-mode = true
cgi = /www/
chdir = /usr/lib/lua/luci/
Expand All @@ -13,16 +19,17 @@ enable-threads = true
post-buffering = 8192
socket-timeout = 120
thunder-lock = true
#logger = syslog:uwsgi-luci
plugin = syslog
logger = luci syslog:uwsgi-luci
log-route = luci luci:
disable-logging = true
log-format = %(addr) %(method) %(uri) => generated %(rsize) bytes in %(msecs) msecs
req-logger = syslog:uwsgi-luci
log-format=%(method) %(uri) => return %(status) (%(rsize) bytes in %(msecs) ms)
threads = 3
processes = 3
chmod-socket = 666
cheap = true
cheaper-algo = spare
cheaper = 1
cheaper-initial = 2
cheaper-initial = 1
cheaper-step = 1
master = true
idle = 360
idle = 360
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[uwsgi]
strict = true
pidfile = /var/run/uwsgi.pid
pidfile = /var/run/uwsgi.pid
emperor = /etc/uwsgi/vassals/*.ini
logger = syslog:uwsgi-emperor
early-emperor = true
vacuum = true
emperor-on-demand-directory = /var/run/
emperor-required-heartbeat = 99
vassal-set = die-on-idle=true
#disable-logging = true
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/sbin/uwsgi --ini /etc/uwsgi/emperor.ini
procd_set_param stderr 1
procd_set_param file /etc/uwsgi/emperor.ini
procd_set_param respawn
procd_close_instance
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
-uwsgi_os_k = re.split('[-+_]', os.uname()[2])[0]
-uwsgi_os_v = os.uname()[3]
+uwsgi_os = "Linux"
+uwsgi_os_k = "4.4.0"
+uwsgi_os_k = os.environ['LINUX_UNAME_VERSION']
+uwsgi_os_v = "Linux"
uwsgi_cpu = os.uname()[4]

Expand Down
30 changes: 30 additions & 0 deletions net/uwsgi/src/buildconf/openwrt.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[uwsgi]
xml = false
yaml = false
json = false
ssl = false
pcre = true
routing = auto
debug = false
unbit = false
malloc_implementation = libc
extras =
plugins =
bin_name = uwsgi
append_version =
plugin_dir = /usr/lib/uwsgi
plugin_build_dir = .
embedded_plugins =
as_shared_library = false

locking = auto
event = auto
timer = auto
filemonitor = auto

blacklist =
whitelist =

embed_files =

embed_config =