Merge ~bryce/ubuntu/+source/nginx:fix-unsatisfiable-depends into ubuntu/+source/nginx:ubuntu/devel

Proposed by Bryce Harrington
Status: Merged
Approved by: Bryce Harrington
Approved revision: b16861cbf00d220ea148b2fec6540e952cce393f
Merge reported by: Bryce Harrington
Merged at revision: b16861cbf00d220ea148b2fec6540e952cce393f
Proposed branch: ~bryce/ubuntu/+source/nginx:fix-unsatisfiable-depends
Merge into: ubuntu/+source/nginx:ubuntu/devel
Diff against target: 65 lines (+15/-5)
2 files modified
debian/changelog (+10/-0)
debian/control (+5/-5)
Reviewer Review Type Date Requested Status
Andreas Hasenack Approve
Ubuntu Core Development Team Pending
Canonical Server Pending
git-ubuntu developers Pending
Review via email: mp+386927@code.launchpad.net

Description of the change

The nginx merge was blocked in proposed migration:

nginx (1.17.10-0ubuntu1 to 1.18.0-3ubuntu1)

    Maintainer: Ubuntu Developers
    10 days old
    libnginx-mod-stream-geoip/amd64 unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    libnginx-mod-stream-geoip/arm64 unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    libnginx-mod-stream-geoip/armhf unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    libnginx-mod-stream-geoip/ppc64el unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    libnginx-mod-stream-geoip/riscv64 unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    libnginx-mod-stream-geoip/s390x unsatisfiable Depends: libgeoip1 (>= 1.6.12)
    Not considered

My guess is that this is because of a dependence on libnginx-mod-stream-geoip rather than libnginx-mod-stream-geoip2, but I'm not 100% sure. I think the issue is that I neglected to apply the geoip1->2 delta to debian's new nginx-full binary package. However, there's quite a bit of GeoIP stuff in rules and control. It builds locally ok but appreciate advice on making sure the right geoip* bits are being provided.

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Taking a look

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ok, replacing the libnginx-mod-stream-geoip dependency with libnginx-mod-stream-geoip2 is the correct move. Both are in groovy-proposed/main, gut libnginx-mod-stream-geoip being in main is incorrect, as it depends on libgeoip1 which is in universe. So besides this change, please ask an archive admin in #ubuntu-release to move libnginx-mod-stream-geoip to universe.

Now, the descriptions:

a) nginx-core
In debian, nginx-core depends on libnginx-mod-http-geoip. This is, as the name implies, an http module, and is referenced in the description under "OPTIONAL HTTP MODULES".

nginx-core also depends on "libnginx-mod-stream-geoip", which is under "OPTIONAL STREAM MODULES".

We are dropping libnginx-mod-http-geoip from here as part of our delta, so we should remove it from the "OPTIONAL HTTP MODULES" line.

And since we are replacing libnginx-mod-stream-geoip with libnginx-mod-stream-geoip2, replacing GeoIP with GeoIP2 in "OPTIONAL STREAM MODULES" is correct and you did that already.

So I think this is the change you should apply to d/control for (a), and I'll add an inline comment to it as well:
diff --git a/debian/control b/debian/control
index 7d2dcacc..61ac42b4 100644
--- a/debian/control
+++ b/debian/control
@@ -97,7 +97,7 @@ Description: nginx web/proxy server (standard version)
  GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
  Referer, Rewrite, SCGI, Split Clients, UWSGI.
  .
- OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP2, Gunzip,
+ OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, Gunzip,
  Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log, Real IP,
  Slice, SSI, SSL, SSL Preread, Stub Status, Substitution, Thread Pool,
  Upstream, User ID, XSLT.

b) nginx-full
Debian has it incorrect here, when they say GeoIP is an optional http module, as nginx-full there is pulling in libnginx-mod-http-geoip2, so your change is correct.

So +1 with just that tiny fix for the description of nginx-core, and you will have to ask an AA to demote libnginx-mod-stream-geoip because of its dependency on a universe package.

review: Approve
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

libnginx-mod-stream-geoip demoted:

<seb128> ahasenack, I demoted it now

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

Thanks, I've tagged and uploaded the fix to groovy:

