Build ngx_mod against LuaJIT

Bug #1571444 reported by Rob on 2016-04-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nginx (Ubuntu)
Wishlist
Thomas Ward
Xenial
Wishlist
Thomas Ward

Bug Description

Is it possible to get LuaJIT support?

This was done in debian a while back:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755875

Rob (arkade) wrote :

Should be against nginx-extras

Thomas Ward (teward) on 2016-04-18
Changed in nginx (Ubuntu):
importance: Undecided → Wishlist
assignee: nobody → Thomas Ward (teward)
Thomas Ward (teward) wrote :

When nginx-core and Ubuntu Main support was introduced, it necessitated dropping the luajit dependency - the reason being everything in Main that had a build dependency in Universe would not get put into Main, and the Universe depends need to be dropped for that. Which is why we do not include the LuaJIT support.

According to Ubuntu Main Inclusion Requirements, point 6 (https://wiki.ubuntu.com/UbuntuMainInclusionRequirements):

Dependencies:
All build and binary dependencies (including Recommends:) must be satisfyable in main (i. e. the preferred alternative must be in main). If not, these dependencies need a separate MIR report (this can be a separate bug or another task on the main MIR bug)

We had discussed LuaJIT, and had decided against trying to add it into Main. Therefore, we stuck specifically to Lua, and not LuaJIT.

I'm not sure if this has changed or not...

Changed in nginx (Ubuntu):
assignee: Thomas Ward (teward) → nobody
status: New → Incomplete
Thomas Ward (teward) wrote :

This late in the development cycle, we are not going to be changing the build dependencies - we're really just preparing for Xenial release at this point.

If this is applied, it will likely be applied as part of 16.10, and not Ubuntu Xenial 16.04 LTS, given the proximity to release.

Thomas Ward (teward) wrote :

After gathering clarification on the changed procedures [1], this is not doable. I'll break this down a little bit here.

------

To summarize the 'changed procedures' in regards to here:

1. We are able to build-depend packages in Main on Universe, such that
    any Universe compile-time dependencies are no longer needed to be
    dropped for a package to be in Main. But...

2. If such build-dependencies then introduce new dependencies on the
    built binaries, the runtime-dependency packages of which are
    necessary in the built binaries must be in Main.

This is a clarification written by me, but was confirmed by Steve Langasek. (see [2])

--------

To reintroduce the LuaJIT build-dependency, the produced binaries would then need to rely on a *new* runtime dependency - `libluajit`. In order for this to correctly work, point #2 above needs to be met. Unfortunately, LuaJIT is not in Main. This means that we can either...

(a) Drop the build dependency, or
(b) Try and get LuaJIT included in Main.

This was discussed previously for the Ubuntu 14.04 cycle when nginx-core (binary) and nginx (source) was added to Main. We did not find the LuaJIT software to meet main inclusion requirements; this unfortunately still applies.

Given this, we will not be including LuaJIT in the Ubuntu nginx software.

------

NOTE: If you *want* LuaJIT support, please use the NGINX Stable [3] or NGINX Mainline [4] PPAs - they are not software from the Repositories, and are PPAs run by 'third parties', but the packages themselves are maintained and uploaded to by myself, and for the most part echo Debian packages (and Ubuntu specific changes such as PHP changes in Xenial) more closely - they also have LuaJIT support, I believe.

[1]: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2016-April/001179.html
[2]: https://lists.ubuntu.com/archives/ubuntu-devel/2016-April/039317.html
[3]: https://launchpad.net/~nginx/+archive/ubuntu/stable
[4]: https://launchpad.net/~nginx/+archive/ubuntu/development

Changed in nginx (Ubuntu):
status: Incomplete → Won't Fix
assignee: nobody → Thomas Ward (teward)
Thomas Ward (teward) wrote :

Thanks to rbasak for clarification on things, and thanks to Steve Langasek as well.

The above has been revoked - we can include LuaJIT for the nginx-extras package. However, at this point, it may or may not make it into Xenial; if not Xenial, then it may be included in 16.10.

Changed in nginx (Ubuntu):
status: Won't Fix → Triaged
Thomas Ward (teward) on 2016-04-19
no longer affects: nginx (Ubuntu Y-series)
Changed in nginx (Ubuntu Xenial):
status: Triaged → In Progress
Thomas Ward (teward) on 2016-04-20
Changed in nginx (Ubuntu Xenial):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nginx - 1.9.15-0ubuntu1

---------------
nginx (1.9.15-0ubuntu1) xenial-proposed; urgency=medium

  * New upstream release (1.9.15) - full changelog available at upstream
    website - http://nginx.org/en/CHANGES (LP: #1572223)
  * All Ubuntu specific changes from 1.1.14-0ubuntu1, except noted below,
    remain included in this upload.
  * Remaining changes:
    * debian/control: Re-add libluajit-5.1-dev build-dependency, as it will
      only affect nginx-extras which is in Universe. This reduces the merge
      delta between Ubuntu and Debian slightly, as well. (LP: #1571444)
    * debian/patches/ubuntu-branding.patch: Refresh Ubuntu Branding patch.

 -- Thomas Ward <email address hidden> Mon, 18 Apr 2016 15:39:08 -0400

Changed in nginx (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers