Public bug reported:
uWSGI is becoming mandatory for many OpenStack services, and promotion of
src:uwsgi to main is being tracked in LP: #2151202 ([MIR] uwsgi), with the
companion LP: #2152614 ([MIR] uwsgi-plugin-python).
The core binary package (uwsgi, formerly uwsgi-core before Debian
2.0.31-5) has exactly one runtime dependency outside of main: libzmq5
(universe). The dependency enters via ${shlibs:Depends} only because
three plugins are shipped inside the core package and each links -lzmq:
* emperor_zeromq
* logzmq
* mongrel2
Nothing in the uWSGI core itself links zmq (the zeromq build knob is a
vestigial no-op in 2.0.31), so the dependency can be dropped cleanly by
splitting these plugins out of the core package.
Proposed fix (uwsgi 2.0.31-6ubuntu1, based on 2.0.31-6 currently in
stonking-proposed): move the three plugins from the core plugin set
(UWSGI_SRCPLUGINS_CORE) to the addon set (UWSGI_SRCPLUGINS_ADDON) in
debian/rules and ship them in three new binary packages following the
existing uwsgi-plugin-* convention:
* uwsgi-plugin-emperor-zeromq
* uwsgi-plugin-logzmq
* uwsgi-plugin-mongrel2
The new packages carry the libzmq5 dependency, depend on
uwsgi (= ${binary:Version}) like the other addon plugin packages, and
declare Breaks/Replaces against the core package versions that shipped
the plugin files (uwsgi << 2.0.31-6ubuntu1~ and uwsgi-core << 2.0.31-5~,
covering the -5 package rename) so partial upgrades are safe. They will
pass through binary NEW and should remain in universe, exactly like the
existing uwsgi-plugin-geoip (which depends on universe libgeoip1t64).
Verification performed on amd64 in a clean sbuild chroot:
* the rebuilt uwsgi package has no zmq reference in Depends; all its
remaining Depends are in main (checked with rmadison)
* file-list diff against the archive package shows exactly the three
*_plugin.so files moved, nothing else
* "uwsgi-core --need-plugin emperor_zeromq --version" and
"uwsgi-core --need-plugin logzmq --version" load successfully with the
new packages installed, and fail as expected when they are removed
* autopkgtest (integration) passes; lintian shows no new findings vs
the archive packages
Note: the mongrel2 plugin fails to load with "undefined symbol:
json_object_iter_value" both before and after this change — Debian
builds uWSGI's JSON support with yajl while the mongrel2 plugin
hardcodes the jansson API. Pre-existing issue, unchanged by this change
(verified identical against the archive binaries).
This is an Ubuntu-only delta, so auto-sync from Debian will stop and
future Debian uploads will need manual merges.
Test builds: ppa:mylesjp/uwsgi-split
** Affects: uwsgi (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2160391
Title:
Split ZeroMQ-linked plugins out of the uwsgi core package to drop the
libzmq5 (universe) dependency
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/uwsgi/+bug/2160391/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs