From: Peter Michael Green Date: Thu, 11 Jun 2020 05:07:41 +0000 (+0000) Subject: Manual merge of version 1:68.8.1-1+rpi1 and 1:68.9.0-1 to produce 1:68.9.0-1+rpi1 X-Git-Tag: archive/raspbian/1%68.9.0-1+rpi1^0 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bad4410751bcfa53588e6f12a9ee466a83925a20;p=thunderbird.git Manual merge of version 1:68.8.1-1+rpi1 and 1:68.9.0-1 to produce 1:68.9.0-1+rpi1 Update rust triplet hack patch from firefox-esr packaging. --- bad4410751bcfa53588e6f12a9ee466a83925a20 diff --cc build/moz.configure/rust.configure index 0645c1e53a,dc23355253..e58ccb6c15 --- a/build/moz.configure/rust.configure +++ b/build/moz.configure/rust.configure @@@ -185,43 -185,30 +185,35 @@@ def rust_compiler(rustc_info, cargo_inf @depends(rustc, when=rust_compiler) +@imports('sys') +@imports(_from='__builtin__', _import='repr') + @imports(_from='__builtin__', _import='ValueError') def rust_supported_targets(rustc): out = check_cmd_output(rustc, '--print', 'target-list').splitlines() - # The os in the triplets used by rust may match the same OSes, in which - # case we need to check the raw_os instead. - per_os = {} - ambiguous = set() - per_raw_os = {} + #HACK: if there are multiple matches the algorithm uses the last one + #put arm-unknown-linux-gnuebihf on the end of the list so it gets preffered + out.append('arm-unknown-linux-gnueabihf') + data = {} for t in out: - traw = t - t = split_triplet(t, allow_unknown=True) - endianness = t.endianness - if t.cpu.startswith('thumb') and endianness not in ('big', 'little'): - endianness = 'little' - key = (t.cpu, endianness, t.os) - if key in per_os: - previous = per_os[key] - per_raw_os[(previous.cpu, previous.endianness, - previous.raw_os)] = previous - del per_os[key] - ambiguous.add(key) - if key in ambiguous: - raw_os = t.raw_os - # split_triplet will return a raw_os of 'androideabi' for - # rust targets in the form cpu-linux-androideabi, but what - # we get from the build system is linux-androideabi, so - # normalize. - if raw_os == 'androideabi': - raw_os = 'linux-androideabi' - per_raw_os[(t.cpu, endianness, raw_os)] = t - else: - per_os[key] = t - return namespace(per_os=per_os, per_raw_os=per_raw_os) + try: + info = split_triplet(t) + except ValueError: + if t.startswith('thumb'): + cpu, rest = t.split('-', 1) + retry = '-'.join(('arm', rest)) + elif t.endswith('-windows-msvc'): + retry = t[:-len('windows-msvc')] + 'mingw32' + elif t.endswith('-windows-gnu'): + retry = t[:-len('windows-gnu')] + 'mingw32' + else: + continue + try: + info = split_triplet(retry) + except ValueError: + continue + key = (info.cpu, info.endianness, info.os) + data.setdefault(key, []).append(namespace(rust_target=t, target=info)) + return data @template diff --cc debian/changelog index e92be79556,08de0daf08..db026ce307 --- a/debian/changelog +++ b/debian/changelog @@@ -1,22 -1,20 +1,40 @@@ - thunderbird (1:68.8.1-1+rpi1) bullseye-staging; urgency=medium ++thunderbird (1:68.9.0-1+rpi1) bullseye-staging; urgency=medium + + [changes brought over from firefox-esr 60.3.0esr-1+rpi1 by Peter Michael Green at Wed, 05 Dec 2018 06:56:52 +0000] + * Hack broken rust target selection so it produces the right target + on raspbian. + * Fix clean target. + + [changes introduced in 60.4.0-1+rpi1 by Peter Michael Green] + * Further fixes to clean target (still not completely fixed :( ). + + [changes introduced in 1:68.5.0-1~deb10u1+rpi1 by Peter Michael Green] + * Disable neon (patches taken from firefox-esr package) + * Build in a chroot with arm64 binutils-arm-linux-gnueabihf + + [changes brought forward from 1:68.5.0-1~deb10u1+rpi2 by Peter Michael Green at Sun, 15 Mar 2020 16:27:21 +0000] + * Actually build the binary packages on armhf. + * Yet more clean target fixing. + - -- Raspbian forward porter Fri, 29 May 2020 10:20:49 +0000 ++ -- Peter Michael Green Thu, 11 Jun 2020 05:07:05 +0000 ++ + thunderbird (1:68.9.0-1) unstable; urgency=medium + + [ intrigeri ] + * [fd13825] AppArmor: update profile from upstream at commit 860d2d9 + (Closes: #960465) + + [ Carsten Schoenert ] + * [c310c40] New upstream version 68.9.0 + Fixed CVE issues in upstream version 68.9.0 (MFSA 2020-22): + CVE-2020-12399: Timing attack on DSA signatures in NSS library + CVE-2020-12405: Use-after-free in SharedWorkerService + CVE-2020-12406: JavaScript Type confusion with NativeTypes + CVE-2020-12410: Memory safety bugs fixed in Thunderbird 68.9.0 + CVE-2020-12398: Security downgrade with IMAP STARTTLS leads to + information leakage + + -- Carsten Schoenert Fri, 05 Jun 2020 20:29:35 +0200 thunderbird (1:68.8.1-1) unstable; urgency=medium diff --cc debian/patches/raspbian-rust-triplet-hack.patch index 36391b46a0,0000000000..ecb72bac16 mode 100644,000000..100644 --- a/debian/patches/raspbian-rust-triplet-hack.patch +++ b/debian/patches/raspbian-rust-triplet-hack.patch @@@ -1,40 -1,0 +1,33 @@@ +Description: Hack broken rust target selection so it produces the right target on raspbian. +Author: Peter Michael Green - - --- thunderbird-68.3.0.orig/build/moz.configure/rust.configure - +++ thunderbird-68.3.0/build/moz.configure/rust.configure - @@ -185,6 +185,8 @@ def rust_compiler(rustc_info, cargo_info ++--- firefox-esr-68.9.0esr.orig/build/moz.configure/rust.configure +++++ firefox-esr-68.9.0esr/build/moz.configure/rust.configure ++@@ -185,9 +185,14 @@ def rust_compiler(rustc_info, cargo_info + + + @depends(rustc, when=rust_compiler) ++@imports('sys') ++@imports(_from='__builtin__', _import='repr') ++ @imports(_from='__builtin__', _import='ValueError') + def rust_supported_targets(rustc): + out = check_cmd_output(rustc, '--print', 'target-list').splitlines() - # The os in the triplets used by rust may match the same OSes, in which - @@ -192,7 +194,11 @@ def rust_supported_targets(rustc): - per_os = {} - ambiguous = set() - per_raw_os = {} ++ #HACK: if there are multiple matches the algorithm uses the last one ++ #put arm-unknown-linux-gnuebihf on the end of the list so it gets preffered ++ out.append('arm-unknown-linux-gnueabihf') ++ data = {} + for t in out: - + traw = t - t = split_triplet(t, allow_unknown=True) - endianness = t.endianness - if t.cpu.startswith('thumb') and endianness not in ('big', 'little'): - @@ -232,11 +238,13 @@ def rust_triple_alias(host_or_target): ++ try: ++@@ -225,11 +230,13 @@ def rust_triple_alias(host_or_target): + arm_target, when=rust_compiler) + @checking('for rust %s triplet' % host_or_target_str) + @imports('os') ++ @imports('sys') + @imports('subprocess') + @imports(_from='mozbuild.configure.util', _import='LineIO') + @imports(_from='mozbuild.shellutil', _import='quote') + @imports(_from='tempfile', _import='mkstemp') + @imports(_from='textwrap', _import='dedent') ++ @imports(_from='__builtin__', _import='repr') + def rust_target(rustc, host_or_target, compiler_info, + rust_supported_targets, arm_target): + # Rust's --target options are similar to, but not exactly the same