[Bug 269172] www/uwsgi: refactor to bui ld a “server core” and plugins as loadabl e modules
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269172] www/uwsgi: refactor to bui ld a “server core” and plugins as loadabl e modules"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269172] www/uwsgi: refactor to bui ld a “server core” and plugins as loadabl e modules"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 26 Jan 2023 19:03:32 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269172 Bug ID: 269172 Summary: www/uwsgi: refactor to build a “server core” and plugins as loadable modules Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: Individual Port(s) Assignee: amdmi3@FreeBSD.org Reporter: yds@Necessitu.de Flags: maintainer-feedback?(amdmi3@FreeBSD.org) Assignee: amdmi3@FreeBSD.org Created attachment 239727 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=239727&action=edit refactor www uwsgi to build a server core and plugins patch this patch refactors the port to follow a “Modular builds” approach recommended for distributions and “commercial service over uWSGI”: https://uWSGI-Docs.ReadTheDocs.io/en/latest/Install.html#modular-builds This will build a uWSGi “server core” binary without any embedded plugins. Then builds the python plugin along with all the plugins in the WRKSRC/plugins/ directory which do not require a dependency on an external port. this includes all the plugins embedded into the monolithic binary by the previous [default] build method and many more. new pkg-plist file added to the port. for future port maintenance to add or remove plugins built by the master port simply add or delete the apropos plugin entry in the pkg-plist file. the PSGI and Core::AnyEvent plugins are broken out into child plugin ports which in turn pull in the requisite dependencies. This way the main port does not need to have optional dependencies for these plugins. a baker's dozen of new plugin ports created, if a plugin needs to pull in a extra *_DEPENDS not already DEPENDed by the CORE then the plugin gets a separate child port. the new www/uwsgi-lua child port has `FLAVORS= lua luajit openresty`, only one FLAVOR can be installed at a time. FLAVORS allow for building all three as binary pkgs for the end user to chose which one to install. each FLAVOR gets an apropos SUFFIX. this whole refactor follows the idea of having a predictable set of binary pkgs where an end user who only uses pre-built binary pkgs could be sure to have all the same functionality available as when installing the ports from src. care has been taken to not violate POLA, the only breaking change is each plugin used now MUST be loaded via the `plugin` option in the config files. e.g.: plugin = python,html -- You are receiving this mail because: You are the assignee for the bug.