[pkg-uWSGI-devel] Bug#1076420: uwsgi: move away from cdbs - status update
Alexandre Rossi
niol at zincube.net
Wed Aug 7 19:18:52 BST 2024
Hi,
> Thanks for your work on migrating away from CDBS. I have stared at it
> many times, and know that it must have been quite a challenge.
>
> Unfortunately, I don't like the changes. :-(
No problem with that I wanted to start the discussion constructively. The good
news is that now I have a good idea of what's needed to do that.
> One problem is that you did the transition as one big git commit
> (when the fixup patches assumably gets merged). That makes the change
> difficult to follow, in case it turns out that some corner case is not
> working as intended, and there is a need to understand what was meant in
> more details with each detail of the change.
I started with small changes, but moving away from cdbs requires from my
experiments a complete overhaul of d/rules, and that makes making small
commits really difficult.
> The bigger problem, however, is that your transition replaces CDBS with
> another even more unique chunk of code, written in Python that I will
> not be comfortable maintaining.
Although I think string manipulation involved in this packaging is better
(as in more readable and less prone to mistakes) expressed in python
than in GNU make, I understand what you mean.
uwsgi packaging as we need it shall carry out at least the following
functions.
* produce debian packages
current implementation : cdbs
my choice of implementation: debhelper
* build uwsgi-core
current implementation : GNU make
my choice of implementation: GNU make
* define the list of plugins to try to build and associated parameters
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl, conf file (JSON or other)
* determine the list of plugins to build according to target arch
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl
* determine the list of plugins to build according to plugin flavours
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl
* build plugin flavours
This involves for each plugin to manage a source plugin name, the
target file according to flavour, and specific build command or
environment. This also involves producing symlinks and specific
manpages for a subset of the plugins.
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl
* templating for dh files and scripts for apache2 modules binary packages
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl
* templating for dh files and scripts for plugin binary packages
current implementation : GNU make
my choice of implementation: python
alternative : GNU make, or perl
* ease checking consistency of plugin archs vs build dep archs
current implementation : shell script + sed
my choice of implementation: python
alternative : GNU make, or perl
All this is currently implemented in GNU make syntax, so this is doable to
move to debhelper and not introduce some helper script. I'll try to
come up with something. However, I still think that the handling of the
plugin build configuration would be easier to maintain with a more capable
language than GNU make.
Seeking your opinion on these ideas,
Alex
More information about the pkg-uWSGI-devel
mailing list