Merge ~athos-ribeiro/ubuntu/+source/lighttpd:focal-libgamin-conflicts into ubuntu/+source/lighttpd:ubuntu/focal-devel

Proposed by Athos Ribeiro
Status: Merged
Approved by: Sergio Durigan Junior
Approved revision: dfdbef47de5a3b8579fee47c5c184eaac8a7a7c6
Merged at revision: dfdbef47de5a3b8579fee47c5c184eaac8a7a7c6
Proposed branch: ~athos-ribeiro/ubuntu/+source/lighttpd:focal-libgamin-conflicts
Merge into: ubuntu/+source/lighttpd:ubuntu/focal-devel
Diff against target: 88 lines (+35/-2)
4 files modified
debian/changelog (+9/-0)
debian/control (+4/-2)
debian/tests/control (+3/-0)
debian/tests/libfam-libgamin-conflict-regression (+19/-0)
Reviewer Review Type Date Requested Status
Sergio Durigan Junior (community) Approve
Canonical Server Core Reviewers Pending
Review via email: mp+404199@code.launchpad.net

Description of the change

Depend on libgamin to fix missing symbol errors (LP: #1453463)

While the proposed fix contains a new regression autopkgtest entry, this was not included in impish nor proposed to debian because the dependency on fam was removed in Debian (and the related delta should be removed from Ubuntu in the next merge). See https://salsa.debian.org/debian/lighttpd/-/merge_requests/18#note_206687 for further reference.

To post a comment you must log in.
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

A PPA with the proposed change is available at https://launchpad.net/~athos-ribeiro/+archive/ubuntu/lighttpd-lp-1453463/+packages.

I also ran the autopkgtest suite locally. The results were:

autopkgtest [16:05:28]: @@@@@@@@@@@@@@@@@@@@ summary
defconfig PASS
load-all-modules PASS
serve-static-file PASS
libfam-libgamin-conflict-regression PASS

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks for the MP, Athos.

I reviewed it and it looks good. I was able to reproduce the problem locally, and verified that your package fixes it.

Now I understand your question regarding dropping a delta that is not needed anymore. Needless to say, this is exactly one of the cases where an MP for impish would be justified.

I read the SRU template and think it does a good job at explaining what's happening, how to reproduce the problem and what is the regression potential.

I am leaving comments for some minor nits that I found, but overall everything looks OK and is almost ready to be sponsored. Let me know when you address

review: Needs Fixing
Revision history for this message
Sergio Durigan Junior (sergiodj) :
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Out of curiosity, are you able to build the package locally with sbuild? The build is failing for me:

Test Summary Report
-------------------
./core-response.t (Wstat: 1024 Tests: 14 Failed: 4)
  Failed tests: 8-11
  Non-zero exit status: 4
./mod-userdir.t (Wstat: 512 Tests: 7 Failed: 2)
  Failed tests: 4-5
  Non-zero exit status: 2
Files=20, Tests=319, 12 wallclock secs ( 0.10 usr 0.03 sys + 1.54 cusr 0.57 csys = 2.24 CPU)
Result: FAIL
Failed 2/20 test programs. 6/319 subtests failed.
FAIL: run-tests.pl

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Hi Sergio,

Thanks for the review, I will address your comments soon.

Can you show the logs for the failing test?

I did have one test failing due to the tests relying on the capabilities of resolving "localhost", i.e, on the presence of /etc/hosts in the system.

A local workaround is to either inject /etc/hosts in the chroot or to install netbase in the build image. For sbuild, using --starting-build-commands="apt install -y netbase" should do it.

I checked that the package in debian unstable (and impish) does not rely on that capability anymore, therefore, I decided not to include this build-depends here.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Ah, that was it. Thanks.

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

- Removed the maintainer change from the changelog

- libgamin-dev was moved in the dependencies list in the original fix, in groovy. I moved it here as well for consistency.

- stderr is being allowed in the test because apt will output to stderr. We could redirect those calls to stdout or /dev/null, it just seemed to be cleaner to allow those, since we are exiting with an error status on the cases we want to capture.

- Added a comment in the begining of the test to describe it's purpose, as requested.

I re-ran the autopkgtest suite:

autopkgtest [21:45:24]: @@@@@@@@@@@@@@@@@@@@ summary
defconfig PASS
load-all-modules PASS
serve-static-file PASS
libfam-libgamin-conflict-regression PASS

And pushed a new package with the latest changes to the PPA.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

On Tuesday, June 15 2021, Athos Ribeiro wrote:

> - Removed the maintainer change from the changelog

Thanks.

> - libgamin-dev was moved in the dependencies list in the original fix,
> in groovy. I moved it here as well for consistency.

ACK.

> - stderr is being allowed in the test because apt will output to
> stderr. We could redirect those calls to stdout or /dev/null, it just
> seemed to be cleaner to allow those, since we are exiting with an
> error status on the cases we want to capture.

Ah, you should use apt-get instead. apt will always print the warning
(to stderr) saying that its interface is not stable and shouldn't be
used in scripts, which is annoying. apt-get doesn't have this problem.

I prefer to be conservative here and just enable allow-stderr if it's
really needed.

> - Added a comment in the begining of the test to describe it's purpose, as requested.

Thanks!

--
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0 EB2F 106D A1C8 C3CB BF14

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote (last edit ):

Thanks for the review, Sergio!

- Changed the new test to use apt-get instead of apt (allow-stderr restriction removed)

I re-ran the autopkgtest suite:

autopkgtest [08:23:51]: @@@@@@@@@@@@@@@@@@@@ summary
defconfig PASS
load-all-modules PASS
serve-static-file PASS
libfam-libgamin-conflict-regression PASS

And pushed a new package with the latest changes to the PPA.

Revision history for this message
Sergio Durigan Junior (sergiodj) :
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks for catching that one, Sergio :)