$ git ubuntu tag --upload
$ git push pkg upload/1.18.0-3ubuntu2
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 12 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.28 KiB | 131.00 KiB/s, done.
Total 9 (delta 6), reused 0 (delta 0), pack-reused 0
To ssh://git.launchpad.net/ubuntu/+source/nginx
 * [new tag] upload/1.18.0-3ubuntu2 -> upload/1.18.0-3ubuntu2

$ dput ubuntu nginx_1.18.0-3ubuntu2_source.changes
Checking signature on .changes
gpg: /home/bryce/pkg/Nginx/merge-v1.18.0-3/nginx_1.18.0-3ubuntu2_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: /home/bryce/pkg/Nginx/merge-v1.18.0-3/nginx_1.18.0-3ubuntu2.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading nginx_1.18.0-3ubuntu2.dsc: done.
  Uploading nginx_1.18.0-3ubuntu2.debian.tar.xz: done.
  Uploading nginx_1.18.0-3ubuntu2_source.buildinfo: done.
  Uploading nginx_1.18.0-3ubuntu2_source.changes: done.
Successfully uploaded packages.

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

Thanks also for checking the description changes, I updated the optional http module section for nginx-core per your suggestion with this upload.

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

This has migrated

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index e1c0e33..844065c 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,13 @@
6+nginx (1.18.0-3ubuntu2) groovy; urgency=medium
7+
8+ * Re-apply demotion of geoip in favor of geoip2
9+ - Fixes some accidentally dropped delta from merge to fix
10+ unsatisfiable depends. nginx-[core|full] need to depend on
11+ libnginx-mod-stream-geoip2, not on -geoip.
12+ (LP #1861101)
13+
14+ -- Bryce Harrington <bryce@canonical.com> Mon, 06 Jul 2020 15:12:26 -0700
15+
16 nginx (1.18.0-3ubuntu1) groovy; urgency=medium
17
18 * Merge with Debian unstable. Remaining changes:
19diff --git a/debian/control b/debian/control
20index 760c244..7d2dcac 100644
21--- a/debian/control
22+++ b/debian/control
23@@ -73,7 +73,7 @@ Depends: libnginx-mod-http-image-filter (= ${binary:Version}),
24 libnginx-mod-http-xslt-filter (= ${binary:Version}),
25 libnginx-mod-mail (= ${binary:Version}),
26 libnginx-mod-stream (= ${binary:Version}),
27- libnginx-mod-stream-geoip (= ${binary:Version}),
28+ libnginx-mod-stream-geoip2 (= ${binary:Version}),
29 nginx-common (= ${source:Version}),
30 iproute2,
31 ${misc:Depends},
32@@ -97,14 +97,14 @@ Description: nginx web/proxy server (standard version)
33 GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
34 Referer, Rewrite, SCGI, Split Clients, UWSGI.
35 .
36- OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP, Gunzip,
37+ OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP2, Gunzip,
38 Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log, Real IP,
39 Slice, SSI, SSL, SSL Preread, Stub Status, Substitution, Thread Pool,
40 Upstream, User ID, XSLT.
41 .
42 OPTIONAL MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
43 .
44- OPTIONAL STREAM MODULES: Stream Core, GeoIP
45+ OPTIONAL STREAM MODULES: Stream Core, GeoIP2
46
47 Package: nginx-full
48 Architecture: all
49@@ -135,14 +135,14 @@ Description: nginx web/proxy server (standard version with 3rd parties)
50 GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
51 Referer, Rewrite, SCGI, Split Clients, UWSGI.
52 .
53- OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP, Gunzip,
54+ OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP2, Gunzip,
55 Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log, Real IP,
56 Slice, SSI, SSL, Stream, SSL Preread, Stub Status, Substitution, Thread Pool,
57 Upstream, User ID, XSLT.
58 .
59 OPTIONAL MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
60 .
61- OPTIONAL STREAM MODULES: Stream Core, GeoIP, GeoIP2
62+ OPTIONAL STREAM MODULES: Stream Core, GeoIP2
63 .
64 THIRD PARTY MODULES: Auth PAM, DAV Ext, Echo, GeoIP2, HTTP Substitutions
65 Upstream Fair Queue.

Subscribers

People subscribed via source and target branches