[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apache2 issues



At Tue, 23 Sep 2014 08:51:56 +0200,
Jonas Smedegaard wrote:
> 
> Quoting Brian May (2014-09-23 08:02:22)
> >    On 29 July 2014 19:04, Jeroen Dekkers <[1]jeroen@dekkers.ch> wrote:
> > 
> >      As far as I can see this is a bug in the apache2 packaging. The httpd
> >      virtual package should be provided by the apache2 package, not the
> >      apache2-bin package, because the apache2-bin package doesn't provide a
> >      working webserver. Bug report I just filed about this:
> >      [2]https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756361
> > 
> >    Ok, this bug was fixed, leading me to re-investigate this again.
> >     
> > 
> >      It isn't very easy to specify what httpd-wsgi should mean, because
> >      some WSGI servers are full webservers with WSGI support such as apache
> >      and others like gunicorn are only supposed to run behind a proxying
> >      server such as apache or nginx (similar to for example php-fpm).
> > 
> >      So as far as I can see, the correct dependency should be:
> > 
> >      Depends: libapache2-mod-wsgi | httpd-wsgi, apache2 | httpd
> > 
> >      So it also possible to run other webservers.
> > 
> >    I just noticed there is still another potential problem.
> >    With the above, either libapache2-mod-wsgi (Python2 only)
> >    or libapache2-mod-wsgi-py3 (Python3 only) will satisfy the depends.
> >    Does this mean I should also depend on both python-* and python3-*? Even
> >    though only one will ever get used?
> >    What happens if the package only has Python2 or Python3 support, not both?
> >    To me, it is starting to look like we need two virtual packages for
> >    httpd-wsgi  - one for Python2, and one for Python3. Then I can explicitly
> >    set use one my Depends (e.g. Python3), and not worry about supporting the
> >    other Python version (e.g. Python2).
> 
> Isn't that an implementation detail? Is Python version relevant for the 
> on-the-wire WSGI protocol?

WSGI is an API, not a wire protocol. The Python version of the WSGI
server would also be the Python version the code is run under, so we
must distinguish between Python 2 and 3. The best way would probably
be to specify that httpd-wsgi is for Python 2 and create a httpd-wsgi3
virtual package for Python 3.


Jeroen Dekkers


Reply to: