Merge nginx from Debian unstable for mantic

Bug #1993421 reported by Bryce Harrington
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
nginx (Ubuntu)
Fix Released
High
Bryce Harrington

Bug Description

Upstream: 1.22.1
Debian: 1.22.1-9
Ubuntu: 1.22.0-1ubuntu3

### New Debian Changes ###

nginx (1.22.1-9) unstable; urgency=medium

  * d/control: nginx-common Breaks+Replaces: nginx (<< 1.22.1-8)
    (Closes: 1032929)

 -- Jan Mojžíš <email address hidden> Tue, 14 Mar 2023 16:19:32 +0100

nginx (1.22.1-8) unstable; urgency=medium

  * Main change:
    Configuration files returned to nginx-common package. This fixes
    the serious problem of losing configuration files during upgrade.
    This is a rollback of a change made in 1.22.1-6 (Closes: 1032517)
  * d/control: fix nginx-full dependencies
  * d/libnginx-mod.abisubstvars: update libnginx-mod-http-lua version

 -- Jan Mojžíš <email address hidden> Tue, 14 Mar 2023 06:53:32 +0100

nginx (1.22.1-7) unstable; urgency=medium

  * nginx ABI release: nginx-abi-1.22.1-7
  * nginx ABI: Nginx now provides nginx-abi-<VERSION> to better manage
    dependencies between nginx and 3rd party modules. Credit to Jérémy Lal.
  * switched to libpcre2 (Closes: 1000013)
  * d/p/bug-973861: added, lingering close for connections with pipelined
    requests. The patch is backported from the upstream. (Closes: 973861)
  * d/gbb.conf: switched to debian branch main (debian-branch = main)
  * d/copyright: updated to be compatible with 'cme update dpkg-copyright'

 -- Jan Mojžíš <email address hidden> Mon, 13 Feb 2023 13:04:16 +0100

