Package: dpkg
Version: 1.19.2
Followup-For: Bug #915881
User: [email protected]
Usertags: origin-ubuntu disco ubuntu-patch
In Ubuntu, the attached patch was applied to achieve the following:
* scripts/Dpkg/Vendor/Ubuntu.pm: Instead of running the Debian hooks after
the Ubuntu buildflags are set up, run them first, and then strip/prepend
the bits we need to change. This fixes compiler optimisation on ppc64el.
This is vaguely similar to Laney's patch, but produces more pleasant output,
and is also what I uploaded to Ubuntu just now to solve the problem.
... Adam
-- System Information:
Debian Release: buster/sid
APT prefers disco
APT policy: (500, 'disco')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.18.0-11-lowlatency (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru dpkg-1.19.2ubuntu1/debian/control dpkg-1.19.2ubuntu2/debian/control
--- dpkg-1.19.2ubuntu1/debian/control 2018-11-27 11:28:33.000000000 -0700
+++ dpkg-1.19.2ubuntu2/debian/control 2018-12-07 10:51:35.000000000 -0700
@@ -1,8 +1,7 @@
Source: dpkg
Section: admin
Priority: required
-Maintainer: Ubuntu Developers <[email protected]>
-XSBC-Original-Maintainer: Dpkg Developers <[email protected]>
+Maintainer: Dpkg Developers <[email protected]>
Uploaders: Guillem Jover <[email protected]>
Origin: debian
Bugs: debbugs://bugs.debian.org
diff -Nru dpkg-1.19.2ubuntu1/scripts/Dpkg/Vendor/Ubuntu.pm
dpkg-1.19.2ubuntu2/scripts/Dpkg/Vendor/Ubuntu.pm
--- dpkg-1.19.2ubuntu1/scripts/Dpkg/Vendor/Ubuntu.pm 2018-10-07
16:05:11.000000000 -0600
+++ dpkg-1.19.2ubuntu2/scripts/Dpkg/Vendor/Ubuntu.pm 2018-12-07
10:51:28.000000000 -0700
@@ -98,6 +98,9 @@
} elsif ($hook eq 'update-buildflags') {
my $flags = shift @params;
+ # Run the Debian hook to add hardening flags
+ $self->SUPER::run_hook($hook, $flags);
+
require Dpkg::BuildOptions;
my $build_opts = Dpkg::BuildOptions->new();
@@ -109,15 +112,13 @@
if (Dpkg::Arch::debarch_eq($arch, 'ppc64el')) {
for my $flag (qw(CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS GCJFLAGS
FFLAGS FCFLAGS)) {
- $flags->set($flag, '-g -O3', 'vendor');
+ $flags->strip($flag, '-g -O2', 'vendor');
+ $flags->prepend($flag, '-g -O3', 'vendor');
}
}
}
# Per https://wiki.ubuntu.com/DistCompilerFlags
- $flags->set('LDFLAGS', '-Wl,-Bsymbolic-functions', 'vendor');
-
- # Run the Debian hook to add hardening flags
- $self->SUPER::run_hook($hook, $flags);
+ $flags->prepend('LDFLAGS', '-Wl,-Bsymbolic-functions', 'vendor');
} else {
return $self->SUPER::run_hook($hook, @params);
}