diff options
Diffstat (limited to 'deb_patches')
-rw-r--r-- | deb_patches/fix-armhf-webrtc-build.patch | 70 | ||||
-rw-r--r-- | deb_patches/python3-remove-fstrings.patch | 104 | ||||
-rw-r--r-- | deb_patches/sandbox-update-arm-syscall-numbers.patch | 144 | ||||
-rw-r--r-- | deb_patches/silence-gtk-style-assertions.patch | 10 | ||||
-rw-r--r-- | deb_patches/webrtc-fix-compiler-flags-for-armhf.patch | 4 |
5 files changed, 242 insertions, 90 deletions
diff --git a/deb_patches/fix-armhf-webrtc-build.patch b/deb_patches/fix-armhf-webrtc-build.patch index 44e88a6..9f45a78 100644 --- a/deb_patches/fix-armhf-webrtc-build.patch +++ b/deb_patches/fix-armhf-webrtc-build.patch @@ -1,59 +1,30 @@ -diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_False_arm_linux.json ---- a/media/webrtc/gn-configs/arm_False_arm_linux.json Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/gn-configs/arm_False_arm_linux.json Mon Dec 10 10:40:13 2018 +0100 -@@ -15969,9 +15969,7 @@ - "/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/" - ], - "libs": [], -- "sources": [ -- "//system_wrappers/source/cpu_features_linux.c" -- ], -+ "sources": [], - "type": "static_library" - }, - "//system_wrappers:field_trial_api": { -diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_True_arm_linux.json ---- a/media/webrtc/gn-configs/arm_True_arm_linux.json Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/gn-configs/arm_True_arm_linux.json Mon Dec 10 10:40:13 2018 +0100 -@@ -15558,9 +15558,7 @@ - "/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/" - ], - "libs": [], -- "sources": [ -- "//system_wrappers/source/cpu_features_linux.c" -- ], -+ "sources": [], - "type": "static_library" - }, - "//system_wrappers:field_trial_api": { -diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build ---- a/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Mon Dec 10 10:40:13 2018 +0100 -@@ -31,10 +31,6 @@ - "/media/webrtc/trunk/webrtc/" +--- a/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build ++++ b/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build +@@ -31,10 +31,6 @@ LOCAL_INCLUDES += [ + "/third_party/libwebrtc/webrtc/" ] -UNIFIED_SOURCES += [ -- "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" +- "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" -] - if not CONFIG["MOZ_DEBUG"]: DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0" -@@ -53,20 +49,36 @@ +@@ -53,20 +49,36 @@ if CONFIG["CPU_ARCH"] == "aarch64": DEFINES["WEBRTC_ARCH_ARM64"] = True DEFINES["WEBRTC_HAS_NEON"] = True -if CONFIG["CPU_ARCH"] == "arm": -+ UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" -+ ] - +- - CFLAGS += [ - "-mfpu=neon" -- ] -+if CONFIG["CPU_ARCH"] == "arm": ++ UNIFIED_SOURCES += [ ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] ++if CONFIG["CPU_ARCH"] == "arm": ++ DEFINES["WEBRTC_ARCH_ARM"] = True DEFINES["WEBRTC_ARCH_ARM_V7"] = True DEFINES["WEBRTC_HAS_NEON"] = True @@ -61,7 +32,7 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu +if CONFIG["CPU_ARCH"] == "ppc64": + + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + if CONFIG["CPU_ARCH"] == "x86": @@ -71,13 +42,24 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu ] + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + +if CONFIG["CPU_ARCH"] == "x86_64": + + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + Library("cpu_features_linux_gn") +--- a/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn ++++ b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn +@@ -187,7 +187,7 @@ if (is_android && !build_with_mozilla) { + } + } + +-if (is_linux) { ++if (is_linux && target_cpu != "arm") { + rtc_static_library("cpu_features_linux") { + sources = [ + "source/cpu_features_linux.c", diff --git a/deb_patches/python3-remove-fstrings.patch b/deb_patches/python3-remove-fstrings.patch index 93da547..f121f06 100644 --- a/deb_patches/python3-remove-fstrings.patch +++ b/deb_patches/python3-remove-fstrings.patch @@ -123,7 +123,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> def check_user_lifetime_expiration( -@@ -263,8 +271,9 @@ class GlinterNit: +@@ -281,8 +289,9 @@ class GlinterNit: def format(self): return ( @@ -135,18 +135,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> ) -@@ -324,8 +333,9 @@ def lint_metrics( - "SUPERFLUOUS_NO_LINT", - ".".join([metric.category, metric.name]), - ( -- f"Superfluous no_lint entry '{check_name}'. " -+ "Superfluous no_lint entry '{}'. " - "Please remove it." -+ .format(check_name) - ), - CheckType.warning, - ) -@@ -372,7 +382,7 @@ def lint_yaml_files(input_filepaths: Ite +@@ -374,7 +383,7 @@ def lint_yaml_files(input_filepaths: Ite if len(nits): print("Sorry, Glean found some glinter nits:", file=file) for (path, p) in nits: @@ -157,7 +146,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> --- a/third_party/python/glean_parser/glean_parser/markdown.py +++ b/third_party/python/glean_parser/glean_parser/markdown.py -@@ -70,7 +70,7 @@ def metrics_docs(obj_name: str) -> str: +@@ -73,7 +73,7 @@ def metrics_docs(obj_name: str) -> str: if obj_name.startswith("labeled_"): fixedup_name += "s" @@ -166,7 +155,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> def ping_docs(ping_name: str) -> str: -@@ -81,7 +81,7 @@ def ping_docs(ping_name: str) -> str: +@@ -84,7 +84,7 @@ def ping_docs(ping_name: str) -> str: if ping_name not in pings.RESERVED_PING_NAMES: return "" @@ -205,16 +194,16 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> filetype = FILE_TYPES.get(schema_key) -@@ -115,7 +116,7 @@ def _get_schema( - if schema_id not in schemas: - raise ValueError( +@@ -117,7 +118,7 @@ def _get_schema( util.format_error( -- filepath, "", f"$schema key must be one of {', '.join(schemas.keys())}", -+ filepath, "", "$schema key must be one of {}".format(', '.join(schemas.keys())), + filepath, + "", +- f"$schema key must be one of {', '.join(schemas.keys())}", ++ "$schema key must be one of {}".format(', '.join(schemas.keys())), ) ) return schemas[schema_id] -@@ -187,7 +188,7 @@ def _instantiate_metrics( +@@ -189,7 +190,7 @@ def _instantiate_metrics( if not config.get("allow_reserved") and category_key.split(".")[0] == "glean": yield util.format_error( filepath, @@ -223,7 +212,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> "Categories beginning with 'glean' are reserved for " "Glean internal use.", ) -@@ -195,7 +196,7 @@ def _instantiate_metrics( +@@ -197,7 +198,7 @@ def _instantiate_metrics( all_objects.setdefault(category_key, OrderedDict()) if not isinstance(category_val, dict): @@ -232,16 +221,16 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> for metric_key, metric_val in category_val.items(): try: -@@ -204,7 +205,7 @@ def _instantiate_metrics( - ) +@@ -207,7 +208,7 @@ def _instantiate_metrics( except Exception as e: yield util.format_error( -- filepath, f"On instance {category_key}.{metric_key}", str(e), -+ filepath, "On instance {}.{}".format(category_key, metric_key), str(e), + filepath, +- f"On instance {category_key}.{metric_key}", ++ "On instance {}.{}".format(category_key, metric_key), + str(e), ) metric_obj = None - else: -@@ -214,7 +215,7 @@ def _instantiate_metrics( +@@ -218,7 +219,7 @@ def _instantiate_metrics( ): yield util.format_error( filepath, @@ -250,7 +239,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> 'Only internal metrics may specify "all-pings" ' 'in "send_in_pings"', ) -@@ -230,8 +231,9 @@ def _instantiate_metrics( +@@ -234,8 +235,9 @@ def _instantiate_metrics( filepath, "", ( @@ -262,7 +251,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> ), ) else: -@@ -257,17 +259,17 @@ def _instantiate_pings( +@@ -261,17 +263,17 @@ def _instantiate_pings( if ping_key in RESERVED_PING_NAMES: yield util.format_error( filepath, @@ -284,7 +273,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> continue already_seen = sources.get(ping_key) -@@ -276,8 +278,9 @@ def _instantiate_pings( +@@ -280,8 +282,9 @@ def _instantiate_pings( yield util.format_error( filepath, "", @@ -318,18 +307,27 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> + return "{}:\n{}".format(filepath, _utils.indent(content)) - def is_expired(expires: str) -> bool: -@@ -353,8 +353,8 @@ def is_expired(expires: str) -> bool: - date = datetime.date.fromisoformat(expires) - except ValueError: - raise ValueError( -- f"Invalid expiration date '{expires}'. " -- "Must be of the form yyyy-mm-dd in UTC." -+ "Invalid expiration date '{}'. " -+ "Must be of the form yyyy-mm-dd in UTC.".format(expires) - ) - return date <= datetime.datetime.utcnow().date() + def parse_expires(expires: str) -> datetime.date: +@@ -351,8 +351,8 @@ def parse_expires(expires: str) -> datet + return datetime.date.fromisoformat(expires) + except ValueError: + raise ValueError( +- f"Invalid expiration date '{expires}'. " +- "Must be of the form yyyy-mm-dd in UTC." ++ "Invalid expiration date '{}'. " ++ "Must be of the form yyyy-mm-dd in UTC.".format(expires) + ) + +@@ -382,7 +382,7 @@ def validate_expires(expires: str) -> No + max_date = datetime.datetime.now() + datetime.timedelta(days=730) + if date > max_date.date(): + raise ValueError( +- f"'{expires}' is more than 730 days (~2 years) in the future.", ++ "'{}' is more than 730 days (~2 years) in the future.".format(expires), + "Please make sure this is intentional.", + "You can supress this warning by adding EXPIRATION_DATE_TOO_FAR to no_lint", + "See: https://mozilla.github.io/glean_parser/metrics-yaml.html#no_lint", --- a/third_party/python/glean_parser/tools/extract_data_categories.py +++ b/third_party/python/glean_parser/tools/extract_data_categories.py @@ -62,7 +62,7 @@ def fetch_url(url: str) -> str: @@ -381,7 +379,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> else: --- a/third_party/python/glean_parser/glean_parser/metrics.py +++ b/third_party/python/glean_parser/glean_parser/metrics.py -@@ -133,7 +133,7 @@ class Metric: +@@ -138,7 +138,7 @@ class Metric: """ metric_type = metric_info["type"] if not isinstance(metric_type, str): @@ -390,3 +388,23 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> return cls.metric_types[metric_type]( category=category, name=name, +--- a/third_party/python/glean_parser/glean_parser/translate.py ++++ b/third_party/python/glean_parser/glean_parser/translate.py +@@ -112,7 +112,7 @@ def translate_metrics( + for filepath in output_dir.glob(clear_pattern): + filepath.unlink() + if len(list(output_dir.iterdir())): +- print(f"Extra contents found in '{output_dir}'.") ++ print("Extra contents found in '{}'.".format(output_dir)) + + # We can't use shutil.copytree alone if the directory already exists. + # However, if it doesn't exist, make sure to create one otherwise +@@ -146,7 +146,7 @@ def translate( + format_desc = OUTPUTTERS.get(output_format, None) + + if format_desc is None: +- raise ValueError(f"Unknown output format '{output_format}'") ++ raise ValueError("Unknown output format '{}'".format(output_format)) + + return translate_metrics( + input_filepaths, diff --git a/deb_patches/sandbox-update-arm-syscall-numbers.patch b/deb_patches/sandbox-update-arm-syscall-numbers.patch new file mode 100644 index 0000000..b6cf3bb --- /dev/null +++ b/deb_patches/sandbox-update-arm-syscall-numbers.patch @@ -0,0 +1,144 @@ +From 05971bd227dc6c359657d1501711e6865e9430f9 Mon Sep 17 00:00:00 2001 +From: Matthew Denton <mpdenton@chromium.org> +Date: Tue, 28 Jul 2020 00:29:01 +0000 +Subject: [PATCH] Linux sandbox: update arm syscall numbers + +Change-Id: Ia2c39a86fb3516040a74de963115e73b7b1a1e0c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2318316 +Reviewed-by: Robert Sesek <rsesek@chromium.org> +Commit-Queue: Matthew Denton <mpdenton@chromium.org> +Cr-Commit-Position: refs/heads/master@{#792090} +--- + +diff --git a/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h b/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +index 59d0eab8..a242c18c 100644 +--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h ++++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +@@ -1063,4 +1063,60 @@ + #define __NR_memfd_create 279 + #endif + ++#if !defined(__NR_bpf) ++#define __NR_bpf 280 ++#endif ++ ++#if !defined(__NR_execveat) ++#define __NR_execveat 281 ++#endif ++ ++#if !defined(__NR_userfaultfd) ++#define __NR_userfaultfd 282 ++#endif ++ ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 283 ++#endif ++ ++#if !defined(__NR_mlock2) ++#define __NR_mlock2 284 ++#endif ++ ++#if !defined(__NR_copy_file_range) ++#define __NR_copy_file_range 285 ++#endif ++ ++#if !defined(__NR_preadv2) ++#define __NR_preadv2 286 ++#endif ++ ++#if !defined(__NR_pwritev2) ++#define __NR_pwritev2 287 ++#endif ++ ++#if !defined(__NR_pkey_mprotect) ++#define __NR_pkey_mprotect 288 ++#endif ++ ++#if !defined(__NR_pkey_alloc) ++#define __NR_pkey_alloc 289 ++#endif ++ ++#if !defined(__NR_pkey_free) ++#define __NR_pkey_free 290 ++#endif ++ ++#if !defined(__NR_statx) ++#define __NR_statx 291 ++#endif ++ ++#if !defined(__NR_io_pgetevents) ++#define __NR_io_pgetevents 292 ++#endif ++ ++#if !defined(__NR_rseq) ++#define __NR_rseq 293 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ +diff --git a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +index 1addd53..85e2110b 100644 +--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h ++++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +@@ -1385,6 +1385,62 @@ + #define __NR_memfd_create (__NR_SYSCALL_BASE+385) + #endif + ++#if !defined(__NR_bpf) ++#define __NR_bpf (__NR_SYSCALL_BASE+386) ++#endif ++ ++#if !defined(__NR_execveat) ++#define __NR_execveat (__NR_SYSCALL_BASE+387) ++#endif ++ ++#if !defined(__NR_userfaultfd) ++#define __NR_userfaultfd (__NR_SYSCALL_BASE+388) ++#endif ++ ++#if !defined(__NR_membarrier) ++#define __NR_membarrier (__NR_SYSCALL_BASE+389) ++#endif ++ ++#if !defined(__NR_mlock2) ++#define __NR_mlock2 (__NR_SYSCALL_BASE+390) ++#endif ++ ++#if !defined(__NR_copy_file_range) ++#define __NR_copy_file_range (__NR_SYSCALL_BASE+391) ++#endif ++ ++#if !defined(__NR_preadv2) ++#define __NR_preadv2 (__NR_SYSCALL_BASE+392) ++#endif ++ ++#if !defined(__NR_pwritev2) ++#define __NR_pwritev2 (__NR_SYSCALL_BASE+393) ++#endif ++ ++#if !defined(__NR_pkey_mprotect) ++#define __NR_pkey_mprotect (__NR_SYSCALL_BASE+394) ++#endif ++ ++#if !defined(__NR_pkey_alloc) ++#define __NR_pkey_alloc (__NR_SYSCALL_BASE+395) ++#endif ++ ++#if !defined(__NR_pkey_free) ++#define __NR_pkey_free (__NR_SYSCALL_BASE+396) ++#endif ++ ++#if !defined(__NR_statx) ++#define __NR_statx (__NR_SYSCALL_BASE+397) ++#endif ++ ++#if !defined(__NR_rseq) ++#define __NR_rseq (__NR_SYSCALL_BASE+398) ++#endif ++ ++#if !defined(__NR_io_pgetevents) ++#define __NR_io_pgetevents (__NR_SYSCALL_BASE+399) ++#endif ++ + // ARM private syscalls. + #if !defined(__ARM_NR_BASE) + #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) diff --git a/deb_patches/silence-gtk-style-assertions.patch b/deb_patches/silence-gtk-style-assertions.patch index bfad1cc..b63a658 100644 --- a/deb_patches/silence-gtk-style-assertions.patch +++ b/deb_patches/silence-gtk-style-assertions.patch @@ -4,7 +4,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> --- a/widget/gtk/nsLookAndFeel.cpp +++ b/widget/gtk/nsLookAndFeel.cpp -@@ -1142,7 +1142,7 @@ void nsLookAndFeel::EnsureInit() { +@@ -1216,7 +1216,7 @@ void nsLookAndFeel::EnsureInit() { &color); mTextSelectedText = GDK_RGBA_TO_NS_RGBA(color); }; @@ -13,6 +13,14 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com> if (mTextSelectedBackground == mTextSelectedText) { // Some old distros/themes don't properly use the .selection style, so // fall back to the regular text view style. +@@ -1413,6 +1413,7 @@ bool nsLookAndFeel::WidgetUsesImage(Widg + }; + + GtkStyleContext* style = GetStyleContext(aNodeType); ++ if (!style) return false; + + GValue value = G_VALUE_INIT; + for (GtkStateFlags state : sFlagsToCheck) { --- a/widget/gtk/WidgetStyleCache.cpp +++ b/widget/gtk/WidgetStyleCache.cpp @@ -933,7 +933,7 @@ static GtkStyleContext* GetWidgetRootSty diff --git a/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch b/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch index 5846b21..5cd6658 100644 --- a/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch +++ b/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch @@ -23,8 +23,8 @@ # For libyuv gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH']) ---- a/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn -+++ b/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn +--- a/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn ++++ b/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn @@ -590,7 +590,6 @@ config("compiler_cpu_abi") { if (!is_nacl) { cflags += [ |