DEP8 fixes for xenial

Bug #1779400 reported by Andreas Hasenack
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libapache2-mod-perl2 (Ubuntu)
Invalid
Low
Andreas Hasenack
Xenial
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
The biggest impact of this bug is in future apache2 (and others) SRUs. The libapache2-mod-perl2 DEP8 tests are run everytime apache2 is updated, and without the fixes from here, these tests will always fail. Time will be spent in debugging them, and eventually the fix will be found, just like I did for my apache SRU (https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1766186).

Then maybe the SRU team might be convinced to ignore this failure, or ask for a special run with these patches applied showing that the new apache is fixed.

It's unfortunate that to fix a test error we need to push an update out to our users, but I believe in the end this helps them as well, because it's one more test that will be run for future apache2 updates.

[Test Case]
There is a PPA with test packages that can be used until these packages reach proposed. I suggest an autopkgtest run like the following:

autopkgtest -o dep8-xenial-ppa -U -s --apt-pocket=proposed --setup-commands="sudo add-apt-repository -s -y -u ppa:ahasenack/libapache2-mod-perl2-dep8" -B libapache2-mod-perl2 -- qemu ./autopkgtest-xenial-amd64.img

You will have to adjust the path for the autopkgtest image that you have. If you have none, create one with:

autopkgtest-buildvm-ubuntu-cloud -a amd64 -v -r xenial

That will create a autopkgtest-xenial-amd64.img file in your current directory.

[Regression Potential]
This is just test suite update, but new binaries will be produced. If build-depends of libapache2-mod-perl2 changed dramatically in xenial, this could produce an incompatible set of binaries, which would be a bug we would want to track down if happened.

[Other Info]
Here is a run with the packages from the aforementioned PPA: http://people.ubuntu.com/~ahasenack/deb8-modperl2-xenial-ppa/

== Original Description ==
There are two DEP8 tests that are failing constantly in xenial:
t/apache/read.t
t/filter/in_bbs_inject_header.t

See http://autopkgtest.ubuntu.com/packages/liba/libapache2-mod-perl2/xenial/amd64

Debian has fixed them:
libapache2-mod-perl2 (2.0.10-2) unstable; urgency=medium

  * Patch the test suite for Apache 2.4.24 compatibility.
    Thanks to Stefan Fritsch. (Closes: #849082)

 -- Niko Tyni <email address hidden> Sun, 25 Dec 2016 11:51:10 +0200

This is the diff:
https://git.launchpad.net/ubuntu/+source/libapache2-mod-perl2/commit/?h=debian/buster&id=1a0e6c046960f816f0089d8d164f7fa9b077719f

We should backport these to the xenial package, because libapache2-mod-perl2 is in the dependency tree of apache2 DEP8 tests and any apache2 update will trigger these test failures. Artful and higher already have the fixes.

Related branches

CVE References

description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

I must say that I'm not very fond of autopkgtest-only fixes to stable series, especially for packages that had no updates since release (which is the case here). But in this case I think I'd risk it. The fact that these tests are run for apache2 can be troublesome for regular and security updates (once the autopkgtest are enabled for security).

I would like to request some additional testing if possible, to make sure the new binaries are sane in a regular environment as well. Also, if the package FTBFS or similar, I'll instantly back it off from -proposed.

Changed in libapache2-mod-perl2 (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Andreas, or anyone else affected,

Accepted libapache2-mod-perl2 into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libapache2-mod-perl2/2.0.9-4ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in libapache2-mod-perl2 (Ubuntu):
status: In Progress → Invalid
description: updated
description: updated
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

DEP8 tests are green: http://people.canonical.com/~ubuntu-archive/proposed-migration/xenial/update_excuses.html#libapache2-mod-perl2
libapache2-mod-perl2 (2.0.9-4ubuntu1 to 2.0.9-4ubuntu1.1)
Maintainer: Ubuntu Developers
0 days old
Not touching package due to block request by freeze (contact #ubuntu-release if update is needed)
autopkgtest for libapache-authznetldap-perl/0.07-6: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache-singleton-perl/0.16-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache-ssllookup-perl/2.00-04-1build1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache2-authcassimple-perl/0.10-3: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache2-authcookie-perl/3.24-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache2-authenntlm-perl/0.02-8build1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libapache2-mod-perl2/2.0.9-4ubuntu1.1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
autopkgtest for libreverseproxy-formfiller-perl/0.5-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass, ppc64el: Pass, s390x: Pass
Not considered

amd64 run: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-xenial/xenial/amd64/liba/libapache2-mod-perl2/20180723_142015_d6807@/log.gz

Previous run failed with the errors indicated here in this bug: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-xenial/xenial/amd64/liba/libapache2-mod-perl2/20180613_155933_8a3f2@/log.gz

To test libapache2-mod-perl2 itself, I installed otrs2, a web ticketing system application, in two steps:
- sudo apt install postgresql
- sudo apt install otrs2

I accessed the web ui with the administrator credentials (root@localhost / root), then created a normal user, accessed the system as that user.

Then upgraded libapache2-mod-perl2:
root@xenial-modperl:~# apt-cache policy libapache2-mod-perl2
libapache2-mod-perl2:
  Installed: 2.0.9-4ubuntu1.1
  Candidate: 2.0.9-4ubuntu1.1
  Version table:
 *** 2.0.9-4ubuntu1.1 500
        500 http://br.archive.ubuntu.com/ubuntu xenial-proposed/main amd64 Packages
        100 /var/lib/dpkg/status
     2.0.9-4ubuntu1 500
        500 http://br.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Made sure apache2 was restarted, and lsof confirmed mod_perl.so was loaded. Web app continued to work, and apache logs showed no errors or segfaults.

I'll leave this bug unmarked for a few more days to give others a chance to test.

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

I also ran ldd on all .so files from libapache2-mod-perl2 and compared that output between the current and the proposed package. It's identical:

2.0.9-4ubuntu1: http://paste.ubuntu.com/p/pr3sCx26gM/
2.0.9-4ubuntu1.1: http://paste.ubuntu.com/p/74JR6xhn7g/

Script used: http://paste.ubuntu.com/p/VZDnKdYNvS/

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libapache2-mod-perl2 - 2.0.9-4ubuntu1.1

---------------
libapache2-mod-perl2 (2.0.9-4ubuntu1.1) xenial; urgency=medium

  * Pull fixes from Debian's package 2.0.10-2 for the DEP8 tests that started
    failing after the CVE-2016-8743 fix for apache2 (LP: #1779400):
    - debian/patches/370_http_syntax.patch: [PATCH 1/2] Fix
      t/apache/read.t HTTP syntax for Apache 2.4.24.
    - debian/patches/380_inject_header_line_terminators.patch: [PATCH 2/2]
      Fix in_bbs_inject_header line terminators for Apache.

 -- Andreas Hasenack <email address hidden> Fri, 29 Jun 2018 15:48:39 -0300

Changed in libapache2-mod-perl2 (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for libapache2-mod-perl2 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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