Manual merge of version 1:68.8.1-1+rpi1 and 1:68.9.0-1 to produce 1:68.9.0-1+rpi1 archive/raspbian/1%68.9.0-1+rpi1 raspbian/1%68.9.0-1+rpi1
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 11 Jun 2020 05:07:41 +0000 (05:07 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 11 Jun 2020 05:07:41 +0000 (05:07 +0000)
Update rust triplet hack patch from firefox-esr packaging.

1  2 
build/moz.configure/rust.configure
debian/changelog
debian/patches/raspbian-rust-triplet-hack.patch

index 0645c1e53a1a17f6470b18504796e1ae370b9767,dc2335525303a01c8f8177e1f8b48affb34c8630..e58ccb6c15052128a2fb349bbb8aa7d66f57ca87
@@@ -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
index e92be7955651300b23b75e3b9035a2bc7a6f2bc7,08de0daf08c8b65f96716dce1def8490ced7f873..db026ce307c46f02c2f3f94b44d579ec0aeefef7
@@@ -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 <plugwash@raspbian.org> 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 <plugwash@raspbian.org> at Sun, 15 Mar 2020 16:27:21 +0000]
 +  * Actually build the binary packages on armhf.
 +  * Yet more clean target fixing.
 +
-  -- Raspbian forward porter <root@raspbian.org>  Fri, 29 May 2020 10:20:49 +0000
++ -- Peter Michael Green <plugwash@raspbian.org>  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 <c.schoenert@t-online.de>  Fri, 05 Jun 2020 20:29:35 +0200
  
  thunderbird (1:68.8.1-1) unstable; urgency=medium
  
index 36391b46a09578c26bf18b52a6c226771b756059,0000000000000000000000000000000000000000..ecb72bac16cfa9a943c9b39fce5fa920d981f5b7
mode 100644,000000..100644
--- /dev/null
@@@ -1,40 -1,0 +1,33 @@@
- --- 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
 +Description:  Hack broken rust target selection so it produces the right target on raspbian.
 +Author: Peter Michael Green <plugwash@raspbian.org>
-      # 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 = {}
++--- 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()
- +        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):
 ++    #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:
++         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