nginx (1.22.1-6) unstable; urgency=medium

  * Main change:
    Nginx binary moved to package nginx, also moved basic
    configuration files from nginx-common to package nginx.
    The packages nginx-{light,core,extras,common} are replaced
    by a metapackage. (Closes: 1025763)
    Users should simply install 'nginx' and 'libnginx-mod-...'
    instead of these packages.
  * Additional changes:
    * d/nginx-{light,core,extras,full,common}.NEWS: added warning that
      nginx-{light,core,extras,full,common} are deprecated
    * d/control: fixed dependencies for safe binNMU
    * d/copyright: updated debian/* copyright
    * d/copyright: added missing copyright for d/apport/*
    * d/copyright: added missing GPL-2+ copyright for d/debhelper/dh_nginx
    * d/copyright: added missing copyright for d/help/examples/nginx_modsite
    * d/po/it.po: added Italian debconf translation. (Closes: 1019160)
    * d/control: removed dependency on obsolete package lsb-base
    * d/control: bump Standards-Version: 4.6.2, no changes

 -- Jan Mojžíš <email address hidden> Wed, 08 Feb 2023 17:20:27 +0100

nginx (1.22.1-5) unstable; urgency=medium

  [ Jan Mojžíš ]
  * Since version 1.22.1-5 all third party modules are removed from Debian NGINX
    package and all these modules are maintained in separate external packages.
    Removed namely these remaining modules:
      - libnginx-mod-http-geoip2
      - libnginx-mod-stream-geoip2
      - libnginx-mod-http-auth-pam
      - libnginx-mod-http-echo
      - libnginx-mod-http-upstream-fair
      - libnginx-mod-http-headers-more-filter
      - libnginx-mod-http-cache-purge
      - libnginx-mod-http-fancyindex
      - libnginx-mod-http-uploadprogress
      - libnginx-mod-http-subs-filter
      - libnginx-mod-http-dav-ext
  * d/tests: all *-simple and *-deps tests updated to check if nginx works
    after installation/reload/restart for all flavours
  * d/control: updated nginx-common dependency, fixes lintian warning
    maybe-not-arch-all-binnmuable

  [ Jérémy Lal ]
  * d/rules: default error-log-path is stderr (--error-log-path=stderr)
    instead of hardcoded /var/log/nginx/error.log (Closes: 1025858)
  * dh nginx: auto-detect build-dependency on ndk-dev
  * dh nginx: absolute /usr/sbin/nginx path for nginx tests
  * d/p/nginx-ssl_cert_cb_yield.patch SSL_CTX_set_cert_cb() callback yielding
    patch update
  * d/conf/nginx.conf: Set global error_log to /var/log/error.log
    Now that error_log default value is stderr, it is possible
    to override that config using nginx -g 'error_log stderr;'

  [ Miao Wang ]
  * d/control: removed unnecessary dependencies after removing 3rd party modules
  * d/rules: enabled stream_realip_module (--with-stream_realip_module)
  * d/rules: explicitly disabled pcre2 (--without-pcre2)

 -- Jan Mojžíš <email address hidden> Tue, 20 Dec 2022 10:36:19 +0100

nginx (1.22.1-4) unstable; urgency=medium

  * d/t/*-module-deps: updated, added curl timeout 300 seconds and
    added nginx restart before calling curl
  * d/t/*-module-deps: update:
    - added tests for new ext. module libnginx-mod-http-set-misc
    - added tests for new ext. module libnginx-mod-http-brotli-filter
    - added tests for new ext. module libnginx-mod-http-brotli-static
    - added tests for new ext. module libnginx-mod-http-memc
    - added tests for new ext. module libnginx-mod-http-srcache-filter
  * removed 3th party modules and moved to separate packages:
    - libnginx-mod-nchan module
    - libnginx-mod-rtmp module
    - libnginx-mod-http-ndk module

 -- Jan Mojžíš <email address hidden> Thu, 08 Dec 2022 14:15:15 +0100

nginx (1.22.1-3) unstable; urgency=medium

  * d/control: added Multi-Arch: foreign for package nginx-dev
  * d/rules: enabled NDK upstream list module NDK_UPSTREAM_LIST
  * d/p/bug-1024605.patch: added header Forwarded: not-needed

 -- Jan Mojžíš <email address hidden> Mon, 05 Dec 2022 18:25:16 +0100

nginx (1.22.1-2) unstable; urgency=medium

  [ Jan Mojžíš ]
  * d/control: fixed spelling-error-in-description
  * d/nginx-*.postinst: fixed postinst script, used invoke-rc.d instead of
    pidof and ad-hoc tests, tnx Gioele Barabucci
  * d/tests/ssi-module-test added, simple ngx_http_ssi_filter_module test
  * d/p/bug-1024605.patch added: fixes problem when a subrequest has SSI
    enabled but its main request does not, the SSI module may crash the worker
    due to NULL-pointer dereference. The patch is backported from the upstream
    (Closes: 1024605)
  * d/control: updated implicit dependencies of third-party modules
    for easier transition to third-party modules in separate packages.

  [ Jérémy Lal ]
  * d/debhelper: set nginx_mod buildsystem by default
  * d/control: nginx-dev provides dh-sequence-nginx (Closes: #1024879)
  * d/control: remove Uploaders that are part of nginx-team,
    keep only the most recent active one, per policy 5.6.3.

  [ Debian Janitor ]
  * Remove constraints unnecessary since buster (oldstable):
    + nginx-dev: Drop versioned constraint on dpkg-dev in Depends.

 -- Jan Mojžíš <email address hidden> Wed, 30 Nov 2022 17:39:42 +0100

nginx (1.22.1-1) unstable; urgency=medium

  [ Jan Mojžíš ]
  * New upstream version 1.22.1
  * d/control: added implicit version of dependency libnginx-mod-http-lua
    (>=1:0.10.22-3~), it is a rebuilt version with nginx 1.22.1.
  * Added libnginx-mod-http-lua powerpc architecture

  [ Debian Janitor ]

### Old Ubuntu Delta ###

nginx (1.22.0-1ubuntu2) lunar; urgency=medium

  * Rebuild against new perlapi-5.36.

 -- Gianfranco Costamagna <email address hidden> Fri, 04 Nov 2022 16:49:47 +0100

nginx (1.22.0-1ubuntu1) kinetic; urgency=medium

  * Merge with Debian unstable (LP: #1982626). Remaining changes:
    - d/p/ubuntu-branding.patch: add Ubuntu branding
    - d/apport/source_nginx.py: Add apport hooks for additional bug
      information gathering.
    - d/nginx-common.install: Add install rule for apport hooks.
    - d/p/nginx-fix-pidfile.patch: Fix NGINX PIDfile handling to avoid
      SystemD race condition - thanks to Tj for the patch. (LP #1581864)
    - d/control: make nginx and nginx-full arch any, so that nginx-full
      is no longer pulled into main because of i386 (LP #1893267)
    - Remove the Lua modules from NGINX (Server Team Decision) - future support
      for Lua module now requires resty-core from OpenResty, meaning that if
      we want to continue to support the Lua module, we have to start becoming
      OpenResty - users should just use OpenResty at this point for Lua.
      Changes made for this removal:
       + d/control:
         + Remove lua module from dependencies, and binary build item.
         + Add 'Breaks' line for nginx-lua for older versions of NGINX.
           This is added to the nginx metapackage and nginx-extras.
       + d/rules: Remove Lua module from the build flags for -extras.
       + d/http-lua, d/modules/{,patches/,watch/}nginx-lua: Remove Lua
         modules, watch file, module patches.
       + d/modules/control: Remove Lua module from definitions
       + d/copyright: Remove lua module.
       + d/tests/{control,lua/}: Remove Lua test entirely, remove
         dependencies on any test which request
         libnginx-mod-http-lua as it's gone.
    - d/control: drop GeoIP from nginx-core due to demotion of libgeoip
      (LP #1861101, LP #1867150):
      + remove libnginx-mod-http-geoip from nginx-core dependency
      + have nginx-core depend on libnginx-mod-stream-geoip2
        instead of libnginx-mod-stream-geoip
      + adjust package descriptions accordingly
    - d/control: (GeoIP2 related changes)
      + Update dependencies for http-geoip2 package to include libmaxminddb0.
      + Update nginx-core to include http-geoip2 module due to approved bin-MIR
        (LP #1867198)
      + Move geoip2 module build flags to the common flags so all
        package flavors have it.
      + Update dependencies for nginx-light, etc. to include
        libnginx-mod-http-geoip2 as it's in the 'common build flags'
        for all flavors of the builds.
      + Update package description for nginx-core to indicate geoip2
        is included, and to list third party HTTP modules. GeoIP2
        is not included for Stream by default, so we have to adjust
        this because the Stream part isn't MIR'd.
  * d/p/ubuntu-branding.patch: Reimplement patch to avoid conflicting on
    (volatile) release version numbers when merging.
  * d/m/p/http-subs-filter/pcre2.patch: Patch from debian 0d813834 to
    fix FTBFS
  * d/t/branding: Add autopkgtest to validate branding presence

 -- Bryce Harrington <email address hidden> Fri, 22 Jul 2022 17:56:50 -0700

Related branches

Bryce Harrington (bryce)
summary: - Merge nginx from Debian unstable for l-series
+ Merge nginx from Debian unstable for lunar
Changed in nginx (Ubuntu):
assignee: nobody → Bryce Harrington (bryce)
description: updated
description: updated
Changed in nginx (Ubuntu):
milestone: none → ubuntu-23.02
Revision history for this message
Bryce Harrington (bryce) wrote : Re: Merge nginx from Debian unstable for lunar

When doing this merge, also take a look at this bug. A few other packages sound like they depend on the newer version, and hopefully will be fixed by it:

https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1999296

Revision history for this message
Bryce Harrington (bryce) wrote :

There's a new version coming:

nginx | 1.22.1-6~exp1 | experimental

teward warns that this brings major changes to the build, replaces flavored executable with metapackages. `nginx` ships the nginx binary, separate packages are provided for extra plugins.

One thing to watch for in particular with the merge is the handling of demotion of pcre3 to pcre2 (see LP: #1792544), as we need to stay on pcre2 and not accidentally move to pcre3. It sounds like a future -7 release will include a switch to libpcre2 by Debian, so presumably we should continue carrying our pcre2 delta until that can be merged.

Bryce Harrington (bryce)
summary: - Merge nginx from Debian unstable for lunar
+ [FFe] Merge nginx from Debian unstable for lunar
Changed in nginx (Ubuntu):
importance: Undecided → High
Bryce Harrington (bryce)
summary: - [FFe] Merge nginx from Debian unstable for lunar
+ Merge nginx from Debian unstable for lunar
Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (3.7 KiB)

I've completed the merge for the core nginx package with the new packaging split-outs by Debian, and posted to this PPA:

    https://launchpad.net/~bryce/+archive/ubuntu/nginx-merge-v1.22.1-7/+packages

The other piece of splitting out the nginx modules is of course, the mods, which now exist as independent source packages of the same name as the binary packages previously provided by nginx itself. Unfortunately, these source packages have not yet come into Ubuntu, for example the echo module:

    https://launchpad.net/ubuntu/+source/libnginx-mod-http-echo

With the mods missing, the nginx autopkgtests fail, since part of their job is to validate the modules when new nginx changes appear. Obviously, a bigger concern is that users relying on these modules would be severely regressed if they were to disappear.

The nginx mods are:

 libnginx-mod-http-auth-pam
 libnginx-mod-http-cache-purge
 libnginx-mod-http-dav-ext
 libnginx-mod-http-echo
 libnginx-mod-http-fancyindex
 libnginx-mod-http-geoip
 libnginx-mod-http-geoip2
 libnginx-mod-http-headers-more-filter
 libnginx-mod-http-image-filter
 libnginx-mod-http-lua
 libnginx-mod-http-ndk
 libnginx-mod-http-perl
 libnginx-mod-http-subs-filter
 libnginx-mod-http-uploadprogress
 libnginx-mod-http-upstream-fair
 libnginx-mod-http-xslt-filter
 libnginx-mod-mail
 libnginx-mod-nchan
 libnginx-mod-rtmp
 libnginx-mod-stream
 libnginx-mod-stream-geoip
 libnginx-mod-stream-geoip2

All of these currently are provided as binary packages by the nginx source package, except lua which as part of the nginx delta we deliberately have excluded, due to past Lua dependency problems. Going forward, of this list only the following binary packages are still being provided by the nginx source package:

 libnginx-mod-http-geoip
 libnginx-mod-http-image-filter
 libnginx-mod-http-perl
 libnginx-mod-http-xslt-filter
 libnginx-mod-mail
 libnginx-mod-stream
 libnginx-mod-stream-geoip

That means that the following now are separate source packages that will need transitioned in with the new nginx:

 libnginx-mod-http-auth-pam
 libnginx-mod-http-cache-purge
 libnginx-mod-http-dav-ext
 libnginx-mod-http-echo
 libnginx-mod-http-fancyindex
 libnginx-mod-http-geoip2
 libnginx-mod-http-headers-more-filter
 libnginx-mod-http-lua
 libnginx-mod-http-ndk
 libnginx-mod-http-subs-filter
 libnginx-mod-http-uploadprogress
 libnginx-mod-http-upstream-fair
 libnginx-mod-nchan
 libnginx-mod-rtmp
 libnginx-mod-stream-geoip2

I'm not entirely sure where these mods are in the process; I don't spot them in the new or unapproved queues, nor are they showing in component mismatches:

  * https://launchpad.net/ubuntu/lunar/+queue?queue_state=0&queue_text=
  * https://launchpad.net/ubuntu/lunar/+queue?queue_state=1&queue_text=
  * https://people.canonical.com/~ubuntu-archive/component-mismatches.txt

I'm guessing that since the package names are currently binary packages, the new source packages are blocked from processing, but I am not sure what steps are needed to unblock them. I'm guessing next action here will be to work with an Archive Admin to untangle this.

One complication is that, as mentioned earlier, the lua mod has some dependency situ...

Read more...

Changed in nginx (Ubuntu):
milestone: ubuntu-23.02 → later
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nginx (Ubuntu):
status: New → Confirmed
Bryce Harrington (bryce)
Changed in nginx (Ubuntu):
milestone: later → ubuntu-23.05
Bryce Harrington (bryce)
summary: - Merge nginx from Debian unstable for lunar
+ Merge nginx from Debian unstable for mantic
Changed in nginx (Ubuntu):
status: Confirmed → In Progress
Bryce Harrington (bryce)
description: updated
Bryce Harrington (bryce)
Changed in nginx (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.