Version updated :)

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thank you.

Pushed & uploaded:

$ git push pkg upload/1.4.55-1ubuntu1.20.04.1
Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 8 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 2.50 KiB | 641.00 KiB/s, done.
Total 19 (delta 12), reused 0 (delta 0)
To ssh://git.launchpad.net/ubuntu/+source/lighttpd
 * [new tag] upload/1.4.55-1ubuntu1.20.04.1 -> upload/1.4.55-1ubuntu1.20.04.1

$ dput lighttpd_1.4.55-1ubuntu1.20.04.1_source.changes
Trying to upload package to ubuntu
Checking signature on .changes
gpg: /home/sergio/work/lighttpd/lighttpd_1.4.55-1ubuntu1.20.04.1_source.changes: Valid signature from 106DA1C8C3CBBF14
Checking signature on .dsc
gpg: /home/sergio/work/lighttpd/lighttpd_1.4.55-1ubuntu1.20.04.1.dsc: Valid signature from 106DA1C8C3CBBF14
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading lighttpd_1.4.55-1ubuntu1.20.04.1.dsc: done.
  Uploading lighttpd_1.4.55-1ubuntu1.20.04.1.debian.tar.xz: done.
  Uploading lighttpd_1.4.55-1ubuntu1.20.04.1_source.buildinfo: done.
  Uploading lighttpd_1.4.55-1ubuntu1.20.04.1_source.changes: done.
Successfully uploaded packages.

review: Approve

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 3a50221..7bba9f0 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+lighttpd (1.4.55-1ubuntu1.20.04.1) focal; urgency=medium
7+
8+ * d/control: Depend on libgamin to fix missing symbol errors (LP: #1453463)
9+ * d/test/control: introduce regression test for libgamin/libfam
10+ * d/test/libfam-libgamin-conflict-regression: check for libgamin/libfam
11+ conflict regressions
12+
13+ -- Athos Ribeiro <athos.ribeiro@canonical.com> Mon, 14 Jun 2021 18:34:03 -0300
14+
15 lighttpd (1.4.55-1ubuntu1) focal; urgency=low
16
17 * Merge from Debian unstable. Remaining changes:
18diff --git a/debian/control b/debian/control
19index d431e47..19b8d06 100644
20--- a/debian/control
21+++ b/debian/control
22@@ -1,7 +1,8 @@
23 Source: lighttpd
24 Section: httpd
25 Priority: optional
26-Maintainer: Debian lighttpd maintainers <team+lighttpd@tracker.debian.org>
27+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
28+XSBC-Original-Maintainer: Debian lighttpd maintainers <team+lighttpd@tracker.debian.org>
29 Uploaders: Helmut Grohne <helmut.grohne@intenta.de>, Glenn Strauss <gstrauss@gluelogic.com>, Stefan Bühler <stbuehler@web.de>
30 Homepage: https://www.lighttpd.net/
31 Build-Depends:
32@@ -13,11 +14,11 @@ Build-Depends:
33 libbz2-dev,
34 libattr1-dev,
35 libpcre3-dev,
36- libgamin-dev,
37 default-libmysqlclient-dev | libmysqlclient-dev,
38 libdbi-dev,
39 libldap2-dev,
40 libfcgi-dev,
41+ libgamin-dev,
42 libgdbm-dev,
43 libgeoip-dev,
44 liblua5.1-0-dev,
45@@ -50,6 +51,7 @@ Depends:
46 ${shlibs:Depends},
47 mime-support,
48 lsb-base (>= 3.0-6),
49+ libgamin0,
50 Recommends:
51 spawn-fcgi,
52 perl:any,
53diff --git a/debian/tests/control b/debian/tests/control
54index bd2fb35..34ba2e4 100644
55--- a/debian/tests/control
56+++ b/debian/tests/control
57@@ -8,3 +8,6 @@ Depends: lighttpd, lighttpd-modules-ldap, lighttpd-modules-mysql, lighttpd-mod-t
58 Tests: serve-static-file
59 Depends: lighttpd, curl
60 Restrictions: allow-stderr
61+
62+Tests: libfam-libgamin-conflict-regression
63+Restrictions: needs-root
64diff --git a/debian/tests/libfam-libgamin-conflict-regression b/debian/tests/libfam-libgamin-conflict-regression
65new file mode 100644
66index 0000000..008c62d
67--- /dev/null
68+++ b/debian/tests/libfam-libgamin-conflict-regression
69@@ -0,0 +1,19 @@
70+#!/bin/sh
71+# This test checks for regressions on lighttpd fam dependencies,
72+# which could either be satisfied by libgamin or libfam, whereas the latter
73+# does not provide all the needed symbols for the package to work properly
74+# https://bugs.launchpad.net/ubuntu/+source/lighttpd/+bug/1453463
75+
76+test_dep_regression() {
77+ apt-get purge -y libfam0 libgamin0 lighttpd
78+ apt-get install -y $1
79+ apt-get install -y lighttpd
80+ if ! /usr/sbin/lighttpd -v; then
81+ echo "Err: possible libfam-libgamin conflict regression"
82+ exit 1
83+ fi
84+}
85+
86+apt-get update
87+test_dep_regression libfam0
88+test_dep_regression libgamin0

Subscribers

People subscribed via source and target branches