Merge ~utkarsh/ubuntu/+source/isc-dhcp:fix-nm-regression into ubuntu/+source/isc-dhcp:ubuntu/devel

Proposed by Utkarsh Gupta
Status: Merged
Approved by: Christian Ehrhardt 
Approved revision: ae9021ec47958d48ede072134f1ae5022ad385f7
Merged at revision: ae9021ec47958d48ede072134f1ae5022ad385f7
Proposed branch: ~utkarsh/ubuntu/+source/isc-dhcp:fix-nm-regression
Merge into: ubuntu/+source/isc-dhcp:ubuntu/devel
Diff against target: 31 lines (+13/-0)
2 files modified
debian/changelog (+7/-0)
debian/rules (+6/-0)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Needs Fixing
Canonical Server Pending
git-ubuntu developers Pending
Review via email: mp+399307@code.launchpad.net

Description of the change

Hello,

This MP fixes the long due regression in network-manager on ppc64el architecture. TL;DR: it was mostly due to gcc-10 being used. The fix is to not use that in favor of gcc-9.

Long story:
Initially, this patch was introduced in 4.4.1-2.1ubuntu8 and then reverted in 4.4.1-2.1ubuntu9 because of the exactly same regression, which is what's preventing isc-dhcp to migrate to the release pocked now.
Now, whilst this patch was dropped here, it was picked up in Debian (since there we don't really have any gcc-10 problems, et al) and now, after the merge of isc-dhcp's latest version with Debian sid, the patch got re-introduced again. So now, this MP basically disables that patch again and builds this against gcc-9.

I've thoroughly checked the result of regression of network-manager in a ppc64el instance using canonistack.
Before the fix, I could reproduce the regression and after the fix (using my PPA: https://launchpad.net/~utkarsh/+archive/ubuntu/isc-dhcp-lp1894172-interfaces-env), everything's neat and working, as intended to, thereby confirming the fix.

8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<

autopkgtest [15:15:18]: test urfkill-integration: -----------------------]
autopkgtest [15:15:19]: test urfkill-integration: - - - - - - - - - - results - - - - - - - - - -
urfkill-integration PASS
autopkgtest [15:15:19]: @@@@@@@@@@@@@@@@@@@@ summary
wpa-dhclient PASS
nm.py PASS
killswitches-no-urfkill PASS
urfkill-integration PASS

8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<

Requesting you to please review and sponsor my upload. Thank you! :)

To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi,
does the patch "Fixed_gcc_10_compilation_issues.patch" really have to go away?
isn't it enough to just use gcc-9 and be good without non-applying the patch?
The patch looks very safe except the memcpy, maybe the upstream discussion on this continued and there is a better version of it?

Furthermore could we only use gcc-9 on ppc64el please, and example of that is here
https://git.launchpad.net/ubuntu/+source/qemu/commit/?id=952155324e6f461878a8fbb4f33d2a37910a5954

I we could do both that would be much less deviation from how it is supposed to work.

Finally - we can't gcc-9 build this forever - therefore we need some hope to ever be able to drop this. Due to that IMHO there must be an upstream bug about it (if it exists chime in / if it does not exists file it). Then link it from the commit that you add here. Upstream in this case might be Debian IFF it is only happening when Fixed_gcc_10_compilation_issues.patch is applied.

review: Needs Fixing
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

I mentioned this on IRC as well but something else that it would be good to try is to disable -O3 on ppc64el and build with -O2 like we do on all other architectures.

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Hi Christian, Michael,

Good news, this issue is fixed when I use -O2 over -O3. I've updated the MP.
PPA at https://launchpad.net/~utkarsh/+archive/ubuntu/dummy

The bug has also been filed upstream; cf: https://gitlab.isc.org/isc-projects/dhcp/-/issues/170.
I'll keep a tab on this and will incorporate once the fix is available in Debian and sync then over.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

LGTM now, thanks for reworking!

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

And I see the commit has the link to the upstream discussion - thanks

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

To ssh://git.launchpad.net/ubuntu/+source/isc-dhcp
 * [new tag] upload/4.4.1-2.2ubuntu6 -> upload/4.4.1-2.2ubuntu6

Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading isc-dhcp_4.4.1-2.2ubuntu6.dsc: done.
  Uploading isc-dhcp_4.4.1-2.2ubuntu6.debian.tar.xz: done.
  Uploading isc-dhcp_4.4.1-2.2ubuntu6_source.buildinfo: done.
  Uploading isc-dhcp_4.4.1-2.2ubuntu6_source.changes: done.
Successfully uploaded packages.

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 43e9e65..eae932d 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+isc-dhcp (4.4.1-2.2ubuntu6) hirsute; urgency=medium
7+
8+ * d/rules: Build with -O2 instead on -O3 on ppc64el
9+ to work around network-manager's regression.
10+
11+ -- Utkarsh Gupta <utkarsh.gupta@canonical.com> Mon, 08 Mar 2021 16:37:18 +0530
12+
13 isc-dhcp (4.4.1-2.2ubuntu5) hirsute; urgency=medium
14
15 * Fix env variable for INTERFACES (LP: #1894172)
16diff --git a/debian/rules b/debian/rules
17index 3b7241d..0467137 100755
18--- a/debian/rules
19+++ b/debian/rules
20@@ -41,6 +41,12 @@ export DO_LPF=1
21 CONFFLAGS+=--enable-use-sockets
22 endif
23
24+# ppc64el workaround (for network-manager's regression)
25+ifeq ($(DEB_HOST_ARCH),ppc64el)
26+ export DEB_CFLAGS_MAINT_APPEND += -O2
27+ export DEB_CFLAGS_MAINT_STRIP += -O3
28+endif
29+
30 %:
31 dh $@ --parallel --with autoreconf
32

Subscribers

People subscribed via source and target branches