summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2023-05-12 14:56:42 -0500
committerZach van Rijn <me@zv.io>2023-05-12 15:29:36 -0500
commitd4cc0e8d5a0e29e9b66e7058c180a7aa9b2cdac7 (patch)
treeef6f0e994d734ce1b9b71811a33d8232692f9ba9
parent55f95de5e74e22cfab0d73726fd323859924f6d7 (diff)
downloadpackages-d4cc0e8d5a0e29e9b66e7058c180a7aa9b2cdac7.tar.gz
packages-d4cc0e8d5a0e29e9b66e7058c180a7aa9b2cdac7.tar.bz2
packages-d4cc0e8d5a0e29e9b66e7058c180a7aa9b2cdac7.tar.xz
packages-d4cc0e8d5a0e29e9b66e7058c180a7aa9b2cdac7.zip
remove erroneous files. fixes #828.
-rw-r--r--experimental/firefox-esr/5-e6b5aa19e999.patch22
-rw-r--r--experimental/firefox-esr/fix-stack-overflow.patch45
-rw-r--r--experimental/firefox-esr/python3.patch10397
-rw-r--r--experimental/firefox/fix-bug-1261392.patch25
-rw-r--r--legacy/heimdal/CVE-2017-17439.patch45
-rw-r--r--legacy/kalarmcal/build-with-kf5-kholidays.patch11
-rw-r--r--legacy/libvpx/libm-pc.patch11
-rw-r--r--legacy/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch84
-rw-r--r--legacy/telegram/rlottie.patch16
-rw-r--r--system/autoconf/autoconf-2.69-fix-perl-regex.patch11
-rw-r--r--system/binutils/memory.patch449
-rw-r--r--system/bzip2/CVE-2016-3189.patch12
-rw-r--r--system/coreutils/no-doc.patch22
-rw-r--r--system/coreutils/printf-musl.patch53
-rw-r--r--system/coreutils/seq-write-error.patch45
-rw-r--r--system/coreutils/sort-debug-locale.patch79
-rw-r--r--system/gcc/401-libsanitizer-linux.patch100
-rw-r--r--system/gcc/402-libsanitizer-utmp.patch75
-rw-r--r--system/git/0001-gc-use-s-type-character-for-fscanf.patch33
-rw-r--r--system/gmp/gmp-4.1.4-noexecstack.patch20
-rw-r--r--system/vim/no-default-mouse.patch16
-rw-r--r--user/assimp/built0
-rw-r--r--user/baloo/baloo-5.38.0-r0-x86_64-ciall.log2714
-rw-r--r--user/blinken/test.patch13
-rw-r--r--user/digikam/digikam6.patch36
-rw-r--r--user/evince/CVE-2019-11459.patch72
-rw-r--r--user/fts/00-static-and-shared-libs.patch49
-rw-r--r--user/gcompat/no-utmp.patch16
-rw-r--r--user/glib-networking/proxy-test.patch13
-rw-r--r--user/gtk+2.0/automake.patch19
-rw-r--r--user/gtk+3.0/releng-what-releng.patch12
-rw-r--r--user/gucharmap/unicode-12.1.patch25
-rw-r--r--user/irssi/fix-ridiculous-egregious-conformance-error.patch19
-rw-r--r--user/kfilemetadata/test-mimetype.patch13
-rw-r--r--user/khelpcenter/es-doc-fix.patch31
-rw-r--r--user/ki18n/libintl.patch116
-rw-r--r--user/kscreenlocker/optional-wayland.patch448
-rw-r--r--user/libexif/CVE-2020-0198.patch58
-rw-r--r--user/libgit2/remove-flaky-revparse-test.patch40
-rw-r--r--user/libical/automake.patch11
-rw-r--r--user/libice/CVE-2017-2626.patch142
-rw-r--r--user/liborcus/sepples-is-a-sin.patch11
-rw-r--r--user/libraw1394/fix-types.patch62
-rw-r--r--user/libtasn1/CVE-2017-10790.patch55
-rw-r--r--user/libvncserver/LibVNCServer-0.9.10-system_minilzo.patch67
-rw-r--r--user/libxcb/0001-tests-Support-Check-0.13.0-API.patch40
-rw-r--r--user/llvm14/scc-insertion.patch33
-rw-r--r--user/mozjs/python3.patch9552
-rw-r--r--user/nfs-utils/nfs-utils.conf3
-rw-r--r--user/orage/libical-3.patch76
-rw-r--r--user/php7/allow-build-recode-and-imap-together.patch20
-rw-r--r--user/pluma-plugins/license.txt2166
-rw-r--r--user/polkit/fix-parallel-make.patch40
-rw-r--r--user/prosody/luasec-0.6-fix.patch14
-rw-r--r--user/prosody/mallinfo.patch13
-rw-r--r--user/prosody/prosodyctl.patch11
-rw-r--r--user/qt5-qtdeclarative/broken-bgra-be.patch11
-rw-r--r--user/qt5-qtwebkit/new-bison.patch18
-rw-r--r--user/quassel/unterminated-mIRC-codes.patch40
-rw-r--r--user/ruby-diff-lcs/gemspec.patch16
-rw-r--r--user/thunderbird/stab.h71
-rw-r--r--user/tinyfugue/0001-Add-DESTDIR-support.patch143
-rw-r--r--user/tinyfugue/0003-Minor-man-page-fixes.patch112
-rw-r--r--user/tinyfugue/0006-Fix-library-install-path.patch38
-rw-r--r--user/tinyfugue/0007-Fix-spelling-errors.patch59
-rw-r--r--user/upower/daemon-fix-get_critical_action.patch28
-rw-r--r--user/upower/lib-add-propererror-and-cancellable-handling-to-UpClient.patch184
-rw-r--r--user/valgrind/uclibc.patch10
-rw-r--r--user/xorg-server/20-modules.conf18
69 files changed, 0 insertions, 28329 deletions
diff --git a/experimental/firefox-esr/5-e6b5aa19e999.patch b/experimental/firefox-esr/5-e6b5aa19e999.patch
deleted file mode 100644
index d33914b78..000000000
--- a/experimental/firefox-esr/5-e6b5aa19e999.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# HG changeset patch
-# User A. Wilcox <AWilcox@Wilcox-Tech.com>
-# Date 1539810007 0
-# Wed Oct 17 21:00:07 2018 +0000
-# Node ID e6b5aa19e9990adaddb2b80061620f3ceb7335e0
-# Parent 34f9863ef26ae1f8e494b3fc8e87fb7e26a480b3
-NOT FOR INBOUND: fix u2fhid on ppc64/musl
-
-diff -r 34f9863ef26a -r e6b5aa19e999 dom/webauthn/u2f-hid-rs/src/linux/hidraw.rs
---- a/dom/webauthn/u2f-hid-rs/src/linux/hidraw.rs Wed Oct 17 20:59:47 2018 +0000
-+++ b/dom/webauthn/u2f-hid-rs/src/linux/hidraw.rs Wed Oct 17 21:00:07 2018 +0000
-@@ -41,10 +41,7 @@
- | (($nr as u32) << NRSHIFT)
- | ((size as u32) << SIZESHIFT);
-
-- #[cfg(not(target_env = "musl"))]
- type IocType = libc::c_ulong;
-- #[cfg(target_env = "musl")]
-- type IocType = libc::c_int;
-
- from_unix_result(libc::ioctl(fd, ioc as IocType, val))
- }
diff --git a/experimental/firefox-esr/fix-stack-overflow.patch b/experimental/firefox-esr/fix-stack-overflow.patch
deleted file mode 100644
index e164fc69b..000000000
--- a/experimental/firefox-esr/fix-stack-overflow.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://bugs.alpinelinux.org/issues/5559
-https://bugzilla.mozilla.org/show_bug.cgi?id=1274732
-
-diff --git a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-index 1193529..aeb96b5 100644
---- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-+++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-@@ -165,9 +165,8 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- nsHTTPCompressConv *self = static_cast<nsHTTPCompressConv *>(closure);
- *countRead = 0;
-
-- const uint32_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
-- unsigned char outBuffer[kOutSize];
-- unsigned char *outPtr;
-+ const size_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
-+ uint8_t *outPtr;
- size_t outSize;
- size_t avail = aAvail;
- BrotliResult res;
-@@ -177,9 +176,15 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- return NS_OK;
- }
-
-+ auto outBuffer = MakeUniqueFallible<uint8_t[]>(kOutSize);
-+ if (outBuffer == nullptr) {
-+ self->mBrotli->mStatus = NS_ERROR_OUT_OF_MEMORY;
-+ return self->mBrotli->mStatus;
-+ }
-+
- do {
- outSize = kOutSize;
-- outPtr = outBuffer;
-+ outPtr = outBuffer.get();
-
- // brotli api is documented in brotli/dec/decode.h and brotli/dec/decode.c
- LOG(("nsHttpCompresssConv %p brotlihandler decompress %d\n", self, avail));
-@@ -210,7 +215,7 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- nsresult rv = self->do_OnDataAvailable(self->mBrotli->mRequest,
- self->mBrotli->mContext,
- self->mBrotli->mSourceOffset,
-- reinterpret_cast<const char *>(outBuffer),
-+ reinterpret_cast<const char *>(outBuffer.get()),
- outSize);
- LOG(("nsHttpCompressConv %p BrotliHandler ODA rv=%x", self, rv));
- if (NS_FAILED(rv)) {
diff --git a/experimental/firefox-esr/python3.patch b/experimental/firefox-esr/python3.patch
deleted file mode 100644
index b13be2229..000000000
--- a/experimental/firefox-esr/python3.patch
+++ /dev/null
@@ -1,10397 +0,0 @@
---- firefox-52.9.0esr/python/mozbuild/dumbmake/dumbmake.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/dumbmake/dumbmake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from collections import OrderedDict
- from itertools import groupby
-@@ -36,7 +36,7 @@
- deps = {}
-
- for i, (indent, target) in enumerate(pairs):
-- if not deps.has_key(target):
-+ if target not in deps:
- deps[target] = []
-
- for j in range(i+1, len(pairs)):
-@@ -68,7 +68,7 @@
- del all_targets[dependency]
- all_targets[dependency] = True
-
-- return all_targets.keys()
-+ return list(all_targets.keys())
-
- def get_components(path):
- """Take a path and return all the components of the path."""
-@@ -114,7 +114,7 @@
- make_dirs[make_dir] = True
-
- all_components = []
-- for make_dir in make_dirs.iterkeys():
-+ for make_dir in make_dirs.keys():
- all_components.extend(get_components(make_dir))
-
- for i in all_dependencies(*all_components, dependency_map=dependency_map):
---- firefox-52.9.0esr/python/mozbuild/dumbmake/test/test_dumbmake.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/dumbmake/test/test_dumbmake.py (refactored)
-@@ -1,7 +1,7 @@
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
--from __future__ import unicode_literals
-+
-
- import unittest
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/android_version_code.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/android_version_code.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import math
---- firefox-52.9.0esr/python/mozbuild/mozbuild/artifacts.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/artifacts.py (refactored)
-@@ -40,7 +40,7 @@
- '''
-
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import collections
- import functools
-@@ -57,7 +57,7 @@
- import subprocess
- import tarfile
- import tempfile
--import urlparse
-+import urllib.parse
- import zipfile
-
- import pylru
-@@ -183,7 +183,7 @@
-
- with JarWriter(file=processed_filename, optimize=False, compress_level=5) as writer:
- reader = JarReader(filename)
-- for filename, entry in reader.entries.iteritems():
-+ for filename, entry in reader.entries.items():
- for pattern, (src_prefix, dest_prefix) in self.test_artifact_patterns:
- if not mozpath.match(filename, pattern):
- continue
-@@ -552,7 +552,7 @@
-
- def print_cache(self):
- with self:
-- for item in self._cache.items():
-+ for item in list(self._cache.items()):
- self.log(logging.INFO, 'artifact',
- {'item': item},
- '{item}')
-@@ -565,7 +565,7 @@
- # We use the persisted LRU caches to our advantage. The first item is
- # most recent.
- with self:
-- item = next(self._cache.items(), None)
-+ item = next(list(self._cache.items()), None)
- if item is not None:
- (name, args, sorted_kwargs), result = item
- self.print_last_item(args, sorted_kwargs, result)
-@@ -593,10 +593,10 @@
- 'changeset={changeset}&version=2&tipsonly=1')
- req = requests.get(cset_url_tmpl.format(tree=tree, changeset=revision),
- headers={'Accept': 'application/json'})
-- if req.status_code not in range(200, 300):
-+ if req.status_code not in list(range(200, 300)):
- raise ValueError
- result = req.json()
-- [found_pushid] = result['pushes'].keys()
-+ [found_pushid] = list(result['pushes'].keys())
- return int(found_pushid)
-
- @cachedmethod(operator.attrgetter('_cache'))
-@@ -609,7 +609,7 @@
- headers={'Accept': 'application/json'})
- result = req.json()
- return [
-- p['changesets'][-1] for p in result['pushes'].values()
-+ p['changesets'][-1] for p in list(result['pushes'].values())
- ]
-
- class TaskCache(CacheManager):
-@@ -847,7 +847,7 @@
-
- candidate_pushheads = collections.defaultdict(list)
-
-- for tree, pushid in found_pushids.iteritems():
-+ for tree, pushid in found_pushids.items():
- end = pushid
- start = pushid - NUM_PUSHHEADS_TO_QUERY_PER_PARENT
-
-@@ -1052,7 +1052,7 @@
- """
- if source and os.path.isfile(source):
- return self.install_from_file(source, distdir)
-- elif source and urlparse.urlparse(source).scheme:
-+ elif source and urllib.parse.urlparse(source).scheme:
- return self.install_from_url(source, distdir)
- else:
- if source is None and 'MOZ_ARTIFACT_REVISION' in os.environ:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/base.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import json
- import logging
-@@ -482,7 +482,7 @@
- for flag in flags:
- if flag == '-j':
- try:
-- flag = flags.next()
-+ flag = next(flags)
- except StopIteration:
- break
- try:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/config_status.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/config_status.py (refactored)
-@@ -6,7 +6,7 @@
- # drop-in replacement for autoconf 2.13's config.status, with features
- # borrowed from autoconf > 2.5, and additional features.
-
--from __future__ import absolute_import, print_function
-+
-
- import logging
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/doctor.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/doctor.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import subprocess
-@@ -83,7 +83,7 @@
- valid = False
- while not valid and limit > 0:
- try:
-- choice = strtobool(raw_input(prompt + '[Y/N]\n'))
-+ choice = strtobool(input(prompt + '[Y/N]\n'))
- valid = True
- except ValueError:
- print("ERROR! Please enter a valid option!")
-@@ -103,11 +103,11 @@
- if status == 'SKIPPED':
- continue
- self.results.append(result)
-- print('%s...\t%s\n' % (
-+ print(('%s...\t%s\n' % (
- result.get('desc', ''),
- status
- )
-- ).expandtabs(40)
-+ ).expandtabs(40))
-
- @property
- def platform(self):
-@@ -212,7 +212,7 @@
- fsutil_output = subprocess.check_output(command)
- status = 'GOOD, FIXED'
- desc = 'lastaccess disabled systemwide'
-- except subprocess.CalledProcessError, e:
-+ except subprocess.CalledProcessError as e:
- desc = 'lastaccess enabled systemwide'
- if e.output.find('denied') != -1:
- status = 'BAD, FIX DENIED'
---- firefox-52.9.0esr/python/mozbuild/mozbuild/dotproperties.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/dotproperties.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains utility functions for reading .properties files, like
- # region.properties.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import codecs
- import re
-@@ -14,7 +14,7 @@
- if sys.version_info[0] == 3:
- str_type = str
- else:
-- str_type = basestring
-+ str_type = str
-
- class DotProperties:
- r'''A thin representation of a key=value .properties file.'''
-@@ -52,7 +52,7 @@
- if not prefix.endswith('.'):
- prefix = prefix + '.'
- indexes = []
-- for k, v in self._properties.iteritems():
-+ for k, v in self._properties.items():
- if not k.startswith(prefix):
- continue
- key = k[len(prefix):]
-@@ -73,7 +73,7 @@
- if not prefix.endswith('.'):
- prefix = prefix + '.'
-
-- D = dict((k[len(prefix):], v) for k, v in self._properties.iteritems()
-+ D = dict((k[len(prefix):], v) for k, v in self._properties.items()
- if k.startswith(prefix) and '.' not in k[len(prefix):])
-
- for required_key in required_keys:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/html_build_viewer.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/html_build_viewer.py (refactored)
-@@ -4,16 +4,16 @@
-
- # This module contains code for running an HTTP server to view build info.
-
--from __future__ import absolute_import, unicode_literals
-
--import BaseHTTPServer
-+
-+import http.server
- import json
- import os
-
- import requests
-
-
--class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
-+class HTTPHandler(http.server.BaseHTTPRequestHandler):
- def do_GET(self):
- s = self.server.wrapper
- p = self.path
-@@ -92,7 +92,7 @@
- self.doc_root = doc_root
- self.json_files = {}
-
-- self.server = BaseHTTPServer.HTTPServer((address, port), HTTPHandler)
-+ self.server = http.server.HTTPServer((address, port), HTTPHandler)
- self.server.wrapper = self
- self.do_shutdown = False
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/jar.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/jar.py (refactored)
-@@ -8,7 +8,7 @@
- See the documentation for jar.mn on MDC for further details on the format.
- '''
-
--from __future__ import absolute_import
-+
-
- import sys
- import os
-@@ -17,7 +17,7 @@
- import logging
- from time import localtime
- from MozZipFile import ZipFile
--from cStringIO import StringIO
-+from io import StringIO
- from collections import defaultdict
-
- from mozbuild.preprocessor import Preprocessor
-@@ -302,9 +302,9 @@
- '''updateManifest replaces the % in the chrome registration entries
- with the given chrome base path, and updates the given manifest file.
- '''
-- myregister = dict.fromkeys(map(lambda s: s.replace('%',
-- chromebasepath), register))
-- addEntriesToListFile(manifestPath, myregister.iterkeys())
-+ myregister = dict.fromkeys([s.replace('%',
-+ chromebasepath) for s in register])
-+ addEntriesToListFile(manifestPath, iter(myregister.keys()))
-
- def makeJar(self, infile, jardir):
- '''makeJar is the main entry point to JarMaker.
-@@ -322,7 +322,7 @@
- elif self.relativesrcdir:
- self.localedirs = \
- self.generateLocaleDirs(self.relativesrcdir)
-- if isinstance(infile, basestring):
-+ if isinstance(infile, str):
- logging.info('processing ' + infile)
- self.sourcedirs.append(_normpath(os.path.dirname(infile)))
- pp = self.pp.clone()
-@@ -372,7 +372,7 @@
- jarfilepath = jarfile + '.jar'
- try:
- os.makedirs(os.path.dirname(jarfilepath))
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
- jf = ZipFile(jarfilepath, 'a', lock=True)
-@@ -514,7 +514,7 @@
- # remove previous link or file
- try:
- os.remove(out)
-- except OSError, e:
-+ except OSError as e:
- if e.errno != errno.ENOENT:
- raise
- return open(out, 'wb')
-@@ -525,7 +525,7 @@
- if not os.path.isdir(outdir):
- try:
- os.makedirs(outdir)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
- return out
-@@ -541,7 +541,7 @@
- # remove previous link or file
- try:
- os.remove(out)
-- except OSError, e:
-+ except OSError as e:
- if e.errno != errno.ENOENT:
- raise
- if sys.platform != 'win32':
---- firefox-52.9.0esr/python/mozbuild/mozbuild/mach_commands.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import errno
-@@ -136,7 +136,7 @@
- # terminal is a blessings.Terminal.
- self._t = terminal
- self._fh = sys.stdout
-- self.tiers = monitor.tiers.tier_status.viewitems()
-+ self.tiers = monitor.tiers.tier_status.items()
-
- def clear(self):
- """Removes the footer from the current terminal."""
-@@ -802,7 +802,7 @@
- dirpath = None
-
- type_counts = database.type_counts(dirpath)
-- sorted_counts = sorted(type_counts.iteritems(),
-+ sorted_counts = sorted(iter(type_counts.items()),
- key=operator.itemgetter(1))
-
- total = 0
-@@ -957,7 +957,7 @@
- processes[i].run()
-
- exit_code = 0
-- for process in processes.values():
-+ for process in list(processes.values()):
- status = process.wait()
- if status:
- exit_code = status
---- firefox-52.9.0esr/python/mozbuild/mozbuild/makeutil.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/makeutil.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
-@@ -66,7 +66,7 @@
- self._list = []
- self._set = set()
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return bool(self._set)
-
- def __iter__(self):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/milestone.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/milestone.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/mozconfig.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/mozconfig.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import filecmp
- import os
-@@ -306,7 +306,7 @@
-
- # Environment variables also appear as shell variables, but that's
- # uninteresting duplication of information. Filter them out.
-- filt = lambda x, y: {k: v for k, v in x.items() if k not in y}
-+ filt = lambda x, y: {k: v for k, v in list(x.items()) if k not in y}
- result['vars'] = diff_vars(
- filt(parsed['vars_before'], parsed['env_before']),
- filt(parsed['vars_after'], parsed['env_after'])
---- firefox-52.9.0esr/python/mozbuild/mozbuild/mozinfo.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/mozinfo.py (refactored)
-@@ -5,7 +5,7 @@
- # This module produces a JSON file that provides basic build info and
- # configuration metadata.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
-@@ -154,7 +154,7 @@
- and what keys are produced.
- """
- build_conf = build_dict(config, env)
-- if isinstance(file, basestring):
-+ if isinstance(file, str):
- file = open(file, 'wb')
-
- json.dump(build_conf, file, sort_keys=True, indent=4)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/preprocessor.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/preprocessor.py (refactored)
-@@ -27,7 +27,8 @@
- import re
- from optparse import OptionParser
- import errno
--from makeutil import Makefile
-+from .makeutil import Makefile
-+from functools import reduce
-
- # hack around win32 mangling our line endings
- # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65443
-@@ -56,7 +57,7 @@
- self.__ignore_whitespace()
- self.e = self.__get_logical_or()
- if self.content:
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
-
- def __get_logical_or(self):
- """
-@@ -157,7 +158,7 @@
- if word_len:
- rv = Expression.__ASTLeaf('string', self.content[:word_len])
- else:
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
- self.__strip(word_len)
- self.__ignore_whitespace()
- return rv
-@@ -196,7 +197,7 @@
- return left and right
- elif tok[1].value == '||':
- return left or right
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
-
- # Mapping from token types to evaluator functions
- # Apart from (non-)equality, all these can be simple lambda forms.
-@@ -230,7 +231,7 @@
- def __repr__(self):
- return self.value.__repr__()
-
-- class ParseError(StandardError):
-+ class ParseError(Exception):
- """
- Error raised when parsing fails.
- It has two members, offset and content, which give the offset of the
-@@ -278,7 +279,7 @@
- self.context = Context()
- for k,v in {'FILE': '',
- 'LINE': 0,
-- 'DIRECTORY': os.path.abspath('.')}.iteritems():
-+ 'DIRECTORY': os.path.abspath('.')}.items():
- self.context[k] = v
- self.actionLevel = 0
- self.disableLevel = 0
-@@ -292,21 +293,21 @@
- self.cmds = {}
- for cmd, level in {'define': 0,
- 'undef': 0,
-- 'if': sys.maxint,
-- 'ifdef': sys.maxint,
-- 'ifndef': sys.maxint,
-+ 'if': sys.maxsize,
-+ 'ifdef': sys.maxsize,
-+ 'ifndef': sys.maxsize,
- 'else': 1,
- 'elif': 1,
- 'elifdef': 1,
- 'elifndef': 1,
-- 'endif': sys.maxint,
-+ 'endif': sys.maxsize,
- 'expand': 0,
- 'literal': 0,
- 'filter': 0,
- 'unfilter': 0,
- 'include': 0,
- 'includesubst': 0,
-- 'error': 0}.iteritems():
-+ 'error': 0}.items():
- self.cmds[cmd] = (level, getattr(self, 'do_' + cmd))
- self.out = sys.stdout
- self.setMarker(marker)
-@@ -469,7 +470,7 @@
- raise Preprocessor.Error(self, "--depend doesn't work with stdout",
- None)
- try:
-- from makeutil import Makefile
-+ from .makeutil import Makefile
- except:
- raise Preprocessor.Error(self, "--depend requires the "
- "mozbuild.makeutil module", None)
-@@ -684,7 +685,7 @@
- current = dict(self.filters)
- for f in filters:
- current[f] = getattr(self, 'filter_' + f)
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -694,7 +695,7 @@
- for f in filters:
- if f in current:
- del current[f]
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -739,7 +740,7 @@
- args can either be a file name, or a file-like object.
- Files should be opened, and will be closed after processing.
- """
-- isName = type(args) == str or type(args) == unicode
-+ isName = type(args) == str or type(args) == str
- oldCheckLineNumbers = self.checkLineNumbers
- self.checkLineNumbers = False
- if isName:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/pythonutil.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/pythonutil.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
-@@ -11,7 +11,7 @@
- def iter_modules_in_path(*paths):
- paths = [os.path.abspath(os.path.normcase(p)) + os.sep
- for p in paths]
-- for name, module in sys.modules.items():
-+ for name, module in list(sys.modules.items()):
- if not hasattr(module, '__file__'):
- continue
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/shellutil.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/shellutil.py (refactored)
-@@ -15,7 +15,7 @@
- # which matches the pattern and captures it in a named match group.
- # The group names and patterns are given as arguments.
- all_tokens = '|'.join('(?P<%s>%s)' % (name, value)
-- for name, value in tokens.iteritems())
-+ for name, value in tokens.items())
- nonescaped = r'(?<!\\)(?:%s)' % all_tokens
-
- # The final pattern matches either the above pattern, or an escaped
-@@ -96,7 +96,7 @@
- self.cline = self.cline[m.end():]
-
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # " or ' start a quoted string
- if match['quote'] == '"':
-@@ -144,7 +144,7 @@
- self._push(self.cline[:m.start()])
- self.cline = self.cline[m.end():]
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # a double quote ends the quoted string, so go back to
- # unquoted parsing
---- firefox-52.9.0esr/python/mozbuild/mozbuild/sphinx.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/sphinx.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import importlib
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/testing.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/testing.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import os
- import sys
-
-@@ -62,7 +62,7 @@
- if test_defaults:
- with open(test_defaults, 'rb') as fh:
- defaults = pickle.load(fh)
-- for path, tests in test_data.items():
-+ for path, tests in list(test_data.items()):
- for metadata in tests:
- if defaults:
- manifest = metadata['manifest']
-@@ -303,7 +303,7 @@
- WEB_PLATFORM_TESTS_FLAVORS = ('web-platform-tests',)
-
- def all_test_flavors():
-- return ([v[0] for v in TEST_MANIFESTS.values()] +
-+ return ([v[0] for v in list(TEST_MANIFESTS.values())] +
- list(REFTEST_FLAVORS) +
- list(WEB_PLATFORM_TESTS_FLAVORS) +
- ['python'])
-@@ -445,7 +445,7 @@
- only a few tests need to be run.
- """
- flavor_info = {flavor: (root, prefix, install)
-- for (flavor, root, prefix, install) in TEST_MANIFESTS.values()}
-+ for (flavor, root, prefix, install) in list(TEST_MANIFESTS.values())}
- objdir_dest = mozpath.join(topobjdir, tests_root)
-
- converter = SupportFilesConverter()
-@@ -527,7 +527,7 @@
- paths_file = os.path.join(context.config.topsrcdir, "testing",
- "web-platform", "tests", "tools", "localpaths.py")
- _globals = {"__file__": paths_file}
-- execfile(paths_file, _globals)
-+ exec(compile(open(paths_file).read(), paths_file, 'exec'), _globals)
- import manifest as wptmanifest
- finally:
- sys.path = old_path
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains miscellaneous utility functions that don't belong anywhere
- # in particular.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- import argparse
- import collections
-@@ -36,7 +36,7 @@
- if sys.version_info[0] == 3:
- str_type = str
- else:
-- str_type = basestring
-+ str_type = str
-
- if sys.platform == 'win32':
- _kernel32 = ctypes.windll.kernel32
-@@ -78,7 +78,7 @@
- return h.hexdigest()
-
-
--class EmptyValue(unicode):
-+class EmptyValue(str):
- """A dummy type that behaves like an empty string and sequence.
-
- This type exists in order to support
-@@ -92,7 +92,7 @@
- class ReadOnlyNamespace(object):
- """A class for objects with immutable attributes set at initialization."""
- def __init__(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- super(ReadOnlyNamespace, self).__setattr__(k, v)
-
- def __delattr__(self, key):
-@@ -152,7 +152,7 @@
- if d and not os.path.exists(path):
- try:
- os.makedirs(d)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-
-@@ -224,7 +224,7 @@
- self.mode = mode
-
- def write(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- BytesIO.write(self, buf)
-
-@@ -381,7 +381,7 @@
- def __add__(self, other):
- # Allow None and EmptyValue is a special case because it makes undefined
- # variable references in moz.build behave better.
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -390,7 +390,7 @@
- return new_list
-
- def __iadd__(self, other):
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -542,14 +542,14 @@
- functions below.
- """
- assert isinstance(flags, dict)
-- assert all(isinstance(v, type) for v in flags.values())
-+ assert all(isinstance(v, type) for v in list(flags.values()))
-
- class Flags(object):
-- __slots__ = flags.keys()
-+ __slots__ = list(flags.keys())
- _flags = flags
-
- def update(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- setattr(self, k, v)
-
- def __getattr__(self, name):
-@@ -1080,14 +1080,14 @@
- # issue. So we do a little dance to filter it out ourselves.
- dummy_fill_value = ("dummy",)
- def filter_out_dummy(iterable):
-- return itertools.ifilter(lambda x: x != dummy_fill_value,
-+ return filter(lambda x: x != dummy_fill_value,
- iterable)
-
- # From the itertools documentation, slightly modified:
- def grouper(n, iterable):
- "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
- args = [iter(iterable)] * n
-- return itertools.izip_longest(fillvalue=dummy_fill_value, *args)
-+ return itertools.zip_longest(fillvalue=dummy_fill_value, *args)
-
- for i, unified_group in enumerate(grouper(files_per_unified_file,
- files)):
-@@ -1104,7 +1104,7 @@
- [(1,2), (3,4), (5,6)]
- '''
- i = iter(iterable)
-- return itertools.izip_longest(i, i)
-+ return itertools.zip_longest(i, i)
-
-
- VARIABLES_RE = re.compile('\$\((\w+)\)')
-@@ -1122,7 +1122,7 @@
- value = variables.get(name)
- if not value:
- continue
-- if not isinstance(value, types.StringTypes):
-+ if not isinstance(value, (str,)):
- value = ' '.join(value)
- result += value
- return result
-@@ -1149,7 +1149,7 @@
- pass
-
-
--class EnumString(unicode):
-+class EnumString(str):
- '''A string type that only can have a limited set of values, similarly to
- an Enum, and can only be compared against that set of values.
-
-@@ -1185,19 +1185,18 @@
- # quoting could be done with either ' or ".
- if c == "'":
- return "\\'"
-- return unicode(c.encode('unicode_escape'))
-+ return str(c.encode('unicode_escape'))
-
- # Mapping table between raw characters below \x80 and their escaped
- # counterpart, when they differ
- _INDENTED_REPR_TABLE = {
- c: e
-- for c, e in map(lambda x: (x, _escape_char(x)),
-- map(unichr, range(128)))
-+ for c, e in [(x, _escape_char(x)) for x in list(map(chr, list(range(128))))]
- if c != e
- }
- # Regexp matching all characters to escape.
- _INDENTED_REPR_RE = re.compile(
-- '([' + ''.join(_INDENTED_REPR_TABLE.values()) + ']+)')
-+ '([' + ''.join(list(_INDENTED_REPR_TABLE.values())) + ']+)')
-
-
- def indented_repr(o, indent=4):
-@@ -1223,7 +1222,7 @@
- elif isinstance(o, bytes):
- yield 'b'
- yield repr(o)
-- elif isinstance(o, unicode):
-+ elif isinstance(o, str):
- yield "'"
- # We want a readable string (non escaped unicode), but some
- # special characters need escaping (e.g. \n, \t, etc.)
-@@ -1253,11 +1252,11 @@
- if isinstance(obj, dict):
- return {
- encode(k, encoding): encode(v, encoding)
-- for k, v in obj.iteritems()
-+ for k, v in obj.items()
- }
- if isinstance(obj, bytes):
- return obj
-- if isinstance(obj, unicode):
-+ if isinstance(obj, str):
- return obj.encode(encoding)
- if isinstance(obj, Iterable):
- return [encode(i, encoding) for i in obj]
---- firefox-52.9.0esr/python/mozbuild/mozbuild/vendor_rust.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/vendor_rust.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from distutils.version import LooseVersion
- import logging
---- firefox-52.9.0esr/python/mozbuild/mozbuild/virtualenv.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/virtualenv.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains code for populating the virtualenv environment for
- # Mozilla's build system. It is typically called as part of configure.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import distutils.sysconfig
- import os
-@@ -461,8 +461,8 @@
- and call .ensure() and .activate() to make the virtualenv active.
- """
-
-- execfile(self.activate_path, dict(__file__=self.activate_path))
-- if isinstance(os.environ['PATH'], unicode):
-+ exec(compile(open(self.activate_path).read(), self.activate_path, 'exec'), dict(__file__=self.activate_path))
-+ if isinstance(os.environ['PATH'], str):
- os.environ['PATH'] = os.environ['PATH'].encode('utf-8')
-
- def install_pip_package(self, package):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/buildlist.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/buildlist.py (refactored)
-@@ -7,7 +7,7 @@
-
- Usage: buildlist.py <filename> <entry> [<entry> ...]
- '''
--from __future__ import absolute_import, print_function
-+
-
- import sys
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/cl.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/cl.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import ctypes
- import os
-@@ -55,7 +55,7 @@
- break
-
- if target is None:
-- print >>sys.stderr, "No target set"
-+ print("No target set", file=sys.stderr)
- return 1
-
- # Assume the source file is the last argument
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/dump_env.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/dump_env.py (refactored)
-@@ -6,5 +6,5 @@
- # native paths printed on Windows so that these paths can be incorporated
- # into Python configure's environment.
- import os
--for key, value in os.environ.items():
-- print('%s=%s' % (key, value))
-+for key, value in list(os.environ.items()):
-+ print(('%s=%s' % (key, value)))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/explode_aar.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/explode_aar.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import errno
-@@ -44,7 +44,7 @@
- assets = mozpath.join(destdir, 'assets')
- try:
- os.rmdir(assets)
-- except OSError, e:
-+ except OSError as e:
- if e.errno in (errno.ENOTEMPTY, errno.ENOENT):
- pass
- else:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/file_generate.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/file_generate.py (refactored)
-@@ -6,7 +6,7 @@
- # the arguments that can be used to generate the output file, call the
- # script's |main| method with appropriate arguments.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import imp
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/generate_suggestedsites.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/generate_suggestedsites.py (refactored)
-@@ -26,7 +26,7 @@
- directory e.g. raw/suggestedsites.json, raw-pt-rBR/suggestedsites.json.
- '''
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import copy
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/generate_symbols_file.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/generate_symbols_file.py (refactored)
-@@ -2,12 +2,12 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import buildconfig
- import os
--from StringIO import StringIO
-+from io import StringIO
- from mozbuild.preprocessor import Preprocessor
- from mozbuild.util import DefinesAction
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/jar_maker.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/jar_maker.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/make_dmg.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/make_dmg.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
-
- from mozbuild.base import MozbuildObject
- from mozpack import dmg
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/output_searchplugins_list.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/output_searchplugins_list.py (refactored)
-@@ -18,4 +18,4 @@
- else:
- engines = searchinfo["default"]["visibleDefaultEngines"]
-
--print '\n'.join(engines)
-+print('\n'.join(engines))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/package_fennec_apk.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/package_fennec_apk.py (refactored)
-@@ -6,7 +6,7 @@
- Script to produce an Android package (.apk) for Fennec.
- '''
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import buildconfig
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/preprocessor.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/preprocessor.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/process_define_files.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/process_define_files.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
-@@ -55,7 +55,7 @@
- 'CONFIGURE_DEFINE_FILE')
- defines = '\n'.join(sorted(
- '#define %s %s' % (name, val)
-- for name, val in config.defines.iteritems()
-+ for name, val in config.defines.items()
- if name not in config.non_global_defines))
- l = l[:m.start('cmd') - 1] \
- + defines + l[m.end('name'):]
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/process_install_manifest.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/process_install_manifest.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/test_archive.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/test_archive.py (refactored)
-@@ -8,7 +8,7 @@
- # It is defined inline because this was easiest to make test archive
- # generation faster.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import itertools
-@@ -433,7 +433,7 @@
- # "common" is our catch all archive and it ignores things from other archives.
- # Verify nothing sneaks into ARCHIVE_FILES without a corresponding exclusion
- # rule in the "common" archive.
--for k, v in ARCHIVE_FILES.items():
-+for k, v in list(ARCHIVE_FILES.items()):
- # Skip mozharness because it isn't staged.
- if k in ('common', 'mozharness'):
- continue
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/webidl.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/webidl.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/xpccheck.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/xpccheck.py (refactored)
-@@ -8,7 +8,7 @@
- Usage: xpccheck.py <directory> [<directory> ...]
- '''
-
--from __future__ import absolute_import
-+
-
- import sys
- import os
-@@ -40,7 +40,7 @@
- break
-
- if not found:
-- print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (name, os.path.join(directory, 'xpcshell.ini'))
-+ print("TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (name, os.path.join(directory, 'xpcshell.ini')), file=sys.stderr)
- sys.exit(1)
-
- def verifyIniFile(initests, directory):
-@@ -60,12 +60,12 @@
- break
-
- if not found:
-- print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | found %s in xpcshell.ini and not in directory '%s'" % (name, directory)
-+ print("TEST-UNEXPECTED-FAIL | xpccheck | found %s in xpcshell.ini and not in directory '%s'" % (name, directory), file=sys.stderr)
- sys.exit(1)
-
- def main(argv):
- if len(argv) < 2:
-- print >>sys.stderr, "Usage: xpccheck.py <topsrcdir> <directory> [<directory> ...]"
-+ print("Usage: xpccheck.py <topsrcdir> <directory> [<directory> ...]", file=sys.stderr)
- sys.exit(1)
-
- topsrcdir = argv[0]
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/xpidl-process.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/xpidl-process.py (refactored)
-@@ -7,7 +7,7 @@
- # input IDL file(s). It's purpose is to directly support the build
- # system. The API will change to meet the needs of the build system.
-
--from __future__ import absolute_import
-+
-
- import argparse
- import os
-@@ -58,7 +58,7 @@
-
- # TODO use FileAvoidWrite once it supports binary mode.
- xpt_path = os.path.join(xpt_dir, '%s.xpt' % module)
-- xpt_link(xpts.values()).write(xpt_path)
-+ xpt_link(list(xpts.values())).write(xpt_path)
-
- rule.add_targets([xpt_path])
- if deps_dir:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/action/zip.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/action/zip.py (refactored)
-@@ -5,7 +5,7 @@
- # This script creates a zip file, but will also strip any binaries
- # it finds before adding them to the zip.
-
--from __future__ import absolute_import
-+
-
- from mozpack.files import FileFinder
- from mozpack.copier import Jarrer
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/android_eclipse.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/android_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import itertools
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/base.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from abc import (
- ABCMeta,
-@@ -30,15 +30,13 @@
- from mozbuild.base import ExecutionSummary
-
-
--class BuildBackend(LoggingMixin):
-+class BuildBackend(LoggingMixin, metaclass=ABCMeta):
- """Abstract base class for build backends.
-
- A build backend is merely a consumer of the build configuration (the output
- of the frontend processing). It does something with said data. What exactly
- is the discretion of the specific implementation.
- """
--
-- __metaclass__ = ABCMeta
-
- def __init__(self, environment):
- assert isinstance(environment, ConfigEnvironment)
-@@ -252,7 +250,7 @@
- srcdir = mozpath.dirname(obj.input_path)
- pp.context.update({
- k: ' '.join(v) if isinstance(v, list) else v
-- for k, v in obj.config.substs.iteritems()
-+ for k, v in obj.config.substs.items()
- })
- pp.context.update(
- top_srcdir=obj.topsrcdir,
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/common.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/common.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import itertools
- import json
- import os
-@@ -194,11 +194,11 @@
- def add_defaults(self, manifest):
- if not hasattr(manifest, 'manifest_defaults'):
- return
-- for sub_manifest, defaults in manifest.manifest_defaults.items():
-+ for sub_manifest, defaults in list(manifest.manifest_defaults.items()):
- self.manifest_defaults[sub_manifest] = defaults
-
- def add_installs(self, obj, topsrcdir):
-- for src, (dest, _) in obj.installs.iteritems():
-+ for src, (dest, _) in obj.installs.items():
- key = src[len(topsrcdir)+1:]
- self.installs_by_path[key].append((src, dest))
- for src, pat, dest in obj.pattern_installs:
-@@ -379,7 +379,7 @@
-
- path = mozpath.join(self.environment.topobjdir, 'test-installs.pkl')
- with self._write_file(path, mode='rb') as fh:
-- pickle.dump({k: v for k, v in self._test_manager.installs_by_path.items()
-+ pickle.dump({k: v for k, v in list(self._test_manager.installs_by_path.items())
- if k in self._test_manager.deferred_installs},
- fh,
- protocol=2)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/configenvironment.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/configenvironment.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
-@@ -17,7 +17,7 @@
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-+ text_type = str
- else:
- text_type = str
-
-@@ -176,7 +176,7 @@
- except UnicodeDecodeError:
- return v.decode('utf-8', 'replace')
-
-- for k, v in self.substs.items():
-+ for k, v in list(self.substs.items()):
- if not isinstance(v, StringTypes):
- if isinstance(v, Iterable):
- type(v)(decode(i) for i in v)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/cpp_eclipse.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/cpp_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import errno
- import random
-@@ -218,12 +218,12 @@
- cproject_header = cproject_header.replace('@MACH_COMMAND@', os.path.join(self.environment.topsrcdir, 'mach'))
- fh.write(cproject_header)
-
-- for path, defines in self._paths_to_defines.items():
-+ for path, defines in list(self._paths_to_defines.items()):
- folderinfo = CPROJECT_TEMPLATE_FOLDER_INFO_HEADER
- folderinfo = folderinfo.replace('@FOLDER_ID@', str(random.randint(1000000, 99999999999)))
- folderinfo = folderinfo.replace('@FOLDER_NAME@', 'tree/' + path)
- fh.write(folderinfo)
-- for k, v in defines.items():
-+ for k, v in list(defines.items()):
- define = ET.Element('listOptionValue')
- define.set('builtIn', 'false')
- define.set('value', str(k) + "=" + str(v))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/fastermake.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/fastermake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- from mozbuild.backend.base import PartialBackend
- from mozbuild.backend.common import CommonBackend
-@@ -130,12 +130,12 @@
- if value is not None:
- mk.add_statement('%s = %s' % (var, value))
-
-- install_manifests_bases = self._install_manifests.keys()
-+ install_manifests_bases = list(self._install_manifests.keys())
-
- # Add information for chrome manifest generation
- manifest_targets = []
-
-- for target, entries in self._manifest_entries.iteritems():
-+ for target, entries in self._manifest_entries.items():
- manifest_targets.append(target)
- install_target = mozpath.basedir(target, install_manifests_bases)
- self._install_manifests[install_target].add_content(
-@@ -144,16 +144,16 @@
-
- # Add information for install manifests.
- mk.add_statement('INSTALL_MANIFESTS = %s'
-- % ' '.join(self._install_manifests.keys()))
-+ % ' '.join(list(self._install_manifests.keys())))
-
- # Add dependencies we infered:
-- for target, deps in self._dependencies.iteritems():
-+ for target, deps in self._dependencies.items():
- mk.create_rule([target]).add_dependencies(
- '$(TOPOBJDIR)/%s' % d for d in deps)
-
- mk.add_statement('include $(TOPSRCDIR)/config/faster/rules.mk')
-
-- for base, install_manifest in self._install_manifests.iteritems():
-+ for base, install_manifest in self._install_manifests.items():
- with self._write_file(
- mozpath.join(self.environment.topobjdir, 'faster',
- 'install_%s' % base.replace('/', '_'))) as fh:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/mach_commands.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/recursivemake.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/recursivemake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import logging
- import os
-@@ -12,7 +12,7 @@
- defaultdict,
- namedtuple,
- )
--from StringIO import StringIO
-+from io import StringIO
- from itertools import chain
-
- from mozpack.manifests import (
-@@ -74,6 +74,7 @@
- )
- from ..makeutil import Makefile
- from mozbuild.shellutil import quote as shell_quote
-+from functools import reduce
-
- MOZBUILD_VARIABLES = [
- b'ANDROID_APK_NAME',
-@@ -214,7 +215,7 @@
- self.fh.write(buf)
-
- def write_once(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- if b'\n' + buf not in self.fh.getvalue():
- self.write(buf)
-@@ -283,8 +284,8 @@
- Helper function to call a filter from compute_dependencies and
- traverse.
- """
-- return filter(current, self._traversal.get(current,
-- self.SubDirectories()))
-+ return list(filter(current, self._traversal.get(current,
-+ self.SubDirectories())))
-
- def compute_dependencies(self, filter=None):
- """
-@@ -638,7 +639,7 @@
- convenience variables, and the other dependency definitions for a
- hopefully proper directory traversal.
- """
-- for tier, no_skip in self._no_skip.items():
-+ for tier, no_skip in list(self._no_skip.items()):
- self.log(logging.DEBUG, 'fill_root_mk', {
- 'number': len(no_skip), 'tier': tier
- }, 'Using {number} directories during {tier}')
-@@ -684,7 +685,7 @@
- for tier, filter in filters:
- main, all_deps = \
- self._traversal.compute_dependencies(filter)
-- for dir, deps in all_deps.items():
-+ for dir, deps in list(all_deps.items()):
- if deps is not None or (dir in self._idl_dirs \
- and tier == 'export'):
- rule = root_deps_mk.create_rule(['%s/%s' % (dir, tier)])
-@@ -697,7 +698,7 @@
- rule.add_dependencies('%s/%s' % (d, tier) for d in main)
-
- all_compile_deps = reduce(lambda x,y: x|y,
-- self._compile_graph.values()) if self._compile_graph else set()
-+ list(self._compile_graph.values())) if self._compile_graph else set()
- compile_roots = set(self._compile_graph.keys()) - all_compile_deps
-
- rule = root_deps_mk.create_rule(['recurse_compile'])
-@@ -839,7 +840,7 @@
- self._fill_root_mk()
-
- # Make the master test manifest files.
-- for flavor, t in self._test_manifests.items():
-+ for flavor, t in list(self._test_manifests.items()):
- install_prefix, manifests = t
- manifest_stem = mozpath.join(install_prefix, '%s.ini' % flavor)
- self._write_master_test_manifest(mozpath.join(
-@@ -945,7 +946,7 @@
- for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done'):
- build_files.add_optional_exists(p)
-
-- for idl in manager.idls.values():
-+ for idl in list(manager.idls.values()):
- self._install_manifests['dist_idl'].add_symlink(idl['source'],
- idl['basename'])
- self._install_manifests['dist_include'].add_optional_exists('%s.h'
-@@ -992,7 +993,7 @@
-
- interfaces_manifests = []
- dist_dir = mozpath.join(self.environment.topobjdir, 'dist')
-- for manifest, entries in manager.interface_manifests.items():
-+ for manifest, entries in list(manager.interface_manifests.items()):
- interfaces_manifests.append(mozpath.join('$(DEPTH)', manifest))
- for xpt in sorted(entries):
- registered_xpt_files.add(mozpath.join(
-@@ -1052,7 +1053,7 @@
- # Don't allow files to be defined multiple times unless it is allowed.
- # We currently allow duplicates for non-test files or test files if
- # the manifest is listed as a duplicate.
-- for source, (dest, is_test) in obj.installs.items():
-+ for source, (dest, is_test) in list(obj.installs.items()):
- try:
- self._install_manifests['_test_files'].add_symlink(source, dest)
- except ValueError:
-@@ -1386,7 +1387,7 @@
- man_dir = mozpath.join(self.environment.topobjdir, '_build_manifests',
- dest)
-
-- for k, manifest in manifests.items():
-+ for k, manifest in list(manifests.items()):
- with self._write_file(mozpath.join(man_dir, k)) as fh:
- manifest.write(fileobj=fh)
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/tup.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/tup.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
-
-@@ -253,7 +253,7 @@
- backend_file = self._get_backend_file('xpcom/xpidl')
- backend_file.export_shell()
-
-- for module, data in sorted(manager.modules.iteritems()):
-+ for module, data in sorted(manager.modules.items()):
- dest, idls = data
- cmd = [
- '$(PYTHON_PATH)',
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/visualstudio.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/visualstudio.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains a build backend for generating Visual Studio project
- # files.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import errno
- import os
-@@ -218,7 +218,7 @@
- includes = [os.path.normpath(i) for i in includes]
-
- defines = []
-- for k, v in self._paths_to_defines.get(path, {}).items():
-+ for k, v in list(self._paths_to_defines.get(path, {}).items()):
- if v is True:
- defines.append(k)
- else:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/codecoverage/chrome_map.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/codecoverage/chrome_map.py (refactored)
-@@ -5,7 +5,7 @@
- from collections import defaultdict
- import json
- import os
--import urlparse
-+import urllib.parse
-
- from mach.config import ConfigSettings
- from mach.logging import LoggingManager
-@@ -42,7 +42,7 @@
- if isinstance(entry, (ManifestChrome, ManifestResource)):
- if isinstance(entry, ManifestResource):
- dest = entry.target
-- url = urlparse.urlparse(dest)
-+ url = urllib.parse.urlparse(dest)
- if not url.scheme:
- dest = mozpath.normpath(mozpath.join(entry.base, dest))
- if url.scheme == 'file':
-@@ -99,7 +99,7 @@
- chrome_mapping = self.manifest_handler.chrome_mapping
- overrides = self.manifest_handler.overrides
- json.dump([
-- {k: list(v) for k, v in chrome_mapping.iteritems()},
-+ {k: list(v) for k, v in chrome_mapping.items()},
- overrides,
- self._install_mapping,
- ], fh, sort_keys=True, indent=2)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/codecoverage/packager.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/codecoverage/packager.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import sys
-@@ -12,7 +12,7 @@
-
- def package_gcno_tree(root, output_file):
- # XXX JarWriter doesn't support unicode strings, see bug 1056859
-- if isinstance(root, unicode):
-+ if isinstance(root, str):
- root = root.encode('utf-8')
-
- finder = FileFinder(root)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/codecomplete.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/codecomplete.py (refactored)
-@@ -4,7 +4,7 @@
-
- # This modules provides functionality for dealing with code completion.
-
--from __future__ import absolute_import
-+
-
- import os
-
-@@ -59,5 +59,5 @@
- # Drop the first flag since that is the pathname of the compiler.
- flags = (shell_split(build_vars[cc]) + shell_split(build_vars[name]))[1:]
-
-- print(' '.join(shell_quote(arg)
-- for arg in util.sanitize_cflags(flags)))
-+ print((' '.join(shell_quote(arg)
-+ for arg in util.sanitize_cflags(flags))))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/database.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/database.py (refactored)
-@@ -118,7 +118,7 @@
-
- db = []
-
-- for (directory, filename), cmd in self._db.iteritems():
-+ for (directory, filename), cmd in self._db.items():
- env = self._envs[directory]
- cmd = list(cmd)
- cmd.append(filename)
-@@ -151,7 +151,7 @@
- a = expand_variables(a, variables).split()
- if not a:
- continue
-- if isinstance(a, types.StringTypes):
-+ if isinstance(a, (str,)):
- c.append(a)
- else:
- c.extend(a)
-@@ -216,7 +216,7 @@
- value = cenv.substs.get(name)
- if not value:
- return
-- if isinstance(value, types.StringTypes):
-+ if isinstance(value, (str,)):
- value = value.split()
- db.extend(value)
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/warnings.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/compilation/warnings.py (refactored)
-@@ -4,7 +4,7 @@
-
- # This modules provides functionality for dealing with compiler warnings.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import errno
- import json
-@@ -123,18 +123,18 @@
-
- def __len__(self):
- i = 0
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- i += len(value['warnings'])
-
- return i
-
- def __iter__(self):
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- yield warning
-
- def __contains__(self, item):
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- if warning == item:
- return True
-@@ -144,7 +144,7 @@
- @property
- def warnings(self):
- """All the CompilerWarning instances in this database."""
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for w in value['warnings']:
- yield w
-
-@@ -152,7 +152,7 @@
- """Returns a mapping of warning types to their counts."""
-
- types = {}
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- if dirpath and not mozpath.normsep(warning['filename']).startswith(dirpath):
- continue
-@@ -210,7 +210,7 @@
- """
-
- # Need to calculate up front since we are mutating original object.
-- filenames = self._files.keys()
-+ filenames = list(self._files.keys())
- for filename in filenames:
- if not os.path.exists(filename):
- del self._files[filename]
-@@ -229,10 +229,10 @@
- obj = {'files': {}}
-
- # All this hackery because JSON can't handle sets.
-- for k, v in self._files.iteritems():
-+ for k, v in self._files.items():
- obj['files'][k] = {}
-
-- for k2, v2 in v.iteritems():
-+ for k2, v2 in v.items():
- normalized = v2
-
- if k2 == 'warnings':
-@@ -249,8 +249,8 @@
- self._files = obj['files']
-
- # Normalize data types.
-- for filename, value in self._files.iteritems():
-- for k, v in value.iteritems():
-+ for filename, value in self._files.items():
-+ for k, v in value.items():
- if k != 'warnings':
- continue
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/__init__.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/__init__.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import inspect
- import logging
-@@ -193,7 +193,7 @@
- for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
- 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
- 'hasattr', 'enumerate', 'range', 'zip')
-- }, __import__=forbidden_import, str=unicode)
-+ }, __import__=forbidden_import, str=str)
-
- # Expose a limited set of functions from os.path
- OS = ReadOnlyNamespace(path=ReadOnlyNamespace(**{
-@@ -333,7 +333,7 @@
- if path:
- self.include_file(path)
-
-- for option in self._options.itervalues():
-+ for option in self._options.values():
- # All options must be referenced by some @depends function
- if option not in self._seen:
- raise ConfigureError(
-@@ -437,7 +437,7 @@
- value = PositiveOptionValue()
- elif value is False or value == ():
- value = NegativeOptionValue()
-- elif isinstance(value, types.StringTypes):
-+ elif isinstance(value, (str,)):
- value = PositiveOptionValue((value,))
- elif isinstance(value, tuple):
- value = PositiveOptionValue(value)
-@@ -477,7 +477,7 @@
- return value
-
- def _dependency(self, arg, callee_name, arg_name=None):
-- if isinstance(arg, types.StringTypes):
-+ if isinstance(arg, (str,)):
- prefix, name, values = Option.split_option(arg)
- if values != ():
- raise ConfigureError("Option must not contain an '='")
-@@ -541,7 +541,7 @@
- '''
- when = self._normalize_when(kwargs.get('when'), 'option')
- args = [self._resolve(arg) for arg in args]
-- kwargs = {k: self._resolve(v) for k, v in kwargs.iteritems()
-+ kwargs = {k: self._resolve(v) for k, v in kwargs.items()
- if k != 'when'}
- option = Option(*args, **kwargs)
- if when:
-@@ -622,7 +622,7 @@
- with self.only_when_impl(when):
- what = self._resolve(what)
- if what:
-- if not isinstance(what, types.StringTypes):
-+ if not isinstance(what, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(what).__name__)
- self.include_file(what)
-
-@@ -640,7 +640,7 @@
- (k[:-len('_impl')], getattr(self, k))
- for k in dir(self) if k.endswith('_impl') and k != 'template_impl'
- )
-- glob.update((k, v) for k, v in self.iteritems() if k not in glob)
-+ glob.update((k, v) for k, v in self.items() if k not in glob)
-
- # Any function argument to the template must be prepared to be sandboxed.
- # If the template itself returns a function (in which case, it's very
-@@ -664,7 +664,7 @@
- def wrapper(*args, **kwargs):
- args = [maybe_prepare_function(arg) for arg in args]
- kwargs = {k: maybe_prepare_function(v)
-- for k, v in kwargs.iteritems()}
-+ for k, v in kwargs.items()}
- ret = template(*args, **kwargs)
- if isfunction(ret):
- # We can't expect the sandboxed code to think about all the
-@@ -696,7 +696,7 @@
- for value, required in (
- (_import, True), (_from, False), (_as, False)):
-
-- if not isinstance(value, types.StringTypes) and (
-+ if not isinstance(value, (str,)) and (
- required or value is not None):
- raise TypeError("Unexpected type: '%s'" % type(value).__name__)
- if value is not None and not self.RE_MODULE.match(value):
-@@ -759,7 +759,7 @@
- name = self._resolve(name, need_help_dependency=False)
- if name is None:
- return
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(name).__name__)
- if name in data:
- raise ConfigureError(
-@@ -849,7 +849,7 @@
- if isinstance(possible_reasons[0], Option):
- reason = possible_reasons[0]
- if not reason and (isinstance(value, (bool, tuple)) or
-- isinstance(value, types.StringTypes)):
-+ isinstance(value, (str,))):
- # A reason can be provided automatically when imply_option
- # is called with an immediate value.
- _, filename, line, _, _, _ = inspect.stack()[1]
-@@ -884,10 +884,10 @@
- if not inspect.isfunction(func):
- raise TypeError("Unexpected type: '%s'" % type(func).__name__)
- if func in self._prepared_functions:
-- return func, func.func_globals
-+ return func, func.__globals__
-
- glob = SandboxedGlobal(
-- (k, v) for k, v in func.func_globals.iteritems()
-+ (k, v) for k, v in func.__globals__.items()
- if (inspect.isfunction(v) and v not in self._templates) or (
- inspect.isclass(v) and issubclass(v, Exception))
- )
-@@ -908,20 +908,20 @@
- # Note this is not entirely bullet proof (if the value is e.g. a list,
- # the list contents could have changed), but covers the bases.
- closure = None
-- if func.func_closure:
-+ if func.__closure__:
- def makecell(content):
- def f():
- content
-- return f.func_closure[0]
-+ return f.__closure__[0]
-
- closure = tuple(makecell(cell.cell_contents)
-- for cell in func.func_closure)
-+ for cell in func.__closure__)
-
- new_func = wraps(func)(types.FunctionType(
-- func.func_code,
-+ func.__code__,
- glob,
- func.__name__,
-- func.func_defaults,
-+ func.__defaults__,
- closure
- ))
- @wraps(new_func)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/check_debug_ranges.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/check_debug_ranges.py (refactored)
-@@ -6,7 +6,7 @@
- # to a given compilation unit. This is used as a helper to find a bug in some
- # versions of GNU ld.
-
--from __future__ import absolute_import
-+
-
- import subprocess
- import sys
-@@ -59,4 +59,4 @@
-
-
- if __name__ == '__main__':
-- print main(*sys.argv[1:])
-+ print(main(*sys.argv[1:]))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from mozbuild.util import EnumString
- from collections import OrderedDict
-@@ -56,7 +56,7 @@
- 'x86_64': 64,
- }
-
--CPU = EnumString.subclass(*CPU_bitness.keys())
-+CPU = EnumString.subclass(*list(CPU_bitness.keys()))
-
- Endianness = EnumString.subclass(
- 'big',
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/help.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/help.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- from mozbuild.configure.options import Option
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/libstdcxx.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/libstdcxx.py (refactored)
-@@ -13,7 +13,7 @@
- # will be used from shell, we just print the two assignments and evaluate
- # them from shell.
-
--from __future__ import absolute_import
-+
-
- import os
- import subprocess
-@@ -76,6 +76,6 @@
-
- if __name__ == '__main__':
- cxx_env = os.environ['CXX']
-- print 'MOZ_LIBSTDCXX_TARGET_VERSION=%s' % find_version(cxx_env)
-+ print('MOZ_LIBSTDCXX_TARGET_VERSION=%s' % find_version(cxx_env))
- host_cxx_env = os.environ.get('HOST_CXX', cxx_env)
-- print 'MOZ_LIBSTDCXX_HOST_VERSION=%s' % find_version(host_cxx_env)
-+ print('MOZ_LIBSTDCXX_HOST_VERSION=%s' % find_version(host_cxx_env))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/lint.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/lint.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- from . import (
- CombinedDependsFunction,
- ConfigureError,
-@@ -42,7 +42,7 @@
- # - don't use @imports
- # - don't have a closure
- # - don't use global variables
-- if func in self._imports or func.func_closure:
-+ if func in self._imports or func.__closure__:
- return True
- for op, arg in disassemble_as_iter(func):
- if op in ('LOAD_GLOBAL', 'STORE_GLOBAL'):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/lint_util.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/lint_util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import dis
- import inspect
-@@ -12,9 +12,9 @@
- # returns an iterator.
- def disassemble_as_iter(co):
- if inspect.ismethod(co):
-- co = co.im_func
-+ co = co.__func__
- if inspect.isfunction(co):
-- co = co.func_code
-+ co = co.__code__
- code = co.co_code
- n = len(code)
- i = 0
-@@ -30,7 +30,7 @@
- extended_arg = 0
- i += 2
- if op == dis.EXTENDED_ARG:
-- extended_arg = arg * 65536L
-+ extended_arg = arg * 65536
- continue
- if op in dis.hasconst:
- yield opname, co.co_consts[arg]
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/options.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/options.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import sys
-@@ -12,7 +12,7 @@
-
- def istupleofstrings(obj):
- return isinstance(obj, tuple) and len(obj) and all(
-- isinstance(o, types.StringTypes) for o in obj)
-+ isinstance(o, (str,)) for o in obj)
-
-
- class OptionValue(tuple):
-@@ -71,7 +71,7 @@
- in the form of a tuple for when values are given to the option (in the form
- --option=value[,value2...].
- '''
-- def __nonzero__(self):
-+ def __bool__(self):
- return True
-
-
-@@ -96,7 +96,7 @@
- if format_data:
- message = message.format(**format_data)
- super(ConflictingOptionError, self).__init__(message)
-- for k, v in format_data.iteritems():
-+ for k, v in format_data.items():
- setattr(self, k, v)
-
-
-@@ -132,7 +132,7 @@
- 'At least an option name or an environment variable name must '
- 'be given')
- if name:
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise InvalidOptionError('Option must be a string')
- if not name.startswith('--'):
- raise InvalidOptionError('Option must start with `--`')
-@@ -141,7 +141,7 @@
- if not name.islower():
- raise InvalidOptionError('Option must be all lowercase')
- if env:
-- if not isinstance(env, types.StringTypes):
-+ if not isinstance(env, (str,)):
- raise InvalidOptionError(
- 'Environment variable name must be a string')
- if not env.isupper():
-@@ -151,8 +151,8 @@
- isinstance(nargs, int) and nargs >= 0):
- raise InvalidOptionError(
- "nargs must be a positive integer, '?', '*' or '+'")
-- if (not isinstance(default, types.StringTypes) and
-- not isinstance(default, (bool, types.NoneType)) and
-+ if (not isinstance(default, (str,)) and
-+ not isinstance(default, (bool, type(None))) and
- not istupleofstrings(default)):
- raise InvalidOptionError(
- 'default must be a bool, a string or a tuple of strings')
-@@ -224,7 +224,7 @@
- ', '.join("'%s'" % c for c in choices))
- elif has_choices:
- maxargs = self.maxargs
-- if len(choices) < maxargs and maxargs != sys.maxint:
-+ if len(choices) < maxargs and maxargs != sys.maxsize:
- raise InvalidOptionError('Not enough `choices` for `nargs`')
- self.choices = choices
- self.help = help
-@@ -238,7 +238,7 @@
- where prefix is one of 'with', 'without', 'enable' or 'disable'.
- The '=values' part is optional. Values are separated with commas.
- '''
-- if not isinstance(option, types.StringTypes):
-+ if not isinstance(option, (str,)):
- raise InvalidOptionError('Option must be a string')
-
- elements = option.split('=', 1)
-@@ -291,7 +291,7 @@
- def maxargs(self):
- if isinstance(self.nargs, int):
- return self.nargs
-- return 1 if self.nargs == '?' else sys.maxint
-+ return 1 if self.nargs == '?' else sys.maxsize
-
- def _validate_nargs(self, num):
- minargs, maxargs = self.minargs, self.maxargs
-@@ -485,5 +485,5 @@
-
- def __iter__(self):
- for d in (self._args, self._extra_args):
-- for arg, pos in d.itervalues():
-+ for arg, pos in d.values():
- yield arg
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import codecs
- import itertools
-@@ -52,7 +52,7 @@
-
- def __cmp__(self, other):
- # LooseVersion checks isinstance(StringType), so work around it.
-- if isinstance(other, unicode):
-+ if isinstance(other, str):
- other = other.encode('ascii')
- return LooseVersion.__cmp__(self, other)
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/controller/building.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/controller/building.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import getpass
- import json
-@@ -108,7 +108,7 @@
- """
- o = []
-
-- for tier, state in self.tiers.items():
-+ for tier, state in list(self.tiers.items()):
- t_entry = dict(
- name=tier,
- start=state['begin_time'],
-@@ -643,8 +643,8 @@
-
- return '\n'.join(lines)
-
-- def __nonzero__(self):
-- relative_values = [v for k, v in self._values.items()
-+ def __bool__(self):
-+ relative_values = [v for k, v in list(self._values.items())
- if k not in self.ABSOLUTE_KEYS]
- return (all(v >= 0 for v in relative_values) and
- any(v > 0 for v in relative_values))
-@@ -666,8 +666,8 @@
- """Install test files."""
-
- if self.is_clobber_needed():
-- print(INSTALL_TESTS_CLOBBER.format(
-- clobber_file=os.path.join(self.topobjdir, 'CLOBBER')))
-+ print((INSTALL_TESTS_CLOBBER.format(
-+ clobber_file=os.path.join(self.topobjdir, 'CLOBBER'))))
- sys.exit(1)
-
- if not test_objs:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/controller/clobber.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/controller/clobber.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- r'''This module contains code for managing clobbering of the tree.'''
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/context.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/context.py (refactored)
-@@ -14,7 +14,7 @@
- contain, you've come to the right place.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
-
-@@ -234,15 +234,15 @@
- This function is transactional: if setitem fails for one of the values,
- the context is not updated at all."""
- if isinstance(iterable, dict):
-- iterable = iterable.items()
-+ iterable = list(iterable.items())
-
- update = {}
-- for key, value in itertools.chain(iterable, kwargs.items()):
-+ for key, value in itertools.chain(iterable, list(kwargs.items())):
- stored_type = self._validate(key, value)
- # Don't create an instance of stored_type if coercion is needed,
- # until all values are validated.
- update[key] = (value, stored_type)
-- for key, (value, stored_type) in update.items():
-+ for key, (value, stored_type) in list(update.items()):
- if not isinstance(value, stored_type):
- update[key] = stored_type(value)
- else:
-@@ -297,7 +297,7 @@
- self.update(value)
-
-
--class FinalTargetValue(ContextDerivedValue, unicode):
-+class FinalTargetValue(ContextDerivedValue, str):
- def __new__(cls, context, value=""):
- if not value:
- value = 'dist/'
-@@ -307,7 +307,7 @@
- value += 'bin'
- if context['DIST_SUBDIR']:
- value += '/' + context['DIST_SUBDIR']
-- return unicode.__new__(cls, value)
-+ return str.__new__(cls, value)
-
-
- def Enum(*values):
-@@ -355,7 +355,7 @@
- cls = SourcePath
- return super(PathMeta, cls).__call__(context, value)
-
--class Path(ContextDerivedValue, unicode):
-+class Path(ContextDerivedValue, str, metaclass=PathMeta):
- """Stores and resolves a source path relative to a given context
-
- This class is used as a backing type for some of the sandbox variables.
-@@ -366,7 +366,6 @@
- - '!objdir/relative/paths'
- - '%/filesystem/absolute/paths'
- """
-- __metaclass__ = PathMeta
-
- def __new__(cls, context, value=None):
- return super(Path, cls).__new__(cls, value)
-@@ -386,7 +385,7 @@
- def __cmp__(self, other):
- if isinstance(other, Path) and self.srcdir != other.srcdir:
- return cmp(self.full_path, other.full_path)
-- return cmp(unicode(self), other)
-+ return cmp(str(self), other)
-
- # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
- # and __cmp__ is only used for those when they don't exist.
-@@ -544,7 +543,7 @@
- __slots__ = tuple([name for name, _ in fields])
-
- def __init__(self, context):
-- for fname, ftype in self._fields.items():
-+ for fname, ftype in list(self._fields.items()):
- if issubclass(ftype, ContextDerivedValue):
- setattr(self, fname, self._fields[fname](context))
- else:
-@@ -614,8 +613,8 @@
- return _TypedListWithAction
-
- WebPlatformTestManifest = TypedNamedTuple("WebPlatformTestManifest",
-- [("manifest_path", unicode),
-- ("test_root", unicode)])
-+ [("manifest_path", str),
-+ ("test_root", str)])
- ManifestparserManifestList = OrderedListWithAction(read_manifestparser_manifest)
- ReftestManifestList = OrderedListWithAction(read_reftest_manifest)
- WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest)
-@@ -623,12 +622,12 @@
- OrderedSourceList = ContextDerivedTypedList(SourcePath, StrictOrderingOnAppendList)
- OrderedTestFlavorList = TypedList(Enum(*all_test_flavors()),
- StrictOrderingOnAppendList)
--OrderedStringList = TypedList(unicode, StrictOrderingOnAppendList)
-+OrderedStringList = TypedList(str, StrictOrderingOnAppendList)
- DependentTestsEntry = ContextDerivedTypedRecord(('files', OrderedSourceList),
- ('tags', OrderedStringList),
- ('flavors', OrderedTestFlavorList))
- BugzillaComponent = TypedNamedTuple('BugzillaComponent',
-- [('product', unicode), ('component', unicode)])
-+ [('product', str), ('component', str)])
-
-
- class Files(SubContext):
-@@ -764,7 +763,7 @@
- self.test_tags |= other.test_tags
- self.test_flavors |= other.test_flavors
-
-- for k, v in other.items():
-+ for k, v in list(other.items()):
- if k == 'IMPACTED_TESTS':
- self.test_files |= set(mozpath.relpath(e.full_path, e.context.config.topsrcdir)
- for e in v.files)
-@@ -818,7 +817,7 @@
-
- bug_components = Counter()
-
-- for f in files.values():
-+ for f in list(files.values()):
- bug_component = f.get('BUG_COMPONENT')
- if bug_component:
- bug_components[bug_component] += 1
-@@ -889,11 +888,11 @@
- file.
- """),
-
-- 'ANDROID_APK_NAME': (unicode, unicode,
-+ 'ANDROID_APK_NAME': (str, str,
- """The name of an Android APK file to generate.
- """),
-
-- 'ANDROID_APK_PACKAGE': (unicode, unicode,
-+ 'ANDROID_APK_PACKAGE': (str, str,
- """The name of the Android package to generate R.java for, like org.mozilla.gecko.
- """),
-
-@@ -962,7 +961,7 @@
- """),
-
- 'GENERATED_FILES': (StrictOrderingOnAppendListWithFlagsFactory({
-- 'script': unicode,
-+ 'script': str,
- 'inputs': list }), list,
- """Generic generated files.
-
-@@ -1107,7 +1106,7 @@
- """Like ``OBJDIR_FILES``, with preprocessing. Use sparingly.
- """),
-
-- 'FINAL_LIBRARY': (unicode, unicode,
-+ 'FINAL_LIBRARY': (str, str,
- """Library in which the objects of the current directory will be linked.
-
- This variable contains the name of a library, defined elsewhere with
-@@ -1158,7 +1157,7 @@
- """A list of python unit tests.
- """),
-
-- 'HOST_LIBRARY_NAME': (unicode, unicode,
-+ 'HOST_LIBRARY_NAME': (str, str,
- """Name of target library generated when cross compiling.
- """),
-
-@@ -1176,7 +1175,7 @@
- libraries that link into this library via FINAL_LIBRARY.
- """),
-
-- 'LIBRARY_NAME': (unicode, unicode,
-+ 'LIBRARY_NAME': (str, str,
- """The code name of the library generated for a directory.
-
- By default STATIC_LIBRARY_NAME and SHARED_LIBRARY_NAME take this name.
-@@ -1188,7 +1187,7 @@
- ``example/components/xpcomsample.lib`` on Windows.
- """),
-
-- 'SHARED_LIBRARY_NAME': (unicode, unicode,
-+ 'SHARED_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1202,7 +1201,7 @@
- Implies FORCE_SHARED_LIB.
- """),
-
-- 'STATIC_LIBRARY_NAME': (unicode, unicode,
-+ 'STATIC_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1238,37 +1237,37 @@
-
- This variable contains a list of system libaries to link against.
- """),
-- 'RCFILE': (unicode, unicode,
-+ 'RCFILE': (str, str,
- """The program .rc file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RESFILE': (unicode, unicode,
-+ 'RESFILE': (str, str,
- """The program .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RCINCLUDE': (unicode, unicode,
-+ 'RCINCLUDE': (str, str,
- """The resource script file to be included in the default .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'DEFFILE': (unicode, unicode,
-+ 'DEFFILE': (str, str,
- """The program .def (module definition) file.
-
- This variable can only be used on Windows.
- """),
-
-- 'LD_VERSION_SCRIPT': (unicode, unicode,
-+ 'LD_VERSION_SCRIPT': (str, str,
- """The linker version script for shared libraries.
-
- This variable can only be used on Linux.
- """),
-
-- 'SYMBOLS_FILE': (Path, unicode,
-+ 'SYMBOLS_FILE': (Path, str,
- """A file containing a list of symbols to export from a shared library.
-
- The given file contains a list of symbols to be exported, and is
-@@ -1323,7 +1322,7 @@
- ``BIN_SUFFIX``, the name will remain unchanged.
- """),
-
-- 'SONAME': (unicode, unicode,
-+ 'SONAME': (str, str,
- """The soname of the shared object currently being linked
-
- soname is the "logical name" of a shared object, often used to provide
-@@ -1379,7 +1378,7 @@
- ``GENERATED_FILES``.
- """),
-
-- 'PROGRAM' : (unicode, unicode,
-+ 'PROGRAM' : (str, str,
- """Compiled executable name.
-
- If the configuration token ``BIN_SUFFIX`` is set, its value will be
-@@ -1387,7 +1386,7 @@
- ``BIN_SUFFIX``, ``PROGRAM`` will remain unchanged.
- """),
-
-- 'HOST_PROGRAM' : (unicode, unicode,
-+ 'HOST_PROGRAM' : (str, str,
- """Compiled host executable name.
-
- If the configuration token ``HOST_BIN_SUFFIX`` is set, its value will be
-@@ -1425,7 +1424,7 @@
- files.
- """),
-
-- 'XPIDL_MODULE': (unicode, unicode,
-+ 'XPIDL_MODULE': (str, str,
- """XPCOM Interface Definition Module Name.
-
- This is the name of the ``.xpt`` file that is created by linking
-@@ -1576,14 +1575,14 @@
- """),
-
- # The following variables are used to control the target of installed files.
-- 'XPI_NAME': (unicode, unicode,
-+ 'XPI_NAME': (str, str,
- """The name of an extension XPI to generate.
-
- When this variable is present, the results of this directory will end up
- being packaged into an extension instead of the main dist/bin results.
- """),
-
-- 'DIST_SUBDIR': (unicode, unicode,
-+ 'DIST_SUBDIR': (str, str,
- """The name of an alternate directory to install files to.
-
- When this variable is present, the results of this directory will end up
-@@ -1591,7 +1590,7 @@
- otherwise be placed.
- """),
-
-- 'FINAL_TARGET': (FinalTargetValue, unicode,
-+ 'FINAL_TARGET': (FinalTargetValue, str,
- """The name of the directory to install targets to.
-
- The directory is relative to the top of the object directory. The
-@@ -1622,7 +1621,7 @@
-
- 'GYP_DIRS': (StrictOrderingOnAppendListWithFlagsFactory({
- 'variables': dict,
-- 'input': unicode,
-+ 'input': str,
- 'sandbox_vars': dict,
- 'non_unified_sources': StrictOrderingOnAppendList,
- }), list,
-@@ -1799,7 +1798,7 @@
- }
-
- # Sanity check: we don't want any variable above to have a list as storage type.
--for name, (storage_type, input_types, docs) in VARIABLES.items():
-+for name, (storage_type, input_types, docs) in list(VARIABLES.items()):
- if storage_type == list:
- raise RuntimeError('%s has a "list" storage type. Use "List" instead.'
- % name)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/data.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/data.py (refactored)
-@@ -15,7 +15,7 @@
- structures.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from mozbuild.util import StrictOrderingOnAppendList
- from mozpack.chrome.manifest import ManifestEntry
-@@ -186,7 +186,7 @@
- self.defines = defines
-
- def get_defines(self):
-- for define, value in self.defines.iteritems():
-+ for define, value in self.defines.items():
- if value is True:
- yield('-D%s' % define)
- elif value is False:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/emitter.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/emitter.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import itertools
- import logging
-@@ -120,8 +120,8 @@
- # arguments. This gross hack works around the problem until we
- # rid ourselves of 2.6.
- self.info = {}
-- for k, v in mozinfo.info.items():
-- if isinstance(k, unicode):
-+ for k, v in list(mozinfo.info.items()):
-+ if isinstance(k, str):
- k = k.encode('ascii')
- self.info[k] = v
-
-@@ -197,7 +197,7 @@
-
- def _emit_libs_derived(self, contexts):
- # First do FINAL_LIBRARY linkage.
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if not isinstance(lib, (StaticLibrary, RustLibrary)) or not lib.link_into:
- continue
- if lib.link_into not in self._libs:
-@@ -257,12 +257,12 @@
- lib.link_into == outerlib.basename):
- propagate_defines(lib, defines)
-
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if isinstance(lib, Library):
- propagate_defines(lib, lib.lib_defines)
- yield lib
-
-- for obj in self._binaries.values():
-+ for obj in list(self._binaries.values()):
- yield obj
-
- LIBRARY_NAME_VAR = {
-@@ -321,7 +321,7 @@
- libs[key] = l
- if key not in libs:
- libs[key] = l
-- candidates = libs.values()
-+ candidates = list(libs.values())
- if force_static and not candidates:
- if dir:
- raise SandboxValidationError(
-@@ -383,9 +383,9 @@
-
- def _verify_deps(self, context, crate_dir, crate_name, dependencies, description='Dependency'):
- """Verify that a crate's dependencies all specify local paths."""
-- for dep_crate_name, values in dependencies.iteritems():
-+ for dep_crate_name, values in dependencies.items():
- # A simple version number.
-- if isinstance(values, (str, unicode)):
-+ if isinstance(values, str):
- raise SandboxValidationError(
- '%s %s of crate %s does not list a path' % (description, dep_crate_name, crate_name),
- context)
-@@ -463,7 +463,7 @@
- ' in [profile.%s] section') % (libname, profile_name),
- context)
-
-- dependencies = set(config.get('dependencies', {}).iterkeys())
-+ dependencies = set(config.get('dependencies', {}).keys())
-
- return RustLibrary(context, libname, cargo_file, crate_type,
- dependencies, **static_args)
-@@ -738,7 +738,7 @@
- assert not gen_sources['UNIFIED_SOURCES']
-
- no_pgo = context.get('NO_PGO')
-- no_pgo_sources = [f for f, flags in all_flags.iteritems()
-+ no_pgo_sources = [f for f, flags in all_flags.items()
- if flags.no_pgo]
- if no_pgo:
- if no_pgo_sources:
-@@ -765,7 +765,7 @@
-
- # The inverse of the above, mapping suffixes to their canonical suffix.
- canonicalized_suffix_map = {}
-- for suffix, alternatives in suffix_map.iteritems():
-+ for suffix, alternatives in suffix_map.items():
- alternatives.add(suffix)
- for a in alternatives:
- canonicalized_suffix_map[a] = suffix
-@@ -786,7 +786,7 @@
- # a directory with mixed C and C++ source, but it's not that important.
- cxx_sources = defaultdict(bool)
-
-- for variable, (klass, gen_klass, suffixes) in varmap.items():
-+ for variable, (klass, gen_klass, suffixes) in list(varmap.items()):
- allowed_suffixes = set().union(*[suffix_map[s] for s in suffixes])
-
- # First ensure that we haven't been given filetypes that we don't
-@@ -812,7 +812,7 @@
- obj = cls(*arglist)
- yield obj
-
-- for f, flags in all_flags.iteritems():
-+ for f, flags in all_flags.items():
- if flags.flags:
- ext = mozpath.splitext(f)[1]
- yield PerSourceFlag(context, f, flags.flags)
-@@ -958,7 +958,7 @@
- for obj in self._handle_linkables(context, passthru, generated_files):
- yield obj
-
-- generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in self._binaries.keys()])
-+ generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in list(self._binaries.keys())])
-
- components = []
- for var, cls in (
-@@ -1055,10 +1055,10 @@
- for obj in self._process_jar_manifests(context):
- yield obj
-
-- for name, jar in context.get('JAVA_JAR_TARGETS', {}).items():
-+ for name, jar in list(context.get('JAVA_JAR_TARGETS', {}).items()):
- yield ContextWrapped(context, jar)
-
-- for name, data in context.get('ANDROID_ECLIPSE_PROJECT_TARGETS', {}).items():
-+ for name, data in list(context.get('ANDROID_ECLIPSE_PROJECT_TARGETS', {}).items()):
- yield ContextWrapped(context, data)
-
- if context.get('USE_YASM') is True:
-@@ -1127,7 +1127,7 @@
- script = mozpath.join(mozpath.dirname(mozpath.dirname(__file__)),
- 'action', 'process_define_files.py')
- yield GeneratedFile(context, script, 'process_define_file',
-- unicode(path),
-+ str(path),
- [Path(context, path + '.in')])
-
- generated_files = context.get('GENERATED_FILES')
-@@ -1170,7 +1170,7 @@
- yield GeneratedFile(context, script, method, outputs, inputs)
-
- def _process_test_manifests(self, context):
-- for prefix, info in TEST_MANIFESTS.items():
-+ for prefix, info in list(TEST_MANIFESTS.items()):
- for path, manifest in context.get('%s_MANIFESTS' % prefix, []):
- for obj in self._process_test_manifest(context, info, path, manifest):
- yield obj
-@@ -1261,7 +1261,7 @@
-
- process_support_files(test)
-
-- for path, m_defaults in mpmanifest.manifest_defaults.items():
-+ for path, m_defaults in list(mpmanifest.manifest_defaults.items()):
- process_support_files(m_defaults)
-
- # We also copy manifests into the output directory,
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/gyp_reader.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/gyp_reader.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import gyp
- import sys
-@@ -69,7 +69,7 @@
-
-
- def encode(value):
-- if isinstance(value, unicode):
-+ if isinstance(value, str):
- return value.encode('utf-8')
- return value
-
-@@ -87,7 +87,7 @@
- # gyp expects plain str instead of unicode. The frontend code gives us
- # unicode strings, so convert them.
- path = encode(path)
-- str_vars = dict((name, encode(value)) for name, value in vars.items())
-+ str_vars = dict((name, encode(value)) for name, value in list(vars.items()))
-
- params = {
- b'parallel': False,
-@@ -222,7 +222,7 @@
- if not f:
- continue
- # the result may be a string or a list.
-- if isinstance(f, types.StringTypes):
-+ if isinstance(f, (str,)):
- context[var].append(f)
- else:
- context[var].extend(f)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/mach_commands.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from collections import defaultdict
- import os
-@@ -105,13 +105,13 @@
- """
- components = defaultdict(set)
- try:
-- for p, m in self._get_files_info(paths, rev=rev).items():
-+ for p, m in list(self._get_files_info(paths, rev=rev).items()):
- components[m.get('BUG_COMPONENT')].add(p)
- except InvalidPathException as e:
- print(e.message)
- return 1
-
-- for component, files in sorted(components.items(), key=lambda x: (x is None, x)):
-+ for component, files in sorted(list(components.items()), key=lambda x: (x is None, x)):
- print('%s :: %s' % (component.product, component.component) if component else 'UNKNOWN')
- for f in sorted(files):
- print(' %s' % f)
-@@ -139,7 +139,7 @@
- help='Paths whose data to query')
- def file_info_test_deps(self, paths, rev=None):
- try:
-- for p, m in self._get_files_info(paths, rev=rev).items():
-+ for p, m in list(self._get_files_info(paths, rev=rev).items()):
- print('%s:' % mozpath.relpath(p, self.topsrcdir))
- if m.test_files:
- print('\tTest file patterns:')
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py (refactored)
-@@ -16,7 +16,7 @@
- It does this by examining specific variables populated during execution.
- """
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import ast
- import inspect
-@@ -80,11 +80,12 @@
- )
-
- from mozbuild.base import ExecutionSummary
-+from functools import reduce
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-- type_type = types.TypeType
-+ text_type = str
-+ type_type = type
- else:
- text_type = str
- type_type = type
-@@ -126,7 +127,7 @@
- b'JS_STANDALONE': b'1',
- })
- udict = {}
-- for k, v in self.substs.items():
-+ for k, v in list(self.substs.items()):
- if isinstance(v, str):
- udict[k.decode('utf-8')] = v.decode('utf-8')
- else:
-@@ -338,7 +339,7 @@
- raise Exception('`template` is a function decorator. You must '
- 'use it as `@template` preceding a function declaration.')
-
-- name = func.func_name
-+ name = func.__name__
-
- if name in self.templates:
- raise KeyError(
-@@ -417,7 +418,7 @@
- klass = self._context.__class__
- self._context.__class__ = TemplateContext
- # The sandbox will do all the necessary checks for these merges.
-- for key, value in context.items():
-+ for key, value in list(context.items()):
- if isinstance(value, dict):
- self[key].update(value)
- elif isinstance(value, (list, HierarchicalStringList)):
-@@ -434,10 +435,10 @@
-
- class TemplateFunction(object):
- def __init__(self, func, sandbox):
-- self.path = func.func_code.co_filename
-- self.name = func.func_name
--
-- code = func.func_code
-+ self.path = func.__code__.co_filename
-+ self.name = func.__name__
-+
-+ code = func.__code__
- firstlineno = code.co_firstlineno
- lines = sandbox._current_source.splitlines(True)
- lines = inspect.getblock(lines[firstlineno - 1:])
-@@ -476,8 +477,8 @@
- compile(func_ast, self.path, 'exec'),
- glob,
- self.name,
-- func.func_defaults,
-- func.func_closure,
-+ func.__defaults__,
-+ func.__closure__,
- )
- func()
-
-@@ -491,11 +492,11 @@
- '__builtins__': sandbox._builtins
- }
- func = types.FunctionType(
-- self._func.func_code,
-+ self._func.__code__,
- glob,
- self.name,
-- self._func.func_defaults,
-- self._func.func_closure
-+ self._func.__defaults__,
-+ self._func.__closure__
- )
- sandbox.exec_function(func, args, kwargs, self.path,
- becomes_current_path=False)
-@@ -511,7 +512,7 @@
- def visit_Str(self, node):
- # String nodes we got from the AST parser are str, but we want
- # unicode literals everywhere, so transform them.
-- node.s = unicode(node.s)
-+ node.s = str(node.s)
- return node
-
- def visit_Name(self, node):
-@@ -644,7 +645,7 @@
-
- for l in traceback.format_exception(type(self.other), self.other,
- self.trace):
-- s.write(unicode(l))
-+ s.write(str(l))
-
- return s.getvalue()
-
-@@ -794,7 +795,7 @@
- s.write(' %s\n' % inner.args[2])
- s.write('\n')
- close_matches = difflib.get_close_matches(inner.args[2],
-- VARIABLES.keys(), 2)
-+ list(VARIABLES.keys()), 2)
- if close_matches:
- s.write('Maybe you meant %s?\n' % ' or '.join(close_matches))
- s.write('\n')
-@@ -1196,7 +1197,7 @@
-
- recurse_info[d][key] = dict(sandbox.metadata[key])
-
-- for path, child_metadata in recurse_info.items():
-+ for path, child_metadata in list(recurse_info.items()):
- child_path = path.join('moz.build').full_path
-
- # Ensure we don't break out of the topsrcdir. We don't do realpath
-@@ -1288,7 +1289,7 @@
- # There is room to improve this code (and the code in
- # _find_relevant_mozbuilds) to better handle multiple files in the same
- # directory. Bug 1136966 tracks.
-- for path, mbpaths in relevants.items():
-+ for path, mbpaths in list(relevants.items()):
- path_mozbuilds[path] = [mozpath.join(topsrcdir, p) for p in mbpaths]
-
- for i, mbpath in enumerate(mbpaths[0:-1]):
-@@ -1325,7 +1326,7 @@
- all_contexts.append(context)
-
- result = {}
-- for path, paths in path_mozbuilds.items():
-+ for path, paths in list(path_mozbuilds.items()):
- result[path] = reduce(lambda x, y: x + y, (contexts[p] for p in paths), [])
-
- return result, all_contexts
-@@ -1352,7 +1353,7 @@
-
- r = {}
-
-- for path, ctxs in paths.items():
-+ for path, ctxs in list(paths.items()):
- flags = Files(Context())
-
- for ctx in ctxs:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/sandbox.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/sandbox.py (refactored)
-@@ -17,7 +17,7 @@
- user-friendly error messages in the case of errors.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
- import sys
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/common.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- from mach.logging import LoggingManager
-
-@@ -36,7 +36,7 @@
- }, **extra_substs)
-
- self.substs_unicode = ReadOnlyDict({k.decode('utf-8'): v.decode('utf-8',
-- 'replace') for k, v in self.substs.items()})
-+ 'replace') for k, v in list(self.substs.items())})
-
- self.defines = self.substs
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_base.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
-@@ -12,7 +12,7 @@
- import tempfile
- import unittest
-
--from cStringIO import StringIO
-+from io import StringIO
- from mozfile.mozfile import NamedTemporaryFile
-
- from mozunit import main
-@@ -93,7 +93,7 @@
- mozconfig = os.path.join(d, 'mozconfig')
- with open(mozconfig, 'wt') as fh:
- fh.write('mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/foo/@CONFIG_GUESS@')
-- print('Wrote mozconfig %s' % mozconfig)
-+ print(('Wrote mozconfig %s' % mozconfig))
-
- topobjdir = os.path.join(d, 'foo', guess)
- os.makedirs(topobjdir)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_containers.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_containers.py (refactored)
-@@ -152,7 +152,7 @@
-
- self.assertEqual(test['foo'], 1)
-
-- self.assertEqual(test.keys(), ['foo', 'bar' ])
-+ self.assertEqual(list(test.keys()), ['foo', 'bar' ])
-
- def test_defaults(self):
- test = OrderedDefaultDict(bool, {'foo': 1 })
-@@ -161,7 +161,7 @@
-
- self.assertEqual(test['qux'], False)
-
-- self.assertEqual(test.keys(), ['foo', 'qux' ])
-+ self.assertEqual(list(test.keys()), ['foo', 'qux' ])
-
-
- class TestKeyedDefaultDict(unittest.TestCase):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_dotproperties.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_dotproperties.py (refactored)
-@@ -1,11 +1,11 @@
- # -*- coding: utf-8 -*-
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- import mozpack.path as mozpath
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_expression.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_expression.py (refactored)
-@@ -25,8 +25,8 @@
-
- def test_in(self):
- """test 'var in context' to not fall for fallback"""
-- self.assert_('FAIL' in self.c)
-- self.assert_('PASS' not in self.c)
-+ self.assertTrue('FAIL' in self.c)
-+ self.assertTrue('PASS' not in self.c)
-
- class TestExpression(unittest.TestCase):
- """
-@@ -48,16 +48,16 @@
-
- def test_not(self):
- """Test for the ! operator"""
-- self.assert_(Expression('!0').evaluate(self.c))
-- self.assert_(not Expression('!1').evaluate(self.c))
-+ self.assertTrue(Expression('!0').evaluate(self.c))
-+ self.assertTrue(not Expression('!1').evaluate(self.c))
-
- def test_equals(self):
- """ Test for the == operator"""
-- self.assert_(Expression('FAIL == PASS').evaluate(self.c))
-+ self.assertTrue(Expression('FAIL == PASS').evaluate(self.c))
-
- def test_notequals(self):
- """ Test for the != operator"""
-- self.assert_(Expression('FAIL != 1').evaluate(self.c))
-+ self.assertTrue(Expression('FAIL != 1').evaluate(self.c))
-
- def test_logical_and(self):
- """ Test for the && operator"""
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_jarmaker.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_jarmaker.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
- import unittest
-
- import os, sys, os.path, time, inspect
- from filecmp import dircmp
- from tempfile import mkdtemp
- from shutil import rmtree, copy2
--from StringIO import StringIO
-+from io import StringIO
- from zipfile import ZipFile
- import mozunit
-
-@@ -117,12 +117,12 @@
- """Helper to report rich results on difference between two directories.
- """
- def _fillDiff(self, dc, rv, basepath="{0}"):
-- rv['right_only'] += map(lambda l: basepath.format(l), dc.right_only)
-- rv['left_only'] += map(lambda l: basepath.format(l), dc.left_only)
-- rv['diff_files'] += map(lambda l: basepath.format(l), dc.diff_files)
-- rv['funny'] += map(lambda l: basepath.format(l), dc.common_funny)
-- rv['funny'] += map(lambda l: basepath.format(l), dc.funny_files)
-- for subdir, _dc in dc.subdirs.iteritems():
-+ rv['right_only'] += [basepath.format(l) for l in dc.right_only]
-+ rv['left_only'] += [basepath.format(l) for l in dc.left_only]
-+ rv['diff_files'] += [basepath.format(l) for l in dc.diff_files]
-+ rv['funny'] += [basepath.format(l) for l in dc.common_funny]
-+ rv['funny'] += [basepath.format(l) for l in dc.funny_files]
-+ for subdir, _dc in dc.subdirs.items():
- self._fillDiff(_dc, rv, basepath.format(subdir + "/{0}"))
- def allResults(self, left, right):
- rv = {'right_only':[], 'left_only':[],
-@@ -295,7 +295,7 @@
- ('hoge', 'foo', '2'): ('qux', 'foo', '2'),
- ('hoge', 'baz'): ('qux', 'baz'),
- }
-- for dest, src in expected_symlinks.iteritems():
-+ for dest, src in expected_symlinks.items():
- srcpath = os.path.join(self.srcdir, *src)
- destpath = os.path.join(self.builddir, 'chrome', 'test', 'dir',
- *dest)
-@@ -317,7 +317,7 @@
- def test_en_US(self):
- jm = self.jm
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
- 'browser/locales', 'en-US')
-@@ -326,13 +326,13 @@
- jm = self.jm
- jm.l10nbase = '/L10N_BASE'
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs, [os.path.join('/L10N_BASE', 'browser')])
-+ self.assertEqual(jm.localedirs, [os.path.join('/L10N_BASE', 'browser')])
- def test_l10n_merge(self):
- jm = self.jm
- jm.l10nbase = '/L10N_BASE'
- jm.l10nmerge = '/L10N_MERGE'
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [os.path.join('/L10N_MERGE', 'browser'),
- os.path.join('/L10N_BASE', 'browser'),
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
-@@ -346,7 +346,7 @@
- ''')
- jarcontents.name = 'override.mn'
- jm.makeJar(jarcontents, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
- 'dom/locales', 'en-US')
-@@ -360,7 +360,7 @@
- ''')
- jarcontents.name = 'override.mn'
- jm.makeJar(jarcontents, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs, [os.path.join('/L10N_BASE', 'dom')])
-+ self.assertEqual(jm.localedirs, [os.path.join('/L10N_BASE', 'dom')])
-
-
- if __name__ == '__main__':
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_line_endings.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_line_endings.py (refactored)
-@@ -1,6 +1,6 @@
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
- import os
- import sys
- import os.path
-@@ -30,17 +30,17 @@
- def testMac(self):
- self.createFile(['\x0D']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- def testUnix(self):
- self.createFile(['\x0A']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- def testWindows(self):
- self.createFile(['\x0D\x0A']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- if __name__ == '__main__':
- mozunit.main()
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_makeutil.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_makeutil.py (refactored)
-@@ -11,7 +11,7 @@
- from mozunit import main
- import os
- import unittest
--from StringIO import StringIO
-+from io import StringIO
-
-
- class TestMakefile(unittest.TestCase):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_mozconfig.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_mozconfig.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -480,9 +480,9 @@
-
- self.assertTrue(e.exception.message.startswith(
- 'Evaluation of your mozconfig exited with an error'))
-- self.assertEquals(e.exception.path,
-+ self.assertEqual(e.exception.path,
- mozconfig.name.replace(os.sep, '/'))
-- self.assertEquals(e.exception.output, ['hello world'])
-+ self.assertEqual(e.exception.output, ['hello world'])
-
-
- if __name__ == '__main__':
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_mozinfo.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_mozinfo.py (refactored)
-@@ -8,7 +8,7 @@
- import tempfile
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- import mozunit
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_preprocessor.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_preprocessor.py (refactored)
-@@ -4,7 +4,7 @@
-
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
- import os
- import shutil
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_pythonutil.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_pythonutil.py (refactored)
-@@ -12,7 +12,7 @@
- def test_iter_modules_in_path(self):
- mozbuild_path = os.path.normcase(os.path.dirname(os.path.dirname(__file__)))
- paths = list(iter_modules_in_path(mozbuild_path))
-- self.assertEquals(sorted(paths), [
-+ self.assertEqual(sorted(paths), [
- os.path.join(os.path.abspath(mozbuild_path), '__init__.py'),
- os.path.join(os.path.abspath(mozbuild_path), 'pythonutil.py'),
- os.path.join(os.path.abspath(mozbuild_path), 'test', 'test_pythonutil.py'),
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_testing.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_testing.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import os
- import shutil
- import tempfile
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_util.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/test_util.py (refactored)
-@@ -3,7 +3,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import itertools
- import hashlib
-@@ -110,7 +110,7 @@
- '''
- def __call__(self, name, mode):
- if 'w' in mode:
-- raise Exception, 'Unexpected open with write mode'
-+ raise Exception('Unexpected open with write mode')
- return MockedOpen.__call__(self, name, mode)
-
- with MyMockedOpen({'file': 'content'}):
-@@ -432,7 +432,7 @@
- self.assertEqual(len(l), 0)
- original = ['a', 'b', 'c']
- l = ListWithAction(['a', 'b', 'c'], action=self.action)
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -445,7 +445,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l.extend(original)
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -455,7 +455,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l[:] = original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -465,7 +465,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l2 = l + original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l2)
-
- with self.assertRaises(ValueError):
-@@ -475,7 +475,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l += original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -524,7 +524,7 @@
-
- def test_strict_ordering_on_append_list_with_flags_factory_extend(self):
- FooList = StrictOrderingOnAppendListWithFlagsFactory({
-- 'foo': bool, 'bar': unicode
-+ 'foo': bool, 'bar': str
- })
- foo = FooList(['a', 'b', 'c'])
- foo['a'].foo = True
-@@ -532,7 +532,7 @@
-
- # Don't allow extending lists with different flag definitions.
- BarList = StrictOrderingOnAppendListWithFlagsFactory({
-- 'foo': unicode, 'baz': bool
-+ 'foo': str, 'baz': bool
- })
- bar = BarList(['d', 'e', 'f'])
- bar['d'].foo = 'foo'
-@@ -752,9 +752,9 @@
-
- class TypedTestStrictOrderingOnAppendList(unittest.TestCase):
- def test_init(self):
-- class Unicode(unicode):
-+ class Unicode(str):
- def __init__(self, other):
-- if not isinstance(other, unicode):
-+ if not isinstance(other, str):
- raise ValueError()
- super(Unicode, self).__init__(other)
-
-@@ -776,14 +776,14 @@
-
- class TestTypedNamedTuple(unittest.TestCase):
- def test_simple(self):
-- FooBar = TypedNamedTuple('FooBar', [('foo', unicode), ('bar', int)])
-+ FooBar = TypedNamedTuple('FooBar', [('foo', str), ('bar', int)])
-
- t = FooBar(foo='foo', bar=2)
-- self.assertEquals(type(t), FooBar)
-- self.assertEquals(t.foo, 'foo')
-- self.assertEquals(t.bar, 2)
-- self.assertEquals(t[0], 'foo')
-- self.assertEquals(t[1], 2)
-+ self.assertEqual(type(t), FooBar)
-+ self.assertEqual(t.foo, 'foo')
-+ self.assertEqual(t.bar, 2)
-+ self.assertEqual(t[0], 'foo')
-+ self.assertEqual(t[1], 2)
-
- FooBar('foo', 2)
-
-@@ -796,7 +796,7 @@
- # arguments.
- t1 = ('foo', 3)
- t2 = FooBar(t1)
-- self.assertEquals(type(t2), FooBar)
-+ self.assertEqual(type(t2), FooBar)
- self.assertEqual(FooBar(t1), FooBar('foo', 3))
-
-
-@@ -871,18 +871,18 @@
- CompilerType = EnumString.subclass('msvc', 'gcc', 'clang', 'clang-cl')
-
- type = CompilerType('msvc')
-- self.assertEquals(type, 'msvc')
-- self.assertNotEquals(type, 'gcc')
-- self.assertNotEquals(type, 'clang')
-- self.assertNotEquals(type, 'clang-cl')
-+ self.assertEqual(type, 'msvc')
-+ self.assertNotEqual(type, 'gcc')
-+ self.assertNotEqual(type, 'clang')
-+ self.assertNotEqual(type, 'clang-cl')
- self.assertIn(type, ('msvc', 'clang-cl'))
- self.assertNotIn(type, ('gcc', 'clang'))
-
- with self.assertRaises(EnumStringComparisonError):
-- self.assertEquals(type, 'foo')
-+ self.assertEqual(type, 'foo')
-
- with self.assertRaises(EnumStringComparisonError):
-- self.assertNotEquals(type, 'foo')
-+ self.assertNotEqual(type, 'foo')
-
- with self.assertRaises(EnumStringComparisonError):
- self.assertIn(type, ('foo', 'gcc'))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_buildlist.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_buildlist.py (refactored)
-@@ -38,11 +38,11 @@
- lines = [line.rstrip() for line in f.readlines()]
- f.close()
- for line in lines:
-- self.assert_(len(l) > 0,
-+ self.assertTrue(len(l) > 0,
- "ran out of expected lines! (expected '{0}', got '{1}')"
- .format(l, lines))
- self.assertEqual(line, l.pop(0))
-- self.assert_(len(l) == 0,
-+ self.assertTrue(len(l) == 0,
- "not enough lines in file! (expected '{0}',"
- " got '{1}'".format(l, lines))
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_generate_browsersearch.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_generate_browsersearch.py (refactored)
-@@ -3,7 +3,7 @@
- # Any copyright is dedicated to the Public Domain.
- # http://creativecommons.org/publicdomain/zero/1.0/
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
-@@ -43,8 +43,8 @@
-
- def test_valid_unicode(self):
- o = self._test_one('valid-zh-CN')
-- self.assertEquals(o['default'], '百度')
-- self.assertEquals(o['engines'], ['百度', 'Google'])
-+ self.assertEqual(o['default'], '百度')
-+ self.assertEqual(o['engines'], ['百度', 'Google'])
-
- def test_invalid_unicode(self):
- with self.assertRaises(UnicodeDecodeError):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_package_fennec_apk.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/action/test_package_fennec_apk.py (refactored)
-@@ -3,7 +3,7 @@
- # Any copyright is dedicated to the Public Domain.
- # http://creativecommons.org/publicdomain/zero/1.0/
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -41,14 +41,14 @@
- root_files=[data('root_file.txt')])
-
- # omni.ja ends up in assets/omni.ja.
-- self.assertEquals(jarrer['assets/omni.ja'].open().read().strip(), 'omni.ja')
-+ self.assertEqual(jarrer['assets/omni.ja'].open().read().strip(), 'omni.ja')
-
- # Everything else is in place.
- for name in ('classes.dex',
- 'assets/asset.txt',
- 'lib/lib.txt',
- 'root_file.txt'):
-- self.assertEquals(jarrer[name].open().read().strip(), name)
-+ self.assertEqual(jarrer[name].open().read().strip(), name)
-
- def test_inputs(self):
- # Language repacks take updated resources from an ap_ and pack them
-@@ -57,8 +57,8 @@
- # overrides the first.
- jarrer = package(inputs=[data('input2.apk'), data('input1.ap_')])
-
-- files1 = JarReader(data('input1.ap_')).entries.keys()
-- files2 = JarReader(data('input2.apk')).entries.keys()
-+ files1 = list(JarReader(data('input1.ap_')).entries.keys())
-+ files2 = list(JarReader(data('input2.apk')).entries.keys())
- for name in files2:
- self.assertTrue(name in files1 or
- jarrer[name].open().read().startswith('input2/'))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/common.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_android_eclipse.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_android_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_build.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_build.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals, print_function
-+
-
- import buildconfig
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_configenvironment.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_configenvironment.py (refactored)
-@@ -3,7 +3,7 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- import os, posixpath
--from StringIO import StringIO
-+from io import StringIO
- import unittest
- from mozunit import main, MockedOpen
-
-@@ -29,7 +29,7 @@
- self.substs = ReadOnlyDict(d)
-
- d = dict(self.substs_unicode)
-- d[u'top_srcdir'] = top_srcdir.decode('utf-8')
-+ d['top_srcdir'] = top_srcdir.decode('utf-8')
- self.substs_unicode = ReadOnlyDict(d)
-
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_recursivemake.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_recursivemake.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import json
- import os
- import unittest
-@@ -331,7 +331,7 @@
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- # print("test_variable_passthru[%s]" % (var))
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-@@ -370,7 +370,7 @@
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-
-@@ -544,7 +544,7 @@
-
- # This is not the most robust test in the world, but it gets the job
- # done.
-- entries = [e for e in m._dests.keys() if '**' in e]
-+ entries = [e for e in list(m._dests.keys()) if '**' in e]
- self.assertEqual(len(entries), 1)
- self.assertIn('support/**', entries[0])
-
-@@ -562,7 +562,7 @@
- set(['child/test_sub.js',
- 'child/data/**',
- 'child/another-file.sjs']))
-- for key in test_installs.keys():
-+ for key in list(test_installs.keys()):
- self.assertIn(key, test_installs)
-
- test_files_manifest = mozpath.join(env.topobjdir,
-@@ -576,7 +576,7 @@
- # Then, synthesize one from the test-installs.pkl file. This should
- # allow us to re-create a subset of the above.
- synthesized_manifest = InstallManifest()
-- for item, installs in test_installs.items():
-+ for item, installs in list(test_installs.items()):
- for install_info in installs:
- if len(install_info) == 3:
- synthesized_manifest.add_pattern_symlink(*install_info)
-@@ -584,7 +584,7 @@
- synthesized_manifest.add_symlink(*install_info)
-
- self.assertEqual(len(synthesized_manifest), 3)
-- for item, info in synthesized_manifest._dests.items():
-+ for item, info in list(synthesized_manifest._dests.items()):
- self.assertIn(item, m)
- self.assertEqual(info, m._dests[item])
-
-@@ -758,7 +758,7 @@
- expected[mozpath.join(env.topobjdir, 'final-target')] = [
- 'FINAL_TARGET = $(DEPTH)/random-final-target'
- ]
-- for key, expected_rules in expected.iteritems():
-+ for key, expected_rules in expected.items():
- backend_path = mozpath.join(key, 'backend.mk')
- lines = [l.strip() for l in open(backend_path, 'rt').readlines()[2:]]
- found = [str for str in lines if
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_visualstudio.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/backend/test_visualstudio.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- from xml.dom.minidom import parse
- import os
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/common.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import errno
-@@ -16,7 +16,7 @@
- from mozbuild.util import ReadOnlyNamespace
- from mozpack import path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
- from which import WhichError
-
- from buildconfig import (
-@@ -78,10 +78,10 @@
- self._search_path = environ.get('PATH', '').split(os.pathsep)
-
- self._subprocess_paths = {
-- mozpath.abspath(k): v for k, v in paths.iteritems() if v
-+ mozpath.abspath(k): v for k, v in paths.items() if v
- }
-
-- paths = paths.keys()
-+ paths = list(paths.keys())
-
- environ = dict(environ)
- if 'CONFIG_SHELL' not in environ:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/lint.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/lint.py (refactored)
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import unittest
--from StringIO import StringIO
-+from io import StringIO
- from mozunit import main
- from buildconfig import (
- topobjdir,
-@@ -42,9 +42,7 @@
- return type.__new__(mcs, name, bases, attrs)
-
-
--class Lint(unittest.TestCase):
-- __metaclass__ = LintMeta
--
-+class Lint(unittest.TestCase, metaclass=LintMeta):
- def setUp(self):
- self._curdir = os.getcwd()
- os.chdir(topobjdir)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_checks_configure.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_checks_configure.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
--
--from StringIO import StringIO
-+
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -447,7 +447,7 @@
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A))
-+ dirs = list(map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s"])
- ''' % os.pathsep.join(dirs)))
-@@ -457,7 +457,7 @@
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B))
-+ dirs = list(map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s", "%s"])
- ''' % (os.pathsep.join(dirs), self.OTHER_A)))
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_compile_checks.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_compile_checks.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import textwrap
- import unittest
- import mozpack.path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
-
- from buildconfig import topsrcdir
- from common import ConfigureTestSandbox
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_configure.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_configure.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
--
--from StringIO import StringIO
-+
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -43,7 +43,7 @@
-
- if '--help' in options:
- return out.getvalue(), config
-- self.assertEquals('', out.getvalue())
-+ self.assertEqual('', out.getvalue())
- return config
-
- def moz_configure(self, source):
-@@ -55,7 +55,7 @@
- def test_defaults(self):
- config = self.get_config()
- self.maxDiff = None
-- self.assertEquals({
-+ self.assertEqual({
- 'CHOICES': NegativeOptionValue(),
- 'DEFAULTED': PositiveOptionValue(('not-simple',)),
- 'IS_GCC': NegativeOptionValue(),
-@@ -71,9 +71,9 @@
- def test_help(self):
- help, config = self.get_config(['--help'], prog='configure')
-
-- self.assertEquals({}, config)
-+ self.assertEqual({}, config)
- self.maxDiff = None
-- self.assertEquals(
-+ self.assertEqual(
- 'Usage: configure [options]\n'
- '\n'
- 'Options: [defaults in brackets after descriptions]\n'
-@@ -109,7 +109,7 @@
- ):
- self.assertNotIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(NegativeOptionValue(), config['SIMPLE'])
-+ self.assertEqual(NegativeOptionValue(), config['SIMPLE'])
-
- for config in (
- self.get_config(['--enable-simple']),
-@@ -117,7 +117,7 @@
- ):
- self.assertIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(PositiveOptionValue(), config['SIMPLE'])
-+ self.assertEqual(PositiveOptionValue(), config['SIMPLE'])
- self.assertIs(config['SIMPLE'], config['ENABLED_SIMPLE'])
-
- # --enable-simple doesn't take values.
-@@ -135,7 +135,7 @@
- env={'MOZ_WITH_ENV': '1'}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(NegativeOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(NegativeOptionValue(), config['WITH_ENV'])
-
- for config in (
- self.get_config(['--enable-with-env']),
-@@ -145,7 +145,7 @@
- env={'MOZ_WITH_ENV': ''}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(PositiveOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(PositiveOptionValue(), config['WITH_ENV'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-with-env=value'])
-@@ -160,23 +160,23 @@
- self.get_config(['--enable-values', '--disable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(NegativeOptionValue(), config[name])
-+ self.assertEqual(NegativeOptionValue(), config[name])
-
- for config in (
- self.get_config(['--enable-values']),
- self.get_config(['--disable-values', '--enable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(), config[name])
-+ self.assertEqual(PositiveOptionValue(), config[name])
-
- config = self.get_config(['--enable-values=foo'])
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(('foo',)), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo',)), config[name])
-
- config = self.get_config(['--enable-values=foo,bar'])
- self.assertIn(name, config)
- self.assertTrue(config[name])
-- self.assertEquals(PositiveOptionValue(('foo', 'bar')), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo', 'bar')), config[name])
-
- def test_values2(self):
- self.test_values('VALUES2')
-@@ -187,12 +187,12 @@
- def test_returned_default(self):
- config = self.get_config(['--enable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('simple',)), config['DEFAULTED'])
-
- config = self.get_config(['--disable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('not-simple',)), config['DEFAULTED'])
-
- def test_returned_choices(self):
-@@ -200,13 +200,13 @@
- config = self.get_config(
- ['--enable-values=alpha', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- for val in ('0', '1', '2'):
- config = self.get_config(
- ['--enable-values=numeric', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-values=numeric',
-@@ -218,12 +218,12 @@
- def test_included(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('IS_GCC', config)
-- self.assertEquals(config['IS_GCC'], True)
-+ self.assertEqual(config['IS_GCC'], True)
-
- config = self.get_config(
- ['--enable-include=extra.configure', '--extra'])
- self.assertIn('EXTRA', config)
-- self.assertEquals(PositiveOptionValue(), config['EXTRA'])
-+ self.assertEqual(PositiveOptionValue(), config['EXTRA'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--extra'])
-@@ -231,7 +231,7 @@
- def test_template(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('CFLAGS', config)
-- self.assertEquals(config['CFLAGS'], ['-Werror=foobar'])
-+ self.assertEqual(config['CFLAGS'], ['-Werror=foobar'])
-
- config = self.get_config(env={'CC': 'clang'})
- self.assertNotIn('CFLAGS', config)
-@@ -288,7 +288,7 @@
- sandbox
- )
-
-- import __builtin__
-+ import builtins
- self.assertIs(sandbox['foo'](), __builtin__)
-
- exec_(textwrap.dedent('''
-@@ -300,7 +300,7 @@
- )
-
- f = sandbox['foo']()
-- self.assertEquals(f.name, os.devnull)
-+ self.assertEqual(f.name, os.devnull)
- f.close()
-
- # This unlocks the sandbox
-@@ -336,8 +336,8 @@
- self.assertIs(sandbox['foo'](), sandbox)
-
- # Nothing leaked from the function being executed
-- self.assertEquals(sandbox.keys(), ['__builtins__', 'foo'])
-- self.assertEquals(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-+ self.assertEqual(list(sandbox.keys()), ['__builtins__', 'foo'])
-+ self.assertEqual(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-
- exec_(textwrap.dedent('''
- @template
-@@ -354,7 +354,7 @@
- with self.assertRaises(NameError) as e:
- sandbox._depends[sandbox['bar']].result
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "global name 'sys' is not defined")
-
- def test_apply_imports(self):
-@@ -380,28 +380,28 @@
- sandbox
- )
-
-- self.assertEquals(len(imports), 1)
-+ self.assertEqual(len(imports), 1)
-
- def test_os_path(self):
- config = self.get_config(['--with-imports=%s' % __file__])
- self.assertIn('HAS_ABSPATH', config)
-- self.assertEquals(config['HAS_ABSPATH'], True)
-+ self.assertEqual(config['HAS_ABSPATH'], True)
- self.assertIn('HAS_GETATIME', config)
-- self.assertEquals(config['HAS_GETATIME'], True)
-+ self.assertEqual(config['HAS_GETATIME'], True)
- self.assertIn('HAS_GETATIME2', config)
-- self.assertEquals(config['HAS_GETATIME2'], False)
-+ self.assertEqual(config['HAS_GETATIME2'], False)
-
- def test_template_call(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('TEMPLATE_VALUE', config)
-- self.assertEquals(config['TEMPLATE_VALUE'], 42)
-+ self.assertEqual(config['TEMPLATE_VALUE'], 42)
- self.assertIn('TEMPLATE_VALUE_2', config)
-- self.assertEquals(config['TEMPLATE_VALUE_2'], 21)
-+ self.assertEqual(config['TEMPLATE_VALUE_2'], 21)
-
- def test_template_imports(self):
- config = self.get_config(['--enable-imports-in-template'])
- self.assertIn('PLATFORM', config)
-- self.assertEquals(config['PLATFORM'], sys.platform)
-+ self.assertEqual(config['PLATFORM'], sys.platform)
-
- def test_decorators(self):
- config = {}
-@@ -419,27 +419,27 @@
- return self.get_config(*args, configure='set_config.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config)
-- self.assertEquals(config['FOO'], True)
-+ self.assertEqual(config['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config)
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], True)
-+ self.assertEqual(config['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config)
-- self.assertEquals(config['VALUE'], 'qux')
-+ self.assertEqual(config['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config)
-- self.assertEquals(config['hoge'], True)
-+ self.assertEqual(config['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config, {'BAR': False})
-+ self.assertEqual(config, {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -454,11 +454,11 @@
- set_config('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -468,27 +468,27 @@
- return self.get_config(*args, configure='set_define.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {'DEFINES': {}})
-+ self.assertEqual(config, {'DEFINES': {}})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['FOO'], True)
-+ self.assertEqual(config['DEFINES']['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config['DEFINES'])
- self.assertIn('BAR', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['BAR'], True)
-+ self.assertEqual(config['DEFINES']['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['VALUE'], 'qux')
-+ self.assertEqual(config['DEFINES']['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['hoge'], True)
-+ self.assertEqual(config['DEFINES']['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config['DEFINES'], {'BAR': False})
-+ self.assertEqual(config['DEFINES'], {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -503,11 +503,11 @@
- set_define('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -518,19 +518,19 @@
- *args, configure='imply_option/simple.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue())
-+ self.assertEqual(config['BAR'], PositiveOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -541,31 +541,31 @@
- *args, configure='imply_option/negative.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--enable-foo' conflicts with "
- "'--enable-bar' from the command-line")
-
- config = get_config(['--disable-hoge'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--disable-hoge', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--disable-hoge' conflicts with "
- "'--enable-bar' from the command-line")
-@@ -576,23 +576,23 @@
- *args, configure='imply_option/values.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo=a'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a',)))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a',)))
-
- config = get_config(['--enable-foo=a,b'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a','b')))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a','b')))
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo=a,b', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar=a,b' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -603,15 +603,15 @@
- *args, configure='imply_option/infer.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -619,7 +619,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config([], configure='imply_option/infer_ko.configure')
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "Cannot infer what implies '--enable-bar'. Please add a `reason` "
- "to the `imply_option` call.")
-@@ -630,25 +630,25 @@
- *args, configure='imply_option/imm.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config_path = mozpath.abspath(
- mozpath.join(test_data_path, 'imply_option', 'imm.configure'))
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-foo' implied by 'imply_option at %s:7' conflicts with "
- "'--disable-foo' from the command-line" % config_path):
- get_config(['--disable-foo'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-bar=foo,bar' implied by 'imply_option at %s:16' conflicts"
- " with '--enable-bar=a,b,c' from the command-line" % config_path):
- get_config(['--enable-bar=a,b,c'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-baz=BAZ' implied by 'imply_option at %s:25' conflicts"
- " with '--enable-baz=QUUX' from the command-line" % config_path):
- get_config(['--enable-baz=QUUX'])
-@@ -660,7 +660,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`--with-foo`, emitted from `%s` line 2, is unknown."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -675,7 +675,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- def test_imply_option_when(self):
-@@ -686,12 +686,12 @@
- set_config('QUX', depends('--with-qux')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': PositiveOptionValue(),
- })
-
-@@ -700,7 +700,7 @@
- with self.moz_configure('option("--with-foo", help="foo")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` is not handled ; reference it with a @depends'
- )
-@@ -712,7 +712,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -724,7 +724,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -736,7 +736,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -748,7 +748,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -760,7 +760,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -776,18 +776,18 @@
- set_config('QUX', depends('--with-qux', when='--with-foo')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo', '--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': PositiveOptionValue(),
- })
-@@ -795,7 +795,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-bar is not available in this configuration'
- )
-@@ -803,7 +803,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-@@ -811,18 +811,18 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['QUX=1'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'QUX is not available in this configuration'
- )
-
- config = self.get_config(env={'QUX': '1'})
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- help, config = self.get_config(['--help'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -833,7 +833,7 @@
- '''))
-
- help, config = self.get_config(['--help', '--with-foo'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -851,7 +851,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -868,7 +868,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -877,7 +877,7 @@
- with self.moz_configure('include("../foo.configure")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it is not in a subdirectory of `%s`'
- % (mozpath.normpath(mozpath.join(test_data_path, '..',
-@@ -892,7 +892,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it was included already.'
- % mozpath.normpath(mozpath.join(test_data_path,
-@@ -905,7 +905,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- def test_include_when(self):
- with MockedOpen({
-@@ -948,26 +948,26 @@
- '''),
- }):
- config = self.get_config()
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-bar'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'BAR': 'bar',
- })
-
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-
- config = self.get_config(['--with-foo', '--with-foo-really'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'FOO2': True,
- })
-@@ -979,7 +979,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, 'Cannot reassign builtins')
-+ self.assertEqual(e.exception.message, 'Cannot reassign builtins')
-
- with self.assertRaises(KeyError) as e:
- with self.moz_configure('''
-@@ -987,7 +987,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot assign `foo` because it is neither a '
- '@depends nor a @template')
-
-@@ -1000,7 +1000,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "@depends needs at least one argument")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1011,7 +1011,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'--with-foo' is not a known option. Maybe it's "
- "declared too late?")
-
-@@ -1023,7 +1023,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Option must not contain an '='")
-
- with self.assertRaises(TypeError) as e:
-@@ -1034,7 +1034,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot use object of type 'int' as argument "
- "to @depends")
-
-@@ -1046,7 +1046,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot decorate generator functions with @depends")
-
- with self.assertRaises(TypeError) as e:
-@@ -1055,7 +1055,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1069,7 +1069,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `foo` function may not be called")
-
- with self.assertRaises(TypeError) as e:
-@@ -1080,7 +1080,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "depends_impl() got an unexpected keyword argument 'foo'")
-
- def test_depends_when(self):
-@@ -1105,12 +1105,12 @@
- set_config('QUX', qux)
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
-
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -1125,7 +1125,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @template')
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1138,7 +1138,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @depends')
-
- for import_ in (
-@@ -1155,7 +1155,7 @@
- ''' % import_):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(TypeError) as e:
- with self.moz_configure('''
-@@ -1166,7 +1166,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(ValueError) as e:
- with self.moz_configure('''
-@@ -1176,7 +1176,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Invalid argument to @imports: 'os*'")
-
- def test_only_when(self):
-@@ -1231,7 +1231,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--foo'])
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # Cannot depend on an option defined in a only_when block, because we
-@@ -1242,7 +1242,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -1259,7 +1259,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # And similarly doesn't fail when the condition is true.
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_lint.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_lint.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import os
- import textwrap
- import unittest
-@@ -62,7 +62,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -85,7 +85,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -111,7 +111,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- # There is a default restricted `os` module when there is no explicit
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_moz_configure.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_moz_configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -23,10 +23,10 @@
- shell = mozpath.abspath('/bin/sh')
- return result.replace('CONFIG_SHELL=%s ' % shell, '')
-
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser']))
-
-- self.assertEquals('--enable-application=browser '
-+ self.assertEqual('--enable-application=browser '
- 'MOZ_PROFILING=1',
- get_value_for(['--enable-application=browser',
- 'MOZ_PROFILING=1']))
-@@ -35,25 +35,25 @@
- environ={'MOZ_PROFILING': '1'},
- mozconfig='ac_add_options --enable-project=js')
-
-- self.assertEquals('--enable-project=js MOZ_PROFILING=1',
-+ self.assertEqual('--enable-project=js MOZ_PROFILING=1',
- value)
-
- # --disable-js-shell is the default, so it's filtered out.
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser',
- '--disable-js-shell']))
-
- # Normally, --without-foo would be filtered out because that's the
- # default, but since it is a (fake) old-configure option, it always
- # appears.
-- self.assertEquals('--enable-application=browser --without-foo',
-+ self.assertEqual('--enable-application=browser --without-foo',
- get_value_for(['--enable-application=browser',
- '--without-foo']))
-- self.assertEquals('--enable-application=browser --with-foo',
-+ self.assertEqual('--enable-application=browser --with-foo',
- get_value_for(['--enable-application=browser',
- '--with-foo']))
-
-- self.assertEquals("--enable-application=browser '--with-foo=foo bar'",
-+ self.assertEqual("--enable-application=browser '--with-foo=foo bar'",
- get_value_for(['--enable-application=browser',
- '--with-foo=foo bar']))
-
-@@ -65,7 +65,7 @@
- self.version = version
-
- def __call__(self, stdin, args):
-- this.assertEquals(args, ('-version',))
-+ this.assertEqual(args, ('-version',))
- return 0, self.version, ''
-
- def check_nsis_version(version):
-@@ -80,13 +80,13 @@
- with self.assertRaises(SystemExit) as e:
- check_nsis_version('v3.0a2')
-
-- self.assertEquals(check_nsis_version('v3.0b1'), '3.0b1')
-- self.assertEquals(check_nsis_version('v3.0b2'), '3.0b2')
-- self.assertEquals(check_nsis_version('v3.0rc1'), '3.0rc1')
-- self.assertEquals(check_nsis_version('v3.0'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0-2'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0.1'), '3.0')
-- self.assertEquals(check_nsis_version('v3.1'), '3.1')
-+ self.assertEqual(check_nsis_version('v3.0b1'), '3.0b1')
-+ self.assertEqual(check_nsis_version('v3.0b2'), '3.0b2')
-+ self.assertEqual(check_nsis_version('v3.0rc1'), '3.0rc1')
-+ self.assertEqual(check_nsis_version('v3.0'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0-2'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0.1'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.1'), '3.1')
-
-
- if __name__ == '__main__':
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_options.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_options.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import unittest
-
-@@ -27,139 +27,139 @@
- class TestOption(unittest.TestCase):
- def test_option(self):
- option = Option('--option')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--enable-option')
-- self.assertEquals(option.prefix, 'enable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'enable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--disable-option')
-- self.assertEquals(option.prefix, 'disable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'disable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--with-option')
-- self.assertEquals(option.prefix, 'with')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'with')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--without-option')
-- self.assertEquals(option.prefix, 'without')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'without')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--without-option-foo', env='MOZ_OPTION')
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.env, 'MOZ_OPTION')
-
- option = Option(env='MOZ_OPTION')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, None)
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, None)
-+ self.assertEqual(option.env, 'MOZ_OPTION')
- self.assertFalse(option.default)
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=0, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='?', default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # --disable options with a nargs value that requires at least one
- # argument need to be given a default.
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # Test nargs inference from default value
- option = Option('--with-foo', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- option = Option(env='FOO', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- def test_option_option(self):
- for option in (
-@@ -169,70 +169,70 @@
- '--with-option',
- '--without-option',
- ):
-- self.assertEquals(Option(option).option, option)
-- self.assertEquals(Option(option, env='FOO').option, option)
-+ self.assertEqual(Option(option).option, option)
-+ self.assertEqual(Option(option, env='FOO').option, option)
-
- opt = Option(option, default=False)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-disable-', '-enable-')
- .replace('-without-', '-with-'))
-
- opt = Option(option, default=True)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-enable-', '-disable-')
- .replace('-with-', '-without-'))
-
-- self.assertEquals(Option(env='FOO').option, 'FOO')
-+ self.assertEqual(Option(env='FOO').option, 'FOO')
-
- def test_option_choices(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=3, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Not enough `choices` for `nargs`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs=1, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs='+', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default='c', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('a', 'c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- option = Option('--with-option', nargs='+', choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- option = Option('--without-option', nargs='*', default='a',
- choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- # Test nargs inference from choices
- option = Option('--with-option', choices=('a', 'b'))
-@@ -243,71 +243,71 @@
- choices=('a', 'b', 'c', 'd'))
-
- value = option.get_value('--with-option=+d')
-- self.assertEquals(PositiveOptionValue(('b', 'c', 'd')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c', 'd')), value)
-
- value = option.get_value('--with-option=-b')
-- self.assertEquals(PositiveOptionValue(('c',)), value)
-+ self.assertEqual(PositiveOptionValue(('c',)), value)
-
- value = option.get_value('--with-option=-b,+d')
-- self.assertEquals(PositiveOptionValue(('c','d')), value)
-+ self.assertEqual(PositiveOptionValue(('c','d')), value)
-
- # Adding something that is in the default is fine
- value = option.get_value('--with-option=+b')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- # Removing something that is not in the default is fine, as long as it
- # is one of the choices
- value = option.get_value('--with-option=-a')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=-e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- # Other "not a choice" errors.
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=+e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- def test_option_value_format(self):
- val = PositiveOptionValue()
-- self.assertEquals('--with-value', val.format('--with-value'))
-- self.assertEquals('--with-value', val.format('--without-value'))
-- self.assertEquals('--enable-value', val.format('--enable-value'))
-- self.assertEquals('--enable-value', val.format('--disable-value'))
-- self.assertEquals('--value', val.format('--value'))
-- self.assertEquals('VALUE=1', val.format('VALUE'))
-+ self.assertEqual('--with-value', val.format('--with-value'))
-+ self.assertEqual('--with-value', val.format('--without-value'))
-+ self.assertEqual('--enable-value', val.format('--enable-value'))
-+ self.assertEqual('--enable-value', val.format('--disable-value'))
-+ self.assertEqual('--value', val.format('--value'))
-+ self.assertEqual('VALUE=1', val.format('VALUE'))
-
- val = PositiveOptionValue(('a',))
-- self.assertEquals('--with-value=a', val.format('--with-value'))
-- self.assertEquals('--with-value=a', val.format('--without-value'))
-- self.assertEquals('--enable-value=a', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a', val.format('--disable-value'))
-- self.assertEquals('--value=a', val.format('--value'))
-- self.assertEquals('VALUE=a', val.format('VALUE'))
-+ self.assertEqual('--with-value=a', val.format('--with-value'))
-+ self.assertEqual('--with-value=a', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a', val.format('--disable-value'))
-+ self.assertEqual('--value=a', val.format('--value'))
-+ self.assertEqual('VALUE=a', val.format('VALUE'))
-
- val = PositiveOptionValue(('a', 'b'))
-- self.assertEquals('--with-value=a,b', val.format('--with-value'))
-- self.assertEquals('--with-value=a,b', val.format('--without-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--disable-value'))
-- self.assertEquals('--value=a,b', val.format('--value'))
-- self.assertEquals('VALUE=a,b', val.format('VALUE'))
-+ self.assertEqual('--with-value=a,b', val.format('--with-value'))
-+ self.assertEqual('--with-value=a,b', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--disable-value'))
-+ self.assertEqual('--value=a,b', val.format('--value'))
-+ self.assertEqual('VALUE=a,b', val.format('VALUE'))
-
- val = NegativeOptionValue()
-- self.assertEquals('--without-value', val.format('--with-value'))
-- self.assertEquals('--without-value', val.format('--without-value'))
-- self.assertEquals('--disable-value', val.format('--enable-value'))
-- self.assertEquals('--disable-value', val.format('--disable-value'))
-- self.assertEquals('', val.format('--value'))
-- self.assertEquals('VALUE=', val.format('VALUE'))
-+ self.assertEqual('--without-value', val.format('--with-value'))
-+ self.assertEqual('--without-value', val.format('--without-value'))
-+ self.assertEqual('--disable-value', val.format('--enable-value'))
-+ self.assertEqual('--disable-value', val.format('--disable-value'))
-+ self.assertEqual('', val.format('--value'))
-+ self.assertEqual('VALUE=', val.format('VALUE'))
-
- def test_option_value(self, name='option', nargs=0, default=None):
- disabled = name.startswith(('disable-', 'without-'))
-@@ -324,28 +324,28 @@
-
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 value' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 2 values' % name)
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- with self.assertRaises(AssertionError):
- value = option.get_value('MOZ_OPTION=', 'environment')
-@@ -358,47 +358,47 @@
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=foo' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (2, '*', '+') and not disabled:
- value = option.get_value('--%s=foo,bar' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo,bar' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 0 or 1 values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
-@@ -406,59 +406,59 @@
- default=default)
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- with self.assertRaises(AssertionError):
-@@ -466,26 +466,26 @@
-
- if nargs in (1, '?', '*', '+'):
- value = option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -497,26 +497,26 @@
- env_option.get_value('--%s' % name)
-
- value = env_option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = env_option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, negOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, negOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, posOptionValue())
-+ self.assertEqual(value, posOptionValue())
- self.assertTrue(value)
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- with self.assertRaises(AssertionError) as e:
- env_option.get_value('--%s' % name)
-@@ -526,26 +526,26 @@
-
- if nargs in (1, '?', '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -557,28 +557,28 @@
- default=default)
-
- value = option.get_value('--%s-option' % disable, 'option')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'option')
-
- option = self.test_option_value('%s-option' % disable, nargs=nargs,
- default=default)
-
- if nargs in (0, '?', '*'):
- value = option.get_value('--%s-option' % enable, 'option')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s-option' % enable, 'option')
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 value' % enable)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 or more values'
- % enable)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 2 values' % enable)
-
- def test_option_value_with(self):
-@@ -587,12 +587,12 @@
- def test_option_value_invalid_nargs(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='foo')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=-2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- def test_option_value_nargs_1(self):
-@@ -603,7 +603,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_2(self):
-@@ -614,7 +614,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_0_or_1(self):
-@@ -641,7 +641,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
-
-@@ -649,109 +649,109 @@
- def test_basic(self):
- helper = CommandLineHelper({}, ['cmd', '--foo', '--bar'])
-
-- self.assertEquals(['--foo', '--bar'], list(helper))
-+ self.assertEqual(['--foo', '--bar'], list(helper))
-
- helper.add('--enable-qux')
-
-- self.assertEquals(['--foo', '--bar', '--enable-qux'], list(helper))
-+ self.assertEqual(['--foo', '--bar', '--enable-qux'], list(helper))
-
- value, option = helper.handle(Option('--bar'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('--bar', option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('--bar', option)
-
- value, option = helper.handle(Option('--baz'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals(None, option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual(None, option)
-
- def test_precedence(self):
- foo = Option('--with-foo', nargs='*')
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b',
- '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo',
- '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-bar=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-bar'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b', 'FOO='])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo', 'FOO=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=a,b', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- def test_extra_args(self):
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Adding conflicting options is not allowed.
- helper = CommandLineHelper({}, ['cmd'])
-@@ -771,9 +771,9 @@
- # But adding the same is allowed.
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- # The same rule as above applies when using the option form vs. the
- # variable form. But we can't detect it when .add is called.
-@@ -799,9 +799,9 @@
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Conflicts are also not allowed against what is in the
- # environment/on the command line.
-@@ -831,19 +831,19 @@
- foo = Option('--foo',
- possible_origins=('command-line',))
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--foo', option)
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--foo', option)
-
- bar = Option('--bar',
- possible_origins=('mozconfig',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--bar can not be set by command-line. Values are accepted from: mozconfig"):
- helper.handle(bar)
-
- baz = Option(env='BAZ',
- possible_origins=('implied',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "BAZ=1 can not be set by environment. Values are accepted from: implied"):
- helper.handle(baz)
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py (refactored)
-@@ -2,12 +2,12 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
-
-@@ -291,9 +291,9 @@
- compiler = sandbox._value_for(sandbox[var])
- # Add var on both ends to make it clear which of the
- # variables is failing the test when that happens.
-- self.assertEquals((var, compiler), (var, result))
-+ self.assertEqual((var, compiler), (var, result))
- except SystemExit:
-- self.assertEquals((var, result),
-+ self.assertEqual((var, result),
- (var, self.out.getvalue().strip()))
- return
-
-@@ -471,7 +471,7 @@
- # We'll try gcc and clang, but since there is no gcc (gcc-x.y doesn't
- # count), find clang.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++')
- }
- self.do_toolchain_test(paths, {
-@@ -506,7 +506,7 @@
- # Even if there are gcc-x.y or clang-x.y compilers available, we
- # don't try them. This could be considered something to improve.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++', 'clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -687,7 +687,7 @@
- def test_not_gcc(self):
- # We won't pick GCC if it's the only thing available.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -851,7 +851,7 @@
- def test_clang_cl(self):
- # We'll pick clang-cl if msvc can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) != 'cl'
- }
- self.do_toolchain_test(paths, {
-@@ -862,7 +862,7 @@
- def test_gcc(self):
- # We'll pick GCC if msvc and clang-cl can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl')
- }
- self.do_toolchain_test(paths, {
-@@ -881,7 +881,7 @@
- def test_clang(self):
- # We'll pick clang if nothing else is found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl', 'gcc')
- }
- self.do_toolchain_test(paths, {
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import re
-@@ -10,7 +10,7 @@
- import unittest
-
- from fnmatch import fnmatch
--from StringIO import StringIO
-+from io import StringIO
- from textwrap import dedent
-
- from mozunit import (
-@@ -43,7 +43,7 @@
- # Hack around it enough that the configure tests work properly.
- context = self.context
- def normalize_numbers(value):
-- if isinstance(value, types.StringTypes):
-+ if isinstance(value, (str,)):
- if value[-1:] == 'L' and value[:-1].isdigit():
- value = int(value[:-1])
- return value
-@@ -53,7 +53,7 @@
- return self.HAS_FEATURE.sub(r'\1\2', expr)
- self.context = self.Context(
- (normalize_has_feature(k), normalize_numbers(v))
-- for k, v in context.iteritems()
-+ for k, v in context.items()
- )
- try:
- return Preprocessor.do_if(self, normalize_has_feature(expression),
-@@ -95,7 +95,7 @@
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals(pp.out.getvalue(), '1 . 2 . c "D"')
-+ self.assertEqual(pp.out.getvalue(), '1 . 2 . c "D"')
-
- def test_condition(self):
- pp = CompilerPreprocessor({
-@@ -125,7 +125,7 @@
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-+ self.assertEqual('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-
-
- class FakeCompiler(dict):
-@@ -164,9 +164,9 @@
- '''
- def __init__(self, *definitions):
- for definition in definitions:
-- if all(not isinstance(d, dict) for d in definition.itervalues()):
-+ if all(not isinstance(d, dict) for d in definition.values()):
- definition = {None: definition}
-- for key, value in definition.iteritems():
-+ for key, value in definition.items():
- self.setdefault(key, {}).update(value)
-
- def __call__(self, stdin, args):
-@@ -178,14 +178,14 @@
- pp = CompilerPreprocessor(self[None])
-
- def apply_defn(defn):
-- for k, v in defn.iteritems():
-+ for k, v in defn.items():
- if v is False:
- if k in pp.context:
- del pp.context[k]
- else:
- pp.context[k] = v
-
-- for glob, defn in self.iteritems():
-+ for glob, defn in self.items():
- if glob and not glob.startswith('-') and fnmatch(file, glob):
- apply_defn(defn)
-
-@@ -216,7 +216,7 @@
- 'A': '1',
- 'B': '2',
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-
- compiler = FakeCompiler({
-@@ -238,25 +238,25 @@
- 'B': '42',
- },
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', 'file']),
- (0, '1 2 foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', 'file']),
- (0, '1 B C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-foo', 'file']),
- (0, '1 bar foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-qux', 'file']),
- (0, '1 B bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', 'file.c']),
- (0, '1 42 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file.c']),
- (0, '1 bar bar', ''))
-
- def test_multiple_definitions(self):
-@@ -267,7 +267,7 @@
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -282,7 +282,7 @@
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -302,7 +302,7 @@
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -330,7 +330,7 @@
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -370,7 +370,7 @@
- def __add__(self, other):
- assert isinstance(other, dict)
- result = copy.deepcopy(self.__dict__)
-- for k, v in other.iteritems():
-+ for k, v in other.items():
- if k == 'flags':
- result.setdefault(k, []).extend(v)
- else:
-@@ -381,7 +381,7 @@
- class TestCompilerResult(unittest.TestCase):
- def test_compiler_result(self):
- result = CompilerResult()
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath(''),
- 'version': '',
-@@ -397,7 +397,7 @@
- language='C',
- flags=['-std=gnu99'],
- )
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -407,7 +407,7 @@
- })
-
- result2 = result + {'flags': ['-m32']}
-- self.assertEquals(result2.__dict__, {
-+ self.assertEqual(result2.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -416,14 +416,14 @@
- 'flags': ['-std=gnu99', '-m32'],
- })
- # Original flags are untouched.
-- self.assertEquals(result.flags, ['-std=gnu99'])
-+ self.assertEqual(result.flags, ['-std=gnu99'])
-
- result3 = result + {
- 'compiler': '/usr/bin/gcc-4.7',
- 'version': '4.7.3',
- 'flags': ['-m32'],
- }
-- self.assertEquals(result3.__dict__, {
-+ self.assertEqual(result3.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc-4.7'),
- 'version': '4.7.3',
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_util.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/configure/test_util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-@@ -11,7 +11,7 @@
- import unittest
- import sys
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -434,11 +434,11 @@
- except SystemExit as e:
- status = e.code
-
-- self.assertEquals(status, 0)
-+ self.assertEqual(status, 0)
- quote_char = "'"
- if getpreferredencoding().lower() == 'utf-8':
- quote_char = '\u00B4'.encode('utf-8')
-- self.assertEquals(out.getvalue().strip(), quote_char)
-+ self.assertEqual(out.getvalue().strip(), quote_char)
-
-
- class TestVersion(unittest.TestCase):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/controller/test_ccachestats.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/controller/test_ccachestats.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import unittest
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/controller/test_clobber.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/controller/test_clobber.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import shutil
- import tempfile
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_context.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_context.py (refactored)
-@@ -36,7 +36,7 @@
- 'baz': (dict, dict, ''),
- })
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- self.assertEqual(test['foo'], 0)
-
-@@ -84,12 +84,12 @@
- 'baz': (dict, list, ''),
- })
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- with self.assertRaises(ValueError):
- test.update(bar=True, foo={})
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- test.update(bar=True, foo=1)
-
-@@ -258,19 +258,19 @@
- self.assertEqual(lines[-1].strip(), '')
-
- def test_documentation_formatting(self):
-- for typ, inp, doc in VARIABLES.values():
-+ for typ, inp, doc in list(VARIABLES.values()):
- self._verify_doc(doc)
-
-- for attr, args, doc in FUNCTIONS.values():
-+ for attr, args, doc in list(FUNCTIONS.values()):
- self._verify_doc(doc)
-
-- for func, typ, doc in SPECIAL_VARIABLES.values():
-+ for func, typ, doc in list(SPECIAL_VARIABLES.values()):
- self._verify_doc(doc)
-
-- for name, cls in SUBCONTEXTS.items():
-+ for name, cls in list(SUBCONTEXTS.items()):
- self._verify_doc(cls.__doc__)
-
-- for name, v in cls.VARIABLES.items():
-+ for name, v in list(cls.VARIABLES.items()):
- self._verify_doc(v[2])
-
-
-@@ -631,7 +631,7 @@
- class TestTypedRecord(unittest.TestCase):
-
- def test_fields(self):
-- T = ContextDerivedTypedRecord(('field1', unicode),
-+ T = ContextDerivedTypedRecord(('field1', str),
- ('field2', list))
- inst = T(None)
- self.assertEqual(inst.field1, '')
-@@ -647,7 +647,7 @@
- inst.field3 = []
-
- def test_coercion(self):
-- T = ContextDerivedTypedRecord(('field1', unicode),
-+ T = ContextDerivedTypedRecord(('field1', str),
- ('field2', list))
- inst = T(None)
- inst.field1 = 3
-@@ -673,45 +673,45 @@
- def test_single_bug_component(self):
- c = Context({})
- f = Files(c, pattern='**')
-- f['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- files = {'moz.build': f}
- self.assertEqual(Files.aggregate(files), {
-- 'bug_component_counts': [((u'Product1', u'Component1'), 1)],
-- 'recommended_bug_component': (u'Product1', u'Component1'),
-+ 'bug_component_counts': [(('Product1', 'Component1'), 1)],
-+ 'recommended_bug_component': ('Product1', 'Component1'),
- })
-
- def test_multiple_bug_components(self):
- c = Context({})
- f1 = Files(c, pattern='**')
-- f1['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f1['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- f2 = Files(c, pattern='**')
-- f2['BUG_COMPONENT'] = (u'Product2', u'Component2')
-+ f2['BUG_COMPONENT'] = ('Product2', 'Component2')
-
- files = {'a': f1, 'b': f2, 'c': f1}
- self.assertEqual(Files.aggregate(files), {
- 'bug_component_counts': [
-- ((u'Product1', u'Component1'), 2),
-- ((u'Product2', u'Component2'), 1),
-+ (('Product1', 'Component1'), 2),
-+ (('Product2', 'Component2'), 1),
- ],
-- 'recommended_bug_component': (u'Product1', u'Component1'),
-+ 'recommended_bug_component': ('Product1', 'Component1'),
- })
-
- def test_no_recommended_bug_component(self):
- """If there is no clear count winner, we don't recommend a bug component."""
- c = Context({})
- f1 = Files(c, pattern='**')
-- f1['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f1['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- f2 = Files(c, pattern='**')
-- f2['BUG_COMPONENT'] = (u'Product2', u'Component2')
-+ f2['BUG_COMPONENT'] = ('Product2', 'Component2')
-
- files = {'a': f1, 'b': f2}
- self.assertEqual(Files.aggregate(files), {
- 'bug_component_counts': [
-- ((u'Product1', u'Component1'), 1),
-- ((u'Product2', u'Component2'), 1),
-+ (('Product1', 'Component1'), 1),
-+ (('Product2', 'Component2'), 1),
- ],
- 'recommended_bug_component': None,
- })
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_emitter.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_emitter.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -204,7 +204,7 @@
- def test_use_yasm(self):
- # When yasm is not available, this should raise.
- reader = self.reader('use-yasm')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'yasm is not available'):
- self.read_topsrcdir(reader)
-
-@@ -267,25 +267,25 @@
- o = objs[0]
- self.assertIsInstance(o, GeneratedFile)
- self.assertEqual(o.outputs, ('bar.c',))
-- self.assertRegexpMatches(o.script, 'script.py$')
-+ self.assertRegex(o.script, 'script.py$')
- self.assertEqual(o.method, 'make_bar')
- self.assertEqual(o.inputs, [])
-
- def test_generated_files_no_script(self):
- reader = self.reader('generated-files-no-script')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Script for generating bar.c does not exist'):
- self.read_topsrcdir(reader)
-
- def test_generated_files_no_inputs(self):
- reader = self.reader('generated-files-no-inputs')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Input for generating foo.c does not exist'):
- self.read_topsrcdir(reader)
-
- def test_generated_files_no_python_script(self):
- reader = self.reader('generated-files-no-python-script')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Script for generating bar.c does not end in .py'):
- self.read_topsrcdir(reader)
-
-@@ -314,7 +314,7 @@
- Missing files in EXPORTS is an error.
- '''
- reader = self.reader('exports-missing')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'File listed in EXPORTS does not exist:'):
- self.read_topsrcdir(reader)
-
-@@ -323,7 +323,7 @@
- An objdir file in EXPORTS that is not in GENERATED_FILES is an error.
- '''
- reader = self.reader('exports-missing-generated')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Objdir file listed in EXPORTS not in GENERATED_FILES:'):
- self.read_topsrcdir(reader)
-
-@@ -360,7 +360,7 @@
-
- def test_test_harness_files_root(self):
- reader = self.reader('test-harness-files-root')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cannot install files to the root of TEST_HARNESS_FILES'):
- self.read_topsrcdir(reader)
-
-@@ -413,14 +413,14 @@
- """A missing manifest file should result in an error."""
- reader = self.reader('test-manifest-missing-manifest')
-
-- with self.assertRaisesRegexp(BuildReaderError, 'IOError: Missing files'):
-+ with self.assertRaisesRegex(BuildReaderError, 'IOError: Missing files'):
- self.read_topsrcdir(reader)
-
- def test_empty_test_manifest_rejected(self):
- """A test manifest without any entries is rejected."""
- reader = self.reader('test-manifest-empty')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'Empty test manifest'):
- self.read_topsrcdir(reader)
-
-
-@@ -428,7 +428,7 @@
- """A test manifest with no tests but support-files is not supported."""
- reader = self.reader('test-manifest-just-support')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'Empty test manifest'):
- self.read_topsrcdir(reader)
-
- def test_test_manifest_dupe_support_files(self):
-@@ -437,7 +437,7 @@
- """
- reader = self.reader('test-manifest-dupes')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'bar.js appears multiple times '
-+ with self.assertRaisesRegex(SandboxValidationError, 'bar.js appears multiple times '
- 'in a test manifest under a support-files field, please omit the duplicate entry.'):
- self.read_topsrcdir(reader)
-
-@@ -454,7 +454,7 @@
- mozpath.join(o.install_prefix, "absolute-support.ini"),
- mozpath.join(o.install_prefix, "test_file.js"),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- @unittest.skip('Bug 1304316 - Items in the second set but not the first')
-@@ -481,7 +481,7 @@
- """A non-existent shared support file reference produces an error."""
- reader = self.reader('test-manifest-shared-missing')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'entry in support-files not present in the srcdir'):
- self.read_topsrcdir(reader)
-
-@@ -500,7 +500,7 @@
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/support.txt")),
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/test_foo.html")),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- def test_test_manifest_install_includes(self):
-@@ -518,7 +518,7 @@
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/mochitest.ini")),
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/test_foo.html")),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- def test_test_manifest_includes(self):
-@@ -541,7 +541,7 @@
- def test_python_unit_test_missing(self):
- """Missing files in PYTHON_UNIT_TESTS should raise."""
- reader = self.reader('test-python-unit-test-missing')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Path specified in PYTHON_UNIT_TESTS does not exist:'):
- self.read_topsrcdir(reader)
-
-@@ -635,7 +635,7 @@
- self.assertEqual(external_normalized, m.get('external', set()))
-
- self.assertEqual(len(o.installs), len(m['installs']))
-- for path in o.installs.keys():
-+ for path in list(o.installs.keys()):
- self.assertTrue(path.startswith(o.directory))
- relpath = path[len(o.directory)+1:]
-
-@@ -648,7 +648,7 @@
- def test_test_manifest_unmatched_generated(self):
- reader = self.reader('test-manifest-unmatched-generated')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'entry in generated-files not present elsewhere'):
- self.read_topsrcdir(reader),
-
-@@ -672,7 +672,7 @@
- """Missing test files should result in error."""
- reader = self.reader('test-manifest-missing-test-file')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'lists test that does not exist: test_missing.html'):
- self.read_topsrcdir(reader)
-
-@@ -680,7 +680,7 @@
- """Missing test files should result in error, even when the test list is not filtered."""
- reader = self.reader('test-manifest-missing-test-file-unfiltered')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'lists test that does not exist: missing.js'):
- self.read_topsrcdir(reader)
-
-@@ -794,20 +794,20 @@
- self.assertIsInstance(obj.path, Path)
-
- def test_jar_manifests_multiple_files(self):
-- with self.assertRaisesRegexp(SandboxValidationError, 'limited to one value'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'limited to one value'):
- reader = self.reader('jar-manifests-multiple-files')
- self.read_topsrcdir(reader)
-
- def test_xpidl_module_no_sources(self):
- """XPIDL_MODULE without XPIDL_SOURCES should be rejected."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'XPIDL_MODULE '
-+ with self.assertRaisesRegex(SandboxValidationError, 'XPIDL_MODULE '
- 'cannot be defined'):
- reader = self.reader('xpidl-module-no-sources')
- self.read_topsrcdir(reader)
-
- def test_missing_local_includes(self):
- """LOCAL_INCLUDES containing non-existent directories should be rejected."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'Path specified in '
-+ with self.assertRaisesRegex(SandboxValidationError, 'Path specified in '
- 'LOCAL_INCLUDES does not exist'):
- reader = self.reader('missing-local-includes')
- self.read_topsrcdir(reader)
-@@ -852,7 +852,7 @@
- '.S': ['g.S'],
- '.s': ['h.s', 'i.asm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -905,7 +905,7 @@
- '.S': ['g.S'],
- '.s': ['h.s', 'i.asm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -931,7 +931,7 @@
- '.c': ['d.c'],
- '.mm': ['e.mm', 'f.mm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -956,7 +956,7 @@
- '.mm': ['objc1.mm', 'objc2.mm'],
- '.c': ['c1.c', 'c2.c'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -982,7 +982,7 @@
- '.mm': ['objc1.mm', 'objc2.mm'],
- '.c': ['c1.c', 'c2.c'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -1005,11 +1005,11 @@
-
- expected = {'install.rdf', 'main.js'}
- for f in files:
-- self.assertTrue(unicode(f) in expected)
-+ self.assertTrue(str(f) in expected)
-
- def test_missing_final_target_pp_files(self):
- """Test that FINAL_TARGET_PP_FILES with missing files throws errors."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'File listed in '
-+ with self.assertRaisesRegex(SandboxValidationError, 'File listed in '
- 'FINAL_TARGET_PP_FILES does not exist'):
- reader = self.reader('dist-files-missing')
- self.read_topsrcdir(reader)
-@@ -1017,49 +1017,49 @@
- def test_final_target_pp_files_non_srcdir(self):
- '''Test that non-srcdir paths in FINAL_TARGET_PP_FILES throws errors.'''
- reader = self.reader('final-target-pp-files-non-srcdir')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Only source directory paths allowed in FINAL_TARGET_PP_FILES:'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_cargo_toml(self):
- '''Test that defining a RustLibrary without a Cargo.toml fails.'''
- reader = self.reader('rust-library-no-cargo-toml')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'No Cargo.toml file found'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_name_mismatch(self):
- '''Test that defining a RustLibrary that doesn't match Cargo.toml fails.'''
- reader = self.reader('rust-library-name-mismatch')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'library.*does not match Cargo.toml-defined package'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_lib_section(self):
- '''Test that a RustLibrary Cargo.toml with no [lib] section fails.'''
- reader = self.reader('rust-library-no-lib-section')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cargo.toml for.* has no \\[lib\\] section'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_profile_section(self):
- '''Test that a RustLibrary Cargo.toml with no [profile] section fails.'''
- reader = self.reader('rust-library-no-profile-section')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cargo.toml for.* has no \\[profile\\.dev\\] section'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_invalid_crate_type(self):
- '''Test that a RustLibrary Cargo.toml has a permitted crate-type.'''
- reader = self.reader('rust-library-invalid-crate-type')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'crate-type.* is not permitted'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_non_abort_panic(self):
- '''Test that a RustLibrary Cargo.toml has `panic = "abort" set'''
- reader = self.reader('rust-library-non-abort-panic')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'does not specify `panic = "abort"`'):
- self.read_topsrcdir(reader)
-
-@@ -1072,15 +1072,15 @@
- self.assertEqual(len(objs), 1)
- lib = objs[0]
- self.assertIsInstance(lib, RustLibrary)
-- self.assertRegexpMatches(lib.lib_name, "random_crate")
-- self.assertRegexpMatches(lib.import_name, "random_crate")
-- self.assertRegexpMatches(lib.basename, "random-crate")
-+ self.assertRegex(lib.lib_name, "random_crate")
-+ self.assertRegex(lib.import_name, "random_crate")
-+ self.assertRegex(lib.basename, "random-crate")
-
- def test_multiple_rust_libraries(self):
- '''Test that linking multiple Rust libraries throws an error'''
- reader = self.reader('multiple-rust-libraries',
- extra_substs=dict(RUST_TARGET='i686-pc-windows-msvc'))
-- with self.assertRaisesRegexp(LinkageMultipleRustLibrariesError,
-+ with self.assertRaisesRegex(LinkageMultipleRustLibrariesError,
- 'Cannot link multiple Rust libraries'):
- self.read_topsrcdir(reader)
-
-@@ -1107,7 +1107,7 @@
- mozpath.join(reader.config.topobjdir, 'dir2'),
- '/dir3',
- ]
-- self.assertEquals([p.full_path for p in objs[0].paths], expected)
-+ self.assertEqual([p.full_path for p in objs[0].paths], expected)
-
- def test_binary_components(self):
- """Test that IS_COMPONENT/NO_COMPONENTS_MANIFEST work properly."""
-@@ -1163,7 +1163,7 @@
- from GENERATED_FILES is an error.
- """
- reader = self.reader('test-symbols-file-objdir-missing-generated')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Objdir file specified in SYMBOLS_FILE not in GENERATED_FILES:'):
- self.read_topsrcdir(reader)
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_namespaces.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_namespaces.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import unittest
-
-@@ -29,7 +29,7 @@
-
- class Piyo(ContextDerivedValue):
- def __init__(self, context, value):
-- if not isinstance(value, unicode):
-+ if not isinstance(value, str):
- raise ValueError
- self.context = context
- self.value = value
-@@ -48,9 +48,9 @@
-
-
- VARIABLES = {
-- 'HOGE': (unicode, unicode, None),
-- 'FUGA': (Fuga, unicode, None),
-- 'PIYO': (Piyo, unicode, None),
-+ 'HOGE': (str, str, None),
-+ 'FUGA': (Fuga, str, None),
-+ 'PIYO': (Piyo, str, None),
- 'HOGERA': (ContextDerivedTypedList(Piyo, StrictOrderingOnAppendList),
- list, None),
- 'HOGEHOGE': (ContextDerivedTypedListWithItems(
-@@ -104,7 +104,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'HOGE')
- self.assertEqual(e[3], True)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- def test_key_checking(self):
- # Checking for existence of a key should not populate the key if it
-@@ -127,7 +127,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'FUGA')
- self.assertEqual(e[3], False)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- ns['FUGA'] = 'fuga'
- self.assertIsInstance(ns['FUGA'], Fuga)
-@@ -150,7 +150,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'PIYO')
- self.assertEqual(e[3], False)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- ns['PIYO'] = 'piyo'
- self.assertIsInstance(ns['PIYO'], Piyo)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_reader.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_reader.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import sys
-@@ -423,7 +423,7 @@
- 'simple/base.cpp',
- ])
-
-- for path, pattern_set in expected.items():
-+ for path, pattern_set in list(expected.items()):
- self.assertEqual(v[path].test_files,
- expected[path])
-
-@@ -438,7 +438,7 @@
- 'default/tests/reftests/**']),
- }
-
-- for path, pattern_set in expected.items():
-+ for path, pattern_set in list(expected.items()):
- self.assertEqual(v[path].test_files,
- expected[path])
-
-@@ -454,7 +454,7 @@
- 'tagged/src/bar.jsm': set(['tagged/**.js']),
- }
-
-- for path, pattern_set in expected_patterns.items():
-+ for path, pattern_set in list(expected_patterns.items()):
- self.assertEqual(v[path].test_files,
- expected_patterns[path])
-
-@@ -462,7 +462,7 @@
- 'tagged/src/submodule/foo.js': set(['submodule']),
- 'tagged/src/bar.jsm': set([]),
- }
-- for path, pattern_set in expected_tags.items():
-+ for path, pattern_set in list(expected_tags.items()):
- self.assertEqual(v[path].test_tags,
- expected_tags[path])
-
-@@ -470,7 +470,7 @@
- 'tagged/src/bar.jsm': set(['browser-chrome']),
- 'tagged/src/submodule/foo.js': set([]),
- }
-- for path, pattern_set in expected_flavors.items():
-+ for path, pattern_set in list(expected_flavors.items()):
- self.assertEqual(v[path].test_flavors,
- expected_flavors[path])
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_sandbox.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/test/frontend/test_sandbox.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import shutil
-@@ -345,7 +345,7 @@
- sandbox = MozbuildSandbox(Context(VARIABLES, config))
-
- self.assertEqual(sandbox['CONFIG']['BAD_UTF8'],
-- u'\ufffd\ufffd\ufffd\ufffd:')
-+ '\ufffd\ufffd\ufffd\ufffd:')
-
- def test_invalid_exports_set_base(self):
- sandbox = self.sandbox()
-@@ -525,7 +525,7 @@
- source = 'a = foo(1, 2)'
- sandbox.exec_source(source, 'foo.mozbuild')
-
-- self.assertEquals(sandbox['a'], (Foo, int))
-+ self.assertEqual(sandbox['a'], (Foo, int))
- finally:
- del FUNCTIONS['foo']
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/archive.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/archive.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import bz2
- import gzip
---- firefox-52.9.0esr/python/mozbuild/mozpack/copier.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/copier.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import stat
-@@ -109,7 +109,7 @@
- '''
- Return all paths stored in the container, in the order they were added.
- '''
-- return self._files.keys()
-+ return list(self._files.keys())
-
- def __len__(self):
- '''
-@@ -142,7 +142,7 @@
- for path, file in registry:
- (...)
- '''
-- return self._files.iteritems()
-+ return iter(self._files.items())
-
- def required_directories(self):
- '''
-@@ -151,7 +151,7 @@
- unspecified (virtual) root directory (and do not include said root
- directory).
- '''
-- return set(k for k, v in self._required_directories.items() if v > 0)
-+ return set(k for k, v in list(self._required_directories.items()) if v > 0)
-
-
- class FileRegistrySubtree(object):
-@@ -263,7 +263,7 @@
-
- Returns a FileCopyResult that details what changed.
- '''
-- assert isinstance(destination, basestring)
-+ assert isinstance(destination, str)
- assert not os.path.exists(destination) or os.path.isdir(destination)
-
- result = FileCopyResult()
-@@ -531,7 +531,7 @@
- def exists(self):
- return self.deflater is not None
-
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/errors.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/errors.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
- from contextlib import contextmanager
-@@ -97,7 +97,7 @@
- if self._count is None:
- raise ErrorMessage(msg)
- self._count += 1
-- print >>self.out, msg
-+ print(msg, file=self.out)
-
- def fatal(self, msg):
- self._handle(self.FATAL, msg)
---- firefox-52.9.0esr/python/mozbuild/mozpack/executables.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/executables.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import struct
---- firefox-52.9.0esr/python/mozbuild/mozpack/files.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/files.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import errno
- import os
-@@ -57,7 +57,7 @@
-
- def _copyfile(src, dest):
- # False indicates `dest` should be overwritten if it exists already.
-- if isinstance(src, unicode) and isinstance(dest, unicode):
-+ if isinstance(src, str) and isinstance(dest, str):
- _CopyFileW(src, dest, False)
- elif isinstance(src, str) and isinstance(dest, str):
- _CopyFileA(src, dest, False)
-@@ -145,13 +145,13 @@
- # - keep file type (e.g. S_IFREG)
- ret = stat.S_IFMT(mode)
- # - expand user read and execute permissions to everyone
-- if mode & 0400:
-- ret |= 0444
-- if mode & 0100:
-- ret |= 0111
-+ if mode & 0o400:
-+ ret |= 0o444
-+ if mode & 0o100:
-+ ret |= 0o111
- # - keep user write permissions
-- if mode & 0200:
-- ret |= 0200
-+ if mode & 0o200:
-+ ret |= 0o200
- # - leave away sticky bit, setuid, setgid
- return ret
-
-@@ -164,7 +164,7 @@
- disabled when skip_if_older is False.
- Returns whether a copy was actually performed (True) or not (False).
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -258,11 +258,11 @@
- '''
- def copy(self, dest, skip_if_older=True):
- real_dest = dest
-- if not isinstance(dest, basestring):
-+ if not isinstance(dest, str):
- fd, dest = mkstemp()
- os.close(fd)
- os.remove(dest)
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
- # If File.copy didn't actually copy because dest is newer, check the
- # file sizes. If dest is smaller, it means it is already stripped and
- # elfhacked, so we can skip.
-@@ -299,7 +299,7 @@
- File.__init__(self, path)
-
- def copy(self, dest, skip_if_older=True):
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
-
- # The logic in this function is complicated by the fact that symlinks
- # aren't universally supported. So, where symlinks aren't supported, we
-@@ -400,7 +400,7 @@
- self.required = required
-
- def copy(self, dest, skip_if_older=True):
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -432,7 +432,7 @@
- '''
- Invokes the preprocessor to create the destination file.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -563,7 +563,7 @@
- the individual XPTs to link.
- skip_if_older is ignored.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
-@@ -1014,7 +1014,7 @@
- from mozpack.copier import FileRegistry
- self.files = FileRegistry()
-
-- for base, finder in sorted(finders.iteritems()):
-+ for base, finder in sorted(finders.items()):
- if self.files.contains(base):
- self.files.remove(base)
- for p, f in finder.find(''):
---- firefox-52.9.0esr/python/mozbuild/mozpack/hg.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/hg.py (refactored)
-@@ -27,7 +27,7 @@
- # do not wish to do so, delete this exception statement from your
- # version.
-
--from __future__ import absolute_import
-+
-
- import mercurial.error as error
- import mercurial.hg as hg
-@@ -56,7 +56,7 @@
-
- Accepts a Mercurial localrepo and changectx instance.
- """
-- if isinstance(repo, (str, unicode)):
-+ if isinstance(repo, str):
- path = repo
- repo = hg.repository(hgui.ui(), repo)
- else:
-@@ -85,7 +85,7 @@
- return self._get(path)
-
- def _get(self, path):
-- if isinstance(path, unicode):
-+ if isinstance(path, str):
- path = path.encode('utf-8', 'replace')
-
- try:
---- firefox-52.9.0esr/python/mozbuild/mozpack/manifests.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/manifests.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from contextlib import contextmanager
- import json
---- firefox-52.9.0esr/python/mozbuild/mozpack/mozjar.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/mozjar.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from io import BytesIO
- import struct
-@@ -13,8 +13,9 @@
- ZIP_DEFLATED,
- )
- from collections import OrderedDict
--from urlparse import urlparse, ParseResult
-+from urllib.parse import urlparse, ParseResult
- import mozpack.path as mozpath
-+from functools import reduce
-
- JAR_STORED = ZIP_STORED
- JAR_DEFLATED = ZIP_DEFLATED
-@@ -68,7 +69,7 @@
- an instance with empty fields.
- '''
- assert self.MAGIC and isinstance(self.STRUCT, OrderedDict)
-- self.size_fields = set(t for t in self.STRUCT.itervalues()
-+ self.size_fields = set(t for t in self.STRUCT.values()
- if not t in JarStruct.TYPE_MAPPING)
- self._values = {}
- if data:
-@@ -90,7 +91,7 @@
- # For all fields used as other fields sizes, keep track of their value
- # separately.
- sizes = dict((t, 0) for t in self.size_fields)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- value, size = JarStruct.get_data(t, data[offset:])
- else:
-@@ -109,7 +110,7 @@
- Initialize an instance with empty fields.
- '''
- self.signature = self.MAGIC
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if name in self.size_fields:
- continue
- self._values[name] = 0 if t in JarStruct.TYPE_MAPPING else ''
-@@ -134,9 +135,9 @@
- from self.STRUCT.
- '''
- serialized = struct.pack('<I', self.signature)
-- sizes = dict((t, name) for name, t in self.STRUCT.iteritems()
-+ sizes = dict((t, name) for name, t in self.STRUCT.items()
- if not t in JarStruct.TYPE_MAPPING)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- format, size = JarStruct.TYPE_MAPPING[t]
- if name in sizes:
-@@ -155,7 +156,7 @@
- variable length fields.
- '''
- size = JarStruct.TYPE_MAPPING['uint32'][1]
-- for name, type in self.STRUCT.iteritems():
-+ for name, type in self.STRUCT.items():
- if type in JarStruct.TYPE_MAPPING:
- size += JarStruct.TYPE_MAPPING[type][1]
- else:
-@@ -176,7 +177,7 @@
- return key in self._values
-
- def __iter__(self):
-- return self._values.iteritems()
-+ return iter(self._values.items())
-
- def __repr__(self):
- return "<%s %s>" % (self.__class__.__name__,
-@@ -374,7 +375,7 @@
- preload = JarStruct.get_data('uint32', self._data)[0]
- entries = OrderedDict()
- offset = self._cdir_end['cdir_offset']
-- for e in xrange(self._cdir_end['cdir_entries']):
-+ for e in range(self._cdir_end['cdir_entries']):
- entry = JarCdirEntry(self._data[offset:])
- offset += entry.size
- # Creator host system. 0 is MSDOS, 3 is Unix
-@@ -385,7 +386,7 @@
- xattr = entry['external_attr']
- # Skip directories
- if (host == 0 and xattr & 0x10) or (host == 3 and
-- xattr & (040000 << 16)):
-+ xattr & (0o40000 << 16)):
- continue
- entries[entry['filename']] = entry
- if entry['offset'] < preload:
-@@ -436,7 +437,7 @@
- for file in jarReader:
- ...
- '''
-- for entry in self.entries.itervalues():
-+ for entry in self.entries.values():
- yield self._getreader(entry)
-
- def __getitem__(self, name):
-@@ -529,7 +530,7 @@
- headers = {}
- preload_size = 0
- # Prepare central directory entries
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- header = JarLocalFileHeader()
- for name in entry.STRUCT:
- if name in header:
-@@ -544,7 +545,7 @@
- end['disk_entries'] = len(self._contents)
- end['cdir_entries'] = end['disk_entries']
- end['cdir_size'] = reduce(lambda x, y: x + y[0].size,
-- self._contents.values(), 0)
-+ list(self._contents.values()), 0)
- # On optimized archives, store the preloaded size and the central
- # directory entries, followed by the first end of central directory.
- if self._optimize:
-@@ -553,18 +554,18 @@
- if preload_size:
- preload_size += offset
- self._data.write(struct.pack('<I', preload_size))
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- entry['offset'] += offset
- self._data.write(entry.serialize())
- self._data.write(end.serialize())
- # Store local file entries followed by compressed data
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- self._data.write(headers[entry].serialize())
- self._data.write(content)
- # On non optimized archives, store the central directory entries.
- if not self._optimize:
- end['cdir_offset'] = offset
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- self._data.write(entry.serialize())
- # Store the end of central directory.
- self._data.write(end.serialize())
-@@ -599,7 +600,7 @@
- deflater = data
- else:
- deflater = Deflater(compress, compress_level=self._compress_level)
-- if isinstance(data, basestring):
-+ if isinstance(data, str):
- deflater.write(data)
- elif hasattr(data, 'read'):
- if hasattr(data, 'seek'):
-@@ -615,7 +616,7 @@
- # Set creator host system (upper byte of creator_version)
- # to 3 (Unix) so mode is honored when there is one.
- entry['creator_version'] |= 3 << 8
-- entry['external_attr'] = (mode & 0xFFFF) << 16L
-+ entry['external_attr'] = (mode & 0xFFFF) << 16
- if deflater.compressed:
- entry['min_version'] = 20 # Version 2.0 supports deflated streams
- entry['general_flag'] = 2 # Max compression
---- firefox-52.9.0esr/python/mozbuild/mozpack/path.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/path.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import posixpath
- import os
---- firefox-52.9.0esr/python/mozbuild/mozpack/unify.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/unify.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozpack.files import (
- BaseFinder,
-@@ -73,7 +73,7 @@
- creating the instance.
- skip_if_older is ignored.
- '''
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
- tmpfiles = []
- try:
- for e in self._executables:
---- firefox-52.9.0esr/python/mozbuild/mozpack/chrome/flags.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/chrome/flags.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import re
- from distutils.version import LooseVersion
-@@ -250,7 +250,7 @@
- flags.match(application='foo', appversion='3.5') returns True
- flags.match(application='foo', appversion='3.0') returns False
- '''
-- for name, value in filter.iteritems():
-+ for name, value in filter.items():
- if not name in self:
- continue
- if not self[name].matches(value):
---- firefox-52.9.0esr/python/mozbuild/mozpack/chrome/manifest.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/chrome/manifest.py (refactored)
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import re
- import os
--from urlparse import urlparse
-+from urllib.parse import urlparse
- import mozpack.path as mozpath
- from mozpack.chrome.flags import Flags
- from mozpack.errors import errors
-@@ -321,7 +321,7 @@
- return self.serialize(self.contractID, self.cid)
-
- # All manifest classes by their type name.
--MANIFESTS_TYPES = dict([(c.type, c) for c in globals().values()
-+MANIFESTS_TYPES = dict([(c.type, c) for c in list(globals().values())
- if type(c) == type and issubclass(c, ManifestEntry)
- and hasattr(c, 'type') and c.type])
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/packager/__init__.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/packager/__init__.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozbuild.preprocessor import Preprocessor
- import re
-@@ -50,7 +50,7 @@
- '''
- Split [1, 2, 3, 4, 5, 6, 7] into [(1, 2, 3), (4, 5, 6)].
- '''
-- return zip(*[iter(lst)] * 3)
-+ return list(zip(*[iter(lst)] * 3))
-
- KEY_VALUE_RE = re.compile(r'''
- \s* # optional whitespace.
-@@ -118,7 +118,7 @@
- destdir = options.pop('destdir', '')
- if options:
- errors.fatal('Malformed manifest: options %s not recognized'
-- % options.keys())
-+ % list(options.keys()))
- return Component(name, destdir=destdir)
-
-
-@@ -328,7 +328,7 @@
-
- bases = self.get_bases()
- broken_bases = sorted(
-- m for m, includer in self._included_manifests.iteritems()
-+ m for m, includer in self._included_manifests.items()
- if mozpath.basedir(m, bases) != mozpath.basedir(includer, bases))
- for m in broken_bases:
- errors.fatal('"%s" is included from "%s", which is outside "%s"' %
---- firefox-52.9.0esr/python/mozbuild/mozpack/packager/formats.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/packager/formats.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozpack.chrome.manifest import (
- Manifest,
-@@ -11,7 +11,7 @@
- ManifestBinaryComponent,
- ManifestResource,
- )
--from urlparse import urlparse
-+from urllib.parse import urlparse
- import mozpack.path as mozpath
- from mozpack.files import (
- ManifestFile,
-@@ -89,7 +89,7 @@
- Return the deepest base directory containing the given path.
- '''
- self._frozen_bases = True
-- base = mozpath.basedir(path, self._sub_formatter.keys())
-+ base = mozpath.basedir(path, list(self._sub_formatter.keys()))
- relpath = mozpath.relpath(path, base) if base else path
- return base, relpath
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/packager/l10n.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/packager/l10n.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- '''
- Replace localized parts of a packaged directory with data from a langpack
-@@ -162,7 +162,7 @@
- if not path:
- continue
- else:
-- base = mozpath.basedir(p, paths.keys())
-+ base = mozpath.basedir(p, list(paths.keys()))
- if base:
- subpath = mozpath.relpath(p, base)
- path = mozpath.normpath(mozpath.join(paths[base],
-@@ -206,7 +206,7 @@
- formatter.add(p, f)
-
- # Transplant jar preloading information.
-- for path, log in app_finder.jarlogs.iteritems():
-+ for path, log in app_finder.jarlogs.items():
- assert isinstance(copier[path], Jarrer)
- copier[path].preload([l.replace(locale, l10n_locale) for l in log])
-
-@@ -237,7 +237,7 @@
- finders = {
- '': l10n_finder,
- }
-- for base, path in extra_l10n.iteritems():
-+ for base, path in extra_l10n.items():
- finders[base] = UnpackFinder(path)
- l10n_finder = ComposedFinder(finders)
- copier = FileCopier()
---- firefox-52.9.0esr/python/mozbuild/mozpack/packager/unpack.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/packager/unpack.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import mozpack.path as mozpath
- from mozpack.files import (
-@@ -27,7 +27,7 @@
- FlatFormatter,
- STARTUP_CACHE_PATHS,
- )
--from urlparse import urlparse
-+from urllib.parse import urlparse
-
-
- class UnpackFinder(BaseFinder):
-@@ -149,7 +149,7 @@
- if not any(f.compressed for f in jar):
- self.compressed = False
- if jar.last_preloaded:
-- jarlog = jar.entries.keys()
-+ jarlog = list(jar.entries.keys())
- self.jarlogs[path] = jarlog[:jarlog.index(jar.last_preloaded) + 1]
- return jar
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_archive.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_archive.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import hashlib
- import os
-@@ -69,7 +69,7 @@
- try:
- tp = os.path.join(d, 'test.tar')
- with open(tp, 'wb') as fh:
-- with self.assertRaisesRegexp(ValueError, 'not a regular'):
-+ with self.assertRaisesRegex(ValueError, 'not a regular'):
- create_tar_from_files(fh, {'test': d})
- finally:
- shutil.rmtree(d)
-@@ -89,9 +89,9 @@
-
- tp = os.path.join(d, 'test.tar')
- with open(tp, 'wb') as fh:
-- with self.assertRaisesRegexp(ValueError, 'cannot add file with setuid'):
-+ with self.assertRaisesRegex(ValueError, 'cannot add file with setuid'):
- create_tar_from_files(fh, {'test': uid})
-- with self.assertRaisesRegexp(ValueError, 'cannot add file with setuid'):
-+ with self.assertRaisesRegex(ValueError, 'cannot add file with setuid'):
- create_tar_from_files(fh, {'test': gid})
- finally:
- shutil.rmtree(d)
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_chrome_manifest.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_chrome_manifest.py (refactored)
-@@ -24,7 +24,7 @@
- parse_manifest_line,
- )
- from mozpack.errors import errors, AccumulatedErrors
--from test_errors import TestErrors
-+from .test_errors import TestErrors
-
-
- class TestManifest(unittest.TestCase):
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_copier.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_copier.py (refactored)
-@@ -127,7 +127,7 @@
- 'bar': [],
- }
- reg = FileRegistry()
-- for path, parts in cases.iteritems():
-+ for path, parts in cases.items():
- self.assertEqual(reg._partial_paths(path), parts)
-
- def test_file_registry(self):
-@@ -414,7 +414,7 @@
- self.assertTrue(stat.S_ISDIR(st.st_mode))
-
- # What's worse, we have no record that dest was created.
-- self.assertEquals(len(result.updated_files), 0)
-+ self.assertEqual(len(result.updated_files), 0)
-
- # But we do have an erroneous record of an optional file
- # existing when it does not.
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_errors.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_errors.py (refactored)
-@@ -10,7 +10,7 @@
- import unittest
- import mozunit
- import sys
--from cStringIO import StringIO
-+from io import StringIO
-
-
- class TestErrors(object):
-@@ -30,14 +30,14 @@
- errors.warn('foo')
- self.assertRaises(ErrorMessage, errors.error, 'foo')
- self.assertRaises(ErrorMessage, errors.fatal, 'foo')
-- self.assertEquals(self.get_output(), ['Warning: foo'])
-+ self.assertEqual(self.get_output(), ['Warning: foo'])
-
- def test_ignore_errors(self):
- errors.ignore_errors()
- errors.warn('foo')
- errors.error('bar')
- self.assertRaises(ErrorMessage, errors.fatal, 'foo')
-- self.assertEquals(self.get_output(), ['Warning: foo', 'Warning: bar'])
-+ self.assertEqual(self.get_output(), ['Warning: foo', 'Warning: bar'])
-
- def test_no_error(self):
- with errors.accumulate():
-@@ -47,14 +47,14 @@
- with self.assertRaises(AccumulatedErrors):
- with errors.accumulate():
- errors.error('1')
-- self.assertEquals(self.get_output(), ['Error: 1'])
-+ self.assertEqual(self.get_output(), ['Error: 1'])
-
- def test_error_loop(self):
- with self.assertRaises(AccumulatedErrors):
- with errors.accumulate():
- for i in range(3):
- errors.error('%d' % i)
-- self.assertEquals(self.get_output(),
-+ self.assertEqual(self.get_output(),
- ['Error: 0', 'Error: 1', 'Error: 2'])
-
- def test_multiple_errors(self):
-@@ -67,7 +67,7 @@
- else:
- errors.error('%d' % i)
- errors.error('bar')
-- self.assertEquals(self.get_output(),
-+ self.assertEqual(self.get_output(),
- ['Error: foo', 'Error: 0', 'Error: 1',
- 'Warning: 2', 'Error: bar'])
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_files.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_files.py (refactored)
-@@ -61,7 +61,7 @@
- import mozpack.path as mozpath
- from tempfile import mkdtemp
- from io import BytesIO
--from StringIO import StringIO
-+from io import StringIO
- from xpt import Typelib
-
-
-@@ -146,7 +146,7 @@
- dest.write('qux')
- self.assertEqual(dest.read(), 'qux')
-
--rand = ''.join(random.choice(string.letters) for i in xrange(131597))
-+rand = ''.join(random.choice(string.letters) for i in range(131597))
- samples = [
- '',
- 'test',
-@@ -268,7 +268,7 @@
- def test_absolute_relative(self):
- AbsoluteSymlinkFile('/foo')
-
-- with self.assertRaisesRegexp(ValueError, 'Symlink target not absolute'):
-+ with self.assertRaisesRegex(ValueError, 'Symlink target not absolute'):
- AbsoluteSymlinkFile('./foo')
-
- def test_symlink_file(self):
-@@ -477,7 +477,7 @@
-
- class TestExistingFile(TestWithTmpDir):
- def test_required_missing_dest(self):
-- with self.assertRaisesRegexp(ErrorMessage, 'Required existing file'):
-+ with self.assertRaisesRegex(ErrorMessage, 'Required existing file'):
- f = ExistingFile(required=True)
- f.copy(self.tmppath('dest'))
-
-@@ -566,7 +566,7 @@
- with JarWriter(src) as jar:
- for content in samples:
- name = ''.join(random.choice(string.letters)
-- for i in xrange(8))
-+ for i in range(8))
- jar.add(name, content, compress=True)
- contents[name] = content
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_manifests.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_manifests.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_mozjar.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_mozjar.py (refactored)
-@@ -16,8 +16,8 @@
- from mozpack.test.test_files import MockDest
- import unittest
- import mozunit
--from cStringIO import StringIO
--from urllib import pathname2url
-+from io import StringIO
-+from urllib.request import pathname2url
- import mozpack.path as mozpath
- import os
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_packager_formats.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_packager_formats.py (refactored)
-@@ -128,7 +128,7 @@
- 'foo': read_interfaces(foo2_xpt.open())['foo'],
- 'bar': read_interfaces(bar_xpt.open())['bar'],
- },
-- }.iteritems()
-+ }.items()
- })
-
- RESULT_JAR = {
-@@ -174,7 +174,7 @@
- },
- 'addon1.xpi': {
- mozpath.relpath(p, 'addon1'): f
-- for p, f in RESULT_FLAT.iteritems()
-+ for p, f in RESULT_FLAT.items()
- if p.startswith('addon1/')
- },
- })
-@@ -234,7 +234,7 @@
- CONTENTS_WITH_BASE = {
- 'bases': {
- mozpath.join('base/root', b) if b else 'base/root': a
-- for b, a in CONTENTS['bases'].iteritems()
-+ for b, a in CONTENTS['bases'].items()
- },
- 'manifests': [
- m.move(mozpath.join('base/root', m.base))
-@@ -242,7 +242,7 @@
- ],
- 'files': {
- mozpath.join('base/root', p): f
-- for p, f in CONTENTS['files'].iteritems()
-+ for p, f in CONTENTS['files'].items()
- },
- }
-
-@@ -255,7 +255,7 @@
- def result_with_base(results):
- result = {
- mozpath.join('base/root', p): v
-- for p, v in results.iteritems()
-+ for p, v in results.items()
- }
- result.update(EXTRA_CONTENTS)
- return result
-@@ -271,13 +271,13 @@
-
-
- def fill_formatter(formatter, contents):
-- for base, is_addon in contents['bases'].items():
-+ for base, is_addon in list(contents['bases'].items()):
- formatter.add_base(base, is_addon)
-
- for manifest in contents['manifests']:
- formatter.add_manifest(manifest)
-
-- for k, v in contents['files'].iteritems():
-+ for k, v in contents['files'].items():
- if k.endswith('.xpt'):
- formatter.add_interfaces(k, v)
- else:
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_packager_l10n.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_packager_l10n.py (refactored)
-@@ -4,7 +4,7 @@
-
- import unittest
- import mozunit
--from test_packager import MockFinder
-+from .test_packager import MockFinder
- from mozpack.packager import l10n
- from mozpack.files import (
- GeneratedFile,
-@@ -118,7 +118,7 @@
-
- self.assertEqual(
- dict((p, f.open().read()) for p, f in copier),
-- dict((p, f.open().read()) for p, f in repacked.iteritems())
-+ dict((p, f.open().read()) for p, f in repacked.items())
- )
-
-
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/test_unify.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/test_unify.py (refactored)
-@@ -13,7 +13,7 @@
- from mozpack.files import FileFinder
- from mozpack.mozjar import JarWriter
- from mozpack.test.test_files import MockDest
--from cStringIO import StringIO
-+from io import StringIO
- import os
- import sys
- from mozpack.errors import (
---- firefox-52.9.0esr/python/mozbuild/mozpack/test/support/minify_js_verify.py (original)
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/test/support/minify_js_verify.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
- import sys
-
-
---- firefox-52.9.0esr/build/moz.configure/keyfiles.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/keyfiles.configure 2018-07-10 07:57:16.030000000 +0000
-@@ -16,8 +16,8 @@
-
- @depends('--with-%s-keyfile' % name)
- @checking('for the %s key' % desc, lambda x: x and x is not no_key)
-- @imports(_from='__builtin__', _import='open')
-- @imports(_from='__builtin__', _import='IOError')
-+ @imports(_from='builtins', _import='open')
-+ @imports(_from='builtins', _import='IOError')
- def keyfile(value):
- if value:
- try:
---- firefox-52.9.0esr/build/moz.configure/windows.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/windows.configure 2018-07-10 07:57:25.210000000 +0000
-@@ -19,7 +19,7 @@
-
-
- @depends_win('--with-windows-version')
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def valid_windows_version(value):
- if not value:
- die('Cannot build with --without-windows-version')
-@@ -56,8 +56,8 @@
- # 8.1.
- @imports('os')
- @imports('re')
--@imports(_from='__builtin__', _import='sorted')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='sorted')
-+@imports(_from='builtins', _import='WindowsError')
- def get_sdk_dirs(sdk, subdir):
- def get_dirs_containing(sdk, stem, subdir):
- base = os.path.join(sdk, stem)
-@@ -102,7 +102,7 @@
- @depends_win(c_compiler, windows_sdk_dir, valid_windows_version,
- 'WINDOWSSDKDIR')
- @checking('for Windows SDK', valid_windows_sdk_dir_result)
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_from='textwrap', _import='dedent')
- def valid_windows_sdk_dir(compiler, windows_sdk_dir, target_version,
- windows_sdk_dir_env):
-@@ -179,7 +179,7 @@
- @depends_win(windows_sdk_dir, 'WINDOWSSDKDIR')
- @checking('for Universal CRT SDK', valid_ucrt_sdk_dir_result)
- @imports('os')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_import='mozpack.path', _as='mozpath')
- def valid_ucrt_sdk_dir(windows_sdk_dir, windows_sdk_dir_env):
- if windows_sdk_dir_env:
---- firefox-52.9.0esr/build/moz.configure/toolchain.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/toolchain.configure 2018-07-10 07:57:28.830000000 +0000
-@@ -395,7 +395,7 @@
-
-
- @imports(_from='collections', _import='defaultdict')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- def get_vc_paths(base):
- vc = defaultdict(lambda: defaultdict(dict))
- subkey = r'Microsoft\VisualStudio\VC\*\*\*\Compiler'
---- firefox-52.9.0esr/build/moz.configure/util.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/util.configure 2018-07-10 07:57:31.540000000 +0000
-@@ -234,7 +234,7 @@
- # ('19.0', 'x64', r'C:\...\amd64\cl.exe')
- # ('19.0', 'x86', r'C:\...\amd64_x86\cl.exe')
- @imports(_import='_winreg', _as='winreg')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='WindowsError')
- @imports(_from='fnmatch', _import='fnmatch')
- def get_registry_values(pattern):
- def enum_helper(func, key):
---- firefox-52.9.0esr/build/moz.configure/checks.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/checks.configure 2018-07-10 07:57:35.630000000 +0000
-@@ -12,7 +12,7 @@
- # _declare_exceptions template, and add it to the return statement. Then
- # destructure in the assignment below the function declaration.
- @template
--@imports(_from='__builtin__', _import='Exception')
-+@imports(_from='builtins', _import='Exception')
- def _declare_exceptions():
- class FatalCheckError(Exception):
- '''An exception to throw from a function decorated with @checking.
---- firefox-52.9.0esr/build/moz.configure/old.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/old.configure 2018-07-10 07:57:38.970000000 +0000
-@@ -61,8 +61,8 @@
-
- @depends('OLD_CONFIGURE', mozconfig, autoconf, check_build_environment, shell,
- old_configure_assignments, build_project)
--@imports(_from='__builtin__', _import='open')
--@imports(_from='__builtin__', _import='print')
-+@imports(_from='builtins', _import='open')
-+@imports(_from='builtins', _import='print')
- @imports('glob')
- @imports('itertools')
- @imports('subprocess')
-@@ -302,8 +302,8 @@
- '--enable-calendar',
- '--enable-incomplete-external-linkage',
- )
--@imports(_from='__builtin__', _import='compile')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='compile')
-+@imports(_from='builtins', _import='open')
- @imports('logging')
- @imports('os')
- @imports('subprocess')
---- firefox-52.9.0esr/build/moz.configure/android-ndk.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/android-ndk.configure 2018-07-10 07:57:41.120000000 +0000
-@@ -22,7 +22,7 @@
- default=min_android_version)
-
- @depends('--with-android-version', min_android_version)
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def android_version(value, min_version):
- if not value:
- # Someone has passed --without-android-version.
---- firefox-52.9.0esr/build/moz.configure/init.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/init.configure 2018-07-10 07:57:44.330000000 +0000
-@@ -636,7 +636,7 @@
- # - otherwise, if we have "a" in GRE_MILESTONE, we're building Nightly or Aurora
- # - otherwise, we're building Release/Beta (define RELEASE_OR_BETA)
- @depends(check_build_environment, '--help')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- def milestone(build_env, _):
- milestone_path = os.path.join(build_env.topsrcdir,
- 'config',
-diff -aur firefox-52.9.0esr/config/mozunit.py mozjs-fixed/config/mozunit.py
---- firefox-52.9.0esr/config/mozunit.py 2017-04-11 02:13:09.000000000 +0000
-+++ mozjs-fixed/config/mozunit.py 2018-07-10 08:19:37.770000000 +0000
-@@ -5,7 +5,7 @@
- from unittest import TextTestRunner as _TestRunner, TestResult as _TestResult
- import unittest
- import inspect
--from StringIO import StringIO
-+from io import StringIO
- import os
- import sys
-
-@@ -74,7 +74,7 @@
-
- def printFail(self, test, err):
- exctype, value, tb = err
-- message = value.message.splitlines()[0] if value.message else 'NO MESSAGE'
-+ message = str(value).splitlines()[0] if str(value) else 'NO MESSAGE'
- # Skip test runner traceback levels
- while tb and self._is_relevant_tb_level(tb):
- tb = tb.tb_next
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/backend/configenvironment.py mozjs-fixed/python/mozbuild/mozbuild/backend/configenvironment.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/configenvironment.py 2018-07-10 08:24:43.150000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/backend/configenvironment.py 2018-07-10 08:15:12.650000000 +0000
-@@ -8,7 +8,8 @@
- import sys
-
- from collections import Iterable
--from types import StringTypes, ModuleType
-+from types import ModuleType
-+StringTypes = (str,)
-
- import mozpack.path as mozpath
-
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/makeutil.py mozjs-fixed/python/mozbuild/mozbuild/makeutil.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/makeutil.py 2018-07-10 08:24:43.150000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/makeutil.py 2018-07-10 08:20:05.230000000 +0000
-@@ -6,7 +6,6 @@
-
- import os
- import re
--from types import StringTypes
- from collections import Iterable
-
-
-@@ -103,19 +102,19 @@
-
- def add_targets(self, targets):
- '''Add additional targets to the rule.'''
-- assert isinstance(targets, Iterable) and not isinstance(targets, StringTypes)
-+ assert isinstance(targets, Iterable) and not isinstance(targets, str)
- self._targets.update(targets)
- return self
-
- def add_dependencies(self, deps):
- '''Add dependencies to the rule.'''
-- assert isinstance(deps, Iterable) and not isinstance(deps, StringTypes)
-+ assert isinstance(deps, Iterable) and not isinstance(deps, str)
- self._dependencies.update(deps)
- return self
-
- def add_commands(self, commands):
- '''Add commands to the rule.'''
-- assert isinstance(commands, Iterable) and not isinstance(commands, StringTypes)
-+ assert isinstance(commands, Iterable) and not isinstance(commands, str)
- self._commands.extend(commands)
- return self
-
-diff -aur firefox-52.9.0esr/python/which/which.py mozjs-fixed/python/which/which.py
---- firefox-52.9.0esr/python/which/which.py 2017-04-11 02:13:24.000000000 +0000
-+++ mozjs-fixed/python/which/which.py 2018-07-10 08:11:01.570000000 +0000
-@@ -280,17 +280,17 @@
- try:
- optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:',
- ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts='])
-- except getopt.GetoptError, msg:
-+ except getopt.GetoptError as msg:
- sys.stderr.write("which: error: %s. Your invocation was: %s\n"\
- % (msg, argv))
- sys.stderr.write("Try 'which --help'.\n")
- return 1
- for opt, optarg in optlist:
- if opt in ('-h', '--help'):
-- print _cmdlnUsage
-+ print(_cmdlnUsage)
- return 0
- elif opt in ('-V', '--version'):
-- print "which %s" % __version__
-+ print("which %s" % __version__)
- return 0
- elif opt in ('-a', '--all'):
- all = 1
-@@ -318,9 +318,9 @@
- nmatches = 0
- for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts):
- if verbose:
-- print "%s (%s)" % match
-+ print("%s (%s)" % match)
- else:
-- print match
-+ print(match)
- nmatches += 1
- if not all:
- break
-diff -aur firefox-52.9.0esr/testing/mozbase/mozprocess/mozprocess/processhandler.py mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py
---- firefox-52.9.0esr/testing/mozbase/mozprocess/mozprocess/processhandler.py 2017-04-11 02:13:06.000000000 +0000
-+++ mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py 2018-07-10 08:13:15.440000000 +0000
-@@ -11,7 +11,7 @@
- import threading
- import time
- import traceback
--from Queue import Queue, Empty
-+from queue import Queue, Empty
- from datetime import datetime
-
- __all__ = ['ProcessHandlerMixin', 'ProcessHandler', 'LogOutput',
-@@ -121,14 +121,14 @@
- thread = threading.current_thread().name
- print("DBG::MOZPROC PID:{} ({}) | {}".format(self.pid, thread, msg))
-
-- def __del__(self, _maxint=sys.maxint):
-+ def __del__(self, _maxint=sys.maxsize):
- if isWin:
- handle = getattr(self, '_handle', None)
- if handle:
- if hasattr(self, '_internal_poll'):
- self._internal_poll(_deadstate=_maxint)
- else:
-- self.poll(_deadstate=sys.maxint)
-+ self.poll(_deadstate=sys.maxsize)
- if handle or self._job or self._io_port:
- self._cleanup()
- else:
-@@ -267,7 +267,7 @@
- if not (can_create_job or can_nest_jobs):
- # Since we've warned, we just log info here to inform you
- # of the consequence of setting ignore_children = True
-- print "ProcessManager NOT managing child processes"
-+ print("ProcessManager NOT managing child processes")
-
- # create the process
- hp, ht, pid, tid = winprocess.CreateProcess(
-@@ -534,11 +534,11 @@
-
- if rc == winprocess.WAIT_TIMEOUT:
- # The process isn't dead, so kill it
-- print "Timed out waiting for process to close, attempting TerminateProcess"
-+ print("Timed out waiting for process to close, attempting TerminateProcess")
- self.kill()
- elif rc == winprocess.WAIT_OBJECT_0:
- # We caught WAIT_OBJECT_0, which indicates all is well
-- print "Single process terminated successfully"
-+ print("Single process terminated successfully")
- self.returncode = winprocess.GetExitCodeProcess(self._handle)
- else:
- # An error occured we should probably throw
-diff -aur firefox-52.9.0esr/build/moz.configure/checks.configure mozjs-fixed/build/moz.configure/checks.configure
---- firefox-52.9.0esr/build/moz.configure/checks.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/checks.configure 2018-07-10 10:27:45.350000000 +0000
-@@ -52,7 +52,7 @@
- try:
- ret = func(*args, **kwargs)
- except FatalCheckError as e:
-- error = e.message
-+ error = str(e)
- display_ret = callback(ret) if callback else ret
- if display_ret is True:
- log.info('yes')
-diff -aur firefox-52.9.0esr/build/moz.configure/init.configure mozjs-fixed/build/moz.configure/init.configure
---- firefox-52.9.0esr/build/moz.configure/init.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/init.configure 2018-07-10 10:23:19.960000000 +0000
-@@ -213,7 +213,7 @@
- def early_options():
- return set(
- option.env
-- for option in __sandbox__._options.itervalues()
-+ for option in list(__sandbox__._options.values())
- if option.env
- )
- return early_options
-@@ -297,7 +297,7 @@
- # There is also a quartet form:
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
-- cpu, manufacturer, os = triplet.split('-', 2)
-+ cpu, manufacturer, os = triplet.decode('utf-8').split('-', 2)
-
- # Autoconf uses config.sub to validate and canonicalize those triplets,
- # but the granularity of its results has never been satisfying to our
-@@ -727,7 +727,7 @@
- def all_configure_options(_):
- result = []
- previous = None
-- for option in __sandbox__._options.itervalues():
-+ for option in list(__sandbox__._options.values()):
- # __sandbox__._options contains items for both option.name and
- # option.env. But it's also an OrderedDict, meaning both are
- # consecutive.
-diff -aur firefox-52.9.0esr/build/moz.configure/old.configure mozjs-fixed/build/moz.configure/old.configure
---- firefox-52.9.0esr/build/moz.configure/old.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/old.configure 2018-07-10 10:19:19.880000000 +0000
-@@ -360,7 +360,7 @@
- # Every variation of the exec() function I tried led to:
- # SyntaxError: unqualified exec is not allowed in function 'main' it
- # contains a nested function with free variables
-- exec code in raw_config
-+ exec(code, raw_config)
-
- # Ensure all the flags known to old-configure appear in the
- # @old_configure_options above.
-diff -aur firefox-52.9.0esr/build/moz.configure/toolchain.configure mozjs-fixed/build/moz.configure/toolchain.configure
---- firefox-52.9.0esr/build/moz.configure/toolchain.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/toolchain.configure 2018-07-10 10:28:13.020000000 +0000
-@@ -244,7 +244,7 @@
- ('CPU', CPU_preprocessor_checks),
- ('KERNEL', kernel_preprocessor_checks),
- ):
-- for n, (value, condition) in enumerate(preprocessor_checks.iteritems()):
-+ for n, (value, condition) in enumerate(preprocessor_checks.items()):
- check += dedent('''\
- #%(if)s %(condition)s
- %%%(name)s "%(value)s"
-@@ -278,9 +278,9 @@
- data = {}
- for line in result.splitlines():
- if line.startswith(b'%'):
-- k, _, v = line.partition(' ')
-- k = k.lstrip('%')
-- data[k] = v.replace(' ', '').lstrip('"').rstrip('"')
-+ k, _, v = line.partition(b' ')
-+ k = k.lstrip(b'%').decode('utf-8')
-+ data[k] = v.replace(b' ', b'').lstrip(b'"').rstrip(b'"').decode('utf-8')
- log.debug('%s = %s', k, data[k])
-
- try:
-diff -aur firefox-52.9.0esr/build/moz.configure/util.configure mozjs-fixed/build/moz.configure/util.configure
---- firefox-52.9.0esr/build/moz.configure/util.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/util.configure 2018-07-10 10:23:54.980000000 +0000
-@@ -299,6 +299,8 @@
- @imports(_from='mozbuild.configure.util', _import='Version', _as='_Version')
- def Version(v):
- 'A version number that can be compared usefully.'
-+ if isinstance(v, bytes):
-+ v = v.decode('utf-8')
- return _Version(v)
-
- # Denotes a deprecated option. Combines option() and @depends:
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/configure/__init__.py mozjs-fixed/python/mozbuild/mozbuild/configure/__init__.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/__init__.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/__init__.py 2018-07-10 10:24:33.200000000 +0000
-@@ -97,6 +97,9 @@
- ', '.join(repr(d) for d in self.dependencies),
- )
-
-+ def __hash__(self):
-+ return hash((str(self.func), tuple(self.dependencies), self.when))
-+
-
- class CombinedDependsFunction(DependsFunction):
- def __init__(self, sandbox, func, dependencies):
-@@ -142,6 +145,9 @@
- def __ne__(self, other):
- return not self == other
-
-+ def __hash__(self):
-+ return hash((str(self.func), tuple(self.dependencies)))
-+
- class SandboxedGlobal(dict):
- '''Identifiable dict type for use as function global'''
-
-@@ -192,7 +198,8 @@
- b: __builtins__[b]
- for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
- 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
-- 'hasattr', 'enumerate', 'range', 'zip')
-+ 'hasattr', 'enumerate', 'range', 'zip', '__build_class__',
-+ 'bytes', 'exec')
- }, __import__=forbidden_import, str=str)
-
- # Expose a limited set of functions from os.path
-@@ -267,7 +274,7 @@
- return method
- def wrapped(*args, **kwargs):
- out_args = [
-- arg.decode(encoding) if isinstance(arg, str) else arg
-+ arg.decode(encoding) if isinstance(arg, bytes) else arg
- for arg in args
- ]
- return method(*out_args, **kwargs)
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/configure/options.py mozjs-fixed/python/mozbuild/mozbuild/configure/options.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/options.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/options.py 2018-07-10 10:15:41.760000000 +0000
-@@ -65,6 +65,9 @@
- return '%s%s' % (self.__class__.__name__,
- super(OptionValue, self).__repr__())
-
-+ def __hash__(self):
-+ return hash(str(self))
-+
-
- class PositiveOptionValue(OptionValue):
- '''Represents the value for a positive option (--enable/--with/--foo)
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py mozjs-fixed/python/mozbuild/mozbuild/configure/util.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/util.py 2018-07-10 09:04:28.150000000 +0000
-@@ -200,7 +200,7 @@
- self._encoding = getpreferredencoding()
-
- def write(self, buf):
-- if self._encoding and isinstance(buf, str):
-+ if self._encoding and isinstance(buf, bytes):
- buf = buf.decode(self._encoding)
- lines = buf.splitlines()
- if not lines:
-diff -aur firefox-52.9.0esr/python/mozbuild/mozbuild/virtualenv.py mozjs-fixed/python/mozbuild/mozbuild/virtualenv.py
---- firefox-52.9.0esr/python/mozbuild/mozbuild/virtualenv.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/virtualenv.py 2018-07-10 10:11:47.710000000 +0000
-@@ -108,7 +108,7 @@
- """
- ver = subprocess.check_output([python, '-c', 'import sys; print(sys.hexversion)']).rstrip()
- with open(self.exe_info_path, 'w') as fh:
-- fh.write("%s\n" % ver)
-+ fh.write("%s\n" % ver.decode('utf-8'))
- fh.write("%s\n" % os.path.getsize(python))
-
- def up_to_date(self, python=sys.executable):
-@@ -207,7 +207,7 @@
- return self.virtualenv_root
-
- def packages(self):
-- with file(self.manifest_path, 'rU') as fh:
-+ with open(self.manifest_path, 'rU') as fh:
- packages = [line.rstrip().split(':')
- for line in fh]
- return packages
-@@ -530,9 +530,9 @@
-
- our = LooseVersion('%d.%d.%d' % (major, minor, micro))
-
-- if major != MINIMUM_PYTHON_MAJOR or our < MINIMUM_PYTHON_VERSION:
-- log_handle.write('Python %s or greater (but not Python 3) is '
-- 'required to build. ' % MINIMUM_PYTHON_VERSION)
-+ if our < MINIMUM_PYTHON_VERSION:
-+ log_handle.write('Python %s or greater is required to build. '
-+ % MINIMUM_PYTHON_VERSION)
- log_handle.write('You are running Python %s.\n' % our)
-
- if os.name in ('nt', 'ce'):
-diff -aur firefox-52.9.0esr/python/which/which.py mozjs-fixed/python/which/which.py
---- firefox-52.9.0esr/python/which/which.py 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/python/which/which.py 2018-07-10 10:20:16.770000000 +0000
-@@ -243,7 +243,7 @@
- If no match is found for the command, a WhichError is raised.
- """
- try:
-- match = whichgen(command, path, verbose, exts).next()
-+ match = next(whichgen(command, path, verbose, exts))
- except StopIteration:
- raise WhichError("Could not find '%s' on the path." % command)
- return match
---- firefox-52.9.0esr/build/moz.configure/old.configure.old 2018-07-10 10:32:48.550000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/old.configure 2018-07-10 10:35:32.440000000 +0000
-@@ -107,7 +107,7 @@
-
- # Make old-configure append to config.log, where we put our own log.
- # This could be done with a m4 macro, but it's way easier this way
-- script = script.replace('>./config.log', '>>./config.log')
-+ script = script.replace(b'>./config.log', b'>>./config.log')
-
- with open(old_configure, 'wb') as fh:
- fh.write(script)
---- firefox-52.9.0esr/build/subconfigure.py.old 2017-04-11 02:13:09.000000000 +0000
-+++ firefox-52.9.0esr/build/subconfigure.py 2018-07-10 10:38:08.910000000 +0000
-@@ -27,7 +27,7 @@
- return super(Pool, cls).__new__(cls)
-
- def imap_unordered(self, fn, iterable):
-- return itertools.imap(fn, iterable)
-+ return map(fn, iterable)
-
- def close(self):
- pass
-@@ -131,11 +131,11 @@
- is_set = cache.get('ac_cv_env_%s_set' % precious) == 'set'
- value = cache.get('ac_cv_env_%s_value' % precious) if is_set else None
- if value != env.get(precious):
-- print 'Removing %s because of %s value change from:' \
-- % (data['cache-file'], precious)
-- print ' %s' % (value if value is not None else 'undefined')
-- print 'to:'
-- print ' %s' % env.get(precious, 'undefined')
-+ print('Removing %s because of %s value change from:' \
-+ % (data['cache-file'], precious))
-+ print(' %s' % (value if value is not None else 'undefined'))
-+ print('to:')
-+ print(' %s' % env.get(precious, 'undefined'))
- os.remove(data['cache-file'])
- return True
- return False
-@@ -333,8 +333,8 @@
- # We're going to run it ourselves.
- command += ['--no-create']
-
-- print prefix_lines('configuring', relobjdir)
-- print prefix_lines('running %s' % ' '.join(command[:-1]), relobjdir)
-+ print(prefix_lines('configuring', relobjdir))
-+ print(prefix_lines('running %s' % ' '.join(command[:-1]), relobjdir))
- sys.stdout.flush()
- try:
- output += subprocess.check_output(command,
-@@ -368,7 +368,7 @@
-
- if not skip_config_status:
- if skip_configure:
-- print prefix_lines('running config.status', relobjdir)
-+ print(prefix_lines('running config.status', relobjdir))
- sys.stdout.flush()
- try:
- output += subprocess.check_output([data['shell'], '-c',
-@@ -410,7 +410,7 @@
- pool = Pool(len(subconfigures))
- for relobjdir, returncode, output in \
- pool.imap_unordered(run, subconfigures):
-- print prefix_lines(output, relobjdir)
-+ print(prefix_lines(output, relobjdir))
- sys.stdout.flush()
- ret = max(returncode, ret)
- if ret:
---- firefox-52.9.0esr/build/moz.configure/old.configure.old 2018-07-10 10:38:53.530000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/old.configure 2018-07-10 10:41:32.560000000 +0000
-@@ -394,7 +394,7 @@
- def post_old_configure(raw_config):
- for k, v in raw_config['substs']:
- set_old_configure_config(
-- k[1:-1], v[1:-1] if isinstance(v, types.StringTypes) else v)
-+ k[1:-1], v[1:-1] if isinstance(v, str) else v)
-
-- for k, v in dict(raw_config['defines']).iteritems():
-+ for k, v in dict(raw_config['defines']).items():
- set_old_configure_define(k[1:-1], v[1:-1])
---- firefox-52.9.0esr/configure.py (original)
-+++ firefox-52.9.0esr/configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function, unicode_literals
-+
-
- import codecs
- import os
-@@ -45,11 +45,11 @@
-
- sanitized_config = {}
- sanitized_config['substs'] = {
-- k: sanitized_bools(v) for k, v in config.iteritems()
-+ k: sanitized_bools(v) for k, v in config.items()
- if k not in ('DEFINES', 'non_global_defines', 'TOPSRCDIR', 'TOPOBJDIR')
- }
- sanitized_config['defines'] = {
-- k: sanitized_bools(v) for k, v in config['DEFINES'].iteritems()
-+ k: sanitized_bools(v) for k, v in config['DEFINES'].items()
- }
- sanitized_config['non_global_defines'] = config['non_global_defines']
- sanitized_config['topsrcdir'] = config['TOPSRCDIR']
-@@ -71,7 +71,7 @@
- ''') % {'python': config['PYTHON'], 'encoding': encoding})
- # A lot of the build backend code is currently expecting byte
- # strings and breaks in subtle ways with unicode strings. (bug 1296508)
-- for k, v in sanitized_config.iteritems():
-+ for k, v in sanitized_config.items():
- fh.write('%s = encode(%s, encoding)\n' % (k, indented_repr(v)))
- fh.write("__all__ = ['topobjdir', 'topsrcdir', 'defines', "
- "'non_global_defines', 'substs', 'mozconfig']")
-@@ -88,7 +88,7 @@
- # executable permissions.
- os.chmod('config.status', 0o755)
- if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
-- os.environ[b'WRITE_MOZINFO'] = b'1'
-+ os.environ['WRITE_MOZINFO'] = '1'
- from mozbuild.config_status import config_status
-
- # Some values in sanitized_config also have more complex types, such as
---- firefox-52.9.0esr/python/blessings/blessings/__init__.py.old 2017-04-11 02:13:23.000000000 +0000
-+++ firefox-52.9.0esr/python/blessings/blessings/__init__.py 2018-07-10 10:56:52.820000000 +0000
-@@ -333,7 +333,7 @@
- 'shadow', 'standout', 'subscript', 'superscript']))
-
-
--class ParametrizingString(unicode):
-+class ParametrizingString(str):
- """A Unicode string which can be called to parametrize it as a terminal capability"""
- def __new__(cls, formatting, normal=None):
- """Instantiate.
-@@ -343,7 +343,7 @@
- "normal" capability.
-
- """
-- new = unicode.__new__(cls, formatting)
-+ new = str.__new__(cls, formatting)
- new._normal = normal
- return new
-
-@@ -375,10 +375,10 @@
- raise
-
-
--class FormattingString(unicode):
-+class FormattingString(str):
- """A Unicode string which can be called upon a piece of text to wrap it in formatting"""
- def __new__(cls, formatting, normal):
-- new = unicode.__new__(cls, formatting)
-+ new = str.__new__(cls, formatting)
- new._normal = normal
- return new
-
-@@ -393,7 +393,7 @@
- return self + text + self._normal
-
-
--class NullCallableString(unicode):
-+class NullCallableString(str):
- """A dummy class to stand in for ``FormattingString`` and ``ParametrizingString``
-
- A callable bytestring that returns an empty Unicode when called with an int
-@@ -402,7 +402,7 @@
-
- """
- def __new__(cls):
-- new = unicode.__new__(cls, u'')
-+ new = str.__new__(cls, u'')
- return new
-
- def __call__(self, arg):
---- firefox-52.9.0esr/testing/mozbase/mozfile/mozfile/mozfile.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/mozfile/mozfile/mozfile.py (refactored)
-@@ -6,7 +6,7 @@
-
- # We don't import all modules at the top for performance reasons. See Bug 1008943
-
--from __future__ import absolute_import
-+
-
- from contextlib import contextmanager
- import errno
-@@ -55,7 +55,7 @@
- try:
- bundle = zipfile.ZipFile(src)
- except Exception:
-- print "src: %s" % src
-+ print("src: %s" % src)
- raise
-
- namelist = bundle.namelist()
-@@ -161,8 +161,8 @@
-
- retry_count += 1
-
-- print '%s() failed for "%s". Reason: %s (%s). Retrying...' % \
-- (func.__name__, args, e.strerror, e.errno)
-+ print('%s() failed for "%s". Reason: %s (%s). Retrying...' % \
-+ (func.__name__, args, e.strerror, e.errno))
- time.sleep(retry_count * retry_delay)
- else:
- # If no exception has been thrown it should be done
-@@ -420,9 +420,9 @@
- Return True if thing looks like a URL.
- """
-
-- import urlparse
--
-- parsed = urlparse.urlparse(thing)
-+ import urllib.parse
-+
-+ parsed = urllib.parse.urlparse(thing)
- if 'scheme' in parsed:
- return len(parsed.scheme) >= 2
- else:
-@@ -436,7 +436,7 @@
- result of urllib2.urlopen()
- """
-
-- import urllib2
-+ import urllib.request, urllib.error, urllib.parse
-
- # handle file URLs separately due to python stdlib limitations
- if resource.startswith('file://'):
-@@ -446,4 +446,4 @@
- # if no scheme is given, it is a file path
-- return file(resource)
-+ return open(resource)
-
-- return urllib2.urlopen(resource)
-+ return urllib.request.urlopen(resource)
---- firefox-52.9.0esr/testing/mozbase/mozinfo/mozinfo/mozinfo.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/mozinfo/mozinfo/mozinfo.py (refactored)
-@@ -8,7 +8,7 @@
- # linux) to the information; I certainly wouldn't want anyone parsing this
- # information and having behaviour depend on it
-
--from __future__ import absolute_import
-+
-
- import os
- import platform
-@@ -24,7 +24,7 @@
- class unknown(object):
- """marker class for unknown information"""
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return False
-
- def __str__(self):
-@@ -184,7 +184,7 @@
- to a json file containing the new info.
- """
-
-- if isinstance(new_info, basestring):
-+ if isinstance(new_info, str):
- # lazy import
- import mozfile
- import json
-@@ -246,7 +246,7 @@
- update({})
-
- # exports
--__all__ = info.keys()
-+__all__ = list(info.keys())
- __all__ += ['is' + os_name.title() for os_name in choices['os']]
- __all__ += [
- 'info',
-@@ -284,17 +284,17 @@
-
- # print out choices if requested
- flag = False
-- for key, value in options.__dict__.items():
-+ for key, value in list(options.__dict__.items()):
- if value is True:
-- print '%s choices: %s' % (key, ' '.join([str(choice)
-- for choice in choices[key]]))
-+ print('%s choices: %s' % (key, ' '.join([str(choice)
-+ for choice in choices[key]])))
- flag = True
- if flag:
- return
-
- # otherwise, print out all info
-- for key, value in info.items():
-- print '%s: %s' % (key, value)
-+ for key, value in list(info.items()):
-+ print('%s: %s' % (key, value))
-
- if __name__ == '__main__':
- main()
---- firefox-52.9.0esr/testing/mozbase/mozinfo/mozinfo/string_version.py.old 2017-04-11 02:13:06.000000000 +0000
-+++ firefox-52.9.0esr/testing/mozbase/mozinfo/mozinfo/string_version.py 2018-07-10 11:10:56.140000000 +0000
-@@ -10,8 +10,10 @@
- A string version that can be compared with comparison operators.
- """
-
-+ def __new__(cls, value):
-+ return str.__new__(cls, value)
-+
- def __init__(self, vstring):
-- str.__init__(self, vstring)
- self.version = LooseVersion(vstring)
-
- def __repr__(self):
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/manifestparser.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/manifestparser.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from StringIO import StringIO
-+from io import StringIO
- import json
- import fnmatch
- import os
-@@ -21,7 +21,7 @@
- __all__ = ['ManifestParser', 'TestManifest', 'convert']
-
- relpath = os.path.relpath
--string = (basestring,)
-+string = (str,)
-
-
- # path normalization
-@@ -178,7 +178,7 @@
-
- # otherwise an item
- # apply ancestor defaults, while maintaining current file priority
-- data = dict(self._ancestor_defaults.items() + data.items())
-+ data = dict(list(self._ancestor_defaults.items()) + list(data.items()))
-
- test = data
- test['name'] = section
-@@ -306,19 +306,19 @@
- # make some check functions
- if inverse:
- def has_tags(test):
-- return not tags.intersection(test.keys())
-+ return not tags.intersection(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) == value:
- return False
- return True
- else:
- def has_tags(test):
-- return tags.issubset(test.keys())
-+ return tags.issubset(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) != value:
- return False
- return True
-@@ -340,7 +340,7 @@
- """
- if tests is None:
- # Make sure to return all the manifests, even ones without tests.
-- return self.manifest_defaults.keys()
-+ return list(self.manifest_defaults.keys())
-
- manifests = []
- for test in tests:
-@@ -373,8 +373,8 @@
- raise IOError("Strict mode enabled, test paths must exist. "
- "The following test(s) are missing: %s" %
- json.dumps(missing_paths, indent=2))
-- print >> sys.stderr, "Warning: The following test(s) are missing: %s" % \
-- json.dumps(missing_paths, indent=2)
-+ print("Warning: The following test(s) are missing: %s" % \
-+ json.dumps(missing_paths, indent=2), file=sys.stderr)
- return missing
-
- def verifyDirectory(self, directories, pattern=None, extensions=None):
-@@ -385,7 +385,7 @@
- """
-
- files = set([])
-- if isinstance(directories, basestring):
-+ if isinstance(directories, str):
- directories = [directories]
-
- # get files in directories
-@@ -449,12 +449,12 @@
-
- # print the .ini manifest
- if global_tags or global_kwargs:
-- print >> fp, '[DEFAULT]'
-+ print('[DEFAULT]', file=fp)
- for tag in global_tags:
-- print >> fp, '%s =' % tag
-- for key, value in global_kwargs.items():
-- print >> fp, '%s = %s' % (key, value)
-- print >> fp
-+ print('%s =' % tag, file=fp)
-+ for key, value in list(global_kwargs.items()):
-+ print('%s = %s' % (key, value), file=fp)
-+ print(file=fp)
-
- for test in tests:
- test = test.copy() # don't overwrite
-@@ -465,7 +465,7 @@
- if self.rootdir:
- path = relpath(test['path'], self.rootdir)
- path = denormalize_path(path)
-- print >> fp, '[%s]' % path
-+ print('[%s]' % path, file=fp)
-
- # reserved keywords:
- reserved = ['path', 'name', 'here', 'manifest', 'relpath', 'ancestor-manifest']
-@@ -476,8 +476,8 @@
- continue
- if key in global_tags and not test[key]:
- continue
-- print >> fp, '%s = %s' % (key, test[key])
-- print >> fp
-+ print('%s = %s' % (key, test[key]), file=fp)
-+ print(file=fp)
-
- if close:
- # close the created file
-@@ -565,7 +565,7 @@
- message = "Missing test: '%s' does not exist!"
- if self.strict:
- raise IOError(message)
-- print >> sys.stderr, message + " Skipping."
-+ print(message + " Skipping.", file=sys.stderr)
- continue
- destination = os.path.join(rootdir, _relpath)
- shutil.copy(source, destination)
-@@ -578,7 +578,7 @@
- internal function to import directories
- """
-
-- if isinstance(pattern, basestring):
-+ if isinstance(pattern, str):
- patterns = [pattern]
- else:
- patterns = pattern
-@@ -670,9 +670,9 @@
- if (dirnames or filenames) and not (os.path.exists(manifest_path) and overwrite):
- with file(manifest_path, 'w') as manifest:
- for dirname in dirnames:
-- print >> manifest, '[include:%s]' % os.path.join(dirname, filename)
-+ print('[include:%s]' % os.path.join(dirname, filename), file=manifest)
- for _filename in filenames:
-- print >> manifest, '[%s]' % _filename
-+ print('[%s]' % _filename, file=manifest)
-
- # add to list of manifests
- manifest_dict.setdefault(directory, manifest_path)
-@@ -722,8 +722,8 @@
- for filename in filenames]
-
- # write to manifest
-- print >> write, '\n'.join(['[%s]' % denormalize_path(filename)
-- for filename in filenames])
-+ print('\n'.join(['[%s]' % denormalize_path(filename)
-+ for filename in filenames]), file=write)
-
- cls._walk_directories(directories, callback, pattern=pattern, ignore=ignore)
-
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/cli.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/cli.py (refactored)
-@@ -81,7 +81,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
-@@ -132,7 +132,7 @@
- manifest = convert(args, pattern=options.pattern, ignore=options.ignore,
- write=options.in_place)
- if manifest:
-- print manifest
-+ print(manifest)
-
-
- class WriteCLI(CLICommand):
-@@ -146,7 +146,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
-@@ -175,9 +175,9 @@
- commands[args[0]](self._parser).parser().print_help()
- else:
- self._parser.print_help()
-- print '\nCommands:'
-+ print('\nCommands:')
- for command in sorted(commands):
-- print ' %s : %s' % (command, commands[command].__doc__.strip())
-+ print(' %s : %s' % (command, commands[command].__doc__.strip()))
-
-
- class UpdateCLI(CLICommand):
-@@ -190,7 +190,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/expression.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/expression.py (refactored)
-@@ -275,7 +275,7 @@
- """
- if not isinstance(self.token, expected):
- raise Exception("Unexpected token!")
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
-
- def expression(self, rbp=0):
- """
-@@ -283,11 +283,11 @@
- right binding power greater than rbp is encountered.
- """
- t = self.token
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- left = t.nud(self)
- while rbp < self.token.lbp:
- t = self.token
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- left = t.led(self, left)
- return left
-
-@@ -299,7 +299,7 @@
- """
- try:
- self.iter = self._tokenize()
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- return self.expression()
- except:
- extype, ex, tb = sys.exc_info()
-@@ -307,7 +307,7 @@
- raise ParseError("could not parse: "
- "%s\nexception: %svariables: %s" % (self.text,
- formatted,
-- self.valuemapping)), None, tb
-+ self.valuemapping)).with_traceback(tb)
-
- __call__ = parse
-
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/filters.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/filters.py (refactored)
-@@ -92,7 +92,7 @@
- def __init__(self, *args, **kwargs):
- self.fmt_args = ', '.join(itertools.chain(
- [str(a) for a in args],
-- ['{}={}'.format(k, v) for k, v in kwargs.iteritems()]))
-+ ['{}={}'.format(k, v) for k, v in kwargs.items()]))
-
- def __eq__(self, other):
- if self.unique:
-@@ -249,7 +249,7 @@
- # be yielded for reporting purposes. Put them all in chunk 1 for
- # simplicity.
- if self.this_chunk == 1:
-- disabled_dirs = [v for k, v in tests_by_dir.iteritems()
-+ disabled_dirs = [v for k, v in tests_by_dir.items()
- if k not in ordered_dirs]
- for disabled_test in itertools.chain(*disabled_dirs):
- yield disabled_test
-@@ -326,7 +326,7 @@
-
- def __init__(self, tags):
- InstanceFilter.__init__(self, tags)
-- if isinstance(tags, basestring):
-+ if isinstance(tags, str):
- tags = [tags]
- self.tags = tags
-
-@@ -349,7 +349,7 @@
-
- def __init__(self, paths):
- InstanceFilter.__init__(self, paths)
-- if isinstance(paths, basestring):
-+ if isinstance(paths, str):
- paths = [paths]
- self.paths = paths
-
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py (original)
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py (refactored)
-@@ -27,7 +27,7 @@
- sections = []
- key = value = None
- section_names = set()
-- if isinstance(fp, basestring):
-- fp = file(fp)
-+ if isinstance(fp, str):
-+ fp = open(fp)
-
- # read the lines
-@@ -131,7 +131,7 @@
- 'support-files': '%s %s',
- }
- final_mapping = global_vars.copy()
-- for field_name, value in local_vars.items():
-+ for field_name, value in list(local_vars.items()):
- if field_name not in field_patterns or field_name not in global_vars:
- final_mapping[field_name] = value
- continue
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py.old 2018-07-10 11:16:10.690000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py 2018-07-10 23:36:02.250000000 +0000
-@@ -1254,10 +1254,10 @@
- encode(k, encoding): encode(v, encoding)
- for k, v in obj.items()
- }
-- if isinstance(obj, bytes):
-- return obj
- if isinstance(obj, str):
-- return obj.encode(encoding)
-+ return obj
-+ if isinstance(obj, bytes):
-+ return obj.decode(encoding)
- if isinstance(obj, Iterable):
- return [encode(i, encoding) for i in obj]
- return obj
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py.old 2018-07-10 23:36:33.980000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py 2018-07-10 23:41:51.900000000 +0000
-@@ -1179,6 +1179,9 @@
- POSSIBLE_VALUES = possible_values
- return EnumStringSubclass
-
-+ def __hash__(self):
-+ return hash(str(self))
-+
-
- def _escape_char(c):
- # str.encode('unicode_espace') doesn't escape quotes, presumably because
---- firefox-52.9.0esr/python/mozbuild/mozbuild/mozinfo.py.old 2018-07-10 23:42:19.390000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/mozinfo.py 2018-07-11 01:45:57.930000000 +0000
-@@ -155,6 +155,6 @@
- """
- build_conf = build_dict(config, env)
- if isinstance(file, str):
-- file = open(file, 'wb')
-+ file = open(file, 'w')
-
- json.dump(build_conf, file, sort_keys=True, indent=4)
---- firefox-52.9.0esr/python/mozbuild/mozbuild/jar.py.old 2018-07-11 01:46:26.540000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/jar.py 2018-07-11 02:02:36.010000000 +0000
-@@ -16,7 +16,7 @@
- import re
- import logging
- from time import localtime
--from MozZipFile import ZipFile
-+from zipfile import ZipFile
- from io import StringIO
- from collections import defaultdict
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py.old 2018-07-11 02:05:38.530000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py 2018-07-11 02:08:21.020000000 +0000
-@@ -987,8 +987,6 @@
- 'got %s, expected %s' % (fname,
- type(value), ftype))
-
-- super(TypedTuple, self).__init__(*args, **kwargs)
--
- TypedTuple._fields = fields
-
- return TypedTuple
---- firefox-52.9.0esr/build/moz.configure/init.configure.old 2018-07-11 02:08:50.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/init.configure 2018-07-11 04:04:26.600000000 +0000
-@@ -297,7 +297,9 @@
- # There is also a quartet form:
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
-- cpu, manufacturer, os = triplet.decode('utf-8').split('-', 2)
-+ if isinstance(triplet, bytes):
-+ triplet = triplet.decode('utf-8')
-+ cpu, manufacturer, os = triplet.split('-', 2)
-
- # Autoconf uses config.sub to validate and canonicalize those triplets,
- # but the granularity of its results has never been satisfying to our
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py.old 2018-07-11 04:25:33.980000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py 2018-07-11 04:24:50.630000000 +0000
-@@ -441,6 +441,8 @@
- code = func.__code__
- firstlineno = code.co_firstlineno
- lines = sandbox._current_source.splitlines(True)
-+ if len(lines) and isinstance(lines[0], bytes):
-+ lines = [l.decode('utf-8') for l in lines]
- lines = inspect.getblock(lines[firstlineno - 1:])
-
- # The code lines we get out of inspect.getsourcelines look like
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py.old 2018-07-11 04:25:57.090000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/reader.py 2018-07-11 04:29:46.140000000 +0000
-@@ -460,7 +460,7 @@
- # actually never calls __getitem__ and __setitem__, so we need to
- # modify the AST so that accesses to globals are properly directed
- # to a dict.
-- self._global_name = b'_data' # AST wants str for this, not unicode
-+ self._global_name = '_data' # AST wants str for this, not unicode
- # In case '_data' is a name used for a variable in the function code,
- # prepend more underscores until we find an unused name.
- while (self._global_name in code.co_names or
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/context.py.old 2018-07-11 04:30:06.590000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/context.py 2018-07-11 04:35:38.670000000 +0000
-@@ -384,8 +384,8 @@
-
- def __cmp__(self, other):
- if isinstance(other, Path) and self.srcdir != other.srcdir:
-- return cmp(self.full_path, other.full_path)
-- return cmp(str(self), other)
-+ return self.full_path == other.full_path
-+ return str(self) == other
-
- # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
- # and __cmp__ is only used for those when they don't exist.
---- firefox-52.9.0esr/mozglue/build/moz.build.old 2018-07-11 04:40:17.930000000 +0000
-+++ firefox-52.9.0esr/mozglue/build/moz.build 2018-07-11 04:42:00.830000000 +0000
-@@ -4,20 +4,15 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--# Build mozglue as a shared lib on Windows, OSX and Android.
-+# Build mozglue as a shared lib on Windows and OSX.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin'):
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
-
- SDK_LIBRARY = True
-
--if CONFIG['OS_TARGET'] == 'Android':
-- SOURCES += [
-- 'BionicGlue.cpp',
-- ]
--
- if CONFIG['MOZ_ASAN']:
- SOURCES += [
- 'AsanOptions.cpp',
---- firefox-52.9.0esr/js/src/moz.build.old 2017-04-11 02:13:16.000000000 +0000
-+++ firefox-52.9.0esr/js/src/moz.build 2018-07-11 04:43:59.920000000 +0000
-@@ -707,7 +707,7 @@
- CXXFLAGS += ['-wd4577']
- CXXFLAGS += ['-wd4312']
-
--if CONFIG['OS_ARCH'] not in ('WINNT', 'HP-UX'):
-+if CONFIG['OS_ARCH'] != 'WINNT':
- OS_LIBS += [
- 'm',
- ]
-@@ -722,13 +722,13 @@
- 'dl',
- ]
-
--if CONFIG['OS_ARCH'] == 'SunOS':
-- OS_LIBS += [
-- 'posix4',
-- 'dl',
-- 'nsl',
-- 'socket',
-- ]
-+#if CONFIG['OS_ARCH'] == 'SunOS':
-+# OS_LIBS += [
-+# 'posix4',
-+# 'dl',
-+# 'nsl',
-+# 'socket',
-+# ]
-
- OS_LIBS += CONFIG['REALTIME_LIBS']
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py.old 2018-07-11 04:44:24.900000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py 2018-07-11 04:46:47.310000000 +0000
-@@ -267,6 +267,10 @@
- if 'b' in self.mode:
- writemode += 'b'
- with open(self.name, writemode) as file:
-+ if 'b' in self.mode and isinstance(buf, str):
-+ buf = buf.encode('utf-8')
-+ elif 'b' not in self.mode and isinstance(buf, bytes):
-+ buf = buf.decode('utf-8')
- file.write(buf)
-
- if self._capture_diff:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/backend/recursivemake.py.old 2018-07-11 04:47:15.020000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/backend/recursivemake.py 2018-07-11 04:53:51.750000000 +0000
-@@ -77,86 +77,86 @@
- from functools import reduce
-
- MOZBUILD_VARIABLES = [
-- b'ANDROID_APK_NAME',
-- b'ANDROID_APK_PACKAGE',
-- b'ANDROID_ASSETS_DIRS',
-- b'ANDROID_EXTRA_PACKAGES',
-- b'ANDROID_EXTRA_RES_DIRS',
-- b'ANDROID_GENERATED_RESFILES',
-- b'ANDROID_RES_DIRS',
-- b'ASFLAGS',
-- b'CMSRCS',
-- b'CMMSRCS',
-- b'CPP_UNIT_TESTS',
-- b'DIRS',
-- b'DIST_INSTALL',
-- b'EXTRA_DSO_LDOPTS',
-- b'EXTRA_JS_MODULES',
-- b'EXTRA_PP_COMPONENTS',
-- b'EXTRA_PP_JS_MODULES',
-- b'FORCE_SHARED_LIB',
-- b'FORCE_STATIC_LIB',
-- b'FINAL_LIBRARY',
-- b'HOST_CFLAGS',
-- b'HOST_CSRCS',
-- b'HOST_CMMSRCS',
-- b'HOST_CXXFLAGS',
-- b'HOST_EXTRA_LIBS',
-- b'HOST_LIBRARY_NAME',
-- b'HOST_PROGRAM',
-- b'HOST_SIMPLE_PROGRAMS',
-- b'IS_COMPONENT',
-- b'JAR_MANIFEST',
-- b'JAVA_JAR_TARGETS',
-- b'LD_VERSION_SCRIPT',
-- b'LIBRARY_NAME',
-- b'LIBS',
-- b'MAKE_FRAMEWORK',
-- b'MODULE',
-- b'NO_DIST_INSTALL',
-- b'NO_EXPAND_LIBS',
-- b'NO_INTERFACES_MANIFEST',
-- b'NO_JS_MANIFEST',
-- b'OS_LIBS',
-- b'PARALLEL_DIRS',
-- b'PREF_JS_EXPORTS',
-- b'PROGRAM',
-- b'PYTHON_UNIT_TESTS',
-- b'RESOURCE_FILES',
-- b'SDK_HEADERS',
-- b'SDK_LIBRARY',
-- b'SHARED_LIBRARY_LIBS',
-- b'SHARED_LIBRARY_NAME',
-- b'SIMPLE_PROGRAMS',
-- b'SONAME',
-- b'STATIC_LIBRARY_NAME',
-- b'TEST_DIRS',
-- b'TOOL_DIRS',
-+ 'ANDROID_APK_NAME',
-+ 'ANDROID_APK_PACKAGE',
-+ 'ANDROID_ASSETS_DIRS',
-+ 'ANDROID_EXTRA_PACKAGES',
-+ 'ANDROID_EXTRA_RES_DIRS',
-+ 'ANDROID_GENERATED_RESFILES',
-+ 'ANDROID_RES_DIRS',
-+ 'ASFLAGS',
-+ 'CMSRCS',
-+ 'CMMSRCS',
-+ 'CPP_UNIT_TESTS',
-+ 'DIRS',
-+ 'DIST_INSTALL',
-+ 'EXTRA_DSO_LDOPTS',
-+ 'EXTRA_JS_MODULES',
-+ 'EXTRA_PP_COMPONENTS',
-+ 'EXTRA_PP_JS_MODULES',
-+ 'FORCE_SHARED_LIB',
-+ 'FORCE_STATIC_LIB',
-+ 'FINAL_LIBRARY',
-+ 'HOST_CFLAGS',
-+ 'HOST_CSRCS',
-+ 'HOST_CMMSRCS',
-+ 'HOST_CXXFLAGS',
-+ 'HOST_EXTRA_LIBS',
-+ 'HOST_LIBRARY_NAME',
-+ 'HOST_PROGRAM',
-+ 'HOST_SIMPLE_PROGRAMS',
-+ 'IS_COMPONENT',
-+ 'JAR_MANIFEST',
-+ 'JAVA_JAR_TARGETS',
-+ 'LD_VERSION_SCRIPT',
-+ 'LIBRARY_NAME',
-+ 'LIBS',
-+ 'MAKE_FRAMEWORK',
-+ 'MODULE',
-+ 'NO_DIST_INSTALL',
-+ 'NO_EXPAND_LIBS',
-+ 'NO_INTERFACES_MANIFEST',
-+ 'NO_JS_MANIFEST',
-+ 'OS_LIBS',
-+ 'PARALLEL_DIRS',
-+ 'PREF_JS_EXPORTS',
-+ 'PROGRAM',
-+ 'PYTHON_UNIT_TESTS',
-+ 'RESOURCE_FILES',
-+ 'SDK_HEADERS',
-+ 'SDK_LIBRARY',
-+ 'SHARED_LIBRARY_LIBS',
-+ 'SHARED_LIBRARY_NAME',
-+ 'SIMPLE_PROGRAMS',
-+ 'SONAME',
-+ 'STATIC_LIBRARY_NAME',
-+ 'TEST_DIRS',
-+ 'TOOL_DIRS',
- # XXX config/Makefile.in specifies this in a make invocation
- #'USE_EXTENSION_MANIFEST',
-- b'XPCSHELL_TESTS',
-- b'XPIDL_MODULE',
-+ 'XPCSHELL_TESTS',
-+ 'XPIDL_MODULE',
- ]
-
- DEPRECATED_VARIABLES = [
-- b'ANDROID_RESFILES',
-- b'EXPORT_LIBRARY',
-- b'EXTRA_LIBS',
-- b'HOST_LIBS',
-- b'LIBXUL_LIBRARY',
-- b'MOCHITEST_A11Y_FILES',
-- b'MOCHITEST_BROWSER_FILES',
-- b'MOCHITEST_BROWSER_FILES_PARTS',
-- b'MOCHITEST_CHROME_FILES',
-- b'MOCHITEST_FILES',
-- b'MOCHITEST_FILES_PARTS',
-- b'MOCHITEST_METRO_FILES',
-- b'MOCHITEST_ROBOCOP_FILES',
-- b'MODULE_OPTIMIZE_FLAGS',
-- b'MOZ_CHROME_FILE_FORMAT',
-- b'SHORT_LIBNAME',
-- b'TESTING_JS_MODULES',
-- b'TESTING_JS_MODULE_DIR',
-+ 'ANDROID_RESFILES',
-+ 'EXPORT_LIBRARY',
-+ 'EXTRA_LIBS',
-+ 'HOST_LIBS',
-+ 'LIBXUL_LIBRARY',
-+ 'MOCHITEST_A11Y_FILES',
-+ 'MOCHITEST_BROWSER_FILES',
-+ 'MOCHITEST_BROWSER_FILES_PARTS',
-+ 'MOCHITEST_CHROME_FILES',
-+ 'MOCHITEST_FILES',
-+ 'MOCHITEST_FILES_PARTS',
-+ 'MOCHITEST_METRO_FILES',
-+ 'MOCHITEST_ROBOCOP_FILES',
-+ 'MODULE_OPTIMIZE_FLAGS',
-+ 'MOZ_CHROME_FILE_FORMAT',
-+ 'SHORT_LIBNAME',
-+ 'TESTING_JS_MODULES',
-+ 'TESTING_JS_MODULE_DIR',
- ]
-
- MOZBUILD_VARIABLES_MESSAGE = 'It should only be defined in moz.build files.'
-@@ -758,7 +758,7 @@
- rule.add_dependencies(['$(CURDIR)/%: %'])
-
- def _check_blacklisted_variables(self, makefile_in, makefile_content):
-- if b'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
-+ if 'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
- # Bypass the variable restrictions for externally managed makefiles.
- return
-
-@@ -765,7 +765,7 @@
- for l in makefile_content.splitlines():
- l = l.strip()
- # Don't check comments
-- if l.startswith(b'#'):
-+ if l.startswith('#'):
- continue
- for x in chain(MOZBUILD_VARIABLES, DEPRECATED_VARIABLES):
- if x not in l:
-@@ -822,11 +822,11 @@
- # Skip every directory but those with a Makefile
- # containing a tools target, or XPI_PKGNAME or
- # INSTALL_EXTENSION_ID.
-- for t in (b'XPI_PKGNAME', b'INSTALL_EXTENSION_ID',
-- b'tools'):
-+ for t in ('XPI_PKGNAME', 'INSTALL_EXTENSION_ID',
-+ 'tools'):
- if t not in content:
- continue
-- if t == b'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
-+ if t == 'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
- continue
- if objdir == self.environment.topobjdir:
- continue
-@@ -1422,20 +1422,20 @@
- pp.context.update(extra)
- if not pp.context.get('autoconfmk', ''):
- pp.context['autoconfmk'] = 'autoconf.mk'
-- pp.handleLine(b'# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-- pp.handleLine(b'DEPTH := @DEPTH@\n')
-- pp.handleLine(b'topobjdir := @topobjdir@\n')
-- pp.handleLine(b'topsrcdir := @top_srcdir@\n')
-- pp.handleLine(b'srcdir := @srcdir@\n')
-- pp.handleLine(b'VPATH := @srcdir@\n')
-- pp.handleLine(b'relativesrcdir := @relativesrcdir@\n')
-- pp.handleLine(b'include $(DEPTH)/config/@autoconfmk@\n')
-+ pp.handleLine('# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-+ pp.handleLine('DEPTH := @DEPTH@\n')
-+ pp.handleLine('topobjdir := @topobjdir@\n')
-+ pp.handleLine('topsrcdir := @top_srcdir@\n')
-+ pp.handleLine('srcdir := @srcdir@\n')
-+ pp.handleLine('VPATH := @srcdir@\n')
-+ pp.handleLine('relativesrcdir := @relativesrcdir@\n')
-+ pp.handleLine('include $(DEPTH)/config/@autoconfmk@\n')
- if not stub:
- pp.do_include(obj.input_path)
- # Empty line to avoid failures when last line in Makefile.in ends
- # with a backslash.
-- pp.handleLine(b'\n')
-- pp.handleLine(b'include $(topsrcdir)/config/recurse.mk\n')
-+ pp.handleLine('\n')
-+ pp.handleLine('include $(topsrcdir)/config/recurse.mk\n')
- if not stub:
- # Adding the Makefile.in here has the desired side-effect
- # that if the Makefile.in disappears, this will force
---- firefox-52.9.0esr/python/mozbuild/mozpack/manifests.py.old 2018-07-11 04:54:39.260000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozpack/manifests.py 2018-07-11 04:57:31.710000000 +0000
-@@ -115,7 +115,7 @@
- self._source_files = set()
-
- if path or fileobj:
-- with _auto_fileobj(path, fileobj, 'rb') as fh:
-+ with _auto_fileobj(path, fileobj, 'r') as fh:
- self._source_files.add(fh.name)
- self._load_from_fileobj(fh)
-
-@@ -174,7 +174,7 @@
- dest, content = fields[1:]
-
- self.add_content(
-- self._decode_field_entry(content).encode('utf-8'), dest)
-+ self._decode_field_entry(content), dest)
- continue
-
- # Don't fail for non-actionable items, allowing
-@@ -236,7 +236,7 @@
-
- It is an error if both are specified.
- """
-- with _auto_fileobj(path, fileobj, 'wb') as fh:
-+ with _auto_fileobj(path, fileobj, 'w') as fh:
- fh.write('%d\n' % self.CURRENT_VERSION)
-
- for dest in sorted(self._dests):
-@@ -244,8 +244,7 @@
-
- parts = ['%d' % entry[0], dest]
- parts.extend(entry[1:])
-- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
-- p.encode('utf-8') for p in parts))
-+ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
-
- def add_symlink(self, source, dest):
- """Add a symlink to this manifest.
-@@ -391,7 +390,7 @@
- if install_type == self.CONTENT:
- # GeneratedFile expect the buffer interface, which the unicode
- # type doesn't have, so encode to a str.
-- content = self._decode_field_entry(entry[1]).encode('utf-8')
-+ content = self._decode_field_entry(entry[1])
- registry.add(dest, GeneratedFile(content))
- continue
-
---- firefox-52.9.0esr/config/MozZipFile.py (original)
-+++ firefox-52.9.0esr/config/MozZipFile.py (refactored)
-@@ -18,7 +18,7 @@
- def __init__(self, file, mode="r", compression=zipfile.ZIP_STORED,
- lock = False):
- if lock:
-- assert isinstance(file, basestring)
-+ assert isinstance(file, str)
- self.lockfile = lock_file(file + '.lck')
- else:
- self.lockfile = None
-@@ -46,7 +46,7 @@
- date_time=time.localtime(time.time()))
- zinfo.compress_type = self.compression
- # Add some standard UNIX file access permissions (-rw-r--r--).
-- zinfo.external_attr = (0x81a4 & 0xFFFF) << 16L
-+ zinfo.external_attr = (0x81a4 & 0xFFFF) << 16
- else:
- zinfo = zinfo_or_arcname
-
-@@ -58,7 +58,7 @@
- # as the old, reuse the existing entry.
-
- doSeek = False # store if we need to seek to the eof after overwriting
-- if self.NameToInfo.has_key(zinfo.filename):
-+ if zinfo.filename in self.NameToInfo:
- # Find the last ZipInfo with our name.
- # Last, because that's catching multiple overwrites
- i = len(self.filelist)
-@@ -109,14 +109,14 @@
- # adjust file mode if we originally just wrote, now we rewrite
- self.fp.close()
- self.fp = open(self.filename, 'r+b')
-- all = map(lambda zi: (zi, True), self.filelist) + \
-- map(lambda zi: (zi, False), self._remove)
-+ all = [(zi, True) for zi in self.filelist] + \
-+ [(zi, False) for zi in self._remove]
- all.sort(lambda l, r: cmp(l[0].header_offset, r[0].header_offset))
- # empty _remove for multiple closes
- self._remove = []
-
- lengths = [all[i+1][0].header_offset - all[i][0].header_offset
-- for i in xrange(len(all)-1)]
-+ for i in range(len(all)-1)]
- lengths.append(self.end - all[-1][0].header_offset)
- to_pos = 0
- for (zi, keep), length in zip(all, lengths):
---- firefox-52.9.0esr/config/check_spidermonkey_style.py (original)
-+++ firefox-52.9.0esr/config/check_spidermonkey_style.py (refactored)
-@@ -35,7 +35,7 @@
- # isolation, but don't try to do any order checking between such blocks.
- #----------------------------------------------------------------------------
-
--from __future__ import print_function
-+
-
- import difflib
- import os
-@@ -270,7 +270,7 @@
- edges[inclname] = set()
-
- # Process all the JS files.
-- for filename in js_names.keys():
-+ for filename in list(js_names.keys()):
- inclname = js_names[filename]
- file_kind = FileKind.get(filename)
- if file_kind == FileKind.C or file_kind == FileKind.CPP or \
---- firefox-52.9.0esr/config/expandlibs.py (original)
-+++ firefox-52.9.0esr/config/expandlibs.py (refactored)
-@@ -26,7 +26,7 @@
- descriptor contains. And for each of these LIBS, also apply the same
- rules.
- '''
--from __future__ import with_statement
-+
- import sys, os, errno
- import expandlibs_config as conf
-
-@@ -36,7 +36,7 @@
- if dir and not os.path.exists(dir):
- try:
- os.makedirs(dir)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-
-@@ -140,4 +140,4 @@
- return [relativize(arg)]
-
- if __name__ == '__main__':
-- print " ".join(ExpandArgs(sys.argv[1:]))
-+ print(" ".join(ExpandArgs(sys.argv[1:])))
---- firefox-52.9.0esr/config/expandlibs_exec.py (original)
-+++ firefox-52.9.0esr/config/expandlibs_exec.py (refactored)
-@@ -20,7 +20,7 @@
- relevant linker options to change the order in which the linker puts the
- symbols appear in the resulting binary. Only works for ELF targets.
- '''
--from __future__ import with_statement
-+
- import sys
- import os
- from expandlibs import (
-@@ -304,11 +304,11 @@
- return syms
-
- def print_command(out, args):
-- print >>out, "Executing: " + " ".join(args)
-+ print("Executing: " + " ".join(args), file=out)
- for tmp in [f for f in args.tmp if os.path.isfile(f)]:
-- print >>out, tmp + ":"
-+ print(tmp + ":", file=out)
- with open(tmp) as file:
-- print >>out, "".join([" " + l for l in file.readlines()])
-+ print("".join([" " + l for l in file.readlines()]), file=out)
- out.flush()
-
- def main(args, proc_callback=None):
-@@ -338,8 +338,8 @@
- proc = subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
- if proc_callback:
- proc_callback(proc)
-- except Exception, e:
-- print >>sys.stderr, 'error: Launching', args, ':', e
-+ except Exception as e:
-+ print('error: Launching', args, ':', e, file=sys.stderr)
- raise e
- (stdout, stderr) = proc.communicate()
- if proc.returncode and not options.verbose:
---- firefox-52.9.0esr/config/expandlibs_gen.py (original)
-+++ firefox-52.9.0esr/config/expandlibs_gen.py (refactored)
-@@ -5,7 +5,7 @@
- '''Given a list of object files and library names, prints a library
- descriptor to standard output'''
-
--from __future__ import with_statement
-+
- import sys
- import os
- import expandlibs_config as conf
-@@ -38,4 +38,4 @@
-
- ensureParentDir(options.output)
- with open(options.output, 'w') as outfile:
-- print >>outfile, generate(args)
-+ print(generate(args), file=outfile)
---- firefox-52.9.0esr/config/find_OOM_errors.py (original)
-+++ firefox-52.9.0esr/config/find_OOM_errors.py (refactored)
-@@ -2,7 +2,7 @@
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
--from __future__ import print_function
-+
-
- usage = """%prog: A test for OOM conditions in the shell.
-
-@@ -95,12 +95,12 @@
- """Keep track of the amount of times individual lines occur, in order to
- prioritize the errors which occur most frequently."""
- counts = {}
-- for string,count in blacklist.items():
-+ for string,count in list(blacklist.items()):
- for line in string.split("\n"):
- counts[line] = counts.get(line, 0) + count
-
- lines = []
-- for k,v in counts.items():
-+ for k,v in list(counts.items()):
- lines.append("{0:6}: {1}".format(v, k))
-
- lines.sort()
---- firefox-52.9.0esr/config/link.py (original)
-+++ firefox-52.9.0esr/config/link.py (refactored)
-@@ -18,7 +18,7 @@
- time.sleep(0.5)
- idleTime += 0.5
- if idleTime > 20 * 60:
-- print "Still linking, 20 minutes passed..."
-+ print("Still linking, 20 minutes passed...")
- sys.stdout.flush()
- idleTime = 0
-
-@@ -42,6 +42,6 @@
-
- if __name__ == "__main__":
- if len(sys.argv) < 2:
-- print >>sys.stderr, "Usage: link.py <commandline>"
-+ print("Usage: link.py <commandline>", file=sys.stderr)
- sys.exit(1)
- sys.exit(wrap_linker(sys.argv[1:]))
---- firefox-52.9.0esr/config/mozunit.py (original)
-+++ firefox-52.9.0esr/config/mozunit.py (refactored)
-@@ -140,7 +140,7 @@
- '''
- def __init__(self, files = {}):
- self.files = {}
-- for name, content in files.iteritems():
-+ for name, content in files.items():
- self.files[normcase(os.path.abspath(name))] = content
-
- def __call__(self, name, mode = 'r'):
-@@ -158,19 +158,19 @@
- return file
-
- def __enter__(self):
-- import __builtin__
-- self.open = __builtin__.open
-+ import builtins
-+ self.open = builtins.open
- self._orig_path_exists = os.path.exists
- self._orig_path_isdir = os.path.isdir
- self._orig_path_isfile = os.path.isfile
-- __builtin__.open = self
-+ builtins.open = self
- os.path.exists = self._wrapped_exists
- os.path.isdir = self._wrapped_isdir
- os.path.isfile = self._wrapped_isfile
-
- def __exit__(self, type, value, traceback):
-- import __builtin__
-- __builtin__.open = self.open
-+ import builtins
-+ builtins.open = self.open
- os.path.exists = self._orig_path_exists
- os.path.isdir = self._orig_path_isdir
- os.path.isfile = self._orig_path_isfile
---- firefox-52.9.0esr/config/nsinstall.py (original)
-+++ firefox-52.9.0esr/config/nsinstall.py (refactored)
-@@ -9,7 +9,7 @@
- # a full build environment set up.
- # The basic limitation is, it doesn't even try to link and ignores
- # all related options.
--from __future__ import print_function
-+
- from optparse import OptionParser
- import mozfile
- import os
-@@ -149,7 +149,7 @@
-
- # nsinstall as a native command is always UTF-8
- def nsinstall(argv):
-- return _nsinstall_internal([unicode(arg, "utf-8") for arg in argv])
-+ return _nsinstall_internal([str(arg, "utf-8") for arg in argv])
-
- if __name__ == '__main__':
- # sys.argv corrupts characters outside the system code page on Windows
-@@ -175,8 +175,8 @@
- else:
- # For consistency, do it on Unix as well
- if sys.stdin.encoding is not None:
-- argv = [unicode(arg, sys.stdin.encoding) for arg in sys.argv]
-+ argv = [str(arg, sys.stdin.encoding) for arg in sys.argv]
- else:
-- argv = [unicode(arg) for arg in sys.argv]
-+ argv = [str(arg) for arg in sys.argv]
-
- sys.exit(_nsinstall_internal(argv[1:]))
---- firefox-52.9.0esr/config/printconfigsetting.py (original)
-+++ firefox-52.9.0esr/config/printconfigsetting.py (refactored)
-@@ -5,12 +5,12 @@
- import configobj
- import sys
- import re
--from StringIO import StringIO
-+from io import StringIO
-
- try:
- (file, section, key) = sys.argv[1:]
- except ValueError:
-- print "Usage: printconfigsetting.py <file> <section> <setting>"
-+ print("Usage: printconfigsetting.py <file> <section> <setting>")
- sys.exit(1)
-
- with open(file) as fh:
-@@ -21,11 +21,11 @@
- try:
- s = c[section]
- except KeyError:
-- print >>sys.stderr, "Section [%s] not found." % section
-+ print("Section [%s] not found." % section, file=sys.stderr)
- sys.exit(1)
-
- try:
-- print s[key]
-+ print(s[key])
- except KeyError:
-- print >>sys.stderr, "Key %s not found." % key
-+ print("Key %s not found." % key, file=sys.stderr)
- sys.exit(1)
---- firefox-52.9.0esr/config/pythonpath.py (original)
-+++ firefox-52.9.0esr/config/pythonpath.py (refactored)
-@@ -9,7 +9,7 @@
-
- def main(args):
- def usage():
-- print >>sys.stderr, "pythonpath.py -I directory script.py [args...]"
-+ print("pythonpath.py -I directory script.py [args...]", file=sys.stderr)
- sys.exit(150)
-
- paths = []
-@@ -45,7 +45,7 @@
- frozenglobals['__name__'] = '__main__'
- frozenglobals['__file__'] = script
-
-- execfile(script, frozenglobals)
-+ exec(compile(open(script).read(), script, 'exec'), frozenglobals)
-
- # Freeze scope here ... why this makes things work I have no idea ...
- frozenglobals = globals()
---- firefox-52.9.0esr/config/rebuild_check.py (original)
-+++ firefox-52.9.0esr/config/rebuild_check.py (refactored)
-@@ -18,7 +18,7 @@
- deps = args[1:]
- t = mtime(target)
- if t < 0:
-- print target
-+ print(target)
- return
-
- newer = []
-@@ -31,13 +31,13 @@
- newer.append(dep)
-
- if newer and removed:
-- print 'Rebuilding %s because %s changed and %s was removed' % (target, ', '.join(newer), ', '.join(removed))
-+ print('Rebuilding %s because %s changed and %s was removed' % (target, ', '.join(newer), ', '.join(removed)))
- elif newer:
-- print 'Rebuilding %s because %s changed' % (target, ', '.join(newer))
-+ print('Rebuilding %s because %s changed' % (target, ', '.join(newer)))
- elif removed:
-- print 'Rebuilding %s because %s was removed' % (target, ', '.join(removed))
-+ print('Rebuilding %s because %s was removed' % (target, ', '.join(removed)))
- else:
-- print 'Rebuilding %s for an unknown reason' % target
-+ print('Rebuilding %s for an unknown reason' % target)
-
- if __name__ == '__main__':
- import sys
---- firefox-52.9.0esr/config/tests/unit-expandlibs.py (original)
-+++ firefox-52.9.0esr/config/tests/unit-expandlibs.py (refactored)
-@@ -7,7 +7,7 @@
- from shutil import rmtree
- import mozunit
-
--from UserString import UserString
-+from collections import UserString
- # Create a controlled configuration for use by expandlibs
- config_win = {
- 'AR': 'lib',
-@@ -120,8 +120,7 @@
- del dict[name]
- return type.__new__(cls, clsName, bases, dict)
-
--class TestCaseWithTmpDir(unittest.TestCase):
-- __metaclass__ = ReplicateTests
-+class TestCaseWithTmpDir(unittest.TestCase, metaclass=ReplicateTests):
- def init(self):
- self.tmpdir = os.path.abspath(mkdtemp(dir=os.curdir))
-
---- firefox-52.9.0esr/config/tests/unit-nsinstall.py (original)
-+++ firefox-52.9.0esr/config/tests/unit-nsinstall.py (refactored)
-@@ -28,9 +28,9 @@
- # Unicode strings means non-ASCII children can be deleted properly on
- # Windows
- if sys.stdin.encoding is None:
-- tmpdir = unicode(self.tmpdir)
-+ tmpdir = str(self.tmpdir)
- else:
-- tmpdir = unicode(self.tmpdir, sys.stdin.encoding)
-+ tmpdir = str(self.tmpdir, sys.stdin.encoding)
- rmtree(tmpdir)
-
- # utility methods for tests
-@@ -50,14 +50,14 @@
- "Test nsinstall -D <dir>"
- testdir = os.path.join(self.tmpdir, "test")
- self.assertEqual(nsinstall(["-D", testdir]), 0)
-- self.assert_(os.path.isdir(testdir))
-+ self.assertTrue(os.path.isdir(testdir))
-
- def test_nsinstall_basic(self):
- "Test nsinstall <file> <dir>"
- testfile = self.touch("testfile")
- testdir = self.mkdirs("testdir")
- self.assertEqual(nsinstall([testfile, testdir]), 0)
-- self.assert_(os.path.isfile(os.path.join(testdir, "testfile")))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "testfile")))
-
- def test_nsinstall_basic_recursive(self):
- "Test nsinstall <dir> <dest dir>"
-@@ -76,12 +76,12 @@
- '-X', Xdir]), 0)
-
- testdir = os.path.join(destdir, "sourcedir")
-- self.assert_(os.path.isdir(testdir))
-- self.assert_(os.path.isfile(os.path.join(testdir, "testfile")))
-- self.assert_(not os.path.exists(os.path.join(testdir, "Xfile")))
-- self.assert_(os.path.isdir(os.path.join(testdir, "copieddir")))
-- self.assert_(os.path.isfile(os.path.join(testdir, "copieddir", "testfile2")))
-- self.assert_(not os.path.exists(os.path.join(testdir, "Xdir")))
-+ self.assertTrue(os.path.isdir(testdir))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "testfile")))
-+ self.assertTrue(not os.path.exists(os.path.join(testdir, "Xfile")))
-+ self.assertTrue(os.path.isdir(os.path.join(testdir, "copieddir")))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "copieddir", "testfile2")))
-+ self.assertTrue(not os.path.exists(os.path.join(testdir, "Xdir")))
-
- def test_nsinstall_multiple(self):
- "Test nsinstall <three files> <dest dir>"
-@@ -91,7 +91,7 @@
- testdir = self.mkdirs("testdir")
- self.assertEqual(nsinstall(testfiles + [testdir]), 0)
- for f in testfiles:
-- self.assert_(os.path.isfile(os.path.join(testdir,
-+ self.assertTrue(os.path.isfile(os.path.join(testdir,
- os.path.basename(f))))
-
- def test_nsinstall_dir_exists(self):
-@@ -99,7 +99,7 @@
- srcdir = self.mkdirs("test")
- destdir = self.mkdirs("testdir/test")
- self.assertEqual(nsinstall([srcdir, os.path.dirname(destdir)]), 0)
-- self.assert_(os.path.isdir(destdir))
-+ self.assertTrue(os.path.isdir(destdir))
-
- def test_nsinstall_t(self):
- "Test that nsinstall -t works (preserve timestamp)"
-@@ -110,7 +110,7 @@
- os.utime(testfile, (t, t))
- self.assertEqual(nsinstall(["-t", testfile, testdir]), 0)
- destfile = os.path.join(testdir, "testfile")
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
- self.assertEqual(os.stat(testfile).st_mtime,
- os.stat(destfile).st_mtime)
-
-@@ -125,7 +125,7 @@
- self.assertEqual(nsinstall(["-m", "{0:04o}"
- .format(mode), testfile, testdir]), 0)
- destfile = os.path.join(testdir, "testfile")
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
- self.assertEqual(os.stat(testfile).st_mode,
- os.stat(destfile).st_mode)
-
-@@ -136,25 +136,25 @@
- testdir = self.mkdirs("testdir")
- destdir = os.path.join(testdir, "subdir")
- self.assertEqual(nsinstall(["-d", testfile, destdir]), 0)
-- self.assert_(os.path.isdir(os.path.join(destdir, "testfile")))
-+ self.assertTrue(os.path.isdir(os.path.join(destdir, "testfile")))
-
- if RUN_NON_ASCII_TESTS:
- def test_nsinstall_non_ascii(self):
- "Test that nsinstall handles non-ASCII files"
-- filename = u"\u2325\u3452\u2415\u5081"
-+ filename = "\u2325\u3452\u2415\u5081"
- testfile = self.touch(filename)
-- testdir = self.mkdirs(u"\u4241\u1D04\u1414")
-+ testdir = self.mkdirs("\u4241\u1D04\u1414")
- self.assertEqual(nsinstall([testfile.encode("utf-8"),
- testdir.encode("utf-8")]), 0)
-
- destfile = os.path.join(testdir, filename)
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
-
- def test_nsinstall_non_ascii_subprocess(self):
- "Test that nsinstall as a subprocess handles non-ASCII files"
-- filename = u"\u2325\u3452\u2415\u5081"
-+ filename = "\u2325\u3452\u2415\u5081"
- testfile = self.touch(filename)
-- testdir = self.mkdirs(u"\u4241\u1D04\u1414")
-+ testdir = self.mkdirs("\u4241\u1D04\u1414")
- # We don't use subprocess because it can't handle Unicode on
- # Windows <http://bugs.python.org/issue1759845>. mozprocess calls
- # CreateProcessW directly so it's perfect.
-@@ -166,7 +166,7 @@
-
- self.assertEqual(rv, 0)
- destfile = os.path.join(testdir, filename)
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
-
- #TODO: implement -R, -l, -L and test them!
-
---- firefox-52.9.0esr/config/tests/unitMozZipFile.py (original)
-+++ firefox-52.9.0esr/config/tests/unitMozZipFile.py (refactored)
-@@ -11,6 +11,7 @@
- import random
- import copy
- from string import letters
-+from functools import reduce
-
- '''
- Test case infrastructure for MozZipFile.
-@@ -38,7 +39,7 @@
- 'firstdir/oneleaf',
- 'seconddir/twoleaf',
- 'thirddir/with/sub/threeleaf')
--_lengths = map(lambda n: n * 64, [16, 64, 80])
-+_lengths = [n * 64 for n in [16, 64, 80]]
- lengths = 3
- writes = 5
-
-@@ -71,7 +72,7 @@
- def getContent(length):
- 'Get pseudo random content of given length.'
- rv = [None] * length
-- for i in xrange(length):
-+ for i in range(length):
- rv[i] = random.choice(letters)
- return ''.join(rv)
-
-@@ -133,13 +134,13 @@
- def _verifyZip(self):
- zf = zipfile.ZipFile(self.f)
- badEntry = zf.testzip()
-- self.failIf(badEntry, badEntry)
-+ self.assertFalse(badEntry, badEntry)
- zlist = zf.namelist()
- zlist.sort()
-- vlist = self.ref.keys()
-+ vlist = list(self.ref.keys())
- vlist.sort()
- self.assertEqual(zlist, vlist)
-- for leaf, content in self.ref.iteritems():
-+ for leaf, content in self.ref.items():
- zcontent = zf.read(leaf)
- self.assertEqual(content, zcontent)
-
-@@ -158,16 +159,16 @@
- open(self.leaf('stage', leaf), 'w').write(content)
-
- # all leafs in all lengths
--atomics = list(prod(xrange(len(leafs)), xrange(lengths)))
-+atomics = list(prod(range(len(leafs)), range(lengths)))
-
- # populate TestExtensiveStore with testcases
--for w in xrange(writes):
-+for w in range(writes):
- # Don't iterate over all files for the the first n passes,
- # those are redundant as long as w < lengths.
- # There are symmetries in the trailing end, too, but I don't know
- # how to reduce those out right now.
-- nonatomics = [list(prod(range(min(i,len(leafs))), xrange(lengths)))
-- for i in xrange(1, w+1)] + [atomics]
-+ nonatomics = [list(prod(list(range(min(i,len(leafs)))), range(lengths)))
-+ for i in range(1, w+1)] + [atomics]
- for descs in prod(*nonatomics):
- suffix = getid(descs)
- dicts = [dict(leaf=leaf, length=length) for leaf, length in descs]
-@@ -181,9 +182,9 @@
- # and then write all atomics again.
- # This should catch more or less all artifacts generated
- # by the final ordering step when closing the jar.
--files = [list(prod([i], xrange(lengths))) for i in xrange(len(leafs))]
-+files = [list(prod([i], range(lengths))) for i in range(len(leafs))]
- allfiles = reduce(lambda l,r:l+r,
-- [list(prod(*files[:(i+1)])) for i in xrange(len(leafs))])
-+ [list(prod(*files[:(i+1)])) for i in range(len(leafs))])
-
- for first in allfiles:
- testbasename = 'test{0}_'.format(getid(first))
---- firefox-52.9.0esr/config/expandlibs_exec.py.old 2018-07-11 05:07:18.280000000 +0000
-+++ firefox-52.9.0esr/config/expandlibs_exec.py 2018-07-11 05:08:45.670000000 +0000
-@@ -344,7 +344,7 @@
- (stdout, stderr) = proc.communicate()
- if proc.returncode and not options.verbose:
- print_command(sys.stderr, args)
-- sys.stderr.write(stdout)
-+ sys.stderr.write(stdout.decode('utf-8'))
- sys.stderr.flush()
- if proc.returncode:
- return proc.returncode
---- firefox-52.9.0esr/js/src/jsautokw.py.old 2017-04-11 02:13:16.000000000 +0000
-+++ firefox-52.9.0esr/js/src/jsautokw.py 2018-07-11 05:11:27.080000000 +0000
-@@ -80,14 +80,14 @@
- per_column = column_dict.setdefault(keyword[column], [])
- per_column.append(item)
-
-- return sorted(column_dict.items(), key=lambda (char, keyword): ord(char))
-+ return sorted(list(column_dict.items()), key=lambda char_keyword: ord(char_keyword[0]))
-
- def generate_letter_switch(opt, unprocessed_columns, keyword_list,
- columns=None):
- assert(len(keyword_list) != 0);
-
- if not columns:
-- columns = range(0, unprocessed_columns)
-+ columns = list(range(0, unprocessed_columns))
-
- if len(keyword_list) == 1:
- index, keyword = keyword_list[0]
-@@ -161,7 +161,7 @@
- per_length = length_dict.setdefault(len(keyword), [])
- per_length.append(item)
-
-- return sorted(length_dict.items(), key=lambda (length, keyword): length)
-+ return sorted(list(length_dict.items()), key=lambda length_keyword: length_keyword[0])
-
- def generate_switch(opt, keyword_list):
- assert(len(keyword_list) != 0);
---- firefox-52.9.0esr/js/src/builtin/embedjs.py (original)
-+++ firefox-52.9.0esr/js/src/builtin/embedjs.py (refactored)
-@@ -36,7 +36,7 @@
- #
- # It uses the C preprocessor to process its inputs.
-
--from __future__ import with_statement
-+
- import re, sys, os, subprocess
- import shlex
- import which
-@@ -109,7 +109,7 @@
-
- with open(tmpIn, 'wb') as input:
- input.write(source)
-- print(' '.join(cxx + outputArg + args + [tmpIn]))
-+ print((' '.join(cxx + outputArg + args + [tmpIn])))
- result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
- if (result != 0):
- sys.exit(result);
-@@ -132,7 +132,7 @@
-
- def get_config_defines(buildconfig):
- # Collect defines equivalent to ACDEFINES and add MOZ_DEBUG_DEFINES.
-- env = {key: value for key, value in buildconfig.defines.iteritems()
-+ env = {key: value for key, value in buildconfig.defines.items()
- if key not in buildconfig.non_global_defines}
- for define in buildconfig.substs['MOZ_DEBUG_DEFINES']:
- env[define] = 1
---- firefox-52.9.0esr/js/src/builtin/embedjs.py.old 2018-07-11 05:13:28.920000000 +0000
-+++ firefox-52.9.0esr/js/src/builtin/embedjs.py 2018-07-11 05:15:15.390000000 +0000
-@@ -107,7 +107,7 @@
- tmpOut = 'self-hosting-preprocessed.pp';
- outputArg = shlex.split(preprocessorOption + tmpOut)
-
-- with open(tmpIn, 'wb') as input:
-+ with open(tmpIn, 'w') as input:
- input.write(source)
- print((' '.join(cxx + outputArg + args + [tmpIn])))
- result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
---- firefox-52.9.0esr/python/mozbuild/mozbuild/preprocessor.py.old 2018-07-11 05:15:42.900000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/preprocessor.py 2018-07-11 05:23:10.870000000 +0000
-@@ -451,7 +451,7 @@
- except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-- return open(path, 'wb')
-+ return open(path, 'w')
-
- p = self.getCommandLineParser()
- options, args = p.parse_args(args=args)
---- firefox-52.9.0esr/js/src/builtin/embedjs.py.old 2018-07-11 05:15:42.950000000 +0000
-+++ firefox-52.9.0esr/js/src/builtin/embedjs.py 2018-07-11 05:20:14.280000000 +0000
-@@ -53,7 +53,7 @@
- def ToCArray(lines):
- result = []
- for chr in lines:
-- result.append(str(ord(chr)))
-+ result.append(str(chr))
- return ", ".join(result)
-
- HEADER_TEMPLATE = """\
-@@ -87,7 +87,7 @@
-
- js_out.write(processed)
- import zlib
-- compressed = zlib.compress(processed)
-+ compressed = zlib.compress(processed.encode('utf-8'))
- data = ToCArray(compressed)
- c_out.write(HEADER_TEMPLATE % {
- 'sources_type': 'unsigned char',
---- firefox-52.9.0esr/build/mach_bootstrap.py.old 2018-06-29 23:00:39.000000000 +0000
-+++ firefox-52.9.0esr/build/mach_bootstrap.py 2018-07-26 00:41:17.740000000 +0000
-@@ -12,7 +12,7 @@
- import subprocess
- import sys
- import uuid
--import __builtin__
-+import builtins
-
- from types import ModuleType
-
-@@ -187,10 +187,10 @@
- # Ensure we are running Python 2.7+. We put this check here so we generate a
- # user-friendly error message rather than a cryptic stack trace on module
- # import.
-- if sys.version_info[0] != 2 or sys.version_info[1] < 7:
-- print('Python 2.7 or above (but not Python 3) is required to run mach.')
-- print('You are running Python', platform.python_version())
-- sys.exit(1)
-+ #if sys.version_info[0] != 2 or sys.version_info[1] < 7:
-+ # print('Python 2.7 or above (but not Python 3) is required to run mach.')
-+ # print('You are running Python', platform.python_version())
-+ # sys.exit(1)
-
- # Global build system and mach state is stored in a central directory. By
- # default, this is ~/.mozbuild. However, it can be defined via an
-@@ -410,4 +410,4 @@
-
-
- # Install our hook
--__builtin__.__import__ = ImportHook(__builtin__.__import__)
-+builtins.__import__ = ImportHook(builtins.__import__)
---- firefox-52.9.0esr/python/mach/mach/config.py (original)
-+++ firefox-52.9.0esr/python/mach/mach/config.py (refactored)
-@@ -163,7 +163,7 @@
- return func(*args, **kwargs)
- except KeyError:
- exc_class, exc, tb = sys.exc_info()
-- raise AttributeError().__class__, exc, tb
-+ raise AttributeError().__class__(exc).with_traceback(tb)
- return _
-
-
-@@ -357,7 +357,7 @@
- extra -- A dict of additional key/value pairs to add to the
- setting metadata.
- """
-- if isinstance(type_cls, basestring):
-+ if isinstance(type_cls, str_type):
- type_cls = TYPE_CLASSES[type_cls]
-
- meta = {
-@@ -397,10 +397,10 @@
- meta = self._format_metadata(provider, section, option, *setting[1:])
- config_settings[section][option] = meta
-
-- for section_name, settings in config_settings.items():
-+ for section_name, settings in list(config_settings.items()):
- section = self._settings.get(section_name, {})
-
-- for k, v in settings.items():
-+ for k, v in list(settings.items()):
- if k in section:
- raise ConfigException('Setting already registered: %s.%s' %
- section_name, k)
-@@ -432,7 +432,7 @@
- if self._finalized:
- return
-
-- for section, settings in self._settings.items():
-+ for section, settings in list(self._settings.items()):
- s = ConfigSettings.ConfigSection(self._config, section, settings)
- self._sections[section] = s
-
-@@ -445,7 +445,7 @@
- def __iter__(self):
- self._finalize()
-
-- return iter(self._sections.keys())
-+ return iter(list(self._sections.keys()))
-
- def __contains__(self, k):
- return k in self._settings
---- firefox-52.9.0esr/python/mach/mach/dispatcher.py (original)
-+++ firefox-52.9.0esr/python/mach/mach/dispatcher.py (refactored)
-@@ -243,7 +243,7 @@
- r = self._mach_registrar
- disabled_commands = []
-
-- cats = [(k, v[2]) for k, v in r.categories.items()]
-+ cats = [(k, v[2]) for k, v in list(r.categories.items())]
- sorted_cats = sorted(cats, key=itemgetter(1), reverse=True)
- for category, priority in sorted_cats:
- group = None
-@@ -375,7 +375,7 @@
- ' subcommand [subcommand arguments]'
- group = parser.add_argument_group('Sub Commands')
-
-- for subcommand, subhandler in sorted(handler.subcommand_handlers.iteritems()):
-+ for subcommand, subhandler in sorted(handler.subcommand_handlers.items()):
- group.add_argument(subcommand, help=subhandler.description,
- action='store_true')
-
-@@ -406,7 +406,7 @@
-
- def _suggest_command(self, command):
- # Make sure we don't suggest any deprecated commands.
-- names = [h.name for h in self._mach_registrar.command_handlers.values()
-+ names = [h.name for h in list(self._mach_registrar.command_handlers.values())
- if h.cls.__name__ != 'DeprecatedCommands']
- # We first try to look for a valid command that is very similar to the given command.
- suggested_commands = difflib.get_close_matches(command, names, cutoff=0.8)
-@@ -437,13 +437,13 @@
- if not docstring:
- return ''
- lines = docstring.expandtabs().splitlines()
-- indent = sys.maxint
-+ indent = sys.maxsize
- for line in lines[1:]:
- stripped = line.lstrip()
- if stripped:
- indent = min(indent, len(line) - len(stripped))
- trimmed = [lines[0].strip()]
-- if indent < sys.maxint:
-+ if indent < sys.maxsize:
- for line in lines[1:]:
- trimmed.append(line[indent:].rstrip())
- while trimmed and not trimmed[-1]:
---- firefox-52.9.0esr/python/mach/mach/main.py (original)
-+++ firefox-52.9.0esr/python/mach/mach/main.py (refactored)
-@@ -528,7 +528,7 @@
-
- machrc, .machrc
- """
-- if isinstance(paths, basestring):
-+ if isinstance(paths, str):
- paths = [paths]
-
- valid_names = ('machrc', '.machrc')
-@@ -541,8 +541,8 @@
- if os.path.isfile(path):
- return path
-
-- files = map(find_in_dir, self.settings_paths)
-- files = filter(bool, files)
-+ files = list(map(find_in_dir, self.settings_paths))
-+ files = list(filter(bool, files))
-
- self.settings.load_files(files)
-
---- firefox-52.9.0esr/python/mach/mach/registrar.py (original)
-+++ firefox-52.9.0esr/python/mach/mach/registrar.py (refactored)
-@@ -90,7 +90,7 @@
- result = fn(**kwargs)
-
- result = result or 0
-- assert isinstance(result, (int, long))
-+ assert isinstance(result, int)
-
- if context:
- postrun = getattr(context, 'post_dispatch_handler', None)
---- firefox-52.9.0esr/python/mach/mach/terminal.py (original)
-+++ firefox-52.9.0esr/python/mach/mach/terminal.py (refactored)
-@@ -59,7 +59,7 @@
- self.fh = sys.stdout
-
- def _clear_lines(self, n):
-- for i in xrange(n):
-+ for i in range(n):
- self.fh.write(self.t.move_x(0))
- self.fh.write(self.t.clear_eol())
- self.fh.write(self.t.move_up())
---- firefox-52.9.0esr/python/mach/mach/main.py.old 2018-07-26 00:55:29.330000000 +0000
-+++ firefox-52.9.0esr/python/mach/mach/main.py 2018-07-26 00:57:01.260000000 +0000
-@@ -256,9 +256,9 @@
- if module_name is None:
- # Ensure parent module is present otherwise we'll (likely) get
- # an error due to unknown parent.
-- if b'mach.commands' not in sys.modules:
-- mod = imp.new_module(b'mach.commands')
-- sys.modules[b'mach.commands'] = mod
-+ if 'mach.commands' not in sys.modules:
-+ mod = imp.new_module('mach.commands')
-+ sys.modules['mach.commands'] = mod
-
- module_name = 'mach.commands.%s' % uuid.uuid1().get_hex()
-
-@@ -347,7 +347,7 @@
- # is a TTY. This provides a mechanism to allow said processes to
- # enable emitting code codes, for example.
- if os.isatty(orig_stdout.fileno()):
-- os.environ[b'MACH_STDOUT_ISATTY'] = b'1'
-+ os.environ['MACH_STDOUT_ISATTY'] = '1'
-
- return self._run(argv)
- except KeyboardInterrupt:
---- firefox-52.9.0esr/toolkit/moz.configure.old 2017-04-11 02:13:23.000000000 +0000
-+++ firefox-52.9.0esr/toolkit/moz.configure 2018-07-26 05:32:08.590000000 +0000
-@@ -690,7 +690,7 @@
- # ==============================================================
- @depends(check_build_environment, '--help')
- @imports('os')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- def all_necko_protocols(build_env, _):
- basedir = os.path.join(build_env.topsrcdir, 'netwerk', 'protocol')
- return tuple(sorted(p for p in os.listdir(basedir)
-@@ -744,7 +744,7 @@
- __sandbox__.set_define_impl(p, True)
-
- @depends('--enable-network-protocols')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- def necko_protocols(protocols):
- return tuple(sorted(protocols))
-
---- firefox-52.9.0esr/build/moz.configure/pkg.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/pkg.configure 2018-07-26 05:36:10.990000000 +0000
-@@ -84,6 +84,8 @@
- @checking('%s_LIBS' % var, callback=lambda t: ' '.join(t))
- def pkg_libs(pkg_config, package_desc):
- libs = check_cmd_output(pkg_config, '--libs', package_desc)
-+ if isinstance(libs, bytes):
-+ libs = libs.decode('utf-8')
- # Remove evil flags like -Wl,--export-dynamic
- return tuple(libs.replace('-Wl,--export-dynamic', '').split())
-
---- firefox-52.9.0esr/build/moz.configure/pkg.configure.old 2018-07-26 05:37:14.580000000 +0000
-+++ firefox-52.9.0esr/build/moz.configure/pkg.configure 2018-07-26 05:38:48.750000000 +0000
-@@ -78,6 +78,8 @@
- @checking('%s_CFLAGS' % var, callback=lambda t: ' '.join(t))
- def pkg_cflags(pkg_config, package_desc):
- flags = check_cmd_output(pkg_config, '--cflags', package_desc)
-+ if isinstance(flags, bytes):
-+ flags = flags.decode('utf-8')
- return tuple(flags.split())
-
- @depends_when(pkg_config, package_desc, when=package)
---- firefox-52.9.0esr/build/subconfigure.py.old 2018-07-26 05:39:27.360000000 +0000
-+++ firefox-52.9.0esr/build/subconfigure.py 2018-07-26 09:58:41.110000000 +0000
-@@ -39,7 +39,7 @@
- class File(object):
- def __init__(self, path):
- self._path = path
-- self._content = open(path, 'rb').read()
-+ self._content = open(path, 'r').read()
- stat = os.stat(path)
- self._times = (stat.st_atime, stat.st_mtime)
-
-@@ -60,7 +60,7 @@
-
- modified = True
- if os.path.exists(self._path):
-- if open(self._path, 'rb').read() == self._content:
-+ if open(self._path, 'r').read() == self._content:
- modified = False
- self._modified = modified
- return modified
-@@ -221,7 +221,7 @@
- environ[var] = os.environ[var]
- args = data['args']
- else:
-- environ = os.environ
-+ environ = dict(os.environ)
-
- args, others = parser.parse_known_args(args)
-
-@@ -260,7 +260,7 @@
-
- def run(objdir):
- ret = 0
-- output = ''
-+ output = b''
-
- with open(os.path.join(objdir, CONFIGURE_DATA), 'rb') as f:
- data = pickle.load(f)
-@@ -381,7 +381,7 @@
- for f in contents:
- f.update_time()
-
-- return relobjdir, ret, output
-+ return relobjdir, ret, output.decode('utf-8')
-
-
- def subconfigure(args):
-@@ -395,9 +395,9 @@
- args, others = parser.parse_known_args(args)
- subconfigures = args.subconfigures
- if args.list:
-- subconfigures.extend(open(args.list, 'rb').read().splitlines())
-+ subconfigures.extend(open(args.list, 'r').read().splitlines())
- if args.skip:
-- skips = set(open(args.skip, 'rb').read().splitlines())
-+ skips = set(open(args.skip, 'r').read().splitlines())
- subconfigures = [s for s in subconfigures if s not in skips]
-
- if not subconfigures:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/util.py.old 2018-07-26 10:43:58.540000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/util.py 2018-07-26 10:57:09.100000000 +0000
-@@ -1228,7 +1228,7 @@
- yield 'b'
- yield repr(o)
- elif isinstance(o, str):
-- yield "'"
-+ yield "'''"
- # We want a readable string (non escaped unicode), but some
- # special characters need escaping (e.g. \n, \t, etc.)
- for i, s in enumerate(_INDENTED_REPR_RE.split(o)):
-@@ -1237,7 +1237,7 @@
- yield _INDENTED_REPR_TABLE[c]
- else:
- yield s
-- yield "'"
-+ yield "'''"
- elif hasattr(o, '__iter__'):
- yield '[\n'
- for i in o:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py.old 2018-07-26 10:43:58.540000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py 2018-07-26 10:49:10.780000000 +0000
-@@ -148,6 +148,8 @@
- self._stdout.flush()
- stream = self._stderr
- msg = '%s\n' % self.format(record)
-+ if isinstance(msg, bytes):
-+ msg = msg.decode('utf-8')
- stream.write(msg)
- stream.flush()
- except (KeyboardInterrupt, SystemExit):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py.old 2018-07-26 10:58:24.910000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/util.py 2018-07-26 11:08:15.430000000 +0000
-@@ -89,8 +89,8 @@
- return codecs.getwriter(encoding)(fh)
- return fh
-
-- self._stdout = fix_encoding(stdout)
-- self._stderr = fix_encoding(stderr) if stdout != stderr else self._stdout
-+ self._stdout = stdout
-+ self._stderr = stderr if stdout != stderr else self._stdout
- try:
- fd1 = self._stdout.fileno()
- fd2 = self._stderr.fileno()
-@@ -148,8 +148,6 @@
- self._stdout.flush()
- stream = self._stderr
- msg = '%s\n' % self.format(record)
-- if isinstance(msg, bytes):
-- msg = msg.decode('utf-8')
- stream.write(msg)
- stream.flush()
- except (KeyboardInterrupt, SystemExit):
---- firefox-52.9.0esr/build/mach_bootstrap.py.old 2018-07-26 10:58:24.910000000 +0000
-+++ firefox-52.9.0esr/build/mach_bootstrap.py 2018-07-26 11:09:30.620000000 +0000
-@@ -361,7 +361,7 @@
- self._modules = set()
-
- def __call__(self, name, globals=None, locals=None, fromlist=None,
-- level=-1):
-+ level=0):
- # name might be a relative import. Instead of figuring out what that
- # resolves to, which is complex, just rely on the real import.
- # Since we don't know the full module name, we can't check sys.modules,
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/check_debug_ranges.py.old 2018-07-26 11:10:15.820000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/check_debug_ranges.py 2018-07-26 11:14:51.180000000 +0000
-@@ -45,6 +45,7 @@
- def main(bin, compilation_unit):
- p = subprocess.Popen(['objdump', '-W', bin], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
- (out, err) = p.communicate()
-+ out = out.decode('utf-8')
- sections = re.split('\n(Contents of the|The section) ', out)
- debug_info = [s for s in sections if s.startswith('.debug_info')]
- debug_ranges = [s for s in sections if s.startswith('.debug_ranges')]
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py.old 2018-07-26 11:10:15.820000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py 2018-07-26 11:18:03.750000000 +0000
-@@ -28,6 +28,7 @@
- )
-
- Kernel = EnumString.subclass(
-+ 'Android',
- 'Darwin',
- 'DragonFly',
- 'FreeBSD',
-@@ -90,6 +91,7 @@
- assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)
-
- kernel_preprocessor_checks = {
-+ 'Android': '__BIONIC__',
- 'Darwin': '__APPLE__',
- 'DragonFly': '__DragonFly__',
- 'FreeBSD': '__FreeBSD__',
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py.old 2018-07-26 11:18:54.630000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py 2018-07-26 23:46:48.880000000 +0000
-@@ -28,6 +28,7 @@
- )
-
- Kernel = EnumString.subclass(
-+ 'AIX',
- 'Android',
- 'Darwin',
- 'DragonFly',
-@@ -91,6 +92,7 @@
- assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)
-
- kernel_preprocessor_checks = {
-+ 'AIX': '_AIX',
- 'Android': '__BIONIC__',
- 'Darwin': '__APPLE__',
- 'DragonFly': '__DragonFly__',
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py.old 2018-07-26 23:47:39.060000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py 2018-07-26 23:53:25.260000000 +0000
-@@ -37,6 +37,8 @@
- 'Linux',
- 'NetBSD',
- 'OpenBSD',
-+ 'SunOS',
-+ 'HP-UX',
- 'WINNT',
- )
-
-@@ -93,14 +94,16 @@
-
- kernel_preprocessor_checks = {
- 'AIX': '_AIX',
-- 'Android': '__BIONIC__',
-+ 'Android': '__ANDROID__',
- 'Darwin': '__APPLE__',
- 'DragonFly': '__DragonFly__',
- 'FreeBSD': '__FreeBSD__',
-+ 'HP-UX': '_hpux',
- 'kFreeBSD': '__FreeBSD_kernel__',
- 'Linux': '__linux__',
- 'NetBSD': '__NetBSD__',
- 'OpenBSD': '__OpenBSD__',
-+ 'SunOS': '__sun || sun',
- 'WINNT': '_WIN32 || __CYGWIN__',
- }
-
---- firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py.old 2018-07-26 23:55:19.000000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/configure/constants.py 2018-07-26 23:58:36.750000000 +0000
-@@ -33,12 +33,15 @@
- 'Darwin',
- 'DragonFly',
- 'FreeBSD',
-+ 'GNU',
-+ 'GNU/kFreeBSD',
-+ 'GNU_kFreeBSD',
-+ 'HP-UX',
- 'kFreeBSD',
- 'Linux',
- 'NetBSD',
- 'OpenBSD',
- 'SunOS',
-- 'HP-UX',
- 'WINNT',
- )
-
-@@ -99,6 +102,9 @@
- 'Darwin': '__APPLE__',
- 'DragonFly': '__DragonFly__',
- 'FreeBSD': '__FreeBSD__',
-+ 'GNU': '__gnu_hurd__',
-+ 'GNU/kFreeBSD': '__FreeBSD_kernel_ && __GLIBC__',
-+ 'GNU_kFreeBSD': '__FreeBSD_kernel_ && __GLIBC__',
- 'HP-UX': '_hpux',
- 'kFreeBSD': '__FreeBSD_kernel__',
- 'Linux': '__linux__',
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py.old 2018-07-26 23:55:18.990000000 +0000
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py 2018-07-27 00:04:47.460000000 +0000
-@@ -33,7 +33,7 @@
- # read the lines
- for (linenum, line) in enumerate(fp.read().splitlines(), start=1):
-
-- stripped = line.strip()
-+ stripped = line.strip().decode('utf-8')
-
- # ignore blank lines
- if not stripped:
---- firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py.old 2018-07-27 00:09:00.850000000 +0000
-+++ firefox-52.9.0esr/testing/mozbase/manifestparser/manifestparser/ini.py 2018-07-27 00:12:03.920000000 +0000
-@@ -31,9 +31,9 @@
- fp = open(fp)
-
- # read the lines
-- for (linenum, line) in enumerate(fp.read().splitlines(), start=1):
-+ for (linenum, line) in enumerate(fp.read().decode('utf-8').splitlines(), start=1):
-
-- stripped = line.strip().decode('utf-8')
-+ stripped = line.strip()
-
- # ignore blank lines
- if not stripped:
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/sandbox.py.old 2018-07-27 00:12:52.240000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/sandbox.py 2018-07-27 00:18:00.010000000 +0000
-@@ -39,7 +39,8 @@
- """sorted() replacement for the sandbox, ordering alphabetically by
- default.
- """
-- return sorted(iterable, cmp, key, reverse)
-+ ### XXX what do we do with cmp?
-+ return sorted(iterable, key=key, reverse=reverse)
-
-
- class SandboxError(Exception):
---- firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/emitter.py.old 2018-07-27 00:32:50.870000000 +0000
-+++ firefox-52.9.0esr/python/mozbuild/mozbuild/frontend/emitter.py 2018-07-27 00:32:28.770000000 +0000
-@@ -1399,7 +1399,8 @@
- # declared anywhere (they were discovered). This will detect people
- # relying on the old behavior.
- if os.path.exists(os.path.join(context.srcdir, 'jar.mn')):
-- if 'jar.mn' not in jar_manifests:
-+ if 'jar.mn' not in jar_manifests and \
-+ SourcePath(context, 'jar.mn') not in jar_manifests:
- raise SandboxValidationError('A jar.mn exists but it '
- 'is not referenced in the moz.build file. '
- 'Please define JAR_MANIFESTS.', context)
diff --git a/experimental/firefox/fix-bug-1261392.patch b/experimental/firefox/fix-bug-1261392.patch
deleted file mode 100644
index fa40914d6..000000000
--- a/experimental/firefox/fix-bug-1261392.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/tools/profiler/core/platform.h 2017-05-27 11:44:06.733119794 +0000
-+++ b/tools/profiler/core/platform.h 2017-05-27 11:46:16.004253520 +0000
-@@ -54,10 +54,11 @@
- #include <vector>
- #include "StackTop.h"
-
--// We need a definition of gettid(), but old glibc versions don't provide a
--// wrapper for it.
--#if defined(__GLIBC__)
-+// We need a definition of gettid(), but Linux libc implementations don't
-+// provide a wrapper for it (except for Bionic)
-+#if defined(__linux__)
- # include <unistd.h>
-+#if !defined(__BIONIC__)
- # include <sys/syscall.h>
- # define gettid() static_cast<pid_t>(syscall(SYS_gettid))
-+#endif
-@@ -71,6 +72,7 @@
- return (pid_t) syscall(SYS_thread_selfid);
- }
- #endif
-+#endif
-
- #ifdef XP_WIN
- #include <windows.h>
diff --git a/legacy/heimdal/CVE-2017-17439.patch b/legacy/heimdal/CVE-2017-17439.patch
deleted file mode 100644
index 8c3273971..000000000
--- a/legacy/heimdal/CVE-2017-17439.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 749d377fa357351a7bbba51f8aae72cdf0629592 Mon Sep 17 00:00:00 2001
-From: Viktor Dukhovni <viktor@twosigma.com>
-Date: Tue, 5 Dec 2017 18:49:50 -0500
-Subject: [PATCH] Security: Avoid NULL structure pointer member dereference
-
-This can happen in the error path when processing malformed AS
-requests with a NULL client name. Bug originally introduced on
-Fri Feb 13 09:26:01 2015 +0100 in commit:
-
- a873e21d7c06f22943a90a41dc733ae76799390d
-
- kdc: base _kdc_fast_mk_error() on krb5_mk_error_ext()
-
-Original patch by Jeffrey Altman <jaltman@secure-endpoints.com>
-
-(cherry picked from commit 1a6a6e462dc2ac6111f9e02c6852ddec4849b887)
----
- kdc/kerberos5.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c
-index 95a74927f7..675b406b82 100644
---- a/kdc/kerberos5.c
-+++ b/kdc/kerberos5.c
-@@ -2226,15 +2226,17 @@ _kdc_as_rep(kdc_request_t r,
- /*
- * In case of a non proxy error, build an error message.
- */
-- if(ret != 0 && ret != HDB_ERR_NOT_FOUND_HERE && reply->length == 0) {
-+ if (ret != 0 && ret != HDB_ERR_NOT_FOUND_HERE && reply->length == 0) {
- ret = _kdc_fast_mk_error(context, r,
- &error_method,
- r->armor_crypto,
- &req->req_body,
- ret, r->e_text,
- r->server_princ,
-- &r->client_princ->name,
-- &r->client_princ->realm,
-+ r->client_princ ?
-+ &r->client_princ->name : NULL,
-+ r->client_princ ?
-+ &r->client_princ->realm : NULL,
- NULL, NULL,
- reply);
- if (ret)
diff --git a/legacy/kalarmcal/build-with-kf5-kholidays.patch b/legacy/kalarmcal/build-with-kf5-kholidays.patch
deleted file mode 100644
index 0d5bd88f8..000000000
--- a/legacy/kalarmcal/build-with-kf5-kholidays.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kalarmcal-17.12.2/CMakeLists.txt.old 2018-02-06 00:37:47.000000000 +0000
-+++ kalarmcal-17.12.2/CMakeLists.txt 2018-03-04 22:17:25.340681117 +0000
-@@ -26,7 +26,7 @@
- set(KALARM_LIB_VERSION ${PIM_VERSION})
-
- set(CALENDARCORE_LIB_VERSION "5.7.2")
--set(HOLIDAY_LIB_VERSION "5.7.2")
-+set(HOLIDAY_LIB_VERSION "5.6.2")
- set(IDENTITYMANAGER_LIB_VERSION "5.7.2")
- set(AKONADI_LIB_VERSION "5.7.2")
- ecm_setup_version(PROJECT VARIABLE_PREFIX KALARMCAL
diff --git a/legacy/libvpx/libm-pc.patch b/legacy/libvpx/libm-pc.patch
deleted file mode 100644
index 87f07a398..000000000
--- a/legacy/libvpx/libm-pc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./libs.mk.orig
-+++ ./libs.mk
-@@ -241,7 +241,7 @@
- $(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)' >> $@
- $(qexec)echo 'Requires:' >> $@
- $(qexec)echo 'Conflicts:' >> $@
-- $(qexec)echo 'Libs: -L$${libdir} -lvpx' >> $@
-+ $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@
- $(qexec)echo 'Cflags: -I$${includedir}' >> $@
- INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
- INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
diff --git a/legacy/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch b/legacy/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
deleted file mode 100644
index 26f89bb54..000000000
--- a/legacy/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- openjdk.orig/hotspot/agent/src/os/solaris/dbx/Makefile
-+++ openjdk/hotspot/agent/src/os/solaris/dbx/Makefile
-@@ -50,7 +50,7 @@
- CFLAGS_32bit := -xarch=v8
- CFLAGS_64bit := -xarch=v9
- CFLAGS := -PIC -xO3 $(INCLUDES)
--LIBS := -lsocket -lnsl -lrtld_db
-+LIBS := -lsocket -lrtld_db
- LDFLAGS := -G
-
- ifneq "$(ARCH)" "i486"
---- openjdk.orig/jdk/make/java/hpi/hpi_common.gmk
-+++ openjdk/jdk/make/java/hpi/hpi_common.gmk
-@@ -86,5 +86,5 @@
- # Things that must be linked in.
- #
- ifneq ($(PLATFORM), windows)
--OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl
-+OTHER_LDLIBS += $(LIBSOCKET) $(LIBM) -ldl
- endif
---- openjdk.orig/jdk/make/java/java/Makefile
-+++ openjdk/jdk/make/java/java/Makefile
-@@ -205,7 +205,7 @@
- OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \
- -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib
- else
--OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \
-+OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -ldl \
- -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH)
- endif
-
---- openjdk.orig/jdk/make/java/java_hprof_demo/Makefile
-+++ openjdk/jdk/make/java/java_hprof_demo/Makefile
-@@ -83,7 +83,7 @@
- ifeq ($(PLATFORM), windows)
- OTHER_LDLIBS += wsock32.lib winmm.lib
- else
-- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
-+ OTHER_LDLIBS += $(LIBSOCKET) -ldl
- endif
-
- #
---- openjdk.orig/jdk/make/java/net/Makefile
-+++ openjdk/jdk/make/java/net/Makefile
-@@ -97,7 +97,7 @@
- # Will not compile at warning level 3 if warnings are fatal
- COMPILER_WARNINGS_FATAL=false
- else
-- OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
-+ OTHER_LDLIBS = $(LIBSOCKET) -ldl $(JVMLIB)
- endif
- ifeq ($(PLATFORM), linux)
- OTHER_LDLIBS += -lpthread
---- openjdk.orig/jdk/make/jpda/transport/socket/Makefile
-+++ openjdk/jdk/make/jpda/transport/socket/Makefile
-@@ -42,11 +42,11 @@
- endif
-
- ifeq ($(PLATFORM), linux)
-- OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
-+ OTHER_LDLIBS += $(LIBSOCKET) -lpthread
- endif
-
- ifeq ($(PLATFORM), solaris)
-- OTHER_LDLIBS += -lnsl $(LIBSOCKET)
-+ OTHER_LDLIBS += $(LIBSOCKET)
- endif
-
- ifeq ($(PLATFORM), windows)
---- openjdk.orig/jdk/make/mkdemo/jvmti/hprof/Makefile
-+++ openjdk/jdk/make/mkdemo/jvmti/hprof/Makefile
-@@ -39,10 +39,10 @@
- EXTRA_LIBS += wsock32.lib winmm.lib
- endif
- ifeq ($(PLATFORM), solaris)
-- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
-+ OTHER_LDLIBS += $(LIBSOCKET) -ldl
- endif
- ifeq ($(PLATFORM), linux)
-- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread
-+ OTHER_LDLIBS += $(LIBSOCKET) -ldl -lpthread
- endif
-
- #
diff --git a/legacy/telegram/rlottie.patch b/legacy/telegram/rlottie.patch
deleted file mode 100644
index 6bd2ff6c3..000000000
--- a/legacy/telegram/rlottie.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-No CMake config exists for rlottie; use pkgconf instead.
-
---- a/cmake/external/rlottie/CMakeLists.txt 2020-01-17 18:21:17.000000000 +0100
-+++ b/cmake/external/rlottie/CMakeLists.txt 2020-01-18 00:37:40.280438388 +0100
-@@ -8,8 +8,9 @@
- add_library(external_rlottie INTERFACE IMPORTED GLOBAL)
- add_library(desktop-app::external_rlottie ALIAS external_rlottie)
-
-- find_package(rlottie REQUIRED)
-- target_link_libraries(external_rlottie INTERFACE rlottie::rlottie)
-+ find_package(PkgConfig REQUIRED)
-+ pkg_check_modules(RLOTTIE REQUIRED rlottie)
-+ target_link_libraries(external_rlottie INTERFACE ${RLOTTIE_LIBRARIES})
- else()
- add_library(external_rlottie OBJECT)
- add_library(desktop-app::external_rlottie ALIAS external_rlottie)
diff --git a/system/autoconf/autoconf-2.69-fix-perl-regex.patch b/system/autoconf/autoconf-2.69-fix-perl-regex.patch
deleted file mode 100644
index 9cccf912b..000000000
--- a/system/autoconf/autoconf-2.69-fix-perl-regex.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- autoconf-2.69/bin/autoscan.in.old 2012-04-25 02:37:26.000000000 +0000
-+++ autoconf-2.69/bin/autoscan.in 2017-08-03 23:59:38.720214631 +0000
-@@ -358,7 +358,7 @@
- {
- # Strip out comments and variable references.
- s/#.*//;
-- s/\${[^\}]*}//g;
-+ s/\$\{[^\}]*\}//g;
- s/@[^@]*@//g;
-
- # Tokens in the code.
diff --git a/system/binutils/memory.patch b/system/binutils/memory.patch
deleted file mode 100644
index f2cfea130..000000000
--- a/system/binutils/memory.patch
+++ /dev/null
@@ -1,449 +0,0 @@
-From 9999de060bbcc7cca9dce213deeeec6593887a8e Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 27 Feb 2018 12:22:58 -0800
-Subject: [PATCH] Limit memory size to half of address space
-
-When link_info.keep_memory is TRUE, linker caches the relocation
-information and symbol tables of input files in memory. On 32-bit
-hosts, linker runs out of 32-bit virtual memory on input files with many
-relocations. This patch limits the allocated memory size to half of
-the address space for 32-bit hosts.
-
-bfd/
-
- PR ld/18028
- * bfd-in.h (_bfd_link_keep_memory): New.
- * bfd-in2.h: Regenerated.
- * bfd.c (bfd): Add alloc_size.
- * elf-bfd.h (_bfd_elf_link_info_read_relocs): New.
- * elf32-i386.c (elf_i386_check_relocs): Use _bfd_link_keep_memory.
- Update cache_size.
- * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
- * elflink.c (_bfd_elf_link_read_relocs): Renamed to ...
- (_bfd_elf_link_info_read_relocs): This. Update cache_size.
- (_bfd_elf_link_read_relocs): New.
- (_bfd_elf_link_check_relocs): Call _bfd_elf_link_info_read_relocs
- instead of _bfd_elf_link_read_relocs.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_input_bfd): Likewise.
- (init_reloc_cookie_rels): Likewise.
- (init_reloc_cookie): Update cache_size. Call
- _bfd_elf_link_info_read_relocs instead of
- _bfd_elf_link_read_relocs.
- (link_info_ok): New.
- (elf_gc_smash_unused_vtentry_relocs): Updated. Call
- _bfd_elf_link_info_read_relocs instead of
- _bfd_elf_link_read_relocs.
- (bfd_elf_gc_sections): Use link_info_ok. Pass &link_info_ok
- to elf_gc_smash_unused_vtentry_relocs.
- * linker.c (_bfd_link_keep_memory): New.
- * opncls.c (bfd_alloc): Update alloc_size.
-
-include/
-
- PR ld/18028
- * bfdlink.h (bfd_link_info): Add cache_size and max_alloc_size.
-
-ld/
-
- PR ld/18028
- * ldmain.c: Include "bfd_stdint.h".
- (main): Set link_info.max_alloc_size to half of the address space.
----
- bfd/bfd-in.h | 2 ++
- bfd/bfd-in2.h | 5 +++
- bfd/bfd.c | 3 ++
- bfd/elf-bfd.h | 3 ++
- bfd/elf32-i386.c | 3 +-
- bfd/elf64-x86-64.c | 3 +-
- bfd/elflink.c | 89 ++++++++++++++++++++++++++++++++++++++++--------------
- bfd/linker.c | 33 ++++++++++++++++++++
- bfd/opncls.c | 2 ++
- include/bfdlink.h | 7 +++++
- ld/ldmain.c | 3 ++
- 11 files changed, 128 insertions(+), 25 deletions(-)
-
-diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
-index a06cd740c0..ca4bec8aab 100644
---- a/bfd/bfd-in.h
-+++ b/bfd/bfd-in.h
-@@ -600,6 +600,8 @@ struct bfd_section_already_linked;
- struct bfd_elf_version_tree;
- #endif
-
-+extern bfd_boolean _bfd_link_keep_memory (struct bfd_link_info *);
-+
- extern bfd_boolean bfd_section_already_linked_table_init (void);
- extern void bfd_section_already_linked_table_free (void);
- extern bfd_boolean _bfd_handle_already_linked
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 9742c1ac7f..0794bcdcdb 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -607,6 +607,8 @@ struct bfd_section_already_linked;
- struct bfd_elf_version_tree;
- #endif
-
-+extern bfd_boolean _bfd_link_keep_memory (struct bfd_link_info *);
-+
- extern bfd_boolean bfd_section_already_linked_table_init (void);
- extern void bfd_section_already_linked_table_free (void);
- extern bfd_boolean _bfd_handle_already_linked
-@@ -6989,6 +6991,9 @@ struct bfd
- be used only for archive elements. */
- int archive_pass;
-
-+ /* The total size of memory from bfd_alloc. */
-+ bfd_size_type alloc_size;
-+
- /* Stuff only useful for object files:
- The start address. */
- bfd_vma start_address;
-diff --git a/bfd/bfd.c b/bfd/bfd.c
-index 288b5b14fe..182b544662 100644
---- a/bfd/bfd.c
-+++ b/bfd/bfd.c
-@@ -267,6 +267,9 @@ CODE_FRAGMENT
- . be used only for archive elements. *}
- . int archive_pass;
- .
-+. {* The total size of memory from bfd_alloc. *}
-+. bfd_size_type alloc_size;
-+.
- . {* Stuff only useful for object files:
- . The start address. *}
- . bfd_vma start_address;
-diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
-index afd6982a92..37a7b07e51 100644
---- a/bfd/elf-bfd.h
-+++ b/bfd/elf-bfd.h
-@@ -2294,6 +2294,9 @@ extern char *_bfd_elfcore_strndup
-
- extern Elf_Internal_Rela *_bfd_elf_link_read_relocs
- (bfd *, asection *, void *, Elf_Internal_Rela *, bfd_boolean);
-+extern Elf_Internal_Rela *_bfd_elf_link_info_read_relocs
-+ (bfd *, struct bfd_link_info *, asection *, void *, Elf_Internal_Rela *,
-+ bfd_boolean);
-
- extern bfd_boolean _bfd_elf_link_output_relocs
- (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *,
-diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
-index 61a14097b0..9a781dc089 100644
---- a/bfd/elf32-i386.c
-+++ b/bfd/elf32-i386.c
-@@ -1909,13 +1909,14 @@ elf_i386_check_relocs (bfd *abfd,
-
- if (elf_section_data (sec)->this_hdr.contents != contents)
- {
-- if (!converted && !info->keep_memory)
-+ if (!converted && !_bfd_link_keep_memory (info))
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd if any
- load is converted or --no-keep-memory isn't used. */
- elf_section_data (sec)->this_hdr.contents = contents;
-+ info->cache_size += sec->size;
- }
- }
-
-diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
-index 7016964ace..4ba15ec9fa 100644
---- a/bfd/elf64-x86-64.c
-+++ b/bfd/elf64-x86-64.c
-@@ -2281,13 +2281,14 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
-
- if (elf_section_data (sec)->this_hdr.contents != contents)
- {
-- if (!converted && !info->keep_memory)
-+ if (!converted && !_bfd_link_keep_memory (info))
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd if any
- load is converted or --no-keep-memory isn't used. */
- elf_section_data (sec)->this_hdr.contents = contents;
-+ info->cache_size += sec->size;
- }
- }
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 092edaea26..831605b80a 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -2475,14 +2475,16 @@ elf_link_read_relocs_from_section (bfd *abfd,
- according to the KEEP_MEMORY argument. If O has two relocation
- sections (both REL and RELA relocations), then the REL_HDR
- relocations will appear first in INTERNAL_RELOCS, followed by the
-- RELA_HDR relocations. */
-+ RELA_HDR relocations. If INFO isn't NULL and KEEP_MEMORY is TRUE,
-+ update cache_size. */
-
- Elf_Internal_Rela *
--_bfd_elf_link_read_relocs (bfd *abfd,
-- asection *o,
-- void *external_relocs,
-- Elf_Internal_Rela *internal_relocs,
-- bfd_boolean keep_memory)
-+_bfd_elf_link_info_read_relocs (bfd *abfd,
-+ struct bfd_link_info *info,
-+ asection *o,
-+ void *external_relocs,
-+ Elf_Internal_Rela *internal_relocs,
-+ bfd_boolean keep_memory)
- {
- void *alloc1 = NULL;
- Elf_Internal_Rela *alloc2 = NULL;
-@@ -2502,7 +2504,11 @@ _bfd_elf_link_read_relocs (bfd *abfd,
-
- size = (bfd_size_type) o->reloc_count * sizeof (Elf_Internal_Rela);
- if (keep_memory)
-- internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_alloc (abfd, size);
-+ {
-+ internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_alloc (abfd, size);
-+ if (info)
-+ info->cache_size += size;
-+ }
- else
- internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_malloc (size);
- if (internal_relocs == NULL)
-@@ -2568,6 +2574,22 @@ _bfd_elf_link_read_relocs (bfd *abfd,
- return NULL;
- }
-
-+/* This is similar to _bfd_elf_link_info_read_relocs, except for that
-+ NULL is passed to _bfd_elf_link_info_read_relocs for pointer to
-+ struct bfd_link_info. */
-+
-+Elf_Internal_Rela *
-+_bfd_elf_link_read_relocs (bfd *abfd,
-+ asection *o,
-+ void *external_relocs,
-+ Elf_Internal_Rela *internal_relocs,
-+ bfd_boolean keep_memory)
-+{
-+ return _bfd_elf_link_info_read_relocs (abfd, NULL, o, external_relocs,
-+ internal_relocs, keep_memory);
-+
-+}
-+
- /* Compute the size of, and allocate space for, REL_HDR which is the
- section header for a section containing relocations for O. */
-
-@@ -3736,8 +3758,10 @@ _bfd_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
- || bfd_is_abs_section (o->output_section))
- continue;
-
-- internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL,
-- info->keep_memory);
-+ internal_relocs = _bfd_elf_link_info_read_relocs (abfd, info,
-+ o, NULL,
-+ NULL,
-+ _bfd_link_keep_memory (info));
- if (internal_relocs == NULL)
- return FALSE;
-
-@@ -4990,9 +5014,10 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
- && (s->flags & SEC_DEBUGGING) != 0))
- continue;
-
-- internal_relocs = _bfd_elf_link_read_relocs (abfd, s, NULL,
-- NULL,
-- info->keep_memory);
-+ internal_relocs = _bfd_elf_link_info_read_relocs (abfd, info,
-+ s, NULL,
-+ NULL,
-+ _bfd_link_keep_memory (info));
- if (internal_relocs == NULL)
- goto error_free_vers;
-
-@@ -10518,8 +10543,10 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
-
- /* Get the swapped relocs. */
- internal_relocs
-- = _bfd_elf_link_read_relocs (input_bfd, o, flinfo->external_relocs,
-- flinfo->internal_relocs, FALSE);
-+ = _bfd_elf_link_info_read_relocs (input_bfd, flinfo->info, o,
-+ flinfo->external_relocs,
-+ flinfo->internal_relocs,
-+ FALSE);
- if (internal_relocs == NULL
- && o->reloc_count > 0)
- return FALSE;
-@@ -12684,8 +12711,12 @@ init_reloc_cookie (struct elf_reloc_cookie *cookie,
- info->callbacks->einfo (_("%P%X: can not read symbols: %E\n"));
- return FALSE;
- }
-- if (info->keep_memory)
-- symtab_hdr->contents = (bfd_byte *) cookie->locsyms;
-+ if (_bfd_link_keep_memory (info) )
-+ {
-+ symtab_hdr->contents = (bfd_byte *) cookie->locsyms;
-+ info->cache_size += (cookie->locsymcount
-+ * sizeof (Elf_External_Sym_Shndx));
-+ }
- }
- return TRUE;
- }
-@@ -12718,8 +12749,9 @@ init_reloc_cookie_rels (struct elf_reloc_cookie *cookie,
- }
- else
- {
-- cookie->rels = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-- info->keep_memory);
-+ cookie->rels = _bfd_elf_link_info_read_relocs (abfd, info, sec,
-+ NULL, NULL,
-+ _bfd_link_keep_memory (info));
- if (cookie->rels == NULL)
- return FALSE;
- cookie->rel = cookie->rels;
-@@ -13233,14 +13265,21 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp)
- return TRUE;
- }
-
-+struct link_info_ok
-+{
-+ struct bfd_link_info *info;
-+ bfd_boolean ok;
-+};
-+
- static bfd_boolean
--elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
-+elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *ptr)
- {
- asection *sec;
- bfd_vma hstart, hend;
- Elf_Internal_Rela *relstart, *relend, *rel;
- const struct elf_backend_data *bed;
- unsigned int log_file_align;
-+ struct link_info_ok *info = (struct link_info_ok *) ptr;
-
- /* Take care of both those symbols that do not describe vtables as
- well as those that are not loaded. */
-@@ -13256,9 +13295,10 @@ elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
- hstart = h->root.u.def.value;
- hend = hstart + h->size;
-
-- relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE);
-+ relstart = _bfd_elf_link_info_read_relocs (sec->owner, info->info,
-+ sec, NULL, NULL, TRUE);
- if (!relstart)
-- return *(bfd_boolean *) okp = FALSE;
-+ return info->ok = FALSE;
- bed = get_elf_backend_data (sec->owner);
- log_file_align = bed->s->log_file_align;
-
-@@ -13379,6 +13419,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
- elf_gc_mark_hook_fn gc_mark_hook;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- struct elf_link_hash_table *htab;
-+ struct link_info_ok info_ok;
-
- if (!bed->can_gc_sections
- || !is_elf_hash_table (info->hash))
-@@ -13420,8 +13461,10 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
- return FALSE;
-
- /* Kill the vtable relocations that were not used. */
-- elf_link_hash_traverse (htab, elf_gc_smash_unused_vtentry_relocs, &ok);
-- if (!ok)
-+ info_ok.info = info;
-+ info_ok.ok = TRUE;
-+ elf_link_hash_traverse (htab, elf_gc_smash_unused_vtentry_relocs, &info_ok);
-+ if (!info_ok.ok)
- return FALSE;
-
- /* Mark dynamically referenced symbols. */
-diff --git a/bfd/linker.c b/bfd/linker.c
-index c29a6e7e10..909d768552 100644
---- a/bfd/linker.c
-+++ b/bfd/linker.c
-@@ -3471,3 +3471,36 @@ _bfd_nolink_bfd_define_start_stop (struct bfd_link_info *info ATTRIBUTE_UNUSED,
- {
- return (struct bfd_link_hash_entry *) _bfd_ptr_bfd_null_error (sec->owner);
- }
-+
-+bfd_boolean
-+_bfd_link_keep_memory (struct bfd_link_info * info)
-+{
-+ bfd *abfd;
-+ bfd_size_type size;
-+
-+ if (!info->keep_memory)
-+ return FALSE;
-+
-+ /* Keep allocated memory size below limit only for 32-bit hosts. */
-+ if (sizeof (void *) > 4)
-+ return TRUE;
-+
-+ abfd = info->input_bfds;
-+ size = info->cache_size;
-+ do
-+ {
-+ if (size >= info->max_alloc_size)
-+ {
-+ /* Over the limit. Reduce the memory usage. */
-+ info->keep_memory = FALSE;
-+ return FALSE;
-+ }
-+ if (!abfd)
-+ break;
-+ size += abfd->alloc_size;
-+ abfd = abfd->link.next;
-+ }
-+ while (1);
-+
-+ return TRUE;
-+}
-diff --git a/bfd/opncls.c b/bfd/opncls.c
-index 16b568c8ab..86262e1231 100644
---- a/bfd/opncls.c
-+++ b/bfd/opncls.c
-@@ -949,6 +949,8 @@ bfd_alloc (bfd *abfd, bfd_size_type size)
- ret = objalloc_alloc ((struct objalloc *) abfd->memory, ul_size);
- if (ret == NULL)
- bfd_set_error (bfd_error_no_memory);
-+ else
-+ abfd->alloc_size += size;
- return ret;
- }
-
-diff --git a/include/bfdlink.h b/include/bfdlink.h
-index 5d637acbab..f06d5171c3 100644
---- a/include/bfdlink.h
-+++ b/include/bfdlink.h
-@@ -635,6 +635,13 @@ struct bfd_link_info
-
- /* The version information. */
- struct bfd_elf_version_tree *version_info;
-+
-+ /* Size of cache. Backend can use it to keep strace cache size. */
-+ bfd_size_type cache_size;
-+
-+ /* The maximum size of allocated memory. Backend can use cache_size
-+ and and max_alloc_size to decide if keep_memory should be honored. */
-+ bfd_size_type max_alloc_size;
- };
-
- /* This structures holds a set of callback functions. These are called
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index b6914db5da..14c3349c97 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -21,6 +21,7 @@
-
- #include "sysdep.h"
- #include "bfd.h"
-+#include "bfd_stdint.h"
- #include "safe-ctype.h"
- #include "libiberty.h"
- #include "progress.h"
-@@ -271,6 +272,8 @@ main (int argc, char **argv)
-
- link_info.allow_undefined_version = TRUE;
- link_info.keep_memory = TRUE;
-+ /* Limit the allocated memory size to half of the address space. */
-+ link_info.max_alloc_size = ((uintptr_t) (void *) -1) / 2;
- link_info.combreloc = TRUE;
- link_info.strip_discarded = TRUE;
- link_info.emit_hash = DEFAULT_EMIT_SYSV_HASH;
diff --git a/system/bzip2/CVE-2016-3189.patch b/system/bzip2/CVE-2016-3189.patch
deleted file mode 100644
index 6622670c9..000000000
--- a/system/bzip2/CVE-2016-3189.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/bzip2recover.c b/bzip2recover.c
-index f9de049..d159c92 100644
---- a/bzip2recover.c
-+++ b/bzip2recover.c
-@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
- bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
- bsPutUInt32 ( bsWr, blockCRC );
- bsClose ( bsWr );
-+ outFile = NULL;
- }
- if (wrBlock >= rbCtr) break;
- wrBlock++;
diff --git a/system/coreutils/no-doc.patch b/system/coreutils/no-doc.patch
deleted file mode 100644
index a1d74623b..000000000
--- a/system/coreutils/no-doc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- coreutils-8.27/Makefile.in.old 2017-03-09 05:24:51.000000000 +0000
-+++ coreutils-8.27/Makefile.in 2017-06-22 03:07:59.568716258 +0000
-@@ -2363,7 +2363,7 @@
- }
- man1dir = $(mandir)/man1
- NROFF = nroff
--MANS = $(man1_MANS)
-+MANS =
- HEADERS = $(noinst_HEADERS)
- RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
---- coreutils-8.27/Makefile.in.old 2017-06-22 03:08:55.821951666 +0000
-+++ coreutils-8.27/Makefile.in 2017-06-22 03:19:51.770820411 +0000
-@@ -12192,7 +12192,7 @@
-
- info-am: $(INFO_DEPS)
-
--install-data-am: install-info-am install-man
-+install-data-am: install-info-am
-
- install-dvi: install-dvi-recursive
-
diff --git a/system/coreutils/printf-musl.patch b/system/coreutils/printf-musl.patch
deleted file mode 100644
index 28a951635..000000000
--- a/system/coreutils/printf-musl.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From ad5c14dcadd4603363e68da960ed0101b61439bd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sat, 12 Aug 2017 23:53:33 -0700
-Subject: [PATCH] tests: fix false failure with large printf formats
-
-* tests/misc/printf-surprise.sh: With musl libc the
-large printf format does succeed, outputting data.
-To avoid SIGPIPE being generated we ignore that signal
-and then handle the subsequent EPIPE error.
-Reported by A. Wilcox
----
- tests/misc/printf-surprise.sh | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/tests/misc/printf-surprise.sh b/tests/misc/printf-surprise.sh
-index 2edd34c..46c0d8f 100755
---- a/tests/misc/printf-surprise.sh
-+++ b/tests/misc/printf-surprise.sh
-@@ -50,6 +50,9 @@ vm=$(get_min_ulimit_v_ env $prog %20f 0) \
-
- mkfifo_or_skip_ fifo
-
-+(trap '' PIPE && yes | :) 2>&1 | grep -qF 'Broken pipe' ||
-+ skip_ 'trapping SIGPIPE is not supported'
-+
- # Disable MALLOC_PERTURB_, to avoid triggering this bug
- # https://bugs.debian.org/481543#77
- export MALLOC_PERTURB_=0
-@@ -60,11 +63,11 @@ cleanup_() { kill $pid 2>/dev/null && wait $pid; }
- head -c 10 fifo > out & pid=$!
-
- # Trigger large mem allocation failure
--( ulimit -v $vm && env $prog %20000000f 0 2>err-msg > fifo )
-+( trap '' PIPE && ulimit -v $vm && env $prog %20000000f 0 2>err-msg > fifo )
- exit=$?
-
- # Map this longer, and rarer, diagnostic to the common one.
--# printf: cannot perform formatted output: Cannot allocate memory" \
-+# printf: cannot perform formatted output: Cannot allocate memory"
- sed 's/cannot perform .*/write error/' err-msg > k && mv k err-msg
- err_msg=$(tr '\n' : < err-msg)
-
-@@ -81,6 +84,7 @@ n_out=$(wc -c < out)
-
- case $n_out:$diagnostic:$exit in
- 10:n:0) ;; # ok, succeeds w/no diagnostic: FreeBSD 6.1
-+ 10:y:1) ;; # ok, fails with EPIPE diagnostic: musl libc
- 0:y:1) ;; # ok, glibc-2.8 and newer, when printf(3) fails with ENOMEM
-
- # With MALLOC_PERTURB_=0, this no longer happens.
---
-2.9.3
-
diff --git a/system/coreutils/seq-write-error.patch b/system/coreutils/seq-write-error.patch
deleted file mode 100644
index 4892a82ec..000000000
--- a/system/coreutils/seq-write-error.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1e1dbbe0f95c7170009f3ba4d8380c1b98ff53c8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sun, 13 Aug 2017 00:18:43 -0700
-Subject: [PATCH] seq: produce consistent error messages upon write error
-
-* src/seq.c (io_error): Use the same error message as would
-be generated at exit time when closing the stdout stream.
-The inconsistency was added with commit v8.25-26-gc92585b.
-This was noticed due to an inconsistency in the expected
-error message generated by seq on musl libc.
-Reported by A. Wilcox.
----
- src/seq.c | 2 +-
- tests/misc/seq-epipe.sh | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/seq.c b/src/seq.c
-index bb191ba..5e5b381 100644
---- a/src/seq.c
-+++ b/src/seq.c
-@@ -284,7 +284,7 @@ io_error (void)
- {
- /* FIXME: consider option to silently ignore errno=EPIPE */
- clearerr (stdout);
-- die (EXIT_FAILURE, errno, _("standard output"));
-+ die (EXIT_FAILURE, errno, _("write error"));
- }
-
- /* Actually print the sequence of numbers in the specified range, with the
-diff --git a/tests/misc/seq-epipe.sh b/tests/misc/seq-epipe.sh
-index edbd563..69dd75d 100755
---- a/tests/misc/seq-epipe.sh
-+++ b/tests/misc/seq-epipe.sh
-@@ -33,7 +33,7 @@ compare exp code || fail=1
-
- # The error message must begin with "standard output:"
- # (but don't hard-code the strerror text)
--grep '^seq: standard output: ' err \
-+grep '^seq: write error: ' err \
- || { warn_ "seq emitted incorrect error on EPIPE"; \
- cat err;\
- fail=1; }
---
-2.9.3
-
diff --git a/system/coreutils/sort-debug-locale.patch b/system/coreutils/sort-debug-locale.patch
deleted file mode 100644
index 27921abbd..000000000
--- a/system/coreutils/sort-debug-locale.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b938d8966c3d1afec9730d403fd6a6eb4d856b85 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sun, 13 Aug 2017 00:45:32 -0700
-Subject: [PATCH] sort: handle musl locale differences in --debug reporting
-
-* src/sort.c (main): Don't assume hard_LC_COLLATE implies
-a successful setting of the locale as musl defaults to
-UTF8 when failing to set the specified locale.
-* tests/misc/sort-debug-warn.sh: Adjust for the now
-separated locale debug info and map the musl specific
-message back to the common case.
-Reported by A. Wilcox.
----
- src/sort.c | 17 +++++++++--------
- tests/misc/sort-debug-warn.sh | 9 +++++++--
- 2 files changed, 16 insertions(+), 10 deletions(-)
-
-diff --git a/src/sort.c b/src/sort.c
-index 015e40e..ba6ceac 100644
---- a/src/sort.c
-+++ b/src/sort.c
-@@ -4675,18 +4675,19 @@ main (int argc, char **argv)
-
- /* Always output the locale in debug mode, since this
- is such a common source of confusion. */
-+
-+ /* OpenBSD can only set some categories with LC_ALL above,
-+ so set LC_COLLATE explicitly to flag errors. */
-+ if (locale_ok)
-+ locale_ok = !! setlocale (LC_COLLATE, "");
-+ if (! locale_ok)
-+ error (0, 0, "%s", _("failed to set locale"));
- if (hard_LC_COLLATE)
- error (0, 0, _("using %s sorting rules"),
- quote (setlocale (LC_COLLATE, NULL)));
- else
-- {
-- /* OpenBSD can only set some categories with LC_ALL above,
-- so set LC_COLLATE explicitly to flag errors. */
-- if (locale_ok)
-- locale_ok = !! setlocale (LC_COLLATE, "");
-- error (0, 0, "%s%s", locale_ok ? "" : _("failed to set locale; "),
-- _("using simple byte comparison"));
-- }
-+ error (0, 0, "%s", _("using simple byte comparison"));
-+
- key_warnings (&gkey, gkey_only);
- }
-
-diff --git a/tests/misc/sort-debug-warn.sh b/tests/misc/sort-debug-warn.sh
-index 3602c84..8119693 100755
---- a/tests/misc/sort-debug-warn.sh
-+++ b/tests/misc/sort-debug-warn.sh
-@@ -71,7 +71,8 @@ sort: using simple byte comparison
- 17
- sort: using simple byte comparison
- 18
--sort: failed to set locale; using simple byte comparison
-+sort: failed to set locale
-+sort: using simple byte comparison
- EOF
-
- echo 1 >> out
-@@ -109,7 +110,11 @@ sort -rM --debug /dev/null 2>>out #no warning
- echo 17 >> out
- sort -rM -k1,1 --debug /dev/null 2>>out #no warning
- echo 18 >> out
--LC_ALL=missing sort --debug /dev/null 2>>out
-+LC_ALL=missing sort --debug /dev/null 2>>out.t
-+# musl libc accepts "missing" and implicitly uses UTF8,
-+# so adjust the expected message accordingly.
-+sed 's/using .*missing.* sorting rules/using simple byte comparison/' \
-+ out.t >>out
-
- compare exp out || fail=1
-
---
-2.9.3
-
diff --git a/system/gcc/401-libsanitizer-linux.patch b/system/gcc/401-libsanitizer-linux.patch
deleted file mode 100644
index 8a662a268..000000000
--- a/system/gcc/401-libsanitizer-linux.patch
+++ /dev/null
@@ -1,100 +0,0 @@
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc 2019-06-27 05:39:48.258332316 +0000
-@@ -752,7 +752,9 @@
- }
-
- #if SANITIZER_LINUX
-+#ifndef SA_RESTORER
- #define SA_RESTORER 0x04000000
-+#endif
- // Doesn't set sa_restorer if the caller did not set it, so use with caution
- //(see below).
- int internal_sigaction_norestorer(int signum, const void *act, void *oldact) {
-@@ -1687,65 +1689,59 @@
- }
-
- static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
--#if defined(__arm__)
- ucontext_t *ucontext = (ucontext_t*)context;
-+#if defined(__arm__)
- *pc = ucontext->uc_mcontext.arm_pc;
- *bp = ucontext->uc_mcontext.arm_fp;
- *sp = ucontext->uc_mcontext.arm_sp;
- #elif defined(__aarch64__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.pc;
- *bp = ucontext->uc_mcontext.regs[29];
- *sp = ucontext->uc_mcontext.sp;
- #elif defined(__hppa__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.sc_iaoq[0];
- /* GCC uses %r3 whenever a frame pointer is needed. */
- *bp = ucontext->uc_mcontext.sc_gr[3];
- *sp = ucontext->uc_mcontext.sc_gr[30];
- #elif defined(__x86_64__)
- # if SANITIZER_FREEBSD
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.mc_rip;
- *bp = ucontext->uc_mcontext.mc_rbp;
- *sp = ucontext->uc_mcontext.mc_rsp;
- #elif SANITIZER_NETBSD
-- ucontext_t *ucontext = (ucontext_t *)context;
- *pc = ucontext->uc_mcontext.__gregs[_REG_RIP];
- *bp = ucontext->uc_mcontext.__gregs[_REG_RBP];
- *sp = ucontext->uc_mcontext.__gregs[_REG_RSP];
- # else
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.gregs[REG_RIP];
- *bp = ucontext->uc_mcontext.gregs[REG_RBP];
- *sp = ucontext->uc_mcontext.gregs[REG_RSP];
- # endif
- #elif defined(__i386__)
- # if SANITIZER_FREEBSD
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.mc_eip;
- *bp = ucontext->uc_mcontext.mc_ebp;
- *sp = ucontext->uc_mcontext.mc_esp;
- #elif SANITIZER_NETBSD
-- ucontext_t *ucontext = (ucontext_t *)context;
- *pc = ucontext->uc_mcontext.__gregs[_REG_EIP];
- *bp = ucontext->uc_mcontext.__gregs[_REG_EBP];
- *sp = ucontext->uc_mcontext.__gregs[_REG_ESP];
- # else
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.gregs[REG_EIP];
- *bp = ucontext->uc_mcontext.gregs[REG_EBP];
- *sp = ucontext->uc_mcontext.gregs[REG_ESP];
- # endif
--#elif defined(__powerpc__) || defined(__powerpc64__)
-- ucontext_t *ucontext = (ucontext_t*)context;
-- *pc = ucontext->uc_mcontext.regs->nip;
-- *sp = ucontext->uc_mcontext.regs->gpr[PT_R1];
-+#elif defined(__powerpc64__)
-+ *pc = ucontext->uc_mcontext.gp_regs[32];
-+ *sp = ucontext->uc_mcontext.gp_regs[1];
-+ *bp = ucontext->uc_mcontext.gp_regs[31];
-+#elif defined(__powerpc__)
-+ *pc = ucontext->uc_mcontext.gregs[32];
-+ *sp = ucontext->uc_mcontext.gregs[1];
- // The powerpc{,64}-linux ABIs do not specify r31 as the frame
- // pointer, but GCC always uses r31 when we need a frame pointer.
-- *bp = ucontext->uc_mcontext.regs->gpr[PT_R31];
-+ *bp = ucontext->uc_mcontext.gregs[31];
- #elif defined(__sparc__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- uptr *stk_ptr;
- # if defined (__arch64__)
- *pc = ucontext->uc_mcontext.mc_gregs[MC_PC];
-@@ -1759,12 +1755,10 @@
- *bp = stk_ptr[15];
- # endif
- #elif defined(__mips__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.pc;
- *bp = ucontext->uc_mcontext.gregs[30];
- *sp = ucontext->uc_mcontext.gregs[29];
- #elif defined(__s390__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- # if defined(__s390x__)
- *pc = ucontext->uc_mcontext.psw.addr;
- # else
diff --git a/system/gcc/402-libsanitizer-utmp.patch b/system/gcc/402-libsanitizer-utmp.patch
deleted file mode 100644
index 7929cd8b9..000000000
--- a/system/gcc/402-libsanitizer-utmp.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.old 2018-05-31 09:58:32.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-06-27 08:52:53.520080465 +0000
-@@ -43,9 +43,6 @@
- #include <termios.h>
- #include <time.h>
- #include <wchar.h>
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
--#include <utmp.h>
--#endif
-
- #if !SANITIZER_IOS
- #include <net/route.h>
-@@ -291,9 +288,6 @@
- int shmctl_shm_stat = (int)SHM_STAT;
- #endif
-
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
-- unsigned struct_utmp_sz = sizeof(struct utmp);
--#endif
- #if !SANITIZER_ANDROID
- unsigned struct_utmpx_sz = sizeof(struct utmpx);
- #endif
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2019-06-27 08:53:41.114993442 +0000
-@@ -873,9 +873,6 @@
- extern int shmctl_shm_stat;
- #endif
-
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
-- extern unsigned struct_utmp_sz;
--#endif
- #if !SANITIZER_ANDROID
- extern unsigned struct_utmpx_sz;
- #endif
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc 2019-06-27 08:54:20.530780618 +0000
-@@ -6106,38 +6106,7 @@
-
- // FIXME: add other *stat interceptor
-
--#if SANITIZER_INTERCEPT_UTMP
--INTERCEPTOR(void *, getutent, int dummy) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutent, dummy);
-- void *res = REAL(getutent)(dummy);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--INTERCEPTOR(void *, getutid, void *ut) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutid, ut);
-- void *res = REAL(getutid)(ut);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--INTERCEPTOR(void *, getutline, void *ut) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutline, ut);
-- void *res = REAL(getutline)(ut);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--#define INIT_UTMP \
-- COMMON_INTERCEPT_FUNCTION(getutent); \
-- COMMON_INTERCEPT_FUNCTION(getutid); \
-- COMMON_INTERCEPT_FUNCTION(getutline);
--#else
- #define INIT_UTMP
--#endif
-
- #if SANITIZER_INTERCEPT_UTMPX
- INTERCEPTOR(void *, getutxent, int dummy) {
diff --git a/system/git/0001-gc-use-s-type-character-for-fscanf.patch b/system/git/0001-gc-use-s-type-character-for-fscanf.patch
deleted file mode 100644
index e3fe78cf6..000000000
--- a/system/git/0001-gc-use-s-type-character-for-fscanf.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From afceb0f7755a87d0dd2194e95f26c9dc8f4bc688 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Fri, 15 Sep 2017 23:55:57 -0500
-Subject: [PATCH] gc: use 's' type character for fscanf
-
-The ISO C standard states that using a field width together with the 'c'
-type character will read the exact amount specified; if that amount of
-bytes is not available, a match error occurs.
-
-This patch allows the t6500 test to pass on the musl libc, and `git gc`
-to behave correctly on systems utilising musl.
-
-Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
----
- builtin/gc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/builtin/gc.c b/builtin/gc.c
-index 3c78fcb..bb2d6c1 100644
---- a/builtin/gc.c
-+++ b/builtin/gc.c
-@@ -258,7 +258,7 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid)
- int should_exit;
-
- if (!scan_fmt)
-- scan_fmt = xstrfmt("%s %%%dc", "%"SCNuMAX, HOST_NAME_MAX);
-+ scan_fmt = xstrfmt("%s %%%ds", "%"SCNuMAX, HOST_NAME_MAX);
- fp = fopen(pidfile_path, "r");
- memset(locking_host, 0, sizeof(locking_host));
- should_exit =
---
-2.10.0
-
diff --git a/system/gmp/gmp-4.1.4-noexecstack.patch b/system/gmp/gmp-4.1.4-noexecstack.patch
deleted file mode 100644
index 093bec1a5..000000000
--- a/system/gmp/gmp-4.1.4-noexecstack.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-fixed executable stack
-
-http://bugs.gentoo.org/115038
-
---- gmp-4.1.4/configure
-+++ gmp-4.1.4/configure
-@@ -21689,6 +21689,13 @@
- fi
- echo "')" >> $gmp_configm4
- echo "define(\`__CONFIG_M4_INCLUDED__')" >> $gmp_configm4
-+# Gentoo hack
-+case $host_os in
-+ *linux*)
-+ echo '.section .note.GNU-stack,"",%progbits' >> $gmp_configm4
-+ echo '.previous' >> $gmp_configm4
-+ ;;
-+esac
-
- # Create Makefiles
- # FIXME: Upcoming version of autoconf/automake may not like broken lines.
diff --git a/system/vim/no-default-mouse.patch b/system/vim/no-default-mouse.patch
deleted file mode 100644
index c34b9cae7..000000000
--- a/system/vim/no-default-mouse.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nurd vim-8.1.0712/runtime/defaults.vim vim-8.1.0712.new/runtime/defaults.vim
---- vim-8.1.0712/runtime/defaults.vim 2019-01-09 16:02:43.000000000 -0600
-+++ vim-8.1.0712.new/runtime/defaults.vim 2019-01-27 01:18:04.196123398 -0600
-@@ -73,12 +73,6 @@
- " Revert with ":iunmap <C-U>".
- inoremap <C-U> <C-G>u<C-U>
-
--" In many terminal emulators the mouse works just fine. By enabling it you
--" can position the cursor, Visually select and scroll with the mouse.
--if has('mouse')
-- set mouse=a
--endif
--
- " Switch syntax highlighting on when the terminal has colors or when using the
- " GUI (which always has colors).
- if &t_Co > 2 || has("gui_running")
diff --git a/user/assimp/built b/user/assimp/built
deleted file mode 100644
index e69de29bb..000000000
--- a/user/assimp/built
+++ /dev/null
diff --git a/user/baloo/baloo-5.38.0-r0-x86_64-ciall.log b/user/baloo/baloo-5.38.0-r0-x86_64-ciall.log
deleted file mode 100644
index 00820eb0c..000000000
--- a/user/baloo/baloo-5.38.0-r0-x86_64-ciall.log
+++ /dev/null
@@ -1,2714 +0,0 @@
->>> baloo: abuild 3.0.1-r2
-]0;abuild: baloo>>> baloo: Checking sanity of /usr/src/packages/user/baloo/APKBUILD...
->>> baloo: Analyzing dependencies...
->>> baloo: Installing for build: build-base qt5-qtbase-dev kcoreaddons-dev kconfig-dev kdbusaddons-dev lmdb-dev ki18n-dev kidletime-dev solid-dev kfilemetadata-dev kcrash-dev kio-dev cmake extra-cmake-modules python3 gettext-dev doxygen graphviz qt5-qttools-dev
-(1/247) Installing fcron-pam (3.2.0-r2)
-(2/247) Installing libpciaccess (0.13.5-r1)
-(3/247) Installing libdrm (2.4.83-r2)
-(4/247) Installing libdrm-dev (2.4.83-r2)
-(5/247) Installing dri2proto (2.8-r2)
-(6/247) Installing xproto (7.0.31-r1)
-(7/247) Installing libxau-dev (1.0.8-r2)
-(8/247) Installing xcb-proto (1.12-r1)
-(9/247) Installing libpthread-stubs (0.3-r5)
-(10/247) Installing libxdmcp-dev (1.1.2-r4)
-(11/247) Installing libxcb-dev (1.12-r1)
-(12/247) Installing xextproto (7.3.0-r2)
-(13/247) Installing xf86bigfontproto-dev (1.2.0-r5)
-(14/247) Installing xtrans (1.3.5-r1)
-(15/247) Installing inputproto (2.3.2-r1)
-(16/247) Installing kbproto (1.0.7-r2)
-(17/247) Installing libx11-dev (1.6.5-r1)
-(18/247) Installing libxext-dev (1.3.3-r2)
-(19/247) Installing libxxf86vm (1.1.4-r1)
-(20/247) Installing xf86vidmodeproto (2.3.1-r3)
-(21/247) Installing libxxf86vm-dev (1.1.4-r1)
-(22/247) Installing damageproto (1.2.1-r3)
-(23/247) Installing fixesproto (5.0-r2)
-(24/247) Installing libxfixes-dev (5.0.3-r1)
-(25/247) Installing libxdamage-dev (1.1.4-r1)
-(26/247) Installing glproto (1.4.17-r2)
-(27/247) Installing dri3proto (1.0-r2)
-(28/247) Installing presentproto (1.1-r1)
-(29/247) Installing libxshmfence (1.2-r2)
-(30/247) Installing libxshmfence-dev (1.2-r2)
-(31/247) Installing wayland-libs-server (1.14.0-r2)
-(32/247) Installing wayland-libs-cursor (1.14.0-r2)
-(33/247) Installing wayland-libs-client (1.14.0-r2)
-(34/247) Installing mesa-gbm (17.1.4-r2)
-(35/247) Installing mesa-egl (17.1.4-r2)
-(36/247) Installing mesa-glapi (17.1.4-r2)
-(37/247) Installing mesa-gl (17.1.4-r2)
-(38/247) Installing mesa-gles (17.1.4-r2)
-(39/247) Installing mesa-libwayland-egl (17.1.4-r2)
-(40/247) Installing mesa-osmesa (17.1.4-r2)
-(41/247) Installing llvm4-libs (4.0.0-r5)
-(42/247) Installing mesa-xatracker (17.1.4-r2)
-(43/247) Installing libffi-dev (3.2.1-r4)
-(44/247) Installing expat-dev (2.2.4-r0)
-(45/247) Installing wayland-dev (1.14.0-r2)
-(46/247) Installing mesa-dev (17.1.4-r2)
-(47/247) Installing libice-dev (1.0.9-r2)
-(48/247) Installing libsm-dev (1.2.2-r1)
-(49/247) Installing zlib-dev (1.2.11-r1)
-(50/247) Installing openssl-dev (1.0.2l-r0)
-(51/247) Installing libpng-dev (1.6.32-r1)
-(52/247) Installing freetype-dev (2.8.1-r1)
-(53/247) Installing fontconfig-dev (2.12.4-r1)
-(54/247) Installing gdbm (1.13-r1)
-(55/247) Installing python3 (3.6.2-r2)
-(56/247) Installing attr-dev (2.4.47-r7)
-(57/247) Installing gettext-asprintf (0.19.8.1-r1)
-(58/247) Installing gettext-libs (0.19.8.1-r1)
-(59/247) Installing gettext (0.19.8.1-r1)
-(60/247) Installing gettext-dev (0.19.8.1-r1)
-(61/247) Installing bzip2-dev (1.0.6-r6)
-(62/247) Installing util-linux-dev (2.30.1-r3)
-(63/247) Installing libpcre16 (8.41-r1)
-(64/247) Installing libpcre32 (8.41-r1)
-(65/247) Installing libpcrecpp (8.41-r1)
-(66/247) Installing pcre-dev (8.41-r1)
-(67/247) Installing glib-dev (2.54.0-r0)
-(68/247) Installing sqlite-dev (3.20.1-r0)
-(69/247) Installing dbus-libs (1.10.18-r1)
-(70/247) Installing dbus-dev (1.10.18-r1)
-(71/247) Installing libpcre2-16 (10.30-r0)
-(72/247) Installing qt5-qtbase (5.9.1-r2)
-(73/247) Installing qt5-qtbase-sqlite (5.9.1-r2)
-(74/247) Installing unixodbc (2.3.4-r2)
-(75/247) Installing qt5-qtbase-odbc (5.9.1-r2)
-(76/247) Installing libpq (9.6.4-r1)
-(77/247) Installing qt5-qtbase-postgresql (5.9.1-r2)
-(78/247) Installing mariadb-common (10.1.26-r1)
-(79/247) Installing mariadb-client-libs (10.1.26-r1)
-(80/247) Installing qt5-qtbase-mysql (5.9.1-r2)
-(81/247) Installing freetds (1.00.40-r0)
-(82/247) Installing qt5-qtbase-tds (5.9.1-r2)
-(83/247) Installing libevdev (1.5.7-r1)
-(84/247) Installing mtdev (1.1.5-r2)
-(85/247) Installing eudev-libs (3.2.4-r0)
-(86/247) Installing libinput-libs (1.8.1-r1)
-(87/247) Installing xcb-util-wm (0.4.1-r1)
-(88/247) Installing xcb-util (0.4.0-r1)
-(89/247) Installing xcb-util-image (0.4.0-r1)
-(90/247) Installing xcb-util-keysyms (0.4.0-r1)
-(91/247) Installing xcb-util-renderutil (0.3.9-r1)
-(92/247) Installing libxkbcommon (0.7.1-r1)
-(93/247) Installing qt5-qtbase-x11 (5.9.1-r2)
-(94/247) Installing qt5-qtbase-dev (5.9.1-r2)
-(95/247) Installing kcoreaddons (5.38.0-r0)
-(96/247) Installing kcoreaddons-dev (5.38.0-r0)
-(97/247) Installing kconfig (5.38.0-r0)
-(98/247) Installing kconfig-dev (5.38.0-r0)
-(99/247) Installing qt5-qtx11extras (5.9.1-r0)
-(100/247) Installing qt5-qtx11extras-dev (5.9.1-r0)
-(101/247) Installing kdbusaddons (5.38.0-r0)
-(102/247) Installing kdbusaddons-dev (5.38.0-r0)
-(103/247) Installing lmdb-dev (0.9.21-r1)
-(104/247) Installing qt5-qtscript (5.9.1-r0)
-(105/247) Installing qt5-qtscript-dev (5.9.1-r0)
-(106/247) Installing qt5-qtdeclarative (5.9.1-r0)
-(107/247) Installing qt5-qtdeclarative-dev (5.9.1-r0)
-(108/247) Installing ki18n (5.38.0-r0)
-(109/247) Installing ki18n-dev (5.38.0-r0)
-(110/247) Installing kidletime (5.38.0-r0)
-(111/247) Installing kidletime-dev (5.38.0-r0)
-(112/247) Installing udev-init-scripts (32-r1)
-Executing udev-init-scripts-32-r1.post-install
-(113/247) Installing kmod (24-r1)
-(114/247) Installing eudev (3.2.4-r0)
-(115/247) Installing eudev-dev (3.2.4-r0)
-(116/247) Installing solid (5.38.0-r0)
-(117/247) Installing solid-dev (5.38.0-r0)
-(118/247) Installing xz-dev (5.2.3-r1)
-(119/247) Installing karchive (5.38.0-r0)
-(120/247) Installing karchive-dev (5.38.0-r0)
-(121/247) Installing libjpeg-turbo-dev (1.5.2-r1)
-(122/247) Installing renderproto (0.11.1-r3)
-(123/247) Installing libxrender-dev (0.9.10-r2)
-(124/247) Installing pixman-dev (0.34.0-r2)
-(125/247) Installing util-macros (1.19.1-r1)
-(126/247) Installing xcb-util-dev (0.4.0-r1)
-(127/247) Installing cairo-tools (1.14.8-r2)
-(128/247) Installing cairo-gobject (1.14.8-r2)
-(129/247) Installing cairo-dev (1.14.8-r2)
-(130/247) Installing icu-dev (59.1-r1)
-(131/247) Installing libxml2-dev (2.9.4-r5)
-(132/247) Installing lcms2 (2.8-r2)
-(133/247) Installing openjpeg (2.2.0-r2)
-(134/247) Installing tiff (4.0.8-r1)
-(135/247) Installing poppler (0.56.0-r1)
-(136/247) Installing poppler-glib (0.56.0-r1)
-(137/247) Installing poppler-dev (0.56.0-r1)
-(138/247) Installing tiff-dev (4.0.8-r1)
-(139/247) Installing lcms2-dev (2.8-r2)
-(140/247) Installing openjpeg-dev (2.2.0-r2)
-(141/247) Installing poppler-qt5 (0.56.0-r0)
-(142/247) Installing poppler-qt5-dev (0.56.0-r0)
-(143/247) Installing exiv2 (0.26-r0)
-(144/247) Installing exiv2-dev (0.26-r0)
-(145/247) Installing taglib (1.11.1-r1)
-(146/247) Installing taglib-dev (1.11.1-r1)
-(147/247) Installing alsa-lib (1.1.4.1-r2)
-(148/247) Installing libxv (1.0.11-r1)
-(149/247) Installing cdparanoia-libs (10.2-r7)
-(150/247) Installing gstreamer (1.12.2-r1)
-(151/247) Installing libogg (1.3.2-r2)
-(152/247) Installing opus (1.2.1-r0)
-(153/247) Installing orc (0.4.26-r1)
-(154/247) Installing libtheora (1.1.1-r13)
-(155/247) Installing libvorbis (1.3.5-r2)
-(156/247) Installing gst-plugins-base (1.12.1-r3)
-(157/247) Installing json-c (0.12.1-r2)
-(158/247) Installing flac (1.3.2-r1)
-(159/247) Installing libsndfile (1.0.28-r3)
-(160/247) Installing speexdsp (1.2_rc3-r4)
-(161/247) Installing pulseaudio-libs (9.0-r2)
-(162/247) Installing qt5-qtmultimedia (5.9.1-r1)
-(163/247) Installing qt5-qtmultimedia-dev (5.9.1-r1)
-(164/247) Installing catdoc (0.95-r0)
-(165/247) Installing kfilemetadata (5.38.0-r0)
-(166/247) Installing kfilemetadata-dev (5.38.0-r0)
-(167/247) Installing xcb-util-keysyms-dev (0.4.0-r1)
-(168/247) Installing kwindowsystem (5.38.0-r0)
-(169/247) Installing kwindowsystem-dev (5.38.0-r0)
-(170/247) Installing kcrash (5.38.0-r0)
-(171/247) Installing kcrash-dev (5.38.0-r0)
-(172/247) Installing kservice (5.38.0-r0)
-(173/247) Installing kservice-dev (5.38.0-r0)
-(174/247) Installing kcodecs (5.38.0-r0)
-(175/247) Installing kcodecs-dev (5.38.0-r0)
-(176/247) Installing dbus-glib (0.108-r1)
-(177/247) Installing eggdbus (0.6-r5)
-(178/247) Installing eggdbus-dev (0.6-r5)
-(179/247) Installing dbus-glib-dev (0.108-r1)
-(180/247) Installing linux-pam-dev (1.3.0-r0)
-(181/247) Installing polkit (0.105-r8)
-(182/247) Installing polkit-dev (0.105-r8)
-(183/247) Installing polkit-qt-1 (0.112.0-r0)
-(184/247) Installing polkit-qt-1-dev (0.112.0-r0)
-(185/247) Installing kauth (5.38.0-r0)
-(186/247) Installing kauth-dev (5.38.0-r0)
-(187/247) Installing kguiaddons (5.38.0-r0)
-(188/247) Installing kguiaddons-dev (5.38.0-r0)
-(189/247) Installing kwidgetsaddons (5.38.0-r0)
-(190/247) Installing kwidgetsaddons-dev (5.38.0-r0)
-(191/247) Installing libxslt (1.1.29-r4)
-(192/247) Installing libxslt-dev (1.1.29-r4)
-(193/247) Installing perl-uri-escape (1.72-r0)
-(194/247) Installing libxml2-utils (2.9.5-r2)
-(195/247) Installing docbook-xml (4.5-r5)
-Executing docbook-xml-4.5-r5.post-install
-(196/247) Installing docbook-xsl (1.79.1-r0)
-Executing docbook-xsl-1.79.1-r0.post-install
-(197/247) Installing kdoctools (5.38.0-r0)
-(198/247) Installing kdoctools-dev (5.38.0-r0)
-(199/247) Installing kconfigwidgets (5.38.0-r0)
-(200/247) Installing kconfigwidgets-dev (5.38.0-r0)
-(201/247) Installing qt5-qtsvg (5.9.1-r0)
-(202/247) Installing qt5-qtsvg-dev (5.9.1-r0)
-(203/247) Installing kitemviews (5.38.0-r0)
-(204/247) Installing kitemviews-dev (5.38.0-r0)
-(205/247) Installing kiconthemes (5.38.0-r0)
-(206/247) Installing kiconthemes-dev (5.38.0-r0)
-(207/247) Installing kcompletion (5.38.0-r0)
-(208/247) Installing kcompletion-dev (5.38.0-r0)
-(209/247) Installing sonnet (5.38.0-r0)
-(210/247) Installing sonnet-dev (5.38.0-r0)
-(211/247) Installing ktextwidgets (5.38.0-r0)
-(212/247) Installing ktextwidgets-dev (5.38.0-r0)
-(213/247) Installing kglobalaccel (5.38.0-r0)
-(214/247) Installing kglobalaccel-dev (5.38.0-r0)
-(215/247) Installing attica (5.38.0-r0)
-(216/247) Installing attica-dev (5.38.0-r0)
-(217/247) Installing kxmlgui (5.38.0-r0)
-(218/247) Installing kxmlgui-dev (5.38.0-r0)
-(219/247) Installing kbookmarks (5.38.0-r0)
-(220/247) Installing kbookmarks-dev (5.38.0-r0)
-(221/247) Installing kjobwidgets (5.38.0-r0)
-(222/247) Installing kjobwidgets-dev (5.38.0-r0)
-(223/247) Installing acl-dev (2.2.52-r4)
-(224/247) Installing libxtst (1.2.3-r1)
-(225/247) Installing fftw-single-libs (3.3.6p2-r0)
-(226/247) Installing libidl (0.8.14-r3)
-(227/247) Installing orbit2 (2.14.19-r4)
-(228/247) Installing gconf (3.2.6-r2)
-(229/247) Installing pulseaudio (9.0-r2)
-(230/247) Installing phonon (4.9.1-r0)
-(231/247) Installing phonon-dev (4.9.1-r0)
-(232/247) Installing libdbusmenu-qt-dev (0.9.3_pre20160218-r0)
-(233/247) Installing knotifications (5.38.0-r0)
-(234/247) Installing knotifications-dev (5.38.0-r0)
-(235/247) Installing libgpg-error-dev (1.27-r1)
-(236/247) Installing libgcrypt-dev (1.8.1-r1)
-(237/247) Installing kwallet (5.38.0-r0)
-(238/247) Installing kwallet-dev (5.38.0-r0)
-(239/247) Installing kio (5.38.0-r0)
-(240/247) Installing kio-dev (5.38.0-r0)
-(241/247) Installing extra-cmake-modules (5.38.0-r0)
-(242/247) Installing doxygen (1.8.13-r1)
-(243/247) Installing graphviz (2.40.1-r1)
-(244/247) Installing qt5-qttools (5.9.1-r1)
-(245/247) Installing qt5-qttools-dev (5.9.1-r1)
-(246/247) Installing .makedepends-baloo (0)
-(247/247) Installing pulseaudio-zsh-completion (9.0-r2)
-Executing glib-2.54.0-r0.trigger
-No schema files found: doing nothing.
-Executing graphviz-2.40.1-r1.trigger
-Executing shared-mime-info-1.8-r1.trigger
-Executing gtk-update-icon-cache-2.24.31-r1.trigger
-OK: 1464 MiB in 446 packages
->>> baloo: Cleaning temporary build dirs...
->>> baloo: Fetching http://download.kde.org/stable/frameworks/5.38/baloo-5.38.0.tar.xz
->>> baloo: Fetching http://download.kde.org/stable/frameworks/5.38/baloo-5.38.0.tar.xz
->>> baloo: Checking sha512sums...
-baloo-5.38.0.tar.xz: OK
->>> baloo: Unpacking /var/cache/distfiles/baloo-5.38.0.tar.xz...
--- The C compiler identification is GNU 6.4.0
--- The CXX compiler identification is GNU 6.4.0
--- Check for working C compiler: /usr/bin/gcc
--- Check for working C compiler: /usr/bin/gcc -- works
--- Detecting C compiler ABI info
--- Detecting C compiler ABI info - done
--- Detecting C compile features
--- Detecting C compile features - done
--- Check for working CXX compiler: /usr/bin/c++
--- Check for working CXX compiler: /usr/bin/c++ -- works
--- Detecting CXX compiler ABI info
--- Detecting CXX compiler ABI info - done
--- Detecting CXX compile features
--- Detecting CXX compile features - done
---
-
--- Installing in the same prefix as Qt, adopting their path scheme.
--- Could not set up the appstream test. appstreamcli is missing.
--- Looking for __GLIBC__
--- Looking for __GLIBC__ - not found
--- Performing Test _OFFT_IS_64BIT
--- Performing Test _OFFT_IS_64BIT - Success
--- Performing Test HAVE_DATE_TIME
--- Performing Test HAVE_DATE_TIME - Success
--- Found KF5CoreAddons: /usr/lib/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.38.0")
--- Found KF5Config: /usr/lib/cmake/KF5Config/KF5ConfigConfig.cmake (found version "5.38.0")
--- Found KF5DBusAddons: /usr/lib/cmake/KF5DBusAddons/KF5DBusAddonsConfig.cmake (found version "5.38.0")
--- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1")
--- Found PythonInterp: /usr/bin/python (found version "3.6.2")
--- Found KF5I18n: /usr/lib/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.38.0")
--- Found KF5IdleTime: /usr/lib/cmake/KF5IdleTime/KF5IdleTimeConfig.cmake (found version "5.38.0")
--- Found KF5Solid: /usr/lib/cmake/KF5Solid/KF5SolidConfig.cmake (found version "5.38.0")
--- Found KF5FileMetaData: /usr/lib/cmake/KF5FileMetaData/KF5FileMetaDataConfig.cmake (found version "5.38.0")
--- Found KF5Crash: /usr/lib/cmake/KF5Crash/KF5CrashConfig.cmake (found version "5.38.0")
--- Found KF5KIO: /usr/lib/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.38.0")
--- Found KF5: success (found suitable version "5.38.0", minimum required is "5.38.0") found components: CoreAddons Config DBusAddons I18n IdleTime Solid FileMetaData Crash KIO
--- Found LMDB: /usr/include
--- LMDB lib: /usr/lib/liblmdb.a
--- LMDB include: /usr/include
--- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
--- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
--- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
--- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
--- Performing Test COMPILER_HAS_DEPRECATED_ATTR
--- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
--- Found Doxygen: /usr/bin/doxygen (found suitable version "1.8.13", minimum required is "1.8.13") found components: doxygen dot
--- Found QHelpGenerator executable: /usr/lib/qt5/bin/qhelpgenerator
--- No such target Qt5Core_QCH defined when calling ecm_add_qch(), ignored.
--- No such target KF5CoreAddons_QCH defined when calling ecm_add_qch(), ignored.
--- No such target KF5FileMetaData_QCH defined when calling ecm_add_qch(), ignored.
--- The following features have been enabled:
-
- * QCH, API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)
-
--- The following OPTIONAL packages have been found:
-
- * Inotify
- Filesystem alteration notifications using inotify
-
--- The following REQUIRED packages have been found:
-
- * ECM (required version >= 5.38.0), Extra CMake Modules, <https://projects.kde.org/projects/kdesupport/extra-cmake-modules>
- * Qt5DBus
- * Qt5Gui (required version >= 5.9.1)
- * Qt5Widgets
- * Qt5Network (required version >= 5.9.1)
- * Qt5Qml
- * Qt5Quick
- * Qt5Test
- * Qt5 (required version >= 5.7.0)
- * KF5CoreAddons (required version >= 5.38.0)
- * KF5Config (required version >= 5.38.0)
- * KF5DBusAddons (required version >= 5.38.0)
- * Gettext
- * PythonInterp
- * KF5I18n (required version >= 5.38.0)
- * KF5IdleTime (required version >= 5.38.0)
- * KF5Solid (required version >= 5.38.0)
- * KF5FileMetaData (required version >= 5.38.0)
- * KF5Crash (required version >= 5.38.0)
- * KF5KIO (required version >= 5.38.0)
- * KF5 (required version >= 5.38.0)
- * LMDB, Lightning Memory-Mapped Database (LMDB), <http://symas.com/mdb>
- * Doxygen (required version >= 1.8.13)
- Needed for API dox QCH file generation
- * QHelpGenerator, Part of Qt5 tools
- Needed for API dox QCH file generation
- * Qt5Core
-
--- Configuring done
--- Generating done
--- Build files have been written to: /usr/src/packages/user/baloo/src/baloo-5.38.0
-Scanning dependencies of target tsfiles-20019e270ed76750f8f8374aa75fc90f
-Scanning dependencies of target pofiles-20019e270ed76750f8f8374aa75fc90f
-Scanning dependencies of target KF5Baloo_QCH
-Scanning dependencies of target KF5BalooCodecs_autogen
-Scanning dependencies of target BalooDBusInterfaces
-Scanning dependencies of target extractorIOTest_autogen
-Scanning dependencies of target baloosearchmodule_autogen
-[ 0%] Generating ts...
-[ 0%] Generating src/lib/KF5Baloo.qch, src/lib/KF5Baloo.tags
-[ 1%] Generating mo...
-Scanning dependencies of target advancedqueryparsertest_autogen
-[ 1%] Generating org.kde.baloo.main.xml
-[ 2%] Automatic MOC for target extractorIOTest
-[ 3%] Automatic MOC for target KF5BalooCodecs
-[ 3%] Generating baloosearchmodule.json
-[ 3%] Automatic MOC for target advancedqueryparsertest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
--- building... ar/baloo_file5.po to baloo_file5.mo
-Generating MOC predefs moc_predefs.h
-[ 4%] Generating org.kde.baloo.scheduler.xml
--- building... ar/baloo_file_extractor5.po to baloo_file_extractor5.mo
-[ 4%] Built target tsfiles-20019e270ed76750f8f8374aa75fc90f
-About to parse service type file "kdedmodule.desktop"
-Warning: Could not locate service type file kservicetypes5/kdedmodule.desktop, tried ("/home/awilcox/.local/share", "/usr/local/share", "/usr/share") and ":/kservicetypes5/kdedmodule.desktop" ((null):0, (null))
-Generating MOC compilation mocs_compilation.cpp
-Unknown property type for key "X-KDE-DBus-ModuleName" -> falling back to string
-Unknown property type for key "X-KDE-Kded-autoload" -> falling back to string
-Unknown property type for key "X-KDE-Kded-load-on-demand" -> falling back to string
-Unknown property type for key "X-KDE-Kded-phase" -> falling back to string
-Generated "/usr/src/packages/user/baloo/src/baloo-5.38.0/src/kioslaves/kded/baloosearchmodule.json"
-
--- building... ar/balooctl5.po to balooctl5.mo
-[ 4%] Automatic MOC for target baloosearchmodule
-[ 4%] Generating org.kde.baloo.fileindexer.xml
-[ 4%] Built target KF5BalooCodecs_autogen
--- building... ar/baloomonitorplugin.po to baloomonitorplugin.mo
-[ 4%] Generating maininterface.cpp, maininterface.h
-Scanning dependencies of target KF5BalooCodecs
--- building... ar/baloosearch5.po to baloosearch5.mo
-AutoMoc: Warning: "/usr/src/packages/user/baloo/src/baloo-5.38.0/src/kioslaves/kded/baloosearchmodule.cpp"
-The file includes the moc file "baloosearchmodule.moc", but does not contain a Q_OBJECT or Q_GADGET macro.
-
--- building... ar/balooshow5.po to balooshow5.mo
-[ 4%] Generating schedulerinterface.cpp, schedulerinterface.h
--- building... ar/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ar/kio5_timeline.po to kio5_timeline.mo
--- building... ast/baloo_file5.po to baloo_file5.mo
-[ 4%] Building CXX object src/codecs/CMakeFiles/KF5BalooCodecs.dir/doctermscodec.cpp.o
--- building... ast/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... ast/balooctl5.po to balooctl5.mo
-[ 4%] Generating fileindexerinterface.cpp, fileindexerinterface.h
--- building... ast/baloomonitorplugin.po to baloomonitorplugin.mo
-[ 4%] Generating maininterface.moc
--- building... ast/baloosearch5.po to baloosearch5.mo
--- building... ast/balooshow5.po to balooshow5.mo
--- building... ast/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ast/kio5_tags.po to kio5_tags.mo
--- building... ast/kio5_timeline.po to kio5_timeline.mo
-[ 5%] Generating schedulerinterface.moc
--- building... bg/baloo_file5.po to baloo_file5.mo
--- building... bg/baloosearch5.po to baloosearch5.mo
--- building... bg/balooshow5.po to balooshow5.mo
--- building... bs/baloo_file5.po to baloo_file5.mo
--- building... bs/balooctl5.po to balooctl5.mo
--- building... bs/baloosearch5.po to baloosearch5.mo
-Generating MOC source include/advancedqueryparsertest.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/iohandlertest.moc
-Generating MOC compilation mocs_compilation.cpp
--- building... bs/balooshow5.po to balooshow5.mo
--- building... bs/kio5_baloosearch.po to kio5_baloosearch.mo
-[ 5%] Built target advancedqueryparsertest_autogen
-Building up file structure...
--- building... bs/kio5_tags.po to kio5_tags.mo
-[ 5%] Built target extractorIOTest_autogen
--- building... bs/kio5_timeline.po to kio5_timeline.mo
--- building... ca/baloo_file5.po to baloo_file5.mo
--- building... ca/baloo_file_extractor5.po to baloo_file_extractor5.mo
-[ 5%] Generating fileindexerinterface.moc
--- building... ca/balooctl5.po to balooctl5.mo
-[ 5%] Building CXX object src/codecs/CMakeFiles/KF5BalooCodecs.dir/positioncodec.cpp.o
--- building... ca/baloomonitorplugin.po to baloomonitorplugin.mo
-Insert custom filters...
-Insert help data for filter section (1 of 1)...
-Insert files...
-Insert contents...
-Insert indices...
-Documentation successfully generated.
--- building... ca/baloosearch5.po to baloosearch5.mo
--- building... ca/balooshow5.po to balooshow5.mo
--- building... ca/kio5_baloosearch.po to kio5_baloosearch.mo
-[ 5%] Built target KF5Baloo_QCH
--- building... ca/kio5_tags.po to kio5_tags.mo
--- building... ca/kio5_timeline.po to kio5_timeline.mo
-Scanning dependencies of target advancedqueryparsertest
--- building... ca@valencia/baloo_file5.po to baloo_file5.mo
--- building... ca@valencia/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... ca@valencia/balooctl5.po to balooctl5.mo
--- building... ca@valencia/baloomonitorplugin.po to baloomonitorplugin.mo
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/baloosearchmodule.moc
-Generating MOC source EWIEGA46WW/moc_baloosearchmodule.cpp
-Generating MOC compilation mocs_compilation.cpp
--- building... ca@valencia/baloosearch5.po to baloosearch5.mo
-[ 6%] Building CXX object autotests/unit/lib/CMakeFiles/advancedqueryparsertest.dir/advancedqueryparsertest.cpp.o
-[ 6%] Built target baloosearchmodule_autogen
--- building... ca@valencia/balooshow5.po to balooshow5.mo
-[ 6%] Building CXX object autotests/unit/lib/CMakeFiles/advancedqueryparsertest.dir/__/__/__/src/lib/advancedqueryparser.cpp.o
-Scanning dependencies of target extractorIOTest
--- building... ca@valencia/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ca@valencia/kio5_tags.po to kio5_tags.mo
--- building... ca@valencia/kio5_timeline.po to kio5_timeline.mo
-[ 6%] Building CXX object autotests/unit/lib/CMakeFiles/advancedqueryparsertest.dir/__/__/__/src/lib/term.cpp.o
--- building... cs/baloo_file5.po to baloo_file5.mo
-[ 6%] Building CXX object src/file/extractor/autotests/CMakeFiles/extractorIOTest.dir/iohandlertest.cpp.o
--- building... cs/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... cs/balooctl5.po to balooctl5.mo
-[ 6%] Built target BalooDBusInterfaces
--- building... cs/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... cs/baloosearch5.po to baloosearch5.mo
--- building... cs/balooshow5.po to balooshow5.mo
-[ 7%] Building CXX object src/file/extractor/autotests/CMakeFiles/extractorIOTest.dir/__/iohandler.cpp.o
--- building... cs/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... cs/kio5_tags.po to kio5_tags.mo
--- building... cs/kio5_timeline.po to kio5_timeline.mo
--- building... da/baloo_file5.po to baloo_file5.mo
--- building... da/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... da/balooctl5.po to balooctl5.mo
--- building... da/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... da/baloosearch5.po to baloosearch5.mo
--- building... da/balooshow5.po to balooshow5.mo
--- building... da/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... da/kio5_tags.po to kio5_tags.mo
--- building... da/kio5_timeline.po to kio5_timeline.mo
--- building... de/baloo_file5.po to baloo_file5.mo
--- building... de/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... de/balooctl5.po to balooctl5.mo
--- building... de/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... de/baloosearch5.po to baloosearch5.mo
--- building... de/balooshow5.po to balooshow5.mo
--- building... de/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... de/kio5_tags.po to kio5_tags.mo
--- building... de/kio5_timeline.po to kio5_timeline.mo
--- building... el/baloo_file5.po to baloo_file5.mo
--- building... el/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... el/balooctl5.po to balooctl5.mo
--- building... el/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... el/baloosearch5.po to baloosearch5.mo
--- building... el/balooshow5.po to balooshow5.mo
--- building... el/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... el/kio5_tags.po to kio5_tags.mo
--- building... el/kio5_timeline.po to kio5_timeline.mo
--- building... en_GB/baloo_file5.po to baloo_file5.mo
--- building... en_GB/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... en_GB/balooctl5.po to balooctl5.mo
--- building... en_GB/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... en_GB/baloosearch5.po to baloosearch5.mo
--- building... en_GB/balooshow5.po to balooshow5.mo
--- building... en_GB/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... en_GB/kio5_tags.po to kio5_tags.mo
--- building... en_GB/kio5_timeline.po to kio5_timeline.mo
--- building... es/baloo_file5.po to baloo_file5.mo
--- building... es/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... es/balooctl5.po to balooctl5.mo
--- building... es/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... es/baloosearch5.po to baloosearch5.mo
--- building... es/balooshow5.po to balooshow5.mo
--- building... es/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... es/kio5_tags.po to kio5_tags.mo
--- building... es/kio5_timeline.po to kio5_timeline.mo
--- building... et/baloo_file5.po to baloo_file5.mo
--- building... et/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... et/balooctl5.po to balooctl5.mo
--- building... et/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... et/baloosearch5.po to baloosearch5.mo
--- building... et/balooshow5.po to balooshow5.mo
--- building... et/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... et/kio5_tags.po to kio5_tags.mo
--- building... et/kio5_timeline.po to kio5_timeline.mo
--- building... eu/baloo_file5.po to baloo_file5.mo
--- building... eu/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... eu/balooctl5.po to balooctl5.mo
--- building... eu/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... eu/baloosearch5.po to baloosearch5.mo
--- building... eu/balooshow5.po to balooshow5.mo
--- building... eu/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... eu/kio5_tags.po to kio5_tags.mo
--- building... eu/kio5_timeline.po to kio5_timeline.mo
--- building... fi/baloo_file5.po to baloo_file5.mo
--- building... fi/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... fi/balooctl5.po to balooctl5.mo
--- building... fi/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... fi/baloosearch5.po to baloosearch5.mo
--- building... fi/balooshow5.po to balooshow5.mo
--- building... fi/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... fi/kio5_tags.po to kio5_tags.mo
--- building... fi/kio5_timeline.po to kio5_timeline.mo
--- building... fr/baloo_file5.po to baloo_file5.mo
--- building... fr/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... fr/balooctl5.po to balooctl5.mo
--- building... fr/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... fr/baloosearch5.po to baloosearch5.mo
--- building... fr/balooshow5.po to balooshow5.mo
--- building... fr/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... fr/kio5_tags.po to kio5_tags.mo
--- building... fr/kio5_timeline.po to kio5_timeline.mo
--- building... gd/baloo_file5.po to baloo_file5.mo
--- building... gd/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... gd/balooctl5.po to balooctl5.mo
--- building... gd/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... gd/baloosearch5.po to baloosearch5.mo
--- building... gd/balooshow5.po to balooshow5.mo
--- building... gd/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... gd/kio5_tags.po to kio5_tags.mo
--- building... gd/kio5_timeline.po to kio5_timeline.mo
--- building... gl/baloo_file5.po to baloo_file5.mo
--- building... gl/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... gl/balooctl5.po to balooctl5.mo
--- building... gl/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... gl/baloosearch5.po to baloosearch5.mo
--- building... gl/balooshow5.po to balooshow5.mo
--- building... gl/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... gl/kio5_tags.po to kio5_tags.mo
--- building... gl/kio5_timeline.po to kio5_timeline.mo
--- building... he/baloo_file5.po to baloo_file5.mo
--- building... he/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... he/kio5_timeline.po to kio5_timeline.mo
--- building... hu/baloo_file5.po to baloo_file5.mo
--- building... hu/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... hu/balooctl5.po to balooctl5.mo
--- building... hu/baloosearch5.po to baloosearch5.mo
--- building... hu/balooshow5.po to balooshow5.mo
--- building... hu/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... hu/kio5_tags.po to kio5_tags.mo
--- building... hu/kio5_timeline.po to kio5_timeline.mo
--- building... ia/baloo_file5.po to baloo_file5.mo
--- building... ia/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... ia/balooctl5.po to balooctl5.mo
--- building... ia/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... ia/baloosearch5.po to baloosearch5.mo
--- building... ia/balooshow5.po to balooshow5.mo
--- building... ia/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ia/kio5_tags.po to kio5_tags.mo
--- building... ia/kio5_timeline.po to kio5_timeline.mo
--- building... it/baloo_file5.po to baloo_file5.mo
--- building... it/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... it/balooctl5.po to balooctl5.mo
--- building... it/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... it/baloosearch5.po to baloosearch5.mo
--- building... it/balooshow5.po to balooshow5.mo
--- building... it/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... it/kio5_tags.po to kio5_tags.mo
--- building... it/kio5_timeline.po to kio5_timeline.mo
--- building... ja/baloo_file5.po to baloo_file5.mo
--- building... ja/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... ja/balooctl5.po to balooctl5.mo
--- building... ja/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... ja/baloosearch5.po to baloosearch5.mo
--- building... ja/balooshow5.po to balooshow5.mo
--- building... ja/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ja/kio5_tags.po to kio5_tags.mo
--- building... ja/kio5_timeline.po to kio5_timeline.mo
--- building... ko/baloo_file5.po to baloo_file5.mo
--- building... ko/balooctl5.po to balooctl5.mo
--- building... ko/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... ko/baloosearch5.po to baloosearch5.mo
--- building... ko/balooshow5.po to balooshow5.mo
--- building... ko/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ko/kio5_tags.po to kio5_tags.mo
--- building... ko/kio5_timeline.po to kio5_timeline.mo
--- building... lt/baloo_file5.po to baloo_file5.mo
--- building... lt/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... lt/balooctl5.po to balooctl5.mo
--- building... lt/baloosearch5.po to baloosearch5.mo
--- building... lt/balooshow5.po to balooshow5.mo
--- building... lt/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... lt/kio5_tags.po to kio5_tags.mo
-[ 7%] Building CXX object src/codecs/CMakeFiles/KF5BalooCodecs.dir/postingcodec.cpp.o
--- building... lt/kio5_timeline.po to kio5_timeline.mo
--- building... nb/baloo_file5.po to baloo_file5.mo
--- building... nb/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... nb/balooctl5.po to balooctl5.mo
--- building... nb/baloosearch5.po to baloosearch5.mo
--- building... nb/balooshow5.po to balooshow5.mo
--- building... nb/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... nb/kio5_tags.po to kio5_tags.mo
--- building... nb/kio5_timeline.po to kio5_timeline.mo
--- building... nds/baloo_file5.po to baloo_file5.mo
--- building... nds/balooctl5.po to balooctl5.mo
--- building... nds/baloosearch5.po to baloosearch5.mo
--- building... nds/balooshow5.po to balooshow5.mo
--- building... nds/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... nds/kio5_tags.po to kio5_tags.mo
--- building... nds/kio5_timeline.po to kio5_timeline.mo
--- building... nl/baloo_file5.po to baloo_file5.mo
--- building... nl/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... nl/balooctl5.po to balooctl5.mo
--- building... nl/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... nl/baloosearch5.po to baloosearch5.mo
--- building... nl/balooshow5.po to balooshow5.mo
--- building... nl/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... nl/kio5_tags.po to kio5_tags.mo
--- building... nl/kio5_timeline.po to kio5_timeline.mo
--- building... nn/baloo_file5.po to baloo_file5.mo
--- building... nn/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... nn/balooctl5.po to balooctl5.mo
--- building... nn/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... nn/baloosearch5.po to baloosearch5.mo
--- building... nn/balooshow5.po to balooshow5.mo
--- building... nn/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... nn/kio5_tags.po to kio5_tags.mo
--- building... nn/kio5_timeline.po to kio5_timeline.mo
--- building... pa/baloo_file5.po to baloo_file5.mo
--- building... pa/balooctl5.po to balooctl5.mo
--- building... pa/baloosearch5.po to baloosearch5.mo
--- building... pa/balooshow5.po to balooshow5.mo
--- building... pa/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... pa/kio5_tags.po to kio5_tags.mo
--- building... pa/kio5_timeline.po to kio5_timeline.mo
--- building... pl/baloo_file5.po to baloo_file5.mo
--- building... pl/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... pl/balooctl5.po to balooctl5.mo
--- building... pl/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... pl/baloosearch5.po to baloosearch5.mo
--- building... pl/balooshow5.po to balooshow5.mo
--- building... pl/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... pl/kio5_tags.po to kio5_tags.mo
--- building... pl/kio5_timeline.po to kio5_timeline.mo
--- building... pt/baloo_file5.po to baloo_file5.mo
--- building... pt/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... pt/balooctl5.po to balooctl5.mo
--- building... pt/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... pt/baloosearch5.po to baloosearch5.mo
--- building... pt/balooshow5.po to balooshow5.mo
--- building... pt/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... pt/kio5_tags.po to kio5_tags.mo
--- building... pt/kio5_timeline.po to kio5_timeline.mo
--- building... pt_BR/baloo_file5.po to baloo_file5.mo
--- building... pt_BR/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... pt_BR/balooctl5.po to balooctl5.mo
--- building... pt_BR/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... pt_BR/baloosearch5.po to baloosearch5.mo
--- building... pt_BR/balooshow5.po to balooshow5.mo
--- building... pt_BR/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... pt_BR/kio5_tags.po to kio5_tags.mo
--- building... pt_BR/kio5_timeline.po to kio5_timeline.mo
--- building... ro/baloo_file5.po to baloo_file5.mo
--- building... ro/balooctl5.po to balooctl5.mo
--- building... ro/baloosearch5.po to baloosearch5.mo
--- building... ro/balooshow5.po to balooshow5.mo
--- building... ro/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ro/kio5_tags.po to kio5_tags.mo
--- building... ro/kio5_timeline.po to kio5_timeline.mo
--- building... ru/baloo_file5.po to baloo_file5.mo
--- building... ru/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... ru/balooctl5.po to balooctl5.mo
--- building... ru/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... ru/baloosearch5.po to baloosearch5.mo
--- building... ru/balooshow5.po to balooshow5.mo
-[ 8%] Building CXX object src/codecs/CMakeFiles/KF5BalooCodecs.dir/coding.cpp.o
--- building... ru/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... ru/kio5_tags.po to kio5_tags.mo
--- building... ru/kio5_timeline.po to kio5_timeline.mo
--- building... sk/baloo_file5.po to baloo_file5.mo
--- building... sk/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sk/balooctl5.po to balooctl5.mo
--- building... sk/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sk/baloosearch5.po to baloosearch5.mo
--- building... sk/balooshow5.po to balooshow5.mo
--- building... sk/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sk/kio5_tags.po to kio5_tags.mo
--- building... sk/kio5_timeline.po to kio5_timeline.mo
--- building... sl/baloo_file5.po to baloo_file5.mo
--- building... sl/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sl/balooctl5.po to balooctl5.mo
--- building... sl/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sl/baloosearch5.po to baloosearch5.mo
--- building... sl/balooshow5.po to balooshow5.mo
--- building... sl/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sl/kio5_tags.po to kio5_tags.mo
--- building... sl/kio5_timeline.po to kio5_timeline.mo
--- building... sr/baloo_file5.po to baloo_file5.mo
--- building... sr/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sr/balooctl5.po to balooctl5.mo
--- building... sr/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sr/baloosearch5.po to baloosearch5.mo
--- building... sr/balooshow5.po to balooshow5.mo
--- building... sr/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sr/kio5_tags.po to kio5_tags.mo
--- building... sr/kio5_timeline.po to kio5_timeline.mo
--- building... sr@ijekavian/baloo_file5.po to baloo_file5.mo
--- building... sr@ijekavian/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sr@ijekavian/balooctl5.po to balooctl5.mo
--- building... sr@ijekavian/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sr@ijekavian/baloosearch5.po to baloosearch5.mo
--- building... sr@ijekavian/balooshow5.po to balooshow5.mo
-[ 8%] Building CXX object src/file/extractor/autotests/CMakeFiles/extractorIOTest.dir/extractorIOTest_autogen/mocs_compilation.cpp.o
--- building... sr@ijekavian/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sr@ijekavian/kio5_tags.po to kio5_tags.mo
--- building... sr@ijekavian/kio5_timeline.po to kio5_timeline.mo
--- building... sr@ijekavianlatin/baloo_file5.po to baloo_file5.mo
--- building... sr@ijekavianlatin/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sr@ijekavianlatin/balooctl5.po to balooctl5.mo
-[ 9%] Building CXX object autotests/unit/lib/CMakeFiles/advancedqueryparsertest.dir/advancedqueryparsertest_autogen/mocs_compilation.cpp.o
--- building... sr@ijekavianlatin/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sr@ijekavianlatin/baloosearch5.po to baloosearch5.mo
--- building... sr@ijekavianlatin/balooshow5.po to balooshow5.mo
--- building... sr@ijekavianlatin/kio5_baloosearch.po to kio5_baloosearch.mo
-[ 9%] Building CXX object src/codecs/CMakeFiles/KF5BalooCodecs.dir/KF5BalooCodecs_autogen/mocs_compilation.cpp.o
--- building... sr@ijekavianlatin/kio5_tags.po to kio5_tags.mo
--- building... sr@ijekavianlatin/kio5_timeline.po to kio5_timeline.mo
--- building... sr@latin/baloo_file5.po to baloo_file5.mo
--- building... sr@latin/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sr@latin/balooctl5.po to balooctl5.mo
-Scanning dependencies of target baloosearchmodule
--- building... sr@latin/baloomonitorplugin.po to baloomonitorplugin.mo
-[ 9%] Linking CXX executable ../../../../bin/extractorIOTest
-[ 9%] Building CXX object src/kioslaves/kded/CMakeFiles/baloosearchmodule.dir/baloosearchmodule.cpp.o
--- building... sr@latin/baloosearch5.po to baloosearch5.mo
--- building... sr@latin/balooshow5.po to balooshow5.mo
--- building... sr@latin/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sr@latin/kio5_tags.po to kio5_tags.mo
--- building... sr@latin/kio5_timeline.po to kio5_timeline.mo
--- building... sv/baloo_file5.po to baloo_file5.mo
--- building... sv/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... sv/balooctl5.po to balooctl5.mo
--- building... sv/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... sv/baloosearch5.po to baloosearch5.mo
--- building... sv/balooshow5.po to balooshow5.mo
--- building... sv/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... sv/kio5_tags.po to kio5_tags.mo
--- building... sv/kio5_timeline.po to kio5_timeline.mo
--- building... tr/baloo_file5.po to baloo_file5.mo
--- building... tr/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... tr/balooctl5.po to balooctl5.mo
--- building... tr/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... tr/baloosearch5.po to baloosearch5.mo
--- building... tr/balooshow5.po to balooshow5.mo
--- building... tr/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... tr/kio5_tags.po to kio5_tags.mo
--- building... tr/kio5_timeline.po to kio5_timeline.mo
--- building... uk/baloo_file5.po to baloo_file5.mo
--- building... uk/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... uk/balooctl5.po to balooctl5.mo
--- building... uk/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... uk/baloosearch5.po to baloosearch5.mo
--- building... uk/balooshow5.po to balooshow5.mo
--- building... uk/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... uk/kio5_tags.po to kio5_tags.mo
-[ 9%] Built target extractorIOTest
--- building... uk/kio5_timeline.po to kio5_timeline.mo
--- building... zh_CN/baloo_file5.po to baloo_file5.mo
-[ 9%] Building CXX object src/kioslaves/kded/CMakeFiles/baloosearchmodule.dir/baloosearchmodule_autogen/mocs_compilation.cpp.o
--- building... zh_CN/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... zh_CN/balooctl5.po to balooctl5.mo
--- building... zh_CN/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... zh_CN/baloosearch5.po to baloosearch5.mo
--- building... zh_CN/balooshow5.po to balooshow5.mo
--- building... zh_CN/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... zh_CN/kio5_tags.po to kio5_tags.mo
--- building... zh_CN/kio5_timeline.po to kio5_timeline.mo
--- building... zh_TW/baloo_file5.po to baloo_file5.mo
--- building... zh_TW/baloo_file_extractor5.po to baloo_file_extractor5.mo
--- building... zh_TW/balooctl5.po to balooctl5.mo
--- building... zh_TW/baloomonitorplugin.po to baloomonitorplugin.mo
--- building... zh_TW/baloosearch5.po to baloosearch5.mo
--- building... zh_TW/balooshow5.po to balooshow5.mo
--- building... zh_TW/kio5_baloosearch.po to kio5_baloosearch.mo
--- building... zh_TW/kio5_tags.po to kio5_tags.mo
--- building... zh_TW/kio5_timeline.po to kio5_timeline.mo
-[ 9%] Built target pofiles-20019e270ed76750f8f8374aa75fc90f
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/codecs/coding.cpp: In function 'char* Baloo::getDifferentialVarInt32(char*, char*, QVector<unsigned int>*)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/codecs/coding.cpp:122:26: warning: 'n' may be used uninitialized in this function [-Wmaybe-uninitialized]
- values->append(n + v);
- ~~^~~
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/codecs/coding.cpp:124:15: warning: 'size' may be used uninitialized in this function [-Wmaybe-uninitialized]
- size--;
- ^
-[ 9%] Linking CXX static library ../../lib/libKF5BalooCodecs.a
-[ 9%] Built target KF5BalooCodecs
-Scanning dependencies of target positioncodectest_autogen
-Scanning dependencies of target doctermscodectest_autogen
-Scanning dependencies of target postingcodectest_autogen
-Scanning dependencies of target KF5BalooEngine_autogen
-Scanning dependencies of target positioncodecbenchmark_autogen
-[ 9%] Automatic MOC for target postingcodectest
-[ 10%] Automatic MOC for target positioncodectest
-[ 11%] Automatic MOC for target doctermscodectest
-[ 11%] Automatic MOC for target KF5BalooEngine
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-[ 12%] Automatic MOC for target positioncodecbenchmark
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-[ 12%] Built target KF5BalooEngine_autogen
-Scanning dependencies of target KF5BalooEngine
-Generating MOC source include/postingcodectest.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/doctermscodectest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 12%] Built target postingcodectest_autogen
-[ 12%] Built target doctermscodectest_autogen
-Scanning dependencies of target postingcodectest
-[ 12%] Building CXX object autotests/unit/codecs/CMakeFiles/postingcodectest.dir/postingcodectest.cpp.o
-Generating MOC source include/positioncodectest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 12%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/andpostingiterator.cpp.o
-[ 12%] Built target positioncodectest_autogen
-Scanning dependencies of target doctermscodectest
-[ 12%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/database.cpp.o
-[ 13%] Building CXX object autotests/unit/codecs/CMakeFiles/doctermscodectest.dir/doctermscodectest.cpp.o
-Generating MOC source include/positioncodecbenchmark.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 13%] Built target positioncodecbenchmark_autogen
-Scanning dependencies of target positioncodectest
-[ 13%] Building CXX object autotests/unit/codecs/CMakeFiles/positioncodectest.dir/positioncodectest.cpp.o
-[ 13%] Building CXX object autotests/unit/codecs/CMakeFiles/positioncodectest.dir/positioncodectest_autogen/mocs_compilation.cpp.o
-[ 13%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/document.cpp.o
-[ 14%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/documentdb.cpp.o
-[ 14%] Linking CXX executable ../../../bin/advancedqueryparsertest
-[ 15%] Linking CXX shared module ../../../bin/baloosearchmodule.so
-[ 15%] Built target baloosearchmodule
-Scanning dependencies of target positioncodecbenchmark
-[ 15%] Building CXX object autotests/benchmarks/CMakeFiles/positioncodecbenchmark.dir/positioncodecbenchmark.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/database.cpp:41:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 15%] Built target advancedqueryparsertest
-[ 15%] Building CXX object autotests/benchmarks/CMakeFiles/positioncodecbenchmark.dir/positioncodecbenchmark_autogen/mocs_compilation.cpp.o
-[ 15%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/documentdatadb.cpp.o
-[ 16%] Building CXX object autotests/unit/codecs/CMakeFiles/postingcodectest.dir/postingcodectest_autogen/mocs_compilation.cpp.o
-[ 16%] Linking CXX executable ../../../bin/postingcodectest
-[ 16%] Built target postingcodectest
-[ 16%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/documenturldb.cpp.o
-[ 16%] Building CXX object autotests/unit/codecs/CMakeFiles/doctermscodectest.dir/doctermscodectest_autogen/mocs_compilation.cpp.o
-[ 16%] Linking CXX executable ../../../bin/doctermscodectest
-[ 16%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/documenttimedb.cpp.o
-[ 16%] Built target doctermscodectest
-[ 17%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/documentiddb.cpp.o
-[ 17%] Linking CXX executable ../../../bin/positioncodectest
-[ 17%] Built target positioncodectest
-[ 17%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/enginequery.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/documenturldb.cpp:22:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 17%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/idtreedb.cpp.o
-[ 17%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/idfilenamedb.cpp.o
-[ 17%] Linking CXX executable ../../bin/positioncodecbenchmark
-[ 18%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/mtimedb.cpp.o
-[ 18%] Built target positioncodecbenchmark
-[ 18%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/orpostingiterator.cpp.o
-[ 18%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/phraseanditerator.cpp.o
-[ 18%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/positiondb.cpp.o
-[ 19%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/postingdb.cpp.o
-[ 19%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/postingiterator.cpp.o
-[ 19%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/queryparser.cpp.o
-[ 20%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/termgenerator.cpp.o
-[ 20%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/transaction.cpp.o
-[ 20%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/vectorpostingiterator.cpp.o
-[ 20%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/vectorpositioninfoiterator.cpp.o
-[ 21%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/writetransaction.cpp.o
-[ 21%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/global.cpp.o
-[ 21%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/fsutils.cpp.o
-[ 21%] Building CXX object src/engine/CMakeFiles/KF5BalooEngine.dir/KF5BalooEngine_autogen/mocs_compilation.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/writetransaction.cpp:33:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/transaction.cpp:38:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/fsutils.cpp: In function 'void Baloo::FSUtils::disableCoW(const QString&)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/fsutils.cpp:94:19: warning: overflow in implicit constant conversion [-Woverflow]
- if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == -1) {
- ^~~~~~~~~~~~~~~
-[ 22%] Linking CXX shared library ../../bin/libKF5BalooEngine.so
-[ 22%] Built target KF5BalooEngine
-Scanning dependencies of target baloofilecommon_autogen
-Scanning dependencies of target memorytest_autogen
-Scanning dependencies of target baloo_file_extractor_autogen
-Scanning dependencies of target KF5Baloo_autogen
-Scanning dependencies of target documenturldb_autogen
-Scanning dependencies of target databasebenchmark_autogen
-Scanning dependencies of target writeiotest_autogen
-Scanning dependencies of target querytest_autogen
-[ 23%] Automatic MOC for target baloofilecommon
-[ 23%] Automatic MOC for target KF5Baloo
-[ 23%] Automatic MOC for target baloo_file_extractor
-[ 23%] Automatic MOC for target memorytest
-[ 23%] Automatic MOC for target documenturldb
-[ 23%] Automatic MOC for target databasebenchmark
-[ 23%] Automatic MOC for target writeiotest
-[ 23%] Automatic MOC for target querytest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 23%] Built target documenturldb_autogen
-Generating MOC compilation mocs_compilation.cpp
-[ 23%] Built target writeiotest_autogen
-[ 23%] Built target memorytest_autogen
-Scanning dependencies of target writetransactiontest_autogen
-Scanning dependencies of target idtreedbtest_autogen
-[ 24%] Automatic MOC for target writetransactiontest
-[ 24%] Automatic MOC for target idtreedbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Scanning dependencies of target documenturldbtest_autogen
-[ 24%] Automatic MOC for target documenturldbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/databasebenchmark.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/querytest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 24%] Built target databasebenchmark_autogen
-[ 24%] Built target querytest_autogen
-Scanning dependencies of target documentiddbtest_autogen
-Scanning dependencies of target positiondbtest_autogen
-[ 24%] Automatic MOC for target documentiddbtest
-Generating MOC predefs moc_predefs.h
-[ 24%] Automatic MOC for target positiondbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/writetransactiontest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 24%] Built target writetransactiontest_autogen
-Scanning dependencies of target idfilenamedbtest_autogen
-Generating MOC source include/idtreedbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 24%] Built target idtreedbtest_autogen
-[ 25%] Automatic MOC for target idfilenamedbtest
-Scanning dependencies of target postingdbtest_autogen
-Generating MOC predefs moc_predefs.h
-[ 25%] Automatic MOC for target postingdbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/documenturldbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 25%] Built target documenturldbtest_autogen
-Scanning dependencies of target mtimedbtest_autogen
-Generating MOC source YH6BUZA3PE/moc_fileindexerconfig.cpp
-Generating MOC source YH6BUZA3PE/moc_storagedevices.cpp
-Generating MOC source EWIEGA46WW/moc_filemonitor.cpp
-Generating MOC source EWIEGA46WW/moc_queryrunnable.cpp
-Generating MOC source EWIEGA46WW/moc_taglistjob.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 25%] Built target KF5Baloo_autogen
-Scanning dependencies of target documentdbtest_autogen
-[ 26%] Automatic MOC for target mtimedbtest
-[ 26%] Automatic MOC for target documentdbtest
-Generating MOC source include/documentiddbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-[ 26%] Built target documentiddbtest_autogen
-Scanning dependencies of target termgeneratortest_autogen
-Generating MOC source EWIEGA46WW/moc_app.cpp
-Generating MOC source EWIEGA46WW/moc_idlestatemonitor.cpp
-Generating MOC source YH6BUZA3PE/moc_fileindexerconfig.cpp
-Generating MOC source YH6BUZA3PE/moc_storagedevices.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 26%] Built target baloo_file_extractor_autogen
-Generating MOC source include/positiondbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-Scanning dependencies of target queryparsertest_autogen
-[ 26%] Automatic MOC for target termgeneratortest
-[ 26%] Built target positiondbtest_autogen
-[ 27%] Automatic MOC for target queryparsertest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Scanning dependencies of target documenttimedbtest_autogen
-[ 27%] Automatic MOC for target documenttimedbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/idfilenamedbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target idfilenamedbtest_autogen
-Scanning dependencies of target andpostingiteratortest_autogen
-[ 27%] Automatic MOC for target andpostingiteratortest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/postingdbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target postingdbtest_autogen
-Scanning dependencies of target transactiontest_autogen
-Generating MOC source include/mtimedbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Automatic MOC for target transactiontest
-[ 27%] Built target mtimedbtest_autogen
-Scanning dependencies of target orpostingiteratortest_autogen
-Generating MOC source include/documentdbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Automatic MOC for target orpostingiteratortest
-Generating MOC predefs moc_predefs.h
-[ 27%] Built target documentdbtest_autogen
-Generating MOC predefs moc_predefs.h
-Scanning dependencies of target phraseanditeratortest_autogen
-[ 27%] Automatic MOC for target phraseanditeratortest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/documenttimedbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/termgeneratortest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target termgeneratortest_autogen
-[ 27%] Built target documenttimedbtest_autogen
-Scanning dependencies of target documentdatadbtest_autogen
-Scanning dependencies of target KF5Baloo
-[ 27%] Automatic MOC for target documentdatadbtest
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/queryparsertest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target queryparsertest_autogen
-Generating MOC source include/andpostingiteratortest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target andpostingiteratortest_autogen
-Scanning dependencies of target baloo_file_extractor
-Scanning dependencies of target documenturldb
-[ 27%] Building CXX object tests/engine/CMakeFiles/documenturldb.dir/documenturldbtest.cpp.o
-[ 27%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/term.cpp.o
-Generating MOC source include/orpostingiteratortest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/transactiontest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target orpostingiteratortest_autogen
-Generating MOC source include/phraseanditeratortest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target transactiontest_autogen
-Scanning dependencies of target memorytest
-[ 27%] Built target phraseanditeratortest_autogen
-[ 27%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/query.cpp.o
-Scanning dependencies of target writeiotest
-[ 27%] Building CXX object tests/engine/CMakeFiles/memorytest.dir/memorytest.cpp.o
-Generating MOC source include/documentdatadbtest.moc
-Generating MOC source EWIEGA46WW/moc_singledbtest.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 27%] Built target documentdatadbtest_autogen
-[ 28%] Building CXX object tests/engine/CMakeFiles/writeiotest.dir/writeiotest.cpp.o
-[ 30%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/main.cpp.o
-[ 30%] Building CXX object tests/engine/CMakeFiles/memorytest.dir/memorytest_autogen/mocs_compilation.cpp.o
-[ 31%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/queryrunnable.cpp.o
-Generating MOC source include/moc_kinotify.cpp
-Generating MOC source EWIEGA46WW/moc_extractorprocess.cpp
-Generating MOC source EWIEGA46WW/moc_filecontentindexer.cpp
-Generating MOC source EWIEGA46WW/moc_fileindexerconfig.cpp
-Generating MOC source EWIEGA46WW/moc_fileindexscheduler.cpp
-Generating MOC source EWIEGA46WW/moc_filewatch.cpp
-Generating MOC source EWIEGA46WW/moc_firstrunindexer.cpp
-Generating MOC source EWIEGA46WW/moc_indexcleaner.cpp
-Generating MOC source EWIEGA46WW/moc_mainadaptor.cpp
-Generating MOC source EWIEGA46WW/moc_mainhub.cpp
-Generating MOC source EWIEGA46WW/moc_metadatamover.cpp
-Generating MOC source EWIEGA46WW/moc_modifiedfileindexer.cpp
-Generating MOC source EWIEGA46WW/moc_newfileindexer.cpp
-Generating MOC source EWIEGA46WW/moc_pendingfilequeue.cpp
-Generating MOC source EWIEGA46WW/moc_powerstatemonitor.cpp
-Generating MOC source EWIEGA46WW/moc_storagedevices.cpp
-Generating MOC source EWIEGA46WW/moc_timeestimator.cpp
-Generating MOC source EWIEGA46WW/moc_unindexedfileindexer.cpp
-Generating MOC source EWIEGA46WW/moc_xattrindexer.cpp
-Generating MOC compilation mocs_compilation.cpp
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/tests/engine/documenturldbtest.cpp:32:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 31%] Building CXX object tests/engine/CMakeFiles/documenturldb.dir/documenturldb_autogen/mocs_compilation.cpp.o
-[ 31%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/resultiterator.cpp.o
-[ 32%] Linking CXX executable ../../bin/documenturldb
-[ 32%] Linking CXX executable ../../bin/memorytest
-[ 32%] Building CXX object tests/engine/CMakeFiles/writeiotest.dir/writeiotest_autogen/mocs_compilation.cpp.o
-[ 32%] Linking CXX executable ../../bin/writeiotest
-[ 32%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/app.cpp.o
-[ 32%] Built target writeiotest
-[ 32%] Built target baloofilecommon_autogen
-[ 32%] Built target memorytest
-[ 32%] Built target documenturldb
-Scanning dependencies of target databasebenchmark
-Scanning dependencies of target querytest
-Scanning dependencies of target writetransactiontest
-Scanning dependencies of target documenturldbtest
-Scanning dependencies of target idtreedbtest
-[ 33%] Building CXX object autotests/benchmarks/CMakeFiles/databasebenchmark.dir/databasebenchmark.cpp.o
-[ 33%] Building CXX object autotests/integration/CMakeFiles/querytest.dir/querytest.cpp.o
-[ 33%] Building CXX object autotests/unit/engine/CMakeFiles/documenturldbtest.dir/documenturldbtest.cpp.o
-[ 34%] Building CXX object autotests/integration/CMakeFiles/writetransactiontest.dir/writetransactiontest.cpp.o
-[ 34%] Building CXX object autotests/unit/engine/CMakeFiles/idtreedbtest.dir/idtreedbtest.cpp.o
-[ 34%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/advancedqueryparser.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/extractor/app.cpp:26:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 34%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/file.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/querytest.cpp:26:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/writetransactiontest.cpp:24:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/unit/engine/documenturldbtest.cpp:23:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/lib/file.cpp:27:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 34%] Building CXX object autotests/benchmarks/CMakeFiles/databasebenchmark.dir/databasebenchmark_autogen/mocs_compilation.cpp.o
-[ 34%] Linking CXX executable ../../bin/databasebenchmark
-[ 34%] Building CXX object autotests/unit/engine/CMakeFiles/idtreedbtest.dir/singledbtest.cpp.o
-[ 34%] Built target databasebenchmark
-Scanning dependencies of target documentiddbtest
-[ 34%] Building CXX object autotests/unit/engine/CMakeFiles/documentiddbtest.dir/documentiddbtest.cpp.o
-[ 35%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/filemonitor.cpp.o
-[ 35%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/taglistjob.cpp.o
-[ 35%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/result.cpp.o
-[ 35%] Building CXX object autotests/integration/CMakeFiles/querytest.dir/querytest_autogen/mocs_compilation.cpp.o
-[ 35%] Building CXX object autotests/unit/engine/CMakeFiles/documenturldbtest.dir/singledbtest.cpp.o
-[ 36%] Linking CXX executable ../../bin/querytest
-[ 36%] Built target querytest
-Scanning dependencies of target positiondbtest
-[ 36%] Building CXX object autotests/unit/engine/CMakeFiles/positiondbtest.dir/positiondbtest.cpp.o
-[ 36%] Building CXX object autotests/unit/engine/CMakeFiles/idtreedbtest.dir/idtreedbtest_autogen/mocs_compilation.cpp.o
-[ 37%] Building CXX object autotests/unit/engine/CMakeFiles/documentiddbtest.dir/singledbtest.cpp.o
-[ 37%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/indexerconfig.cpp.o
-[ 38%] Building CXX object autotests/unit/engine/CMakeFiles/documenturldbtest.dir/documenturldbtest_autogen/mocs_compilation.cpp.o
-[ 39%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/file/fileindexerconfig.cpp.o
-[ 40%] Linking CXX executable ../../../bin/idtreedbtest
-[ 40%] Built target idtreedbtest
-Scanning dependencies of target idfilenamedbtest
-[ 40%] Building CXX object autotests/unit/engine/CMakeFiles/idfilenamedbtest.dir/idfilenamedbtest.cpp.o
-[ 40%] Building CXX object autotests/unit/engine/CMakeFiles/documentiddbtest.dir/documentiddbtest_autogen/mocs_compilation.cpp.o
-[ 40%] Building CXX object autotests/unit/engine/CMakeFiles/positiondbtest.dir/singledbtest.cpp.o
-[ 40%] Building CXX object autotests/integration/CMakeFiles/writetransactiontest.dir/writetransactiontest_autogen/mocs_compilation.cpp.o
-[ 40%] Linking CXX executable ../../bin/writetransactiontest
-[ 40%] Built target writetransactiontest
-[ 40%] Building CXX object autotests/unit/engine/CMakeFiles/positiondbtest.dir/positiondbtest_autogen/mocs_compilation.cpp.o
-[ 40%] Linking CXX executable ../../../bin/documenturldbtest
-[ 40%] Built target documenturldbtest
-Scanning dependencies of target postingdbtest
-[ 40%] Building CXX object autotests/unit/engine/CMakeFiles/postingdbtest.dir/postingdbtest.cpp.o
-[ 41%] Building CXX object autotests/unit/engine/CMakeFiles/postingdbtest.dir/singledbtest.cpp.o
-[ 41%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/file/storagedevices.cpp.o
-[ 41%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/file/regexpcache.cpp.o
-[ 41%] Linking CXX executable ../../../bin/documentiddbtest
-[ 42%] Linking CXX executable ../../../bin/positiondbtest
-[ 42%] Built target documentiddbtest
-Scanning dependencies of target mtimedbtest
-[ 42%] Built target positiondbtest
-[ 43%] Building CXX object autotests/unit/engine/CMakeFiles/mtimedbtest.dir/mtimedbtest.cpp.o
-Scanning dependencies of target documentdbtest
-[ 43%] Building CXX object autotests/unit/engine/CMakeFiles/documentdbtest.dir/documentdbtest.cpp.o
-[ 44%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/iohandler.cpp.o
-[ 44%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/idlestatemonitor.cpp.o
-[ 44%] Building CXX object autotests/unit/engine/CMakeFiles/postingdbtest.dir/postingdbtest_autogen/mocs_compilation.cpp.o
-[ 44%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/file/fileexcludefilters.cpp.o
-[ 44%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/priority.cpp.o
-[ 45%] Building CXX object autotests/unit/engine/CMakeFiles/idfilenamedbtest.dir/singledbtest.cpp.o
-[ 45%] Building CXX object autotests/unit/engine/CMakeFiles/idfilenamedbtest.dir/idfilenamedbtest_autogen/mocs_compilation.cpp.o
-[ 45%] Building CXX object autotests/unit/engine/CMakeFiles/documentdbtest.dir/singledbtest.cpp.o
-[ 45%] Building CXX object autotests/unit/engine/CMakeFiles/mtimedbtest.dir/singledbtest.cpp.o
-[ 45%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/basicindexingjob.cpp.o
-[ 46%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/file/baloodebug.cpp.o
-[ 46%] Linking CXX executable ../../../bin/postingdbtest
-[ 46%] Built target postingdbtest
-Scanning dependencies of target termgeneratortest
-[ 46%] Building CXX object autotests/unit/engine/CMakeFiles/termgeneratortest.dir/termgeneratortest.cpp.o
-[ 47%] Building CXX object autotests/unit/engine/CMakeFiles/termgeneratortest.dir/singledbtest.cpp.o
-[ 48%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/fileindexerconfig.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/basicindexingjob.cpp:25:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 49%] Building CXX object autotests/unit/engine/CMakeFiles/documentdbtest.dir/documentdbtest_autogen/mocs_compilation.cpp.o
-[ 49%] Linking CXX executable ../../../bin/idfilenamedbtest
-[ 49%] Building CXX object autotests/unit/engine/CMakeFiles/mtimedbtest.dir/mtimedbtest_autogen/mocs_compilation.cpp.o
-[ 49%] Built target idfilenamedbtest
-Scanning dependencies of target queryparsertest
-[ 50%] Building CXX object autotests/unit/engine/CMakeFiles/queryparsertest.dir/queryparsertest.cpp.o
-[ 50%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/searchstore.cpp.o
-[ 50%] Building CXX object autotests/unit/engine/CMakeFiles/termgeneratortest.dir/termgeneratortest_autogen/mocs_compilation.cpp.o
-[ 50%] Linking CXX executable ../../../bin/documentdbtest
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/lib/searchstore.cpp:34:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 50%] Linking CXX executable ../../../bin/mtimedbtest
-[ 50%] Built target documentdbtest
-Scanning dependencies of target documenttimedbtest
-[ 51%] Building CXX object autotests/unit/engine/CMakeFiles/documenttimedbtest.dir/documenttimedbtest.cpp.o
-[ 51%] Built target mtimedbtest
-Scanning dependencies of target andpostingiteratortest
-[ 51%] Building CXX object autotests/unit/engine/CMakeFiles/andpostingiteratortest.dir/andpostingiteratortest.cpp.o
-[ 51%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/storagedevices.cpp.o
-[ 51%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/regexpcache.cpp.o
-[ 51%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/fileexcludefilters.cpp.o
-[ 51%] Linking CXX executable ../../../bin/termgeneratortest
-[ 51%] Building CXX object autotests/unit/engine/CMakeFiles/documenttimedbtest.dir/singledbtest.cpp.o
-[ 51%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/__/dbus/maininterface.cpp.o
-[ 51%] Built target termgeneratortest
-Scanning dependencies of target transactiontest
-[ 51%] Building CXX object autotests/unit/engine/CMakeFiles/transactiontest.dir/transactiontest.cpp.o
-[ 52%] Building CXX object autotests/unit/engine/CMakeFiles/andpostingiteratortest.dir/singledbtest.cpp.o
-[ 52%] Building CXX object autotests/unit/engine/CMakeFiles/queryparsertest.dir/singledbtest.cpp.o
-[ 53%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/__/baloodebug.cpp.o
-[ 53%] Building CXX object src/file/extractor/CMakeFiles/baloo_file_extractor.dir/baloo_file_extractor_autogen/mocs_compilation.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/queryparsertest.dir/queryparsertest_autogen/mocs_compilation.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/unit/engine/transactiontest.cpp:23:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/andpostingiteratortest.dir/andpostingiteratortest_autogen/mocs_compilation.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/transactiontest.dir/singledbtest.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/documenttimedbtest.dir/documenttimedbtest_autogen/mocs_compilation.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/transactiontest.dir/transactiontest_autogen/mocs_compilation.cpp.o
-[ 53%] Linking CXX executable ../../../bin/baloo_file_extractor
-[ 53%] Linking CXX executable ../../../bin/queryparsertest
-[ 53%] Built target queryparsertest
-Scanning dependencies of target orpostingiteratortest
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/orpostingiteratortest.dir/orpostingiteratortest.cpp.o
-[ 53%] Building CXX object src/lib/CMakeFiles/KF5Baloo.dir/KF5Baloo_autogen/mocs_compilation.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/orpostingiteratortest.dir/singledbtest.cpp.o
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/orpostingiteratortest.dir/orpostingiteratortest_autogen/mocs_compilation.cpp.o
-[ 53%] Linking CXX executable ../../../bin/andpostingiteratortest
-[ 53%] Built target baloo_file_extractor
-Scanning dependencies of target phraseanditeratortest
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/phraseanditeratortest.dir/phraseanditeratortest.cpp.o
-[ 53%] Built target andpostingiteratortest
-Scanning dependencies of target documentdatadbtest
-[ 53%] Building CXX object autotests/unit/engine/CMakeFiles/documentdatadbtest.dir/documentdatadbtest.cpp.o
-[ 54%] Linking CXX executable ../../../bin/documenttimedbtest
-[ 55%] Linking CXX executable ../../../bin/transactiontest
-[ 55%] Built target documenttimedbtest
-Scanning dependencies of target baloofilecommon
-[ 55%] Built target transactiontest
-[ 55%] Building CXX object autotests/unit/engine/CMakeFiles/documentdatadbtest.dir/singledbtest.cpp.o
-[ 55%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/mainhub.cpp.o
-[ 55%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/mainadaptor.cpp.o
-[ 56%] Linking CXX shared library ../../bin/libKF5Baloo.so
-[ 57%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/fileindexerconfig.cpp.o
-[ 57%] Built target KF5Baloo
-Scanning dependencies of target balooplugin_autogen
-[ 57%] Automatic MOC for target balooplugin
-Generating MOC predefs moc_predefs.h
-Generating MOC source EWIEGA46WW/moc_balooplugin.cpp
-Generating MOC source EWIEGA46WW/moc_queryresultsmodel.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 57%] Built target balooplugin_autogen
-Scanning dependencies of target baloomonitorplugin_autogen
-[ 57%] Automatic MOC for target baloomonitorplugin
-Generating MOC predefs moc_predefs.h
-[ 58%] Linking CXX executable ../../../bin/orpostingiteratortest
-[ 58%] Building CXX object autotests/unit/engine/CMakeFiles/documentdatadbtest.dir/documentdatadbtest_autogen/mocs_compilation.cpp.o
-Generating MOC source EWIEGA46WW/moc_baloomonitorplugin.cpp
-Generating MOC source EWIEGA46WW/moc_monitor.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 58%] Built target baloomonitorplugin_autogen
-Scanning dependencies of target timeline_autogen
-[ 59%] Automatic MOC for target timeline
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-[ 59%] Built target timeline_autogen
-Scanning dependencies of target tags_autogen
-[ 59%] Automatic MOC for target tags
-[ 59%] Built target orpostingiteratortest
-Generating MOC predefs moc_predefs.h
-Scanning dependencies of target kio_baloosearch_autogen
-[ 59%] Automatic MOC for target kio_baloosearch
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-[ 59%] Built target kio_baloosearch_autogen
-[ 59%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/basicindexingjob.cpp.o
-[ 59%] Building CXX object autotests/unit/engine/CMakeFiles/phraseanditeratortest.dir/singledbtest.cpp.o
-Generating MOC source EWIEGA46WW/moc_kio_tags.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 59%] Built target tags_autogen
-Scanning dependencies of target baloosearch_autogen
-[ 59%] Automatic MOC for target baloosearch
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-[ 59%] Built target baloosearch_autogen
-Scanning dependencies of target balooshow_autogen
-[ 59%] Automatic MOC for target balooshow
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-[ 59%] Built target balooshow_autogen
-Scanning dependencies of target filefetchjobtest_autogen
-Scanning dependencies of target filemonitortest_autogen
-[ 60%] Automatic MOC for target filefetchjobtest
-[ 60%] Automatic MOC for target filemonitortest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/filemonitortest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 60%] Built target filemonitortest_autogen
-Scanning dependencies of target queryserializationtest_autogen
-[ 60%] Automatic MOC for target queryserializationtest
-Generating MOC predefs moc_predefs.h
-[ 60%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/powerstatemonitor.cpp.o
-Generating MOC source include/filefetchjobtest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 60%] Built target filefetchjobtest_autogen
-Scanning dependencies of target balooplugin
-[ 61%] Building CXX object src/qml/CMakeFiles/balooplugin.dir/balooplugin.cpp.o
-[ 61%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/fileindexscheduler.cpp.o
-Generating MOC source include/queryserializationtest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 61%] Built target queryserializationtest_autogen
-Scanning dependencies of target baloomonitorplugin
-[ 61%] Building CXX object src/qml/experimental/CMakeFiles/baloomonitorplugin.dir/baloomonitorplugin.cpp.o
-[ 62%] Linking CXX executable ../../../bin/documentdatadbtest
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/basicindexingjob.cpp:25:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 62%] Built target documentdatadbtest
-Scanning dependencies of target timeline
-[ 63%] Building CXX object src/kioslaves/timeline/CMakeFiles/timeline.dir/kio_timeline.cpp.o
-[ 64%] Building CXX object autotests/unit/engine/CMakeFiles/phraseanditeratortest.dir/phraseanditeratortest_autogen/mocs_compilation.cpp.o
-[ 65%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/firstrunindexer.cpp.o
-[ 65%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/newfileindexer.cpp.o
-[ 65%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/xattrindexer.cpp.o
-[ 65%] Linking CXX executable ../../../bin/phraseanditeratortest
-[ 65%] Built target phraseanditeratortest
-Scanning dependencies of target tags
-[ 65%] Building CXX object src/kioslaves/tags/CMakeFiles/tags.dir/kio_tags.cpp.o
-[ 65%] Building CXX object src/qml/CMakeFiles/balooplugin.dir/queryresultsmodel.cpp.o
-[ 65%] Building CXX object src/kioslaves/timeline/CMakeFiles/timeline.dir/timelinetools.cpp.o
-[ 66%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/modifiedfileindexer.cpp.o
-[ 66%] Building CXX object src/qml/experimental/CMakeFiles/baloomonitorplugin.dir/monitor.cpp.o
-[ 66%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/unindexedfileindexer.cpp.o
-[ 66%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/filecontentindexer.cpp.o
-[ 66%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/filecontentindexerprovider.cpp.o
-[ 66%] Building CXX object src/qml/CMakeFiles/balooplugin.dir/balooplugin_autogen/mocs_compilation.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/modifiedfileindexer.cpp:23:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 66%] Building CXX object src/kioslaves/tags/CMakeFiles/tags.dir/tags_autogen/mocs_compilation.cpp.o
-[ 67%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/extractorprocess.cpp.o
-[ 67%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/timeestimator.cpp.o
-[ 67%] Building CXX object src/kioslaves/timeline/CMakeFiles/timeline.dir/timeline_autogen/mocs_compilation.cpp.o
-[ 67%] Linking CXX shared module ../../../bin/timeline.so
-[ 68%] Linking CXX shared library ../../bin/libbalooplugin.so
-[ 68%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/indexcleaner.cpp.o
-[ 68%] Built target timeline
-Scanning dependencies of target kio_baloosearch
-[ 68%] Building CXX object src/kioslaves/search/CMakeFiles/kio_baloosearch.dir/kio_search.cpp.o
-[ 68%] Built target balooplugin
-Scanning dependencies of target baloosearch
-[ 68%] Building CXX object src/tools/baloosearch/CMakeFiles/baloosearch.dir/main.cpp.o
-[ 69%] Linking CXX shared module ../../../bin/tags.so
-[ 69%] Building CXX object src/tools/baloosearch/CMakeFiles/baloosearch.dir/baloosearch_autogen/mocs_compilation.cpp.o
-[ 70%] Building CXX object src/qml/experimental/CMakeFiles/baloomonitorplugin.dir/__/__/dbus/schedulerinterface.cpp.o
-[ 70%] Building CXX object src/qml/experimental/CMakeFiles/baloomonitorplugin.dir/__/__/dbus/fileindexerinterface.cpp.o
-[ 70%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/priority.cpp.o
-[ 70%] Built target tags
-Scanning dependencies of target balooshow
-[ 70%] Building CXX object src/tools/balooshow/CMakeFiles/balooshow.dir/main.cpp.o
-[ 71%] Building CXX object src/tools/balooshow/CMakeFiles/balooshow.dir/balooshow_autogen/mocs_compilation.cpp.o
-[ 72%] Building CXX object src/kioslaves/search/CMakeFiles/kio_baloosearch.dir/kio_baloosearch_autogen/mocs_compilation.cpp.o
-[ 73%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/regexpcache.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/indexcleaner.cpp:25:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 73%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/fileexcludefilters.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/tools/balooshow/main.cpp:38:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 73%] Linking CXX shared module ../../../bin/baloosearch.so
-[ 74%] Linking CXX executable ../../../bin/baloosearch
-[ 74%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/storagedevices.cpp.o
-[ 74%] Built target kio_baloosearch
-Scanning dependencies of target filefetchjobtest
-[ 74%] Building CXX object autotests/unit/lib/CMakeFiles/filefetchjobtest.dir/filefetchjobtest.cpp.o
-[ 74%] Built target baloosearch
-[ 74%] Building CXX object autotests/unit/lib/CMakeFiles/filefetchjobtest.dir/filefetchjobtest_autogen/mocs_compilation.cpp.o
-Scanning dependencies of target filemonitortest
-[ 74%] Building CXX object autotests/unit/lib/CMakeFiles/filemonitortest.dir/filemonitortest.cpp.o
-[ 74%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/filtereddiriterator.cpp.o
-[ 75%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/unindexedfileiterator.cpp.o
-[ 75%] Building CXX object src/qml/experimental/CMakeFiles/baloomonitorplugin.dir/baloomonitorplugin_autogen/mocs_compilation.cpp.o
-[ 75%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/migrator.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/unit/lib/filefetchjobtest.cpp:25:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 75%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/baloodebug.cpp.o
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/unindexedfileiterator.cpp:23:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 75%] Linking CXX executable ../../../bin/balooshow
-[ 75%] Built target balooshow
-Scanning dependencies of target queryserializationtest
-[ 75%] Building CXX object autotests/unit/lib/CMakeFiles/queryserializationtest.dir/queryserializationtest.cpp.o
-[ 76%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/fileinfo.cpp.o
-[ 76%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/filewatch.cpp.o
-[ 76%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/pendingfilequeue.cpp.o
-[ 76%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/metadatamover.cpp.o
-[ 77%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/pendingfile.cpp.o
-[ 77%] Building CXX object autotests/unit/lib/CMakeFiles/filemonitortest.dir/filemonitortest_autogen/mocs_compilation.cpp.o
-[ 78%] Linking CXX executable ../../../bin/filemonitortest
-[ 78%] Linking CXX shared library ../../../bin/libbaloomonitorplugin.so
-[ 78%] Built target filemonitortest
-[ 78%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/kinotify.cpp.o
-[ 78%] Built target baloomonitorplugin
-[ 78%] Building CXX object src/file/CMakeFiles/baloofilecommon.dir/baloofilecommon_autogen/mocs_compilation.cpp.o
-[ 78%] Linking CXX executable ../../../bin/filefetchjobtest
-[ 78%] Built target filefetchjobtest
-[ 78%] Building CXX object autotests/unit/lib/CMakeFiles/queryserializationtest.dir/queryserializationtest_autogen/mocs_compilation.cpp.o
-[ 79%] Linking CXX executable ../../../bin/queryserializationtest
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/file/metadatamover.cpp:24:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 79%] Built target queryserializationtest
-[ 79%] Linking CXX static library ../../lib/libbaloofilecommon.a
-[ 79%] Built target baloofilecommon
-Scanning dependencies of target balooctl_autogen
-Scanning dependencies of target baloo_file_autogen
-Scanning dependencies of target unindexedfileiteratorbenchmark_autogen
-Scanning dependencies of target basicindexingtest_autogen
-Scanning dependencies of target filtereddiriteratorbenchmark_autogen
-Scanning dependencies of target indexerconfigtest_autogen
-Scanning dependencies of target inotifytest_autogen
-Scanning dependencies of target storagedevicestest_autogen
-[ 79%] Automatic MOC for target baloo_file
-[ 79%] Automatic MOC for target unindexedfileiteratorbenchmark
-[ 79%] Automatic MOC for target filtereddiriteratorbenchmark
-[ 79%] Automatic MOC for target indexerconfigtest
-[ 79%] Automatic MOC for target basicindexingtest
-[ 79%] Automatic MOC for target balooctl
-[ 79%] Automatic MOC for target inotifytest
-[ 79%] Automatic MOC for target storagedevicestest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC predefs moc_predefs.h
-[ 79%] Built target unindexedfileiteratorbenchmark_autogen
-[ 79%] Built target indexerconfigtest_autogen
-[ 79%] Built target inotifytest_autogen
-[ 79%] Built target basicindexingtest_autogen
-[ 79%] Built target filtereddiriteratorbenchmark_autogen
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 79%] Built target storagedevicestest_autogen
-[ 79%] Built target baloo_file_autogen
-Scanning dependencies of target unindexedfileiteratortest_autogen
-Scanning dependencies of target kinotifytest_autogen
-Scanning dependencies of target fileindexerconfigtest_autogen
-Scanning dependencies of target basicindexingjobtest_autogen
-Scanning dependencies of target regularexpcachebenchmark_autogen
-Scanning dependencies of target filtereddiriteratortest_autogen
-[ 80%] Automatic MOC for target fileindexerconfigtest
-Scanning dependencies of target metadatamovertest_autogen
-[ 80%] Automatic MOC for target basicindexingjobtest
-[ 80%] Automatic MOC for target unindexedfileiteratortest
-[ 80%] Automatic MOC for target kinotifytest
-[ 80%] Automatic MOC for target regularexpcachebenchmark
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-[ 80%] Automatic MOC for target filtereddiriteratortest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-[ 80%] Automatic MOC for target metadatamovertest
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC predefs moc_predefs.h
-Generating MOC source EWIEGA46WW/moc_monitorcommand.cpp
-Generating MOC compilation mocs_compilation.cpp
-[ 80%] Built target balooctl_autogen
-Scanning dependencies of target fileinfotest_autogen
-Generating MOC source include/fileindexerconfigtest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 80%] Built target fileindexerconfigtest_autogen
-[ 81%] Automatic MOC for target fileinfotest
-Generating MOC source include/unindexedfileiteratortest.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC predefs moc_predefs.h
-[ 81%] Built target unindexedfileiteratortest_autogen
-Generating MOC source include/regularexpcachebenchmark.moc
-Generating MOC compilation mocs_compilation.cpp
-Scanning dependencies of target pendingfilequeuetest_autogen
-[ 81%] Built target regularexpcachebenchmark_autogen
-Scanning dependencies of target filewatchtest_autogen
-Generating MOC source include/basicindexingjobtest.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC source include/filtereddiriteratortest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 81%] Automatic MOC for target pendingfilequeuetest
-[ 81%] Automatic MOC for target filewatchtest
-Scanning dependencies of target baloo_file
-[ 81%] Built target basicindexingjobtest_autogen
-[ 81%] Built target filtereddiriteratortest_autogen
-Generating MOC predefs moc_predefs.h
-Generating MOC source include/kinotifytest.moc
-Generating MOC compilation mocs_compilation.cpp
-Scanning dependencies of target balooctl
-Generating MOC source include/metadatamovertest.moc
-Generating MOC compilation mocs_compilation.cpp
-Generating MOC predefs moc_predefs.h
-Scanning dependencies of target basicindexingtest
-[ 81%] Built target kinotifytest_autogen
-[ 81%] Built target metadatamovertest_autogen
-Scanning dependencies of target unindexedfileiteratorbenchmark
-[ 82%] Building CXX object src/file/CMakeFiles/baloo_file.dir/main.cpp.o
-Scanning dependencies of target filtereddiriteratorbenchmark
-[ 83%] Building CXX object tests/benchmarks/CMakeFiles/unindexedfileiteratorbenchmark.dir/unindexedfileiteratortest.cpp.o
-[ 84%] Building CXX object tests/engine/CMakeFiles/basicindexingtest.dir/basicindexingtest.cpp.o
-[ 84%] Building CXX object tests/file/CMakeFiles/filtereddiriteratorbenchmark.dir/filtereddiriteratorbenchmark.cpp.o
-Generating MOC source include/pendingfilequeuetest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 84%] Built target pendingfilequeuetest_autogen
-[ 85%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/main.cpp.o
-[ 85%] Building CXX object tests/engine/CMakeFiles/basicindexingtest.dir/basicindexingtest_autogen/mocs_compilation.cpp.o
-Generating MOC source include/filewatchtest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 85%] Built target filewatchtest_autogen
-Generating MOC source include/fileinfotest.moc
-Generating MOC compilation mocs_compilation.cpp
-[ 85%] Built target fileinfotest_autogen
-Scanning dependencies of target indexerconfigtest
-Scanning dependencies of target storagedevicestest
-[ 85%] Building CXX object src/file/CMakeFiles/baloo_file.dir/baloo_file_autogen/mocs_compilation.cpp.o
-[ 85%] Building CXX object tests/file/CMakeFiles/storagedevicestest.dir/storagedevicestest.cpp.o
-[ 85%] Building CXX object tests/file/CMakeFiles/indexerconfigtest.dir/indexerconfigtest.cpp.o
-[ 85%] Building CXX object tests/benchmarks/CMakeFiles/unindexedfileiteratorbenchmark.dir/unindexedfileiteratorbenchmark_autogen/mocs_compilation.cpp.o
-[ 85%] Building CXX object tests/file/CMakeFiles/indexerconfigtest.dir/indexerconfigtest_autogen/mocs_compilation.cpp.o
-[ 85%] Building CXX object tests/file/CMakeFiles/storagedevicestest.dir/storagedevicestest_autogen/mocs_compilation.cpp.o
-Scanning dependencies of target inotifytest
-[ 85%] Building CXX object tests/file/CMakeFiles/inotifytest.dir/inotify.cpp.o
-[ 85%] Linking CXX executable ../../bin/baloo_file
-[ 86%] Linking CXX executable ../../bin/indexerconfigtest
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/tools/balooctl/main.cpp:48:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 87%] Linking CXX executable ../../bin/storagedevicestest
-[ 87%] Linking CXX executable ../../bin/unindexedfileiteratorbenchmark
-[ 88%] Building CXX object tests/file/CMakeFiles/filtereddiriteratorbenchmark.dir/filtereddiriteratorbenchmark_autogen/mocs_compilation.cpp.o
-[ 88%] Linking CXX executable ../../bin/filtereddiriteratorbenchmark
-[ 88%] Built target baloo_file
-Scanning dependencies of target basicindexingjobtest
-[ 89%] Building CXX object autotests/unit/file/CMakeFiles/basicindexingjobtest.dir/basicindexingjobtest.cpp.o
-[ 89%] Built target storagedevicestest
-Scanning dependencies of target unindexedfileiteratortest
-[ 89%] Built target indexerconfigtest
-Scanning dependencies of target fileindexerconfigtest
-[ 90%] Building CXX object autotests/unit/file/CMakeFiles/unindexedfileiteratortest.dir/unindexedfileiteratortest.cpp.o
-[ 90%] Building CXX object autotests/unit/file/CMakeFiles/fileindexerconfigtest.dir/fileindexerconfigtest.cpp.o
-[ 90%] Linking CXX executable ../../bin/basicindexingtest
-[ 90%] Building CXX object tests/file/CMakeFiles/inotifytest.dir/inotifytest_autogen/mocs_compilation.cpp.o
-[ 91%] Linking CXX executable ../../bin/inotifytest
-[ 91%] Built target unindexedfileiteratorbenchmark
-Scanning dependencies of target metadatamovertest
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/metadatamovertest.dir/metadatamovertest.cpp.o
-[ 91%] Built target basicindexingtest
-Scanning dependencies of target kinotifytest
-[ 91%] Built target filtereddiriteratorbenchmark
-Scanning dependencies of target regularexpcachebenchmark
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/kinotifytest.dir/kinotifytest.cpp.o
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/regularexpcachebenchmark.dir/regularexpcachebenchmark.cpp.o
-[ 91%] Built target inotifytest
-Scanning dependencies of target filtereddiriteratortest
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/filtereddiriteratortest.dir/filtereddiriteratortest.cpp.o
-[ 91%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/indexer.cpp.o
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/basicindexingjobtest.dir/basicindexingjobtest_autogen/mocs_compilation.cpp.o
-[ 91%] Linking CXX executable ../../../bin/basicindexingjobtest
-[ 91%] Built target basicindexingjobtest
-Scanning dependencies of target fileinfotest
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/fileinfotest.dir/fileinfotest.cpp.o
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/regularexpcachebenchmark.dir/regularexpcachebenchmark_autogen/mocs_compilation.cpp.o
-[ 91%] Building CXX object autotests/unit/file/CMakeFiles/unindexedfileiteratortest.dir/unindexedfileiteratortest_autogen/mocs_compilation.cpp.o
-[ 92%] Linking CXX executable ../../../bin/regularexpcachebenchmark
-[ 92%] Linking CXX executable ../../../bin/unindexedfileiteratortest
-[ 92%] Built target regularexpcachebenchmark
-[ 92%] Built target unindexedfileiteratortest
-Scanning dependencies of target pendingfilequeuetest
-Scanning dependencies of target filewatchtest
-[ 92%] Building CXX object autotests/unit/file/CMakeFiles/pendingfilequeuetest.dir/pendingfilequeuetest.cpp.o
-[ 92%] Building CXX object autotests/unit/file/CMakeFiles/filewatchtest.dir/filewatchtest.cpp.o
-[ 92%] Building CXX object autotests/unit/file/CMakeFiles/fileindexerconfigtest.dir/fileindexerconfigtest_autogen/mocs_compilation.cpp.o
-[ 92%] Linking CXX executable ../../../bin/fileindexerconfigtest
-[ 93%] Building CXX object autotests/unit/file/CMakeFiles/metadatamovertest.dir/metadatamovertest_autogen/mocs_compilation.cpp.o
-[ 94%] Building CXX object autotests/unit/file/CMakeFiles/filtereddiriteratortest.dir/filtereddiriteratortest_autogen/mocs_compilation.cpp.o
-[ 94%] Linking CXX executable ../../../bin/metadatamovertest
-[ 94%] Linking CXX executable ../../../bin/filtereddiriteratortest
-[ 94%] Built target fileindexerconfigtest
-[ 94%] Building CXX object autotests/unit/file/CMakeFiles/filewatchtest.dir/__/lib/xattrdetector.cpp.o
-[ 94%] Building CXX object autotests/unit/file/CMakeFiles/fileinfotest.dir/fileinfotest_autogen/mocs_compilation.cpp.o
-[ 94%] Linking CXX executable ../../../bin/fileinfotest
-[ 94%] Built target fileinfotest
-[ 95%] Building CXX object autotests/unit/file/CMakeFiles/filewatchtest.dir/filewatchtest_autogen/mocs_compilation.cpp.o
-[ 95%] Building CXX object autotests/unit/file/CMakeFiles/pendingfilequeuetest.dir/pendingfilequeuetest_autogen/mocs_compilation.cpp.o
-[ 95%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/command.cpp.o
-[ 95%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/configcommand.cpp.o
-[ 95%] Built target filtereddiriteratortest
-[ 96%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/statuscommand.cpp.o
-[ 96%] Built target metadatamovertest
-[ 96%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/monitorcommand.cpp.o
-[ 97%] Building CXX object autotests/unit/file/CMakeFiles/kinotifytest.dir/kinotifytest_autogen/mocs_compilation.cpp.o
-[ 97%] Linking CXX executable ../../../bin/kinotifytest
-[ 98%] Linking CXX executable ../../../bin/pendingfilequeuetest
-[ 98%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/__/__/file/extractor/result.cpp.o
-[ 98%] Built target kinotifytest
-[ 99%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/__/__/dbus/maininterface.cpp.o
-[ 99%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/__/__/dbus/schedulerinterface.cpp.o
-[ 99%] Built target pendingfilequeuetest
-[ 99%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/__/__/dbus/fileindexerinterface.cpp.o
-[ 99%] Linking CXX executable ../../../bin/filewatchtest
-In file included from /usr/src/packages/user/baloo/src/baloo-5.38.0/src/tools/balooctl/statuscommand.cpp:27:0:
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h: In function 'quint64 Baloo::devIdAndInodeToId(quint32, quint32)':
-/usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/idutils.h:41:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
- return *(reinterpret_cast<quint64*>(arr));
- ^
-[ 99%] Built target filewatchtest
-[ 99%] Building CXX object src/tools/balooctl/CMakeFiles/balooctl.dir/balooctl_autogen/mocs_compilation.cpp.o
-[100%] Linking CXX executable ../../../bin/balooctl
-[100%] Built target balooctl
->>> baloo: Entering fakeroot...
-]0;abuild: balooTest project /usr/src/packages/user/baloo/src/baloo-5.38.0
- Start 1: extractorIOTest
- 1/38 Test #1: extractorIOTest .................. Passed 0.00 sec
- Start 2: databasebenchmark
- 2/38 Test #2: databasebenchmark ................ Passed 0.00 sec
- Start 3: positioncodecbenchmark
- 3/38 Test #3: positioncodecbenchmark ........... Passed 1.27 sec
- Start 4: querytest
- 4/38 Test #4: querytest ........................***Exception: Other 0.69 sec
-********* Start testing of QueryTest *********
-Config: Using QtTest library 5.9.1, Qt 5.9.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 6.4.0)
-PASS : QueryTest::initTestCase()
-PASS : QueryTest::testTermEqual()
-
-========= Received signal, dumping stack ==============
-GNU gdb (GDB) 7.12.1
-Copyright (C) 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law. Type "show copying"
-and "show warranty" for details.
-This GDB was configured as "x86_64-foxkit-linux-musl".
-Type "show configuration" for configuration details.
-For bug reporting instructions, please see:
-<http://bugs.alpinelinux.org/>.
-Find the GDB manual and other documentation resources online at:
-<http://www.gnu.org/software/gdb/documentation/>.
-For help, type "help".
-Type "apropos word" to search for commands related to "word".
-Attaching to process 5478
-[New LWP 5479]
-__cp_end () at src/thread/x86_64/syscall_cp.s:29
-(gdb)
-Thread 2 (LWP 5479):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007f66d5b389f1 in __syscall_cp_c (nr=202, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007f66d5b37bdf in __timedwait_cp (addr=addr@entry=0x7f66d5d728d4,
- val=val@entry=2, clk=clk@entry=1, at=at@entry=0x7f66d5d72930, priv=128,
- priv@entry=1) at src/thread/__timedwait.c:31
- r = <optimized out>
- to = {tv_sec = 299, tv_nsec = 999999666}
- top = <optimized out>
-#3 0x00007f66d5b38e32 in __pthread_cond_timedwait (c=0x7f66d3f344a8,
- m=0x7f66d3f34480, ts=0x7f66d5d72930)
- at src/thread/pthread_cond_timedwait.c:105
- node = {prev = 0x0, next = 0x0, state = 0, barrier = 2, notify = 0x0}
- e = <optimized out>
- seq = 2
- clock = <optimized out>
- cs = 0
- shared = 0
- oldstate = <optimized out>
- tmp = <optimized out>
- fut = 0x7f66d5d728d4
-#4 0x00007f66d4df4f16 in QWaitCondition::wait(QMutex*, unsigned long) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#5 0x00007f66d56a3032 in QTest::WatchDog::run (this=0x7f66d568b500)
- at qtestcase.cpp:990
- locker = {val = 140079643800857}
-#6 0x00007f66d4df4058 in QThreadPrivate::start(void*) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#7 0x00007f66d5b397a0 in start (p=0x7f66d5d72ae8)
- at src/thread/pthread_create.c:145
- self = 0x7f66d5d72ae8
-#8 0x00007f66d5b45e04 in __clone () at src/thread/x86_64/clone.s:21
-No locals.
-Backtrace stopped: frame did not save the PC
-
-Thread 1 (LWP 5478):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007f66d5b389f1 in __syscall_cp_c (nr=61, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007f66d5b1eb06 in waitpid (pid=<optimized out>,
- status=status@entry=0x7f66d58c736c <QTest::FatalSignalHandler::FatalSignalHandler()::alternate_stack+13164>, options=options@entry=0)
- at src/process/waitpid.c:7
-No locals.
-#3 0x00007f66d5b1e9ea in system (
- cmd=0x7f66d58c7800 <QTest::FatalSignalHandler::FatalSignalHandler()::alternate_stack+14336> "gdb --pid 5478 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n") at src/process/system.c:40
- pid = 5480
- old = {__bits = {21711, 7719224956813516832, 4209586178373323330,
- 3688764892143165449, 140079646143520, 140079648458255,
- 739271074867519520, 4294967297, 18446744073709551614, 64,
- 3539864629463222586, 7878495878512652338, 2314885432472784208, 0,
- 8, 140079646144056}}
- reset = {__bits = {6, 44, 5, 140079634797405, 4, 0, 32, 0, 0, 32, 1,
- 140079651061376, 140079651048056, 1, 140079646144288,
- 140079651048064}}
- sa = {__sa_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
- sa_mask = {__bits = {65536, 0 <repeats 15 times>}}, sa_flags = 0,
- sa_restorer = 0x0}
- oldint = {__sa_handler = {
- sa_handler = 0x7f66d5699a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7f66d5699a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 0, 140079651061400, 140079646143920,
- 140079648459259, 140079651048128, 1, 101, 160, 140079646143984,
- 104, 94651405916256, 63, 0, 140079651061400, 8}},
- sa_flags = -1946157056, sa_restorer = 0x66}
- oldquit = {__sa_handler = {
- sa_handler = 0x7f66d5699a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7f66d5699a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 101, 140079651061400, 101,
- 140079646144232, 140079646144080, 140079648455426,
- 94651405916400, 33636187584, 64424509439, 101, 1,
- 94651405916240, 94651405916400, 140725177193184,
- 140079646144192}}, sa_flags = -1946157056, sa_restorer = 0xb}
- status = 32512
- ret = 0
- attr = {__flags = 12, __pgrp = 0, __def = {__bits = {6, 44, 5,
- 140079634797405, 4, 0, 32, 0, 0, 32, 1, 140079651061376,
- 140079651048056, 1, 140079646144288, 140079651048064}},
- __mask = {__bits = {21711, 7719224956813516832, 4209586178373323330,
- 3688764892143165449, 140079646143520, 140079648458255,
- 739271074867519520, 4294967297, 18446744073709551614, 64,
- 3539864629463222586, 7878495878512652338, 2314885432472784208,
- 0, 8, 140079646144056}}, __prio = 0, __pol = 0, __pad = {
- 0 <repeats 16 times>}}
-#4 0x00007f66d56999ac in stackTrace () at qtestcase.cpp:222
- cmd = "gdb --pid 5478 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n", '\000' <repeats 291 times>...
-#5 0x00007f66d5699a65 in stackTrace () at qtestcase.cpp:237
- ok = false
- disableStackDump = <optimized out>
-#6 0x00007f66d5699b05 in QTest::FatalSignalHandler::signal (signum=11)
- at qtestcase.cpp:1417
-No locals.
-#7 <signal handler called>
-No locals.
-#8 0x00007f66d547e2df in mdb_cursor_open (txn=0x8b4960b5aaff1e44, dbi=2,
- ret=ret@entry=0x7ffd22329150) at mdb.c:7597
-No locals.
-#9 0x00007f66d5463821 in Baloo::PostingDB::iter<Baloo::PostingDB::prefixIter(const QByteArray&)::<lambda(const QByteArray&)> > (this=0xc, this=0xc,
- prefix=..., validate=...)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/postingdb.cpp:211
- key = {mv_size = 3, mv_data = 0x7f66d1c72fd8}
- cursor = 0x0
- termIterators = {d = 0x30}
- val = {mv_size = 140725177192912,
- mv_data = 0x7f66d5afbb02 <alloc_fwd+450>}
- rc = <optimized out>
-#10 Baloo::PostingDB::prefixIter (this=this@entry=0x7ffd22329220, prefix=...)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/postingdb.cpp:246
-No locals.
-#11 0x00007f66d546a482 in Baloo::Transaction::postingIterator (
- this=0x7ffd22329300, query=...)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/transaction.cpp:296
- postingDb = {m_txn = 0x8b4960b5aaff1e44, m_dbi = 2}
- positionDb = {m_txn = 0x8b4960b5aaff1e44, m_dbi = 3}
- vec = {d = 0x1d}
-#12 0x00007f66d546a4fa in Baloo::Transaction::exec (this=<optimized out>,
- query=..., limit=-1)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/transaction.cpp:361
- results = {d = 0x7f66d5081020 <QArrayData::shared_null>}
- it = <optimized out>
-#13 0x00005615bf0fc4b5 in QueryTest::testTermStartsWith (this=0x7ffd22329e40)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/querytest.cpp:123
- q = {m_term = {d = 0x7f66d1c72fc0}, m_pos = 0,
- m_op = Baloo::EngineQuery::StartsWith, m_subQueries = {
- d = 0x7f66d5081020 <QArrayData::shared_null>}}
- result = {d = 0x5615bf303fa0}
- tr = {m_dbis = @0x7f66d1c72f78, m_txn = 0x8b4960b5aaff1e44,
- m_env = 0x5615bf303e80, m_writeTrans = 0x0}
-#14 0x00005615bf0fe6c5 in QueryTest::qt_static_metacall (_o=0x7ffd22329e40,
- _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/querytest_autogen/include/querytest.moc:93
- _t = 0x7ffd22329e40
-#15 0x00007f66d4fe6536 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#16 0x00007f66d56a1158 in QMetaMethod::invoke (val9=..., val8=..., val7=...,
- val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=...,
- connectionType=Qt::DirectConnection, object=<optimized out>,
- this=<optimized out>)
- at ../../include/QtCore/../../src/corelib/kernel/qmetaobject.h:123
-No locals.
-#17 QTest::TestMethods::invokeTestOnData (this=this@entry=0x7ffd22329d70,
- index=index@entry=1) at qtestcase.cpp:890
- invokeOk = <optimized out>
- isBenchmark = <optimized out>
- i = -1
- results = {d = 0x7f66d5081020 <QArrayData::shared_null>}
- minimumTotalReached = <optimized out>
-#18 0x00007f66d56a1b90 in QTest::TestMethods::invokeTest (
- this=this@entry=0x7ffd22329d70, index=index@entry=1, data=data@entry=0x0,
- watchDog=watchDog@entry=0x7f66d568b500) at qtestcase.cpp:1071
- curDataIndex = 0
- dataCount = 0
- foundFunction = true
- benchmarkData = {static current = 0x7ffd223299b0, result = {context = {
- slotName = {static null = {<No data fields>},
- d = 0x7f66d5081020 <QArrayData::shared_null>}, tag = {
- static null = {<No data fields>},
- d = 0x7f66d5081020 <QArrayData::shared_null>},
- checkpointIndex = -1}, value = -1, iterations = -1,
- metric = QTest::FramesPerSecond, setByMacro = true,
- valid = false}, resultAccepted = false, runOnce = false,
- iterationCount = 1}
- name = @0x7ffd22329998: {
- d = 0x5615bf101478 <qt_meta_stringdata_QueryTest+120>}
- member = "testTermStartsWith_data()\000k\325f\177\000\000\000\000\000\000\000\000\000\000]S\337\324f\177\000\000 hk\325f\177\000\000\030\233\062\"\375\177\000\000\a\000\000\000\000\000\000\000\224\315\337\324f\177\000\000`\232\062\"\375\177\000\000\235\071\257\325f\177\000\000\300\233\062\"\375\177\000\000К2\"\375\177\000\000@\233\062\"\375\177\000\000\366\232\263\325f\177\000\000 +\327\325f\177\000\000\016\232\263\325f\177\000\000H\024\020\277\025V\000\000\000,\327\325f\177\000\000\000\340\325\325f\177\000\000\361\211\263\325f\177\000\000Pk\327\325f\177\000\000\000\000\000\000\000\000\000\000\002", '\000' <repeats 15 times>...
- table = {d = 0x7f66d1c72d60}
- gTable = <optimized out>
- curGlobalDataIndex = <optimized out>
-#19 0x00007f66d56a21e1 in QTest::TestMethods::invokeTests (
- this=this@entry=0x7ffd22329d70, testObject=testObject@entry=0x7ffd22329e40)
- at qtestcase.cpp:1378
- data = 0x0
- ok = <optimized out>
- i = 1
- count = 5
- previousFailed = <optimized out>
- metaObject = <optimized out>
- watchDog = {d = 0x7f66d568b500}
-#20 0x00007f66d56a2727 in QTest::qExec (testObject=0x7ffd22329e40,
- argc=<optimized out>, argv=0x7ffd22329f08) at qtestcase.cpp:1793
- handler = {d = 0x7f66d3f34140}
- commandLineMethods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
- _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
- test = {m_initTestCaseMethod = {mobj = 0x0, handle = 0},
- m_initTestCaseDataMethod = {mobj = 0x0, handle = 0},
- m_cleanupTestCaseMethod = {mobj = 0x0, handle = 0}, m_initMethod = {
- mobj = 0x5615bf302ba0 <QueryTest::staticMetaObject>, handle = 14},
- m_cleanupMethod = {
- mobj = 0x5615bf302ba0 <QueryTest::staticMetaObject>, handle = 19},
- m_methods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>},
- _M_start = 0x7f66d568b900, _M_finish = 0x7f66d568b950,
- _M_end_of_storage = 0x7f66d568b9c0}}, <No data fields>}}
- metaObject = <optimized out>
- benchmarkData = {static current = 0x7ffd22329d30,
- measurer = 0x7f66d568b1c0, context = {slotName = {
- static null = {<No data fields>}, d = 0x7f66d3f349a0}, tag = {
- static null = {<No data fields>},
- d = 0x7f66d5080fc0 <qt_array>}, checkpointIndex = -1},
- walltimeMinimum = -1, iterationCount = -1,
- medianIterationCount = -1, createChart = false,
- verboseOutput = false, callgrindOutFileBase = {
- static null = {<No data fields>},
- d = 0x7f66d5081020 <QArrayData::shared_null>}, minimumTotal = -1,
- mode_ = QBenchmarkGlobalData::WallTime}
- callgrindChildExitCode = 0
-#21 0x00005615bf0fc16e in main (argc=<optimized out>, argv=0x7ffd22329f08)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/querytest.cpp:166
- app = <incomplete type>
- tc = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {
- superdata = 0x7f66d5428660 <QObject::staticMetaObject>,
- stringdata = 0x5615bf101400 <qt_meta_stringdata_QueryTest>,
- data = 0x5615bf101300 <qt_meta_data_QueryTest>,
- static_metacall = 0x5615bf0fe550 <QueryTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
- extradata = 0x0}}, dir = 0x7f66d568b9e0, db = 0x7f66d1c72f60,
- m_id1 = 16967899663105536, m_id2 = 16967903958072832,
- m_id3 = 16967908253040128, m_id4 = 16967912548007424}
-Detaching from program: /usr/src/packages/user/baloo/src/baloo-5.38.0/bin/querytest, process 5478
-========= End of stack trace ==============
-QFATAL : QueryTest::testTermStartsWith() Received signal 11
- Function time: 67ms Total time: 151ms
-FAIL! : QueryTest::testTermStartsWith() Received a fatal error.
- Loc: [Unknown file(0)]
-Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 688ms
-********* Finished testing of QueryTest *********
-
- Start 5: writetransactiontest
- 5/38 Test #5: writetransactiontest .............***Exception: Other 0.66 sec
-********* Start testing of WriteTransactionTest *********
-Config: Using QtTest library 5.9.1, Qt 5.9.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 6.4.0)
-PASS : WriteTransactionTest::initTestCase()
-PASS : WriteTransactionTest::testAddDocument()
-
-========= Received signal, dumping stack ==============
-GNU gdb (GDB) 7.12.1
-Copyright (C) 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law. Type "show copying"
-and "show warranty" for details.
-This GDB was configured as "x86_64-foxkit-linux-musl".
-Type "show configuration" for configuration details.
-For bug reporting instructions, please see:
-<http://bugs.alpinelinux.org/>.
-Find the GDB manual and other documentation resources online at:
-<http://www.gnu.org/software/gdb/documentation/>.
-For help, type "help".
-Type "apropos word" to search for commands related to "word".
-Attaching to process 5486
-[New LWP 5487]
-__cp_end () at src/thread/x86_64/syscall_cp.s:29
-(gdb)
-Thread 2 (LWP 5487):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007fcfa76e79f1 in __syscall_cp_c (nr=202, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007fcfa76e6bdf in __timedwait_cp (addr=addr@entry=0x7fcfa79218d4,
- val=val@entry=2, clk=clk@entry=1, at=at@entry=0x7fcfa7921930, priv=128,
- priv@entry=1) at src/thread/__timedwait.c:31
- r = <optimized out>
- to = {tv_sec = 299, tv_nsec = 999999708}
- top = <optimized out>
-#3 0x00007fcfa76e7e32 in __pthread_cond_timedwait (c=0x7fcfa5ae34a8,
- m=0x7fcfa5ae3480, ts=0x7fcfa7921930)
- at src/thread/pthread_cond_timedwait.c:105
- node = {prev = 0x0, next = 0x0, state = 0, barrier = 2, notify = 0x0}
- e = <optimized out>
- seq = 2
- clock = <optimized out>
- cs = 0
- shared = 0
- oldstate = <optimized out>
- tmp = <optimized out>
- fut = 0x7fcfa79218d4
-#4 0x00007fcfa69a3f16 in QWaitCondition::wait(QMutex*, unsigned long) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#5 0x00007fcfa7252032 in QTest::WatchDog::run (this=0x7fcfa723a900)
- at qtestcase.cpp:990
- locker = {val = 140529839089945}
-#6 0x00007fcfa69a3058 in QThreadPrivate::start(void*) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#7 0x00007fcfa76e87a0 in start (p=0x7fcfa7921ae8)
- at src/thread/pthread_create.c:145
- self = 0x7fcfa7921ae8
-#8 0x00007fcfa76f4e04 in __clone () at src/thread/x86_64/clone.s:21
-No locals.
-Backtrace stopped: frame did not save the PC
-
-Thread 1 (LWP 5486):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007fcfa76e79f1 in __syscall_cp_c (nr=61, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007fcfa76cdb06 in waitpid (pid=<optimized out>,
- status=status@entry=0x7fcfa747636c <QTest::FatalSignalHandler::FatalSignalHandler()::alternate_stack+13164>, options=options@entry=0)
- at src/process/waitpid.c:7
-No locals.
-#3 0x00007fcfa76cd9ea in system (
- cmd=0x7fcfa7476800 <QTest::FatalSignalHandler::FatalSignalHandler()::alternate_stack+14336> "gdb --pid 5486 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n") at src/process/system.c:40
- pid = 5488
- old = {__bits = {21711, 3834024671439380852, 739271074867654707,
- 2308440517191626070, 140529841431584, 140529843746319,
- 2314885530818447674, 188978561025, 18446744073709551614, 64,
- 664920123419481610, 4049353029007188000, 5571072955364043552, 0,
- 8, 140529841432120}}
- reset = {__bits = {6, 44, 5, 140529830085469, 4, 140529841431786,
- 140529841431856, 140529830597770, 140529841431856,
- 140529841432128, 1, 140529830504092, 3472328296227680304,
- 3472328296227680304, 4209577309166457610, 3472328296227680265}}
- sa = {__sa_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
- sa_mask = {__bits = {65536, 0 <repeats 15 times>}}, sa_flags = 0,
- sa_restorer = 0x0}
- oldint = {__sa_handler = {
- sa_handler = 0x7fcfa7248a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7fcfa7248a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 0, 94705615740472, 140529841431984,
- 140529843747323, 140529846336960, 1, 101, 160, 140529841432048,
- 104, 94705615740736, 63, 0, 94705615740472, 8}},
- sa_flags = -1946157056, sa_restorer = 0x66}
- oldquit = {__sa_handler = {
- sa_handler = 0x7fcfa7248a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7fcfa7248a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 101, 94705615740472, 101,
- 140529841432296, 140529841432144, 140529843743490,
- 94705615740880, 191773699520, 64424509439, 101, 1,
- 94705615740432, 94705615740880, 140728573147760,
- 140529841432256}}, sa_flags = -1946157056, sa_restorer = 0xb}
- status = 32512
- ret = 0
- attr = {__flags = 12, __pgrp = 0, __def = {__bits = {6, 44, 5,
- 140529830085469, 4, 140529841431786, 140529841431856,
- 140529830597770, 140529841431856, 140529841432128, 1,
- 140529830504092, 3472328296227680304, 3472328296227680304,
- 4209577309166457610, 3472328296227680265}}, __mask = {__bits = {
- 21711, 3834024671439380852, 739271074867654707,
- 2308440517191626070, 140529841431584, 140529843746319,
- 2314885530818447674, 188978561025, 18446744073709551614, 64,
- 664920123419481610, 4049353029007188000, 5571072955364043552, 0,
- 8, 140529841432120}}, __prio = 0, __pol = 0, __pad = {
- 0 <repeats 16 times>}}
-#4 0x00007fcfa72489ac in stackTrace () at qtestcase.cpp:222
- cmd = "gdb --pid 5486 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n", '\000' <repeats 291 times>...
-#5 0x00007fcfa7248a65 in stackTrace () at qtestcase.cpp:237
- ok = false
- disableStackDump = <optimized out>
-#6 0x00007fcfa7248b05 in QTest::FatalSignalHandler::signal (signum=11)
- at qtestcase.cpp:1417
-No locals.
-#7 <signal handler called>
-No locals.
-#8 memcpy () at src/string/x86_64/memcpy.s:18
-No locals.
-#9 0x00007fcfa69a6c9b in QByteArray::QByteArray(char const*, int) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#10 0x00007fcfa70131c5 in Baloo::PostingDB::toTestMap (this=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/src/engine/postingdb.cpp:288
- rc = <optimized out>
- ba = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}
- plist = {d = 0x0}
- cursor = 0x0
- key = {mv_size = 0, mv_data = 0x0}
- val = {mv_size = 94705615690848, mv_data = 0x56225e950c50}
- map = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>}
-#11 0x000056225dc03d07 in Baloo::DBState::fromTransaction (tr=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/dbstate.h:83
- dbis = {postingDbi = <optimized out>, positionDBi = <optimized out>,
- docTermsDbi = <optimized out>,
- docFilenameTermsDbi = <optimized out>,
- docXattrTermsDbi = <optimized out>, idTreeDbi = 7,
- idFilenameDbi = 8, docTimeDbi = <optimized out>,
- docDataDbi = <optimized out>, contentIndexingDbi = <optimized out>,
- mtimeDbi = <optimized out>, failedIdDbi = <optimized out>}
- txn = <optimized out>
- postingDB = {m_txn = 0x56225e950880, m_dbi = 2}
- positionDB = {m_txn = 0x56225e950880, m_dbi = 3}
- documentTermsDB = {m_txn = 0x56225e950880, m_dbi = 4}
- documentXattrTermsDB = {m_txn = 0x56225e950880, m_dbi = 6}
- documentFileNameTermsDB = {m_txn = 0x56225e950880, m_dbi = 5}
- docTimeDB = {m_txn = 0x56225e950880, m_dbi = 9}
- docDataDB = {m_txn = 0x56225e950880, m_dbi = 10}
- contentIndexingDB = {m_txn = 0x56225e950880, m_dbi = 11}
- failedIdDb = {m_txn = 0x56225e950880, m_dbi = 12}
- mtimeDB = {m_txn = 0x56225e950880, m_dbi = 13}
- docUrlDB = {m_txn = 0x56225e950880, m_idFilenameDbi = 8,
- m_idTreeDbi = 7}
- state = {postingDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- positionDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docTermsDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docFileNameTermsDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docXAttrTermsDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docTimeDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- mtimeDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docDataDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docUrlDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- contentIndexingDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>},
- failedIdDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}}
-#12 0x000056225dc05901 in WriteTransactionTest::testAddDocumentTwoDocuments (
- this=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/writetransactiontest.cpp:160
- url1 = {d = 0x56225e94f060}
- url2 = {d = 0x7fcfa7926e80}
- doc1 = {m_id = 16967929727876608, m_terms = {d = 0x7fcfa5ae3940},
- m_xattrTerms = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- m_fileNameTerms = {d = 0x56225de12ec0}, m_url = {
- d = 0x56225e94f060}, m_contentIndexing = false, m_mTime = 5,
- m_cTime = 1, m_data = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}}
- doc2 = {m_id = 16967934022843904, m_terms = {d = 0x56225e94f4a0},
- m_xattrTerms = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- m_fileNameTerms = {d = 0x56225e94f5a0}, m_url = {
- d = 0x7fcfa7926e80}, m_contentIndexing = false, m_mTime = 6,
- m_cTime = 2, m_data = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}}
- tr = {m_dbis = @0x7fcfa3821db8, m_txn = 0x56225e950880,
- m_env = 0x7fcfa7926ee0, m_writeTrans = 0x0}
- id1 = <optimized out>
- id2 = 16967934022843904
- state = {postingDb = {d = 0x56225e94e5a0}, positionDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>}, docTermsDb = {
- d = 0x7fcfa5649c80}, docFileNameTermsDb = {d = 0x7fcfa5649e40},
- docXAttrTermsDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docTimeDb = {d = 0x7fcfa5649f00}, mtimeDb = {d = 0x7fcfa5649fc0},
- docDataDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docUrlDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- contentIndexingDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>},
- failedIdDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}}
- actualState = {postingDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>}, positionDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>}, docTermsDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docFileNameTermsDb = {
- d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docXAttrTermsDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docTimeDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- mtimeDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docDataDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- docUrlDb = {d = 0x7fcfa6c7c9a0 <QMapDataBase::shared_null>},
- contentIndexingDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>},
- failedIdDb = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}}
-#13 0x000056225dc068a5 in WriteTransactionTest::qt_static_metacall (
- _o=0x7ffdec9cc690, _c=<optimized out>, _id=<optimized out>,
- _a=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/writetransactiontest_autogen/include/writetransactiontest.moc:94
- _t = 0x7ffdec9cc690
-#14 0x00007fcfa6b95536 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#15 0x00007fcfa7250158 in QMetaMethod::invoke (val9=..., val8=..., val7=...,
- val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=...,
- connectionType=Qt::DirectConnection, object=<optimized out>,
- this=<optimized out>)
- at ../../include/QtCore/../../src/corelib/kernel/qmetaobject.h:123
-No locals.
-#16 QTest::TestMethods::invokeTestOnData (this=this@entry=0x7ffdec9cc5c0,
- index=index@entry=1) at qtestcase.cpp:890
- invokeOk = <optimized out>
- isBenchmark = <optimized out>
- i = -1
- results = {d = 0x7fcfa6c30020 <QArrayData::shared_null>}
- minimumTotalReached = <optimized out>
-#17 0x00007fcfa7250b90 in QTest::TestMethods::invokeTest (
- this=this@entry=0x7ffdec9cc5c0, index=index@entry=1, data=data@entry=0x0,
- watchDog=watchDog@entry=0x7fcfa723a900) at qtestcase.cpp:1071
- curDataIndex = 0
- dataCount = 0
- foundFunction = true
- benchmarkData = {static current = 0x7ffdec9cc200, result = {context = {
- slotName = {static null = {<No data fields>},
- d = 0x7fcfa6c30020 <QArrayData::shared_null>}, tag = {
- static null = {<No data fields>},
- d = 0x7fcfa6c30020 <QArrayData::shared_null>},
- checkpointIndex = -1}, value = -1, iterations = -1,
- metric = QTest::FramesPerSecond, setByMacro = true,
- valid = false}, resultAccepted = false, runOnce = false,
- iterationCount = 1}
- name = @0x7ffdec9cc1e8: {
- d = 0x56225dc10a38 <qt_meta_stringdata_WriteTransactionTest+120>}
- member = "testAddDocumentTwoDocuments_data()\000\000\000\000\000\000]C\232\246\317\177\000\000 X&\247\317\177\000\000hÜ\354\375\177\000\000\a\000\000\000\000\000\000\000\224\275\232\246\317\177\000\000\260\302\234\354\375\177\000\000\235)j\247\317\177\000\000\020Ĝ\354\375\177\000\000 Ü\354\375\177\000\000\220Ü\354\375\177\000\000\366\212n\247\317\177\000\000 \033\222\247\317\177\000\000\016\212n\247\317\177\000\000\b\n\301]\"V\000\000\000\034\222\247\317\177\000\000\000А\247\317\177\000\000\361yn\247\317\177\000\000P[\222\247\317\177\000\000\000\000\000\000\000\000\000\000\002", '\000' <repeats 15 times>...
- table = {d = 0x7fcfa3821d60}
- gTable = <optimized out>
- curGlobalDataIndex = <optimized out>
-#18 0x00007fcfa72511e1 in QTest::TestMethods::invokeTests (
- this=this@entry=0x7ffdec9cc5c0, testObject=testObject@entry=0x7ffdec9cc690)
- at qtestcase.cpp:1378
- data = 0x0
- ok = <optimized out>
- i = 1
- count = 5
- previousFailed = <optimized out>
- metaObject = <optimized out>
- watchDog = {d = 0x7fcfa723a900}
-#19 0x00007fcfa7251727 in QTest::qExec (testObject=0x7ffdec9cc690,
- argc=<optimized out>, argv=0x7ffdec9cc738) at qtestcase.cpp:1793
- handler = {d = 0x7fcfa5ae3140}
- commandLineMethods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
- _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
- test = {m_initTestCaseMethod = {mobj = 0x0, handle = 0},
- m_initTestCaseDataMethod = {mobj = 0x0, handle = 0},
- m_cleanupTestCaseMethod = {mobj = 0x0, handle = 0}, m_initMethod = {
- mobj = 0x56225de11a40 <WriteTransactionTest::staticMetaObject>,
- handle = 14}, m_cleanupMethod = {
- mobj = 0x56225de11a40 <WriteTransactionTest::staticMetaObject>,
- handle = 19},
- m_methods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>},
- _M_start = 0x7fcfa723a500, _M_finish = 0x7fcfa723a550,
- _M_end_of_storage = 0x7fcfa723a5c0}}, <No data fields>}}
- metaObject = <optimized out>
- benchmarkData = {static current = 0x7ffdec9cc580,
- measurer = 0x7fcfa723a1c0, context = {slotName = {
- static null = {<No data fields>}, d = 0x7fcfa3821f60}, tag = {
- static null = {<No data fields>},
- d = 0x7fcfa6c2ffc0 <qt_array>}, checkpointIndex = -1},
- walltimeMinimum = -1, iterationCount = -1,
- medianIterationCount = -1, createChart = false,
- verboseOutput = false, callgrindOutFileBase = {
- static null = {<No data fields>},
- d = 0x7fcfa6c30020 <QArrayData::shared_null>}, minimumTotal = -1,
- mode_ = QBenchmarkGlobalData::WallTime}
- callgrindChildExitCode = 0
-#20 0x000056225dc03155 in main (argc=<optimized out>, argv=0x7ffdec9cc738)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/integration/writetransactiontest.cpp:238
- app = <incomplete type>
- tc = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {
- superdata = 0x7fcfa6fd7660 <QObject::staticMetaObject>,
- stringdata = 0x56225dc109c0 <qt_meta_stringdata_WriteTransactionTest>, data = 0x56225dc108c0 <qt_meta_data_WriteTransactionTest>,
- static_metacall = 0x56225dc06770 <WriteTransactionTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
- extradata = 0x0}}, dir = 0x7fcfa38211e0, db = 0x7fcfa3821da0}
-Detaching from program: /usr/src/packages/user/baloo/src/baloo-5.38.0/bin/writetransactiontest, process 5486
-========= End of stack trace ==============
-QFATAL : WriteTransactionTest::testAddDocumentTwoDocuments() Received signal 11
- Function time: 66ms Total time: 152ms
-FAIL! : WriteTransactionTest::testAddDocumentTwoDocuments() Received a fatal error.
- Loc: [Unknown file(0)]
-Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 658ms
-********* Finished testing of WriteTransactionTest *********
-
- Start 6: doctermscodectest
- 6/38 Test #6: doctermscodectest ................ Passed 0.00 sec
- Start 7: postingcodectest
- 7/38 Test #7: postingcodectest ................. Passed 0.00 sec
- Start 8: positioncodectest
- 8/38 Test #8: positioncodectest ................ Passed 0.01 sec
- Start 9: positiondbtest
- 9/38 Test #9: positiondbtest ................... Passed 0.00 sec
- Start 10: postingdbtest
-10/38 Test #10: postingdbtest .................... Passed 0.00 sec
- Start 11: documentdbtest
-11/38 Test #11: documentdbtest ................... Passed 0.00 sec
- Start 12: documenturldbtest
-12/38 Test #12: documenturldbtest ................ Passed 0.01 sec
- Start 13: documentiddbtest
-13/38 Test #13: documentiddbtest ................. Passed 0.00 sec
- Start 14: documentdatadbtest
-14/38 Test #14: documentdatadbtest ............... Passed 0.00 sec
- Start 15: documenttimedbtest
-15/38 Test #15: documenttimedbtest ............... Passed 0.01 sec
- Start 16: idtreedbtest
-16/38 Test #16: idtreedbtest ..................... Passed 0.00 sec
- Start 17: idfilenamedbtest
-17/38 Test #17: idfilenamedbtest ................. Passed 0.00 sec
- Start 18: mtimedbtest
-18/38 Test #18: mtimedbtest ...................... Passed 0.00 sec
- Start 19: termgeneratortest
-19/38 Test #19: termgeneratortest ................ Passed 0.00 sec
- Start 20: queryparsertest
-20/38 Test #20: queryparsertest .................. Passed 0.00 sec
- Start 21: andpostingiteratortest
-21/38 Test #21: andpostingiteratortest ........... Passed 0.00 sec
- Start 22: orpostingiteratortest
-22/38 Test #22: orpostingiteratortest ............ Passed 0.00 sec
- Start 23: phraseanditeratortest
-23/38 Test #23: phraseanditeratortest ............ Passed 0.00 sec
- Start 24: transactiontest
-24/38 Test #24: transactiontest .................. Passed 0.08 sec
- Start 25: kinotifytest
-25/38 Test #25: kinotifytest ..................... Passed 0.52 sec
- Start 26: pendingfilequeuetest
-26/38 Test #26: pendingfilequeuetest ............. Passed 6.97 sec
- Start 27: fileindexerconfigtest
-27/38 Test #27: fileindexerconfigtest ............ Passed 0.30 sec
- Start 28: basicindexingjobtest
-28/38 Test #28: basicindexingjobtest ............. Passed 0.00 sec
- Start 29: regularexpcachebenchmark
-29/38 Test #29: regularexpcachebenchmark ......... Passed 0.30 sec
- Start 30: filtereddiriteratortest
-30/38 Test #30: filtereddiriteratortest .......... Passed 0.23 sec
- Start 31: unindexedfileiteratortest
-31/38 Test #31: unindexedfileiteratortest ........ Passed 0.00 sec
- Start 32: metadatamovertest
-32/38 Test #32: metadatamovertest ................ Passed 0.49 sec
- Start 33: fileinfotest
-33/38 Test #33: fileinfotest ..................... Passed 0.00 sec
- Start 34: filewatchtest
-34/38 Test #34: filewatchtest .................... Passed 0.12 sec
- Start 35: queryserializationtest
-35/38 Test #35: queryserializationtest ........... Passed 0.02 sec
- Start 36: filemonitortest
-36/38 Test #36: filemonitortest ..................***Exception: Other301.93 sec
-********* Start testing of FileMonitorTest *********
-Config: Using QtTest library 5.9.1, Qt 5.9.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 6.4.0)
-PASS : FileMonitorTest::initTestCase()
-
-========= Received signal, dumping stack ==============
-GNU gdb (GDB) 7.12.1
-Copyright (C) 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law. Type "show copying"
-and "show warranty" for details.
-This GDB was configured as "x86_64-foxkit-linux-musl".
-Type "show configuration" for configuration details.
-For bug reporting instructions, please see:
-<http://bugs.alpinelinux.org/>.
-Find the GDB manual and other documentation resources online at:
-<http://www.gnu.org/software/gdb/documentation/>.
-For help, type "help".
-Type "apropos word" to search for commands related to "word".
-Attaching to process 5557
-[New LWP 5558]
-[New LWP 5559]
-__cp_end () at src/thread/x86_64/syscall_cp.s:29
-(gdb)
-Thread 3 (LWP 5559):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007fd215ec69f1 in __syscall_cp_c (nr=7, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007fd215eb61c3 in poll (fds=<optimized out>, n=<optimized out>,
- timeout=<optimized out>) at src/select/poll.c:10
-No locals.
-#3 0x00007fd212a5dcb5 in g_main_context_poll (priority=<optimized out>,
- n_fds=1, fds=0x55e0837e59e0, timeout=<optimized out>,
- context=0x7fd212a12d60) at gmain.c:4187
- ret = <optimized out>
- errsv = <optimized out>
- poll_func = 0x7fd212a6e0a0 <g_poll>
-#4 g_main_context_iterate (context=context@entry=0x7fd212a12d60,
- block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
- at gmain.c:3881
- max_priority = 2147483647
- timeout = -1
- some_ready = <optimized out>
- nfds = 1
- allocated_nfds = <optimized out>
- fds = 0x55e0837e59e0
-#5 0x00007fd212a5dddf in g_main_context_iteration (context=0x7fd212a12d60,
- may_block=1) at gmain.c:3947
- retval = <optimized out>
-#6 0x00007fd21514c9af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#7 0x00007fd2150f4f2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#8 0x00007fd214f0e063 in QThread::exec() () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#9 0x00007fd21557304d in QDBusConnectionManager::run (
- this=0x7fd2157e90a0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
- locker = <optimized out>
-#10 0x00007fd214f13058 in QThreadPrivate::start(void*) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#11 0x00007fd215ec77a0 in start (p=0x7fd2160e9ae8)
- at src/thread/pthread_create.c:145
- self = 0x7fd2160e9ae8
-#12 0x00007fd215ed3e04 in __clone () at src/thread/x86_64/clone.s:21
-No locals.
-Backtrace stopped: frame did not save the PC
-
-Thread 2 (LWP 5558):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007fd215ec69f1 in __syscall_cp_c (nr=61, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007fd215eacb06 in waitpid (pid=<optimized out>,
- status=status@entry=0x7fd21610028c, options=options@entry=0)
- at src/process/waitpid.c:7
-No locals.
-#3 0x00007fd215eac9ea in system (
- cmd=0x7fd216100720 "gdb --pid 5557 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n")
- at src/process/system.c:40
- pid = 5611
- old = {__bits = {0, 1, 512, 140540290017944, 140540290007872,
- 140540287428111, 3683979817539084297, 42949672961,
- 18446744073709551614, 64, 2308440353445801302,
- 2319979645499351072, 4921678398310990443, 0, 8, 140540290008408}}
- reset = {__bits = {6, 44, 5, 140540271215453, 4, 140540290008074,
- 140540290008144, 140540271727754, 140540290008144,
- 140540290008416, 1, 140540271634076, 3472328296227680304,
- 734139722786418736, 664962007705282899, 3472328296227680304}}
- sa = {__sa_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
- sa_mask = {__bits = {65536, 0 <repeats 15 times>}}, sa_flags = 0,
- sa_restorer = 0x0}
- oldint = {__sa_handler = {
- sa_handler = 0x7fd215a27a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7fd215a27a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 0, 140540235644504, 140540290008272,
- 140540287429115, 140540290018464, 1, 101, 160, 140540290008336,
- 104, 140540165574784, 63, 0, 140540235644504, 8}},
- sa_flags = -1946157056, sa_restorer = 0x66}
- oldquit = {__sa_handler = {
- sa_handler = 0x7fd215a27a70 <QTest::FatalSignalHandler::signal(int)>, sa_sigaction = 0x7fd215a27a70 <QTest::FatalSignalHandler::signal(int)>},
- sa_mask = {__bits = {21711, 101, 140540235644504, 101,
- 140540290008584, 140540290008432, 140540287425282,
- 140540165574928, 116315483584, 64424509439, 101, 1,
- 140540165574768, 140540165574928, 0, 140540290008544}},
- sa_flags = -1946157056, sa_restorer = 0x55e0837e51a0}
- status = 32512
- ret = 0
- attr = {__flags = 12, __pgrp = 0, __def = {__bits = {6, 44, 5,
- 140540271215453, 4, 140540290008074, 140540290008144,
- 140540271727754, 140540290008144, 140540290008416, 1,
- 140540271634076, 3472328296227680304, 734139722786418736,
- 664962007705282899, 3472328296227680304}}, __mask = {__bits = {
- 0, 1, 512, 140540290017944, 140540290007872, 140540287428111,
- 3683979817539084297, 42949672961, 18446744073709551614, 64,
- 2308440353445801302, 2319979645499351072, 4921678398310990443,
- 0, 8, 140540290008408}}, __prio = 0, __pol = 0, __pad = {
- 0 <repeats 16 times>}}
-#4 0x00007fd215a279ac in stackTrace () at qtestcase.cpp:222
- cmd = "gdb --pid 5557 2>/dev/null <<EOF\nset prompt\nset height 0\nthread apply all where full\ndetach\nquit\nEOF\n\000\000\000`\001\000\000\000\000\000\000\000\b\020\026\322\177\000\000\017\246\350\025\322\177\000\000\000\376\377\377\377\377\377\377\340\a\020\026\322\177\000\000\034\333\030\272\375\177\000\000 \b\020\026\322\177\000\000\340\a\020\026\001\000\000\000\361i\354\025\322\177\000\000\060\v\020\026\322\177\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000"...
-#5 0x00007fd215a27a65 in stackTrace () at qtestcase.cpp:237
- ok = false
- disableStackDump = <optimized out>
-#6 0x00007fd215a3103b in QTest::WatchDog::run (this=0x55e0837e5180)
- at qtestcase.cpp:991
- locker = {val = 94422767128985}
-#7 0x00007fd214f13058 in QThreadPrivate::start(void*) ()
- from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#8 0x00007fd215ec77a0 in start (p=0x7fd216100ae8)
- at src/thread/pthread_create.c:145
- self = 0x7fd216100ae8
-#9 0x00007fd215ed3e04 in __clone () at src/thread/x86_64/clone.s:21
-No locals.
-Backtrace stopped: frame did not save the PC
-
-Thread 1 (LWP 5557):
-#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
-No locals.
-#1 0x00007fd215ec69f1 in __syscall_cp_c (nr=7, u=<optimized out>,
- v=<optimized out>, w=<optimized out>, x=<optimized out>,
- y=<optimized out>, z=0) at src/thread/pthread_cancel.c:35
- r = <optimized out>
- st = <optimized out>
-#2 0x00007fd215eb61c3 in poll (fds=<optimized out>, n=<optimized out>,
- timeout=<optimized out>) at src/select/poll.c:10
-No locals.
-#3 0x00007fd212a5dcb5 in g_main_context_poll (priority=<optimized out>,
- n_fds=1, fds=0x7fd20ffc5fe0, timeout=<optimized out>,
- context=0x7fd213ee4b20) at gmain.c:4187
- ret = <optimized out>
- errsv = <optimized out>
- poll_func = 0x7fd212a6e0a0 <g_poll>
-#4 g_main_context_iterate (context=context@entry=0x7fd213ee4b20,
- block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
- at gmain.c:3881
- max_priority = 2147483647
- timeout = -1
- some_ready = <optimized out>
- nfds = 1
- allocated_nfds = <optimized out>
- fds = 0x7fd20ffc5fe0
-#5 0x00007fd212a5dddf in g_main_context_iteration (context=0x7fd213ee4b20,
- may_block=1) at gmain.c:3947
- retval = <optimized out>
-#6 0x00007fd21514c9af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#7 0x00007fd2150f4f2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#8 0x000055e0835e18fd in FileMonitorTest::test (this=<optimized out>)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/unit/lib/filemonitortest.cpp:87
- file = {static null = {<No data fields>}, d = 0x7fd2131c1f40}
- spy = {<QObject> = {<No data fields>}, <QList<QList<QVariant> >> = {<QListSpecialMethods<QList<QVariant> >> = {<No data fields>}, {p = {
- static shared_null = {ref = {atomic = {
- _q_value = {<std::__atomic_base<int>> = {
- static _S_alignment = 4,
- _M_i = -1}, <No data fields>}}}, alloc = 0,
- begin = 0, end = 0, array = {0x0}},
- d = 0x7fd2151a24c0 <QListData::shared_null>},
- d = 0x7fd2151a24c0 <QListData::shared_null>}}, sig = {
- d = 0x7fd20ec80d80}, args = {d = 0x7fd20ec80f20},
- m_loop = {<QObject> = {<No data fields>}, static staticMetaObject = {
- d = {superdata = 0x7fd215547660 <QObject::staticMetaObject>,
- stringdata = 0x7fd215a493e0 <qt_meta_stringdata_QTestEventLoop>, data = 0x7fd215a49380 <qt_meta_data_QTestEventLoop>,
- static_metacall = 0x7fd215a440c0 <QTestEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
- extradata = 0x0}}, inLoop = false, _timeout = false,
- timerId = -1, loop = 0x0}, m_waiting = false}
- message = {d_ptr = 0x7fd20ec80f60}
- list = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {
- static shared_null = {ref = {atomic = {
- _q_value = {<std::__atomic_base<int>> = {
- static _S_alignment = 4,
- _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0,
- end = 0, array = {0x0}}, d = 0x7fd212d27c40},
- d = 0x7fd212d27c40}}
- vl = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {
- static shared_null = {ref = {atomic = {
- _q_value = {<std::__atomic_base<int>> = {
- static _S_alignment = 4,
- _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0,
- end = 0, array = {0x0}}, d = 0x7fd212d27c80},
- d = 0x7fd212d27c80}}
- loop = <incomplete type>
- variantList = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {
- p = {static shared_null = {ref = {atomic = {
- _q_value = {<std::__atomic_base<int>> = {
- static _S_alignment = 4,
- _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0,
- end = 0, array = {0x0}}, d = 0x7fd20ec80d80},
- d = 0x7fd20ec80d80}}
- var = {d = {data = {c = 96 '`', uc = 96 '`', s = 4448, sc = 96 '`',
- us = 4448, i = 320606560, u = 320606560, l = 140540240466272,
- ul = 140540240466272, b = 96, d = 6.9436104672652768e-310,
- f = 1.96985347e-27, real = 6.9436104672652768e-310,
- ll = 140540240466272, ull = 140540240466272, o = 0x7fd2131c1160,
- ptr = 0x7fd2131c1160, shared = 0x7fd2131c1160}, type = 0,
- is_shared = 0, is_null = 0}}
-#9 0x00007fd215105536 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /usr/lib/libQt5Core.so.5
-No symbol table info available.
-#10 0x00007fd215a2f158 in QMetaMethod::invoke (val9=..., val8=..., val7=...,
- val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=...,
- connectionType=Qt::DirectConnection, object=<optimized out>,
- this=<optimized out>)
- at ../../include/QtCore/../../src/corelib/kernel/qmetaobject.h:123
-No locals.
-#11 QTest::TestMethods::invokeTestOnData (this=this@entry=0x7ffdba11ab40,
- index=index@entry=0) at qtestcase.cpp:890
- invokeOk = <optimized out>
- isBenchmark = <optimized out>
- i = -1
- results = {d = 0x7fd2151a0020 <QArrayData::shared_null>}
- minimumTotalReached = <optimized out>
-#12 0x00007fd215a2fb90 in QTest::TestMethods::invokeTest (
- this=this@entry=0x7ffdba11ab40, index=index@entry=0, data=data@entry=0x0,
- watchDog=watchDog@entry=0x55e0837e5180) at qtestcase.cpp:1071
- curDataIndex = 0
- dataCount = 0
- foundFunction = true
- benchmarkData = {static current = 0x7ffdba11a780, result = {context = {
- slotName = {static null = {<No data fields>},
- d = 0x7fd2151a0020 <QArrayData::shared_null>}, tag = {
- static null = {<No data fields>},
- d = 0x7fd2151a0020 <QArrayData::shared_null>},
- checkpointIndex = -1}, value = -1, iterations = -1,
- metric = QTest::FramesPerSecond, setByMacro = true,
- valid = false}, resultAccepted = false, runOnce = false,
- iterationCount = 1}
- name = @0x7ffdba11a768: {
- d = 0x55e0835e33d8 <qt_meta_stringdata_FileMonitorTest+24>}
- member = "test_data()\000\000\000\000\000\350\250\021\272\375\177\000\000 H\244\025\322\177\000\000\000\000\000\000\000\000\000\000]C\361\024\322\177\000\000 H\244\025\322\177\000\000\350\250\021\272\375\177\000\000P\250\021\272\375\177\000\000\002\233\350\025\322\177\000\000\260Q~\203\340U\000\000\235\031\350\025\322\177\000\000\220\251\021\272\375\177\000\000\240\250\021\272\375\177\000\000\020\251\021\272\375\177\000\000\366z\354\025\322\177\000\000 \v\020\026\322\177\000\000\016z\354\025\322\177\000\000\300\250\021\272\375\177\000\000\000\f\020\026\322\177\000\000\000\300\016\026\322\177\000\000\361i\354\025\322\177\000\000PK\020\026\322\177\000\000\000\000\000\000\000\000\000\000\002", '\000' <repeats 15 times>...
- table = {d = 0x7fd214134340}
- gTable = <optimized out>
- curGlobalDataIndex = <optimized out>
-#13 0x00007fd215a301e1 in QTest::TestMethods::invokeTests (
- this=this@entry=0x7ffdba11ab40, testObject=testObject@entry=0x7ffdba11ac10)
- at qtestcase.cpp:1378
- data = 0x0
- ok = <optimized out>
- i = 0
- count = 8
- previousFailed = <optimized out>
- metaObject = <optimized out>
- watchDog = {d = 0x55e0837e5180}
-#14 0x00007fd215a30727 in QTest::qExec (testObject=0x7ffdba11ac10,
- argc=<optimized out>, argv=0x7ffdba11aca8) at qtestcase.cpp:1793
- handler = {d = 0x55e0837e50e0}
- commandLineMethods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
- _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
- test = {m_initTestCaseMethod = {mobj = 0x0, handle = 0},
- m_initTestCaseDataMethod = {mobj = 0x0, handle = 0},
- m_cleanupTestCaseMethod = {mobj = 0x0, handle = 0}, m_initMethod = {
- mobj = 0x55e0837e4a80 <FileMonitorTest::staticMetaObject>,
- handle = 19}, m_cleanupMethod = {
- mobj = 0x55e0837e4a80 <FileMonitorTest::staticMetaObject>,
- handle = 24},
- m_methods = {<std::_Vector_base<QMetaMethod, std::allocator<QMetaMethod> >> = {
- _M_impl = {<std::allocator<QMetaMethod>> = {<__gnu_cxx::new_allocator<QMetaMethod>> = {<No data fields>}, <No data fields>},
- _M_start = 0x55e0837e58a0, _M_finish = 0x55e0837e5920,
- _M_end_of_storage = 0x55e0837e5990}}, <No data fields>}}
- metaObject = <optimized out>
- benchmarkData = {static current = 0x7ffdba11ab00,
- measurer = 0x7fd212faafa0, context = {slotName = {
- static null = {<No data fields>}, d = 0x7fd214134300}, tag = {
- static null = {<No data fields>},
- d = 0x7fd21519ffc0 <qt_array>}, checkpointIndex = -1},
- walltimeMinimum = -1, iterationCount = -1,
- medianIterationCount = -1, createChart = false,
- verboseOutput = false, callgrindOutFileBase = {
- static null = {<No data fields>},
- d = 0x7fd2151a0020 <QArrayData::shared_null>}, minimumTotal = -1,
- mode_ = QBenchmarkGlobalData::WallTime}
- callgrindChildExitCode = 0
-#15 0x000055e0835e00a5 in main (argc=<optimized out>, argv=0x7ffdba11aca8)
- at /usr/src/packages/user/baloo/src/baloo-5.38.0/autotests/unit/lib/filemonitortest.cpp:204
- app = <incomplete type>
- tc = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {
- superdata = 0x7fd215547660 <QObject::staticMetaObject>,
- stringdata = 0x55e0835e33c0 <qt_meta_stringdata_FileMonitorTest>, data = 0x55e0835e3280 <qt_meta_data_FileMonitorTest>,
- static_metacall = 0x55e0835e1f80 <FileMonitorTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
- extradata = 0x0}}, m_sut = 0x7fd214134380}
-Detaching from program: /usr/src/packages/user/baloo/src/baloo-5.38.0/bin/filemonitortest, process 5557
-========= End of stack trace ==============
-QFATAL : FileMonitorTest::test() Test function timed out
-FAIL! : FileMonitorTest::test() Received a fatal error.
- Loc: [Unknown file(0)]
-Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 301914ms
-********* Finished testing of FileMonitorTest *********
-
- Start 37: advancedqueryparsertest
-37/38 Test #37: advancedqueryparsertest .......... Passed 0.00 sec
- Start 38: filefetchjobtest
-38/38 Test #38: filefetchjobtest ................. Passed 0.12 sec
-
-92% tests passed, 3 tests failed out of 38
-
-Total Test time (real) = 313.83 sec
-
-The following tests FAILED:
- 4 - querytest (OTHER_FAULT)
- 5 - writetransactiontest (OTHER_FAULT)
- 36 - filemonitortest (OTHER_FAULT)
-Errors while running CTest
->>> ERROR: baloo*: check failed
-]0;>>> ERROR: baloo: all failed
-]0; \ No newline at end of file
diff --git a/user/blinken/test.patch b/user/blinken/test.patch
deleted file mode 100644
index d24c03491..000000000
--- a/user/blinken/test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2a1b077..019efcd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -17,7 +17,7 @@ find_package (KF5 REQUIRED COMPONENTS
- I18n XmlGui GuiAddons DocTools DBusAddons Crash
- )
-
--find_package (Phonon4Qt5)
-+find_package (Phonon4Qt5 REQUIRED)
-
- include(KDEInstallDirs)
- include(KDECompilerSettings NO_POLICY_SCOPE)
diff --git a/user/digikam/digikam6.patch b/user/digikam/digikam6.patch
deleted file mode 100644
index 58c0f0d28..000000000
--- a/user/digikam/digikam6.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/user/digikam/APKBUILD b/user/digikam/APKBUILD
-index 3cdf9c37..bfffed9f 100644
---- a/user/digikam/APKBUILD
-+++ b/user/digikam/APKBUILD
-@@ -1,7 +1,7 @@
- # Contributor: A. Wilcox <awilfox@adelielinux.org>
- # Maintainer: A. Wilcox <awilfox@adelielinux.org>
- pkgname=digikam
--pkgver=5.9.0
-+pkgver=6.0.0
- pkgrel=0
- pkgdesc="Professional photo management and digital camera import"
- url="https://www.digikam.org/"
-@@ -20,7 +20,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtxmlpatterns-dev
- opencv opencv-dev"
- # YES, both are needed. opencv-dev only pulls in -libs; CMake module in opencv
- subpackages="$pkgname-doc $pkgname-lang"
--source="https://download.kde.org/stable/digikam/digikam-$pkgver.tar.xz"
-+source="https://download.kde.org/stable/digikam/$pkgver/digikam-$pkgver.tar.xz"
-
- build() {
- cd "$builddir"
-@@ -37,7 +37,6 @@ build() {
- -DENABLE_APPSTYLES=ON \
- -DENABLE_MYSQLSUPPORT=OFF \
- -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3 \
-- -DENABLE_OPENCV3=ON \
- -DBUILD_TESTING=OFF \
- ${CMAKE_CROSSOPTS}
- make
-@@ -48,4 +47,4 @@ package() {
- make DESTDIR="$pkgdir" install
- }
-
--sha512sums="f6134a957dcd11343e34f0bc90f5560a28ed205c47d2ffd76a5418a4c63f76706045e9179c47f1448304b59081051b524f7a6847c3c1dcee4673047ce5d90e63 digikam-5.9.0.tar.xz"
-+sha512sums="b8a70dde0b3838c4ccaffa3324eacb0541642e82177c90a1f8fcbd9691c194369f2760c4ea56c58b7ae049fc1a748d5d88cb537c62e3700ed5e21bad44d01adb digikam-6.0.0.tar.xz"
diff --git a/user/evince/CVE-2019-11459.patch b/user/evince/CVE-2019-11459.patch
deleted file mode 100644
index b331a0c30..000000000
--- a/user/evince/CVE-2019-11459.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 234f034a4d15cd46dd556f4945f99fbd57ef5f15 Mon Sep 17 00:00:00 2001
-From: Jason Crain <jcrain@src.gnome.org>
-Date: Mon, 15 Apr 2019 23:06:36 -0600
-Subject: [PATCH] tiff: Handle failure from TIFFReadRGBAImageOriented
-
-The TIFFReadRGBAImageOriented function returns zero if it was unable to
-read the image. Return NULL in this case instead of displaying
-uninitialized memory.
-
-Fixes #1129
----
- backend/tiff/tiff-document.c | 28 ++++++++++++++++++----------
- 1 file changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/backend/tiff/tiff-document.c b/backend/tiff/tiff-document.c
-index 7715031b..38bb3bd8 100644
---- a/backend/tiff/tiff-document.c
-+++ b/backend/tiff/tiff-document.c
-@@ -292,18 +292,22 @@ tiff_document_render (EvDocument *document,
- g_warning("Failed to allocate memory for rendering.");
- return NULL;
- }
--
-+
-+ if (!TIFFReadRGBAImageOriented (tiff_document->tiff,
-+ width, height,
-+ (uint32 *)pixels,
-+ orientation, 0)) {
-+ g_warning ("Failed to read TIFF image.");
-+ g_free (pixels);
-+ return NULL;
-+ }
-+
- surface = cairo_image_surface_create_for_data (pixels,
- CAIRO_FORMAT_RGB24,
- width, height,
- rowstride);
- cairo_surface_set_user_data (surface, &key,
- pixels, (cairo_destroy_func_t)g_free);
--
-- TIFFReadRGBAImageOriented (tiff_document->tiff,
-- width, height,
-- (uint32 *)pixels,
-- orientation, 0);
- pop_handlers ();
-
- /* Convert the format returned by libtiff to
-@@ -384,13 +388,17 @@ tiff_document_get_thumbnail (EvDocument *document,
- if (!pixels)
- return NULL;
-
-+ if (!TIFFReadRGBAImageOriented (tiff_document->tiff,
-+ width, height,
-+ (uint32 *)pixels,
-+ ORIENTATION_TOPLEFT, 0)) {
-+ g_free (pixels);
-+ return NULL;
-+ }
-+
- pixbuf = gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, TRUE, 8,
- width, height, rowstride,
- (GdkPixbufDestroyNotify) g_free, NULL);
-- TIFFReadRGBAImageOriented (tiff_document->tiff,
-- width, height,
-- (uint32 *)pixels,
-- ORIENTATION_TOPLEFT, 0);
- pop_handlers ();
-
- ev_render_context_compute_scaled_size (rc, width, height * (x_res / y_res),
---
-2.21.0
-
diff --git a/user/fts/00-static-and-shared-libs.patch b/user/fts/00-static-and-shared-libs.patch
deleted file mode 100644
index b65b1d0d6..000000000
--- a/user/fts/00-static-and-shared-libs.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/.gitignore b/.gitignore
-index 528fe32..663e6bb 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -10,4 +10,5 @@ config.status
- configure
- depcomp
- install-sh
-+ltmain.sh
- missing
-diff --git a/Makefile.am b/Makefile.am
-index aa93562..f09994e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,5 +1,5 @@
- ## Makefile.am - procress this file with automake to produce Makefile.in
--lib_LIBRARIES = libfts.a
--libfts_a_SOURCES = fts.c
--libfts_a_HEADERS = fts.h
--libfts_adir = $(includedir)
-+lib_LTLIBRARIES = libfts.la
-+libfts_la_SOURCES = fts.c
-+libfts_la_HEADERS = fts.h
-+libfts_ladir = $(includedir)
-diff --git a/bootstrap.sh b/bootstrap.sh
-index 9e026b5..cd4a585 100755
---- a/bootstrap.sh
-+++ b/bootstrap.sh
-@@ -1,4 +1,5 @@
- #!/bin/sh
-+libtoolize
- aclocal
- autoconf
- automake --add-missing
-diff --git a/configure.ac b/configure.ac
-index 28dd6c6..6f12859 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -7,7 +7,9 @@ AC_INIT([fts], [1.1], [Jürgen Buchmüller <pullmoll@t-online.de>])
- AM_INIT_AUTOMAKE([1.15])
-
- AC_PROG_CC
--AC_PROG_RANLIB
-+AC_PROG_LIBTOOL
-+
-+LT_INIT
-
- AC_CHECK_HEADERS(assert.h dirent.h errno.h fcntl.h stdlib.h string.h unistd.h sys/param.h sys/stat.h)
-
diff --git a/user/gcompat/no-utmp.patch b/user/gcompat/no-utmp.patch
deleted file mode 100644
index c5d2251b1..000000000
--- a/user/gcompat/no-utmp.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- gcompat-0.3.0/libgcompat/utmp.c.old 2018-09-05 02:26:02.850000000 +0000
-+++ gcompat-0.3.0/libgcompat/utmp.c 2018-09-21 21:39:17.350000000 +0000
-@@ -1,12 +1,11 @@
- #include <stddef.h> /* NULL */
--#include <utmp.h> /* struct utmp */
-
- /**
- * Get user accounting database entries.
- *
- * LSB 5.0: LSB-Core-generic/baselib-getutent-r-3.html
- */
--int getutent_r(struct utmp *buffer, struct utmp **result)
-+int getutent_r(void *buffer, void **result)
- {
- /* musl does not implement getutent(). */
- *result = NULL;
diff --git a/user/glib-networking/proxy-test.patch b/user/glib-networking/proxy-test.patch
deleted file mode 100644
index 2cab5d9f6..000000000
--- a/user/glib-networking/proxy-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./Makefile.am.orig
-+++ ./Makefile.am
-@@ -11,9 +11,9 @@
-
- if HAVE_GNOME_PROXY
- SUBDIRS += proxy/gnome
-+SUBDIRS += proxy/tests
- endif
-
--SUBDIRS += proxy/tests
-
- if HAVE_GNUTLS
- SUBDIRS += tls/gnutls
diff --git a/user/gtk+2.0/automake.patch b/user/gtk+2.0/automake.patch
deleted file mode 100644
index 106597974..000000000
--- a/user/gtk+2.0/automake.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ./configure.in.orig 2012-12-31 14:40:30.297439517 +0000
-+++ ./configure.in 2012-12-31 14:40:51.587629835 +0000
-@@ -51,7 +51,7 @@
- cflags_set=${CFLAGS+set}
-
- AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2])
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADER(config.h)
-
- # Support silent build rules, requires at least automake-1.11. Enable
- # by either passing --enable-silent-rules to configure or passing V=0
-@@ -300,7 +300,6 @@
-
- # Checks for programs.
- AC_ISC_POSIX
--AM_PROG_CC_STDC
- AM_PROG_CC_C_O
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
diff --git a/user/gtk+3.0/releng-what-releng.patch b/user/gtk+3.0/releng-what-releng.patch
deleted file mode 100644
index 5a1091de3..000000000
--- a/user/gtk+3.0/releng-what-releng.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nurd gtk+-3.24.2/docs/tools/shooter.c gtk+-3.24.2.new/docs/tools/shooter.c
---- gtk+-3.24.2/docs/tools/shooter.c 2018-12-12 11:46:09.000000000 -0600
-+++ gtk+-3.24.2.new/docs/tools/shooter.c 2019-01-10 20:55:41.402365069 -0600
-@@ -170,7 +170,7 @@
- y_orig = 0;
- }
-
-- if (x_orig + width > gdk_screen_get_width (gdk_screen_get_dfeault ()))
-+ if (x_orig + width > gdk_screen_get_width (gdk_screen_get_default ()))
- width = gdk_screen_width () - x_orig;
-
- if (y_orig + height > gdk_screen_get_height (gdk_screen_get_default ()))
diff --git a/user/gucharmap/unicode-12.1.patch b/user/gucharmap/unicode-12.1.patch
deleted file mode 100644
index 60dbb7af5..000000000
--- a/user/gucharmap/unicode-12.1.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -Naur gucharmap-12.0.1-orig/gucharmap/gucharmap-unicode-info.h gucharmap-12.0.1/gucharmap/gucharmap-unicode-info.h
---- gucharmap-12.0.1-orig/gucharmap/gucharmap-unicode-info.h 2019-03-07 21:21:27.000000000 +0100
-+++ gucharmap-12.0.1/gucharmap/gucharmap-unicode-info.h 2019-11-14 17:43:55.007583238 +0100
-@@ -51,7 +51,8 @@
- GUCHARMAP_UNICODE_VERSION_10_0,
- GUCHARMAP_UNICODE_VERSION_11_0,
- GUCHARMAP_UNICODE_VERSION_12_0,
-- GUCHARMAP_UNICODE_VERSION_LATEST = GUCHARMAP_UNICODE_VERSION_12_0 /* private, will move forward with each revision */
-+ GUCHARMAP_UNICODE_VERSION_12_1,
-+ GUCHARMAP_UNICODE_VERSION_LATEST = GUCHARMAP_UNICODE_VERSION_12_1 /* private, will move forward with each revision */
- } GucharmapUnicodeVersion;
-
- /* return values are read-only */
-diff -Naur gucharmap-12.0.1-orig/gucharmap/gucharmap-window.c gucharmap-12.0.1/gucharmap/gucharmap-window.c
---- gucharmap-12.0.1-orig/gucharmap/gucharmap-window.c 2019-03-07 21:21:27.000000000 +0100
-+++ gucharmap-12.0.1/gucharmap/gucharmap-window.c 2019-11-14 17:45:11.145809820 +0100
-@@ -454,7 +454,7 @@
- gtk_show_about_dialog (GTK_WINDOW (guw),
- "program-name", _("GNOME Character Map"),
- "version", VERSION,
-- "comments", _("Based on the Unicode Character Database 12.0.0"),
-+ "comments", _("Based on the Unicode Character Database 12.1.0"),
- "copyright", "Copyright © 2004 Noah Levitt\n"
- "Copyright © 1991–2019 Unicode, Inc.\n"
- "Copyright © 2007–2019 Christian Persch\n"
diff --git a/user/irssi/fix-ridiculous-egregious-conformance-error.patch b/user/irssi/fix-ridiculous-egregious-conformance-error.patch
deleted file mode 100644
index ceb707c9b..000000000
--- a/user/irssi/fix-ridiculous-egregious-conformance-error.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- irssi-1.2.0/tests/fe-text/test-paste-join-multiline.c.old 2019-02-11 17:27:58.000000000 +0000
-+++ irssi-1.2.0/tests/fe-text/test-paste-join-multiline.c 2019-02-19 21:28:03.250000000 +0000
-@@ -48,13 +48,15 @@
- static void test_paste_join_multiline(const paste_join_multiline_test_case *test)
- {
- char *resultstr, *t1;
-+ glong length;
- GArray *buffer = g_array_new(FALSE, FALSE, sizeof(unichar));
-
- g_test_message("Testing: %s", test->description);
- g_test_message("INPUT: \"%s\"", (t1 = g_strescape(test->input, NULL)));
- g_free(t1);
-
-- buffer->data = (char *) g_utf8_to_ucs4_fast(test->input, -1, (glong *) &buffer->len);
-+ buffer->data = (char *) g_utf8_to_ucs4_fast(test->input, -1, &length);
-+ buffer->len = length;
- paste_buffer_join_lines(buffer);
- resultstr = g_ucs4_to_utf8((unichar *) buffer->data, buffer->len, NULL, NULL, NULL);
-
diff --git a/user/kfilemetadata/test-mimetype.patch b/user/kfilemetadata/test-mimetype.patch
deleted file mode 100644
index f76824ac5..000000000
--- a/user/kfilemetadata/test-mimetype.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Our version of shared-mime-info differs for the AppImage MIME type.
-
---- kfilemetadata-5.65.0/autotests/extractorcoveragetest.cpp.old 2019-12-12 22:37:05.000000000 +0000
-+++ kfilemetadata-5.65.0/autotests/extractorcoveragetest.cpp 2019-12-29 15:56:30.981925832 +0000
-@@ -36,7 +36,7 @@
- m_knownFiles = {
- { "test.aif", "audio/x-aifc"},
- { "test.ape", "audio/x-ape"},
-- { "test.AppImage", "application/vnd.appimage"},
-+ { "test.AppImage", "application/x-iso9660-appimage"},
- { "test_apple_systemprofiler.spx", "application/x-apple-systemprofiler+xml"}, // s-m-i < 2.0 would give "application/xml"
- { "test.dot", "text/vnd.graphviz"},
- { "test.eps", "image/x-eps"},
diff --git a/user/khelpcenter/es-doc-fix.patch b/user/khelpcenter/es-doc-fix.patch
deleted file mode 100644
index c9f7ed11f..000000000
--- a/user/khelpcenter/es-doc-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook.old 2019-05-07 00:10:08.000000000 +0000
-+++ khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook 2019-05-13 06:10:14.989405563 +0000
-@@ -136,7 +136,7 @@
- >Instalación</title>
-
- <para
-->&khelpcenter; forma parte de las &applications;. Se puede encontrar en el <ulink url="https://download.kde.org/"
-+>&khelpcenter; forma parte de las applications. Se puede encontrar en el <ulink url="https://download.kde.org/"
- >sitio de descarga</ulink
- > del proyecto &kde; o en el paquete &khelpcenter; de su sistema operativo. </para>
-
-@@ -347,7 +347,7 @@
- ></term>
- <listitem>
- <para
-->Los «Aspectos básicos» le presentan una introducción de las numerosas características de &plasma-workspaces; y de las &applications; y describe muchas tareas comunes que puede realizar en todas las &applications;. </para>
-+>Los «Aspectos básicos» le presentan una introducción de las numerosas características de Plasma Workspaces y de las applications y describe muchas tareas comunes que puede realizar en todas las applications. </para>
- </listitem>
- </varlistentry>
-
---- khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook.old 2019-05-07 00:10:08.000000000 +0000
-+++ khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook 2019-05-13 06:13:20.309243557 +0000
-@@ -114,7 +114,7 @@
- >&nbsp;</term>
- <listitem>
- <para
-->Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y &applications;.</para>
-+>Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y applications.</para>
- </listitem>
- </varlistentry>
- </variablelist>
diff --git a/user/ki18n/libintl.patch b/user/ki18n/libintl.patch
deleted file mode 100644
index bbe6d1e9a..000000000
--- a/user/ki18n/libintl.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From e2520914c446d8646088bc3aa061b5723aa52036 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <awilfox@adelielinux.org>
-Date: Wed, 20 Jul 2016 21:19:14 -0500
-Subject: [PATCH] Determine if _nl_msg_cat_cntr exists before use
-
-GNU gettext does not guarantee that GNU libintl will be used. This
-assumption breaks the build against the musl libc.
-
-BUG: 365917
----
- .gitignore | 1 +
- CMakeLists.txt | 3 +++
- cmake/FindLibIntl.cmake | 3 +++
- src/config.h.in | 25 +++++++++++++++++++++++++
- src/kcatalog.cpp | 5 +++--
- 5 files changed, 35 insertions(+), 2 deletions(-)
- create mode 100644 src/config.h.in
-
-diff --git a/.gitignore b/.gitignore
-index 1a6b0c4..42a96a7 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1 +1,2 @@
- doc-gen/
-+src/config.h
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 00e4001..09dc6af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -59,6 +59,9 @@ endif()
- add_subdirectory(src)
- add_subdirectory(autotests)
-
-+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in"
-+ "${CMAKE_CURRENT_SOURCE_DIR}/src/config.h")
-+
- # create a Config.cmake and a ConfigVersion.cmake file and install them
- set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5I18n")
-
-diff --git a/cmake/FindLibIntl.cmake b/cmake/FindLibIntl.cmake
-index cde5da8..a457112 100644
---- a/cmake/FindLibIntl.cmake
-+++ b/cmake/FindLibIntl.cmake
-@@ -56,3 +56,6 @@ else()
- message(STATUS "libintl is a separate library.")
- find_package_handle_standard_args(LibIntl REQUIRED_VARS LibIntl_INCLUDE_DIRS LibIntl_LIBRARIES)
- endif()
-+
-+set(CMAKE_REQUIRED_LIBRARIES ${LibIntl_LIBRARIES})
-+check_cxx_source_compiles("extern \"C\" int _nl_msg_cat_cntr; int main(void) { ++_nl_msg_cat_cntr; return 0; }" HAVE_NL_MSG_CAT_CNTR)
-diff --git a/src/config.h.in b/src/config.h.in
-new file mode 100644
-index 0000000..f445f88
---- /dev/null
-+++ b/src/config.h.in
-@@ -0,0 +1,25 @@
-+/* This file is part of the KDE libraries
-+ Copyright (c) 2016 A. Wilcox <awilfox@adelielinux.org>
-+
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Library General Public
-+ License as published by the Free Software Foundation; either
-+ version 2 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Library General Public License for more details.
-+
-+ You should have received a copy of the GNU Library General Public License
-+ along with this library; see the file COPYING.LIB. If not, write to
-+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ Boston, MA 02110-1301, USA.
-+*/
-+
-+#ifndef KF5_KI18N_CONFIG_H
-+#define KF5_KI18N_CONFIG_H
-+
-+#cmakedefine HAVE_NL_MSG_CAT_CNTR
-+
-+#endif
-diff --git a/src/kcatalog.cpp b/src/kcatalog.cpp
-index 6682d62..a15e661 100644
---- a/src/kcatalog.cpp
-+++ b/src/kcatalog.cpp
-@@ -21,6 +21,7 @@
- #include <stdlib.h>
- #include <locale.h>
- #include "gettext.h"
-+#include "config.h"
-
- #include <qstandardpaths.h>
- #include <QByteArray>
-@@ -41,7 +42,7 @@
- #endif
- #endif
-
--#if defined(__USE_GNU_GETTEXT)
-+#if defined(HAVE_NL_MSG_CAT_CNTR)
- extern "C" int Q_DECL_IMPORT _nl_msg_cat_cntr;
- #endif
-
-@@ -171,9 +172,9 @@ void KCatalogPrivate::setupGettextEnv()
- //qDebug() << "bindtextdomain" << domain << localeDir;
- bindtextdomain(domain, localeDir);
-
-+#if defined(HAVE_NL_MSG_CAT_CNTR)
- // Magic to make sure GNU Gettext doesn't use stale cached translation
- // from previous language.
--#if defined(__USE_GNU_GETTEXT)
- ++_nl_msg_cat_cntr;
- #endif
- }
---
-2.9.2
-
diff --git a/user/kscreenlocker/optional-wayland.patch b/user/kscreenlocker/optional-wayland.patch
deleted file mode 100644
index eee3cb10e..000000000
--- a/user/kscreenlocker/optional-wayland.patch
+++ /dev/null
@@ -1,448 +0,0 @@
---- kscreenlocker-5.12.9/CMakeLists.txt.old 2019-09-10 10:30:52.000000000 +0000
-+++ kscreenlocker-5.12.9/CMakeLists.txt 2019-12-29 16:39:31.945860585 +0000
-@@ -73,16 +73,16 @@
-
- find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS X11Extras)
-
--find_package(KF5Wayland CONFIG REQUIRED)
-+find_package(KF5Wayland)
- set_package_properties(KF5Wayland PROPERTIES
-- TYPE REQUIRED
-- PURPOSE "Required for building screenlocker")
-+ TYPE OPTIONAL
-+ PURPOSE "Required for building Wayland screenlocker")
- find_package(WaylandScanner)
- find_package(Wayland 1.3 COMPONENTS Client Server)
-
- set_package_properties(Wayland PROPERTIES
-- TYPE REQUIRED
-- PURPOSE "Required for building screenlocker")
-+ TYPE OPTIONAL
-+ PURPOSE "Required for building Wayland screenlocker")
-
- find_package(loginctl)
- set_package_properties(loginctl PROPERTIES
-@@ -138,9 +138,7 @@
- interface.cpp
- globalaccel.cpp
- x11locker.cpp
-- waylandlocker.cpp
- logind.cpp
-- waylandserver.cpp
- powermanagement.cpp
- powermanagement_inhibition.cpp
- )
-@@ -149,10 +147,20 @@
- kconfig_add_kcfg_files(ksld_SRCS kcfg/kscreensaversettings.kcfgc)
- qt5_add_dbus_interface(ksld_SRCS ${powerdevilpolicyagent_xml} powerdevilpolicyagent)
-
-+if(KF5Wayland_FOUND)
-+list(APPEND ksld_SRCS
-+ waylandlocker.cpp
-+ waylandserver.cpp
-+)
- ecm_add_wayland_server_protocol(ksld_SRCS
- PROTOCOL protocols/ksld.xml
- BASENAME ksld
- )
-+set(OPT_WL_LIBRARIES
-+ KF5::WaylandServer
-+ Wayland::Server
-+)
-+endif(KF5Wayland_FOUND)
-
- add_library(KScreenLocker SHARED ${ksld_SRCS})
-
-@@ -171,8 +179,7 @@
- ${X11_LIBRARIES}
- XCB::XCB
- XCB::KEYSYMS
-- KF5::WaylandServer
-- Wayland::Server
-+ ${OPT_WL_LIBRARIES}
- )
-
- if (X11_Xinput_FOUND)
---- kscreenlocker-5.12.9/ksldapp.cpp.old 2019-09-10 10:30:16.000000000 +0000
-+++ kscreenlocker-5.12.9/ksldapp.cpp 2019-12-29 17:00:37.930322855 +0000
-@@ -38,9 +38,11 @@
- #include <KNotification>
- #include <KGlobalAccel>
-
-+#ifdef WAYLAND_FOUND
- //kwayland
- #include <KWayland/Server/display.h>
- #include <KWayland/Server/clientconnection.h>
-+#endif
-
- // Qt
- #include <QAction>
-@@ -84,8 +86,10 @@
- , m_lockState(Unlocked)
- , m_lockProcess(NULL)
- , m_lockWindow(NULL)
-+#ifdef WAYLAND_FOUND
- , m_waylandServer(new WaylandServer(this))
- , m_waylandDisplay(nullptr)
-+#endif /* WAYLAND_FOUND */
- , m_lockedTimer(QElapsedTimer())
- , m_idleId(0)
- , m_lockGrace(0)
-@@ -96,8 +100,12 @@
- , m_greeterEnv(QProcessEnvironment::systemEnvironment())
- , m_powerManagementInhibition(new PowerManagementInhibition(this))
- {
-+#ifdef WAYLAND_FOUND
- m_isX11 = QX11Info::isPlatformX11();
- m_isWayland = QCoreApplication::instance()->property("platformName").toString().startsWith( QLatin1String("wayland"), Qt::CaseInsensitive);
-+#else
-+ m_isX11 = true;
-+#endif
- }
-
- KSldApp::~KSldApp()
-@@ -215,9 +223,11 @@
- auto finishedSignal = static_cast<void (QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished);
- connect(m_lockProcess, finishedSignal, this,
- [this](int exitCode, QProcess::ExitStatus exitStatus) {
-+#ifdef WAYLAND_FOUND
- if (m_isWayland && m_waylandDisplay && m_greeterClientConnection) {
- m_greeterClientConnection->destroy();
- }
-+#endif /* WAYLAND_FOUND */
- if ((!exitCode && exitStatus == QProcess::NormalExit) || s_graceTimeKill || s_logindExit) {
- // unlock process finished successfully - we can remove the lock grab
- s_graceTimeKill = false;
-@@ -240,7 +250,9 @@
- [this](QProcess::ProcessError error) {
- if (error == QProcess::FailedToStart) {
- doUnlock();
-+#ifdef WAYLAND_FOUND
- m_waylandServer->stop();
-+#endif /* WAYLAND_FOUND */
- qCritical() << "Greeter Process not available";
- }
- }
-@@ -533,7 +545,9 @@
- m_lockedTimer.invalidate();
- m_greeterCrashedCounter = 0;
- endGraceTime();
-+#ifdef WAYLAND_FOUND
- m_waylandServer->stop();
-+#endif /* WAYLAND_FOUND */
- KNotification::event(QStringLiteral("unlocked"),
- i18n("Screen unlocked"),
- QPixmap(),
-@@ -553,6 +567,7 @@
- {
- QProcessEnvironment env = m_greeterEnv;
-
-+#ifdef WAYLAND_FOUND
- if (m_isWayland && m_waylandDisplay) {
- int sx[2];
- if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sx) < 0) {
-@@ -576,6 +591,7 @@
- env.insert("WAYLAND_SOCKET", QByteArray::number(socket));
- }
- }
-+#endif /* WAYLAND_FOUND */
- QStringList args;
- if (establishLock == EstablishLock::Immediate) {
- args << QStringLiteral("--immediateLock");
-@@ -596,6 +612,7 @@
- env.insert(s_qtQuickBackend, QStringLiteral("software"));
- }
-
-+#ifdef WAYLAND_FOUND
- // start the Wayland server
- int fd = m_waylandServer->start();
- if (fd == -1) {
-@@ -605,10 +622,13 @@
-
- args << QStringLiteral("--ksldfd");
- args << QString::number(fd);
-+#endif /* WAYLAND_FOUND */
-
- m_lockProcess->setProcessEnvironment(env);
- m_lockProcess->start(QStringLiteral(KSCREENLOCKER_GREET_BIN), args);
-+#ifdef WAYLAND_FOUND
- close(fd);
-+#endif
- }
-
- void KSldApp::showLockWindow()
-@@ -617,9 +637,11 @@
- if (m_isX11) {
- m_lockWindow = new X11Locker(this);
- }
-+#ifdef WAYLAND_FOUND
- if (m_isWayland) {
- m_lockWindow = new WaylandLocker(m_waylandDisplay, this);
- }
-+#endif /* WAYLAND_FOUND */
- if (!m_lockWindow) {
- return;
- }
-@@ -637,7 +659,9 @@
- lockScreenShown();
- }
- , Qt::QueuedConnection);
-+#ifdef WAYLAND_FOUND
- connect(m_waylandServer, &WaylandServer::x11WindowAdded, m_lockWindow, &AbstractLocker::addAllowedWindow);
-+#endif /* WAYLAND_FOUND */
- }
- m_lockWindow->showLockWindow();
- if (m_isX11) {
-@@ -702,12 +726,14 @@
- }
- }
-
-+#ifdef WAYLAND_FOUND
- void KSldApp::setWaylandDisplay(KWayland::Server::Display *display)
- {
- if (m_waylandDisplay != display) {
- m_waylandDisplay = display;
- }
- }
-+#endif /* WAYLAND_FOUND */
-
- void KSldApp::lockScreenShown()
- {
-@@ -723,9 +749,11 @@
- void KSldApp::setGreeterEnvironment(const QProcessEnvironment &env)
- {
- m_greeterEnv = env;
-+#ifdef WAYLAND_FOUND
- if (m_isWayland) {
- m_greeterEnv.insert(QStringLiteral("QT_QPA_PLATFORM"), QStringLiteral("wayland"));
- }
-+#endif /* WAYLAND_FOUND */
- }
-
- bool KSldApp::event(QEvent *event)
---- kscreenlocker-5.12.9/autotests/CMakeLists.txt.old 2019-09-10 10:30:16.000000000 +0000
-+++ kscreenlocker-5.12.9/autotests/CMakeLists.txt 2019-12-29 17:16:10.540254516 +0000
-@@ -55,6 +55,7 @@
- add_test(ksmserver-x11LockerTest x11LockerTest)
- ecm_mark_as_test(x11LockerTest)
-
-+if(KF5Wayland_FOUND)
- #######################################
- # NoScreensTest
- #######################################
-@@ -67,3 +68,4 @@
- )
- add_test(ksld-noScreensTest noScreensTest)
- ecm_mark_as_test(noScreensTest)
-+endif()
---- kscreenlocker-5.12.9/greeter/greeterapp.cpp.old 2019-09-10 10:30:16.000000000 +0000
-+++ kscreenlocker-5.12.9/greeter/greeterapp.cpp 2019-12-29 17:14:57.458241696 +0000
-@@ -26,6 +26,7 @@
- #include "lnf_integration.h"
-
- #include <config-kscreenlocker.h>
-+#include <config-workspace.h>
-
- // KDE
- #include <KAuthorized>
-@@ -40,12 +41,14 @@
- #include <KPackage/Package>
- #include <KPackage/PackageStructure>
- #include <KPackage/PackageLoader>
-+#ifdef WAYLAND_FOUND
- // KWayland
- #include <KWayland/Client/connection_thread.h>
- #include <KWayland/Client/event_queue.h>
- #include <KWayland/Client/plasmashell.h>
- #include <KWayland/Client/registry.h>
- #include <KWayland/Client/surface.h>
-+#endif
- // Qt
- #include <QClipboard>
- #include <QAbstractNativeEventFilter>
-@@ -63,9 +66,11 @@
- #include <QQmlExpression>
-
- #include <QX11Info>
-+#ifdef WAYLAND_FOUND
- // Wayland
- #include <wayland-client.h>
- #include <wayland-ksld-client-protocol.h>
-+#endif
- // X11
- #include <X11/Xatom.h>
- #include <X11/Xlib.h>
-@@ -137,6 +142,7 @@
- }
- qDeleteAll(m_views);
-
-+#ifdef WAYLAND_FOUND
- if (m_ksldInterface) {
- org_kde_ksld_destroy(m_ksldInterface);
- }
-@@ -148,6 +154,7 @@
- m_ksldConnectionThread->quit();
- m_ksldConnectionThread->wait();
- }
-+#endif /* WAYLAND_FOUND */
- }
-
- Authenticator *UnlockApp::createAuthenticator()
-@@ -165,7 +172,10 @@
-
- void UnlockApp::initialize()
- {
-+#ifdef WAYLAND_FOUND
- initializeWayland();
-+#endif /* WAYLAND_FOUND */
-+
- // set up the request ignore timeout, so that multiple requests to sleep/suspend/shutdown
- // are not processed in quick (and confusing) succession)
- m_resetRequestIgnoreTimer->setSingleShot(true);
-@@ -205,6 +215,7 @@
- if (!platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
- return;
- }
-+#ifdef WAYLAND_FOUND
- using namespace KWayland::Client;
- auto *c = ConnectionThread::fromApplication(this);
- if (!c) {
-@@ -219,6 +230,7 @@
- return;
- }
- m_plasmaShell = r->createPlasmaShell(i.name, i.version, this);
-+#endif /* WAYLAND_FOUND */
- }
-
- void UnlockApp::loadWallpaperPlugin(KQuickAddons::QuickViewSharedEngine *view)
-@@ -281,6 +293,7 @@
- }
- }
-
-+#ifdef WAYLAND_FOUND
- if (m_ksldInterface) {
- view->create();
- org_kde_ksld_x11window(m_ksldInterface, view->winId());
-@@ -294,6 +307,7 @@
- view->setProperty("plasmaShellSurface", QVariant::fromValue(shellSurface));
- }
- }
-+#endif /* WAYLAND_FOUND */
-
- // engine stuff
- QQmlContext* context = view->engine()->rootContext();
-@@ -353,10 +367,14 @@
-
- auto screen = QGuiApplication::screens()[i];
- view->setGeometry(screen->geometry());
-+#ifdef WAYLAND_FOUND
- KWayland::Client::PlasmaShellSurface *plasmaSurface = view->property("plasmaShellSurface").value<KWayland::Client::PlasmaShellSurface *>();
- if (plasmaSurface) {
- plasmaSurface->setPosition(view->geometry().topLeft());
- }
-+#else
-+ void *plasmaSurface = nullptr;
-+#endif /* WAYLAND_FOUND */
- if (auto object = view->property("wallpaperGraphicsObject").value<KDeclarative::QmlObjectSharedEngine*>()) {
- //initialize with our size to avoid as much resize events as possible
- object->completeInitialization({
-@@ -370,9 +388,11 @@
- view,
- [view, plasmaSurface](const QRect &geo) {
- view->setGeometry(geo);
-+#ifdef WAYLAND_FOUND
- if (plasmaSurface) {
- plasmaSurface->setPosition(view->geometry().topLeft());
- }
-+#endif /* WAYLAND_FOUND */
- }
- );
-
-@@ -477,6 +497,7 @@
-
- void UnlockApp::suspendToRam()
- {
-+#ifdef WAYLAND_FOUND
- if (m_ignoreRequests) {
- return;
- }
-@@ -485,11 +506,12 @@
- m_resetRequestIgnoreTimer->start();
-
- org_kde_ksld_suspendSystem(m_ksldInterface);
--
-+#endif /* WAYLAND_FOUND */
- }
-
- void UnlockApp::suspendToDisk()
- {
-+#ifdef WAYLAND_FOUND
- if (m_ignoreRequests) {
- return;
- }
-@@ -498,6 +520,7 @@
- m_resetRequestIgnoreTimer->start();
-
- org_kde_ksld_hibernateSystem(m_ksldInterface);
-+#endif /* WAYLAND_FOUND */
- }
-
- void UnlockApp::setTesting(bool enable)
-@@ -626,7 +649,7 @@
- m_defaultToSwitchUser = defaultToSwitchUser;
- }
-
--
-+#ifdef WAYLAND_FOUND
- static void osdProgress(void *data, org_kde_ksld *org_kde_ksld, const char *icon, int32_t percent, const char *text)
- {
- Q_UNUSED(org_kde_ksld)
-@@ -657,9 +680,11 @@
- canSuspend,
- canHibernate
- };
-+#endif /* WAYLAND_FOUND */
-
- void UnlockApp::setKsldSocket(int socket)
- {
-+#ifdef WAYLAND_FOUND
- using namespace KWayland::Client;
- m_ksldConnection = new ConnectionThread;
- m_ksldConnection->setSocketFd(socket);
-@@ -697,6 +722,7 @@
- m_ksldConnection->moveToThread(m_ksldConnectionThread);
- m_ksldConnectionThread->start();
- m_ksldConnection->initConnection();
-+#endif /* WAYLAND_FOUND */
- }
-
- void UnlockApp::osdProgress(const QString &icon, int percent, const QString &additionalText)
---- kscreenlocker-5.12.9/greeter/CMakeLists.txt.old 2019-09-10 10:30:16.000000000 +0000
-+++ kscreenlocker-5.12.9/greeter/CMakeLists.txt 2019-12-29 17:29:44.832222068 +0000
-@@ -24,10 +24,16 @@
- qt5_add_resources(kscreenlocker_greet_SRCS fallbacktheme.qrc)
- kconfig_add_kcfg_files(kscreenlocker_greet_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../kcfg/kscreensaversettings.kcfgc)
-
-+if(KF5Wayland_FOUND)
- ecm_add_wayland_client_protocol(kscreenlocker_greet_SRCS
- PROTOCOL ../protocols/ksld.xml
- BASENAME ksld
- )
-+set(OPT_WL_CLI_LIBRARIES
-+ KF5::WaylandClient
-+ Wayland::Client
-+)
-+endif()
-
- add_executable(kscreenlocker_greet ${kscreenlocker_greet_SRCS})
-
-@@ -43,8 +49,7 @@
- Qt5::Qml
- Qt5::X11Extras
- ${X11_LIBRARIES}
-- KF5::WaylandClient
-- Wayland::Client
-+ ${OPT_WL_CLI_LIBRARIES}
- )
- if(HAVE_SECCOMP)
- target_link_libraries(kscreenlocker_greet Qt5::DBus Seccomp::Seccomp)
diff --git a/user/libexif/CVE-2020-0198.patch b/user/libexif/CVE-2020-0198.patch
deleted file mode 100644
index e0358c220..000000000
--- a/user/libexif/CVE-2020-0198.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c Mon Sep 17 00:00:00 2001
-From: Marcus Meissner <marcus@jet.franken.de>
-Date: Mon, 8 Jun 2020 17:27:06 +0200
-Subject: [PATCH] fixed another unsigned integer overflow
-
-first fixed by google in android fork,
-https://android.googlesource.com/platform/external/libexif/+/1e187b62682ffab5003c702657d6d725b4278f16%5E%21/#F0
-
-(use a more generic overflow check method, also check second overflow instance.)
-
-https://security-tracker.debian.org/tracker/CVE-2020-0198
----
- libexif/exif-data.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/libexif/exif-data.c b/libexif/exif-data.c
-index 8b280d3..b495726 100644
---- a/libexif/exif-data.c
-+++ b/libexif/exif-data.c
-@@ -47,6 +47,8 @@
- #undef JPEG_MARKER_APP1
- #define JPEG_MARKER_APP1 0xe1
-
-+#define CHECKOVERFLOW(offset,datasize,structsize) (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize ))
-+
- static const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
-
- struct _ExifDataPrivate
-@@ -327,7 +329,7 @@ exif_data_load_data_thumbnail (ExifData *data, const unsigned char *d,
- exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail offset (%u).", o);
- return;
- }
-- if (s > ds - o) {
-+ if (CHECKOVERFLOW(o,ds,s)) {
- exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail size (%u), max would be %u.", s, ds-o);
- return;
- }
-@@ -420,9 +422,9 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
- }
-
- /* Read the number of entries */
-- if ((offset + 2 < offset) || (offset + 2 < 2) || (offset + 2 > ds)) {
-+ if (CHECKOVERFLOW(offset, ds, 2)) {
- exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData",
-- "Tag data past end of buffer (%u > %u)", offset+2, ds);
-+ "Tag data past end of buffer (%u+2 > %u)", offset, ds);
- return;
- }
- n = exif_get_short (d + offset, data->priv->order);
-@@ -431,7 +433,7 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
- offset += 2;
-
- /* Check if we have enough data. */
-- if (offset + 12 * n > ds) {
-+ if (CHECKOVERFLOW(offset, ds, 12*n)) {
- n = (ds - offset) / 12;
- exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData",
- "Short data; only loading %hu entries...", n);
diff --git a/user/libgit2/remove-flaky-revparse-test.patch b/user/libgit2/remove-flaky-revparse-test.patch
deleted file mode 100644
index 94d6806b8..000000000
--- a/user/libgit2/remove-flaky-revparse-test.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-This patch differs from upstream in the following way(s):
-
- * Changed paths
-
- * Changed "11 years ago" to "10 years ago" to match state
- before libgit2 bdab22384cc61d315005a65456a9f9563bb27c8f
-
- * Changed a commit hash to 'NULL' to match source code
-
-From 7f53d7b600a838c19276e835fd0188c361a63801 Mon Sep 17 00:00:00 2001
-From: Carl Dong <accounts@carldong.me>
-Date: Mon, 9 May 2022 12:09:08 -0400
-Subject: [PATCH] revparse: Remove error-prone, redundant test
-
-Originally introduced in: 776a6a8e5f8e258d31aded73c0ce38df6ac7bdc4
-
-This test case has recently been fixed in bdab22384cc61d315005a65456a9f9563bb27c8f, but that fix will only last for a year. Next year the same problem will crop up and the test will need to be re-edited.
-
-This is not ideal as
-- This test case becomes an unnecessary burden for developers
-- Downstream distros or even just users who want to build older versions of libgit2 are guaranteed to have this test fail
-
-Furthermore, this test case is entirely unnecessary, as the functionality that was originally (see 776a6a8e5f8e258d31aded73c0ce38df6ac7bdc4) intended to be tested is well-covered by subsequent tests which specify a date instead of a "x ago" specification.
----
- tests/libgit2/refs/revparse.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/tests/libgit2/refs/revparse.c b/tests/libgit2/refs/revparse.c
-index 93d7ce6db81..56af3c939be 100644
---- a/tests/refs/revparse.c
-+++ b/tests/refs/revparse.c
-@@ -399,8 +399,6 @@ void test_refs_revparse__date(void)
- * a65fedf HEAD@{1335806603 -0900}: commit:
- * be3563a HEAD@{1335806563 -0700}: clone: from /Users/ben/src/libgit2/tests/resour
- */
-- test_object("HEAD@{10 years ago}", NULL);
--
- test_object("HEAD@{1 second}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
- test_object("HEAD@{1 second ago}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
- test_object("HEAD@{2 days ago}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
diff --git a/user/libical/automake.patch b/user/libical/automake.patch
deleted file mode 100644
index 757220a62..000000000
--- a/user/libical/automake.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./configure.in.orig 2012-12-31 20:03:51.355227119 +0000
-+++ ./configure.in 2012-12-31 20:04:03.445327143 +0000
-@@ -5,7 +5,7 @@
- AC_CANONICAL_SYSTEM
- AM_INIT_AUTOMAKE
-
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADER(config.h)
-
- dnl Initialize maintainer mode
- AM_MAINTAINER_MODE
diff --git a/user/libice/CVE-2017-2626.patch b/user/libice/CVE-2017-2626.patch
deleted file mode 100644
index ea2d8835b..000000000
--- a/user/libice/CVE-2017-2626.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From ff5e59f32255913bb1cdf51441b98c9107ae165b Mon Sep 17 00:00:00 2001
-From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-Date: Tue, 4 Apr 2017 19:12:53 +0200
-Subject: Use getentropy() if arc4random_buf() is not available
-
-This allows to fix CVE-2017-2626 on Linux platforms without pulling in
-libbsd.
-The libc getentropy() is available since glibc 2.25 but also on OpenBSD.
-For Linux, we need at least a v3.17 kernel. If the recommended
-arc4random_buf() function is not available, emulate it by first trying
-to use getentropy() on a supported glibc and kernel. If the call fails,
-fall back to the current (partly vulnerable) code.
-
-Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- configure.ac | 2 +-
- src/iceauth.c | 65 ++++++++++++++++++++++++++++++++++++++++++-----------------
- 2 files changed, 47 insertions(+), 20 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 458882a..c971ab6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,7 +38,7 @@ AC_DEFINE(ICE_t, 1, [Xtrans transport type])
-
- # Checks for library functions.
- AC_CHECK_LIB([bsd], [arc4random_buf])
--AC_CHECK_FUNCS([asprintf arc4random_buf])
-+AC_CHECK_FUNCS([asprintf arc4random_buf getentropy])
-
- # Allow checking code with lint, sparse, etc.
- XORG_WITH_LINT
-diff --git a/src/iceauth.c b/src/iceauth.c
-index ed31683..de4785b 100644
---- a/src/iceauth.c
-+++ b/src/iceauth.c
-@@ -44,31 +44,19 @@ Author: Ralph Mor, X Consortium
-
- static int was_called_state;
-
--/*
-- * MIT-MAGIC-COOKIE-1 is a sample authentication method implemented by
-- * the SI. It is not part of standard ICElib.
-- */
-+#ifndef HAVE_ARC4RANDOM_BUF
-
--
--char *
--IceGenerateMagicCookie (
-+static void
-+emulate_getrandom_buf (
-+ char *auth,
- int len
- )
- {
-- char *auth;
--#ifndef HAVE_ARC4RANDOM_BUF
- long ldata[2];
- int seed;
- int value;
- int i;
--#endif
-
-- if ((auth = malloc (len + 1)) == NULL)
-- return (NULL);
--
--#ifdef HAVE_ARC4RANDOM_BUF
-- arc4random_buf(auth, len);
--#else
- #ifdef ITIMER_REAL
- {
- struct timeval now;
-@@ -76,13 +64,13 @@ IceGenerateMagicCookie (
- ldata[0] = now.tv_sec;
- ldata[1] = now.tv_usec;
- }
--#else
-+#else /* ITIMER_REAL */
- {
- long time ();
- ldata[0] = time ((long *) 0);
- ldata[1] = getpid ();
- }
--#endif
-+#endif /* ITIMER_REAL */
- seed = (ldata[0]) + (ldata[1] << 16);
- srand (seed);
- for (i = 0; i < len; i++)
-@@ -90,7 +78,46 @@ IceGenerateMagicCookie (
- value = rand ();
- auth[i] = value & 0xff;
- }
--#endif
-+}
-+
-+static void
-+arc4random_buf (
-+ char *auth,
-+ int len
-+)
-+{
-+ int ret;
-+
-+#if HAVE_GETENTROPY
-+ /* weak emulation of arc4random through the entropy libc */
-+ ret = getentropy (auth, len);
-+ if (ret == 0)
-+ return;
-+#endif /* HAVE_GETENTROPY */
-+
-+ emulate_getrandom_buf (auth, len);
-+}
-+
-+#endif /* !defined(HAVE_ARC4RANDOM_BUF) */
-+
-+/*
-+ * MIT-MAGIC-COOKIE-1 is a sample authentication method implemented by
-+ * the SI. It is not part of standard ICElib.
-+ */
-+
-+
-+char *
-+IceGenerateMagicCookie (
-+ int len
-+)
-+{
-+ char *auth;
-+
-+ if ((auth = malloc (len + 1)) == NULL)
-+ return (NULL);
-+
-+ arc4random_buf (auth, len);
-+
- auth[len] = '\0';
- return (auth);
- }
---
-cgit v1.1
-
diff --git a/user/liborcus/sepples-is-a-sin.patch b/user/liborcus/sepples-is-a-sin.patch
deleted file mode 100644
index 210ef2c86..000000000
--- a/user/liborcus/sepples-is-a-sin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- liborcus-0.15.3/src/liborcus/json_map_tree.cpp 2019-08-02 19:31:14.000000000 -0400
-+++ liborcus-0.15.3/src/liborcus/json_map_tree.cpp 2020-02-06 23:35:09.274550724 -0500
-@@ -14,6 +14,8 @@
-
- namespace orcus {
-
-+constexpr json_map_tree::child_position_type json_map_tree::node_child_default_position;
-+
- namespace {
-
- void throw_path_error(const char* file, int line, const pstring& path)
diff --git a/user/libraw1394/fix-types.patch b/user/libraw1394/fix-types.patch
deleted file mode 100644
index d82cf815a..000000000
--- a/user/libraw1394/fix-types.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -ru libraw1394-2.1.0.orig/src/fw-iso.c libraw1394-2.1.0/src/fw-iso.c
---- libraw1394-2.1.0.orig/src/fw-iso.c 2012-06-27 23:10:19.000000000 +0300
-+++ libraw1394-2.1.0/src/fw-iso.c 2013-09-30 17:38:30.070506505 +0300
-@@ -303,7 +303,7 @@
- }
-
- static int handle_iso_event(raw1394handle_t handle,
-- struct epoll_closure *closure, __uint32_t events)
-+ struct epoll_closure *closure, uint32_t events)
- {
- fw_handle_t fwhandle = handle->mode.fw;
- struct fw_cdev_event_iso_interrupt *interrupt;
-diff -ru libraw1394-2.1.0.orig/src/fw.c libraw1394-2.1.0/src/fw.c
---- libraw1394-2.1.0.orig/src/fw.c 2012-07-08 21:27:52.000000000 +0300
-+++ libraw1394-2.1.0/src/fw.c 2013-09-30 17:38:30.070506505 +0300
-@@ -187,7 +187,7 @@
-
- static int
- handle_echo_pipe(raw1394handle_t handle,
-- struct epoll_closure *ec, __uint32_t events)
-+ struct epoll_closure *ec, uint32_t events)
- {
- quadlet_t value;
-
-@@ -258,7 +258,7 @@
-
- static int
- handle_device_event(raw1394handle_t handle,
-- struct epoll_closure *ec, __uint32_t events)
-+ struct epoll_closure *ec, uint32_t events)
- {
- fw_handle_t fwhandle = handle->mode.fw;
- union fw_cdev_event *u;
-@@ -421,7 +421,7 @@
-
- static int
- handle_inotify(raw1394handle_t handle, struct epoll_closure *ec,
-- __uint32_t events)
-+ uint32_t events)
- {
- fw_handle_t fwhandle = handle->mode.fw;
- struct inotify_event *event;
-diff -ru libraw1394-2.1.0.orig/src/fw.h libraw1394-2.1.0/src/fw.h
---- libraw1394-2.1.0.orig/src/fw.h 2012-07-08 21:27:52.000000000 +0300
-+++ libraw1394-2.1.0/src/fw.h 2013-09-30 17:38:42.330440087 +0300
-@@ -12,6 +12,7 @@
- #ifndef LIBRAW1394_FW_H
- #define LIBRAW1394_FW_H
-
-+#include <stdint.h>
- #include <stdlib.h>
- #include <byteswap.h>
-
-@@ -48,7 +49,7 @@
-
- struct epoll_closure {
- int (*func)(raw1394handle_t handle,
-- struct epoll_closure *closure, __uint32_t events);
-+ struct epoll_closure *closure, uint32_t events);
- };
-
- struct port {
diff --git a/user/libtasn1/CVE-2017-10790.patch b/user/libtasn1/CVE-2017-10790.patch
deleted file mode 100644
index eb752c20a..000000000
--- a/user/libtasn1/CVE-2017-10790.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d8d805e1f2e6799bb2dff4871a8598dc83088a39 Mon Sep 17 00:00:00 2001
-From: Nikos Mavrogiannopoulos <nmav@redhat.com>
-Date: Thu, 22 Jun 2017 16:31:37 +0200
-Subject: [PATCH] _asn1_check_identifier: safer access to values read
-
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
----
- lib/parser_aux.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/lib/parser_aux.c b/lib/parser_aux.c
-index 976ab38..786ea64 100644
---- a/lib/parser_aux.c
-+++ b/lib/parser_aux.c
-@@ -955,7 +955,7 @@ _asn1_check_identifier (asn1_node node)
- if (p2 == NULL)
- {
- if (p->value)
-- _asn1_strcpy (_asn1_identifierMissing, p->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p->value);
- else
- _asn1_strcpy (_asn1_identifierMissing, "(null)");
- return ASN1_IDENTIFIER_NOT_FOUND;
-@@ -968,9 +968,15 @@ _asn1_check_identifier (asn1_node node)
- if (p2 && (type_field (p2->type) == ASN1_ETYPE_DEFAULT))
- {
- _asn1_str_cpy (name2, sizeof (name2), node->name);
-- _asn1_str_cat (name2, sizeof (name2), ".");
-- _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-- _asn1_strcpy (_asn1_identifierMissing, p2->value);
-+ if (p2->value)
-+ {
-+ _asn1_str_cat (name2, sizeof (name2), ".");
-+ _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value);
-+ }
-+ else
-+ _asn1_strcpy (_asn1_identifierMissing, "(null)");
-+
- p2 = asn1_find_node (node, name2);
- if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID) ||
- !(p2->type & CONST_ASSIGN))
-@@ -990,7 +996,8 @@ _asn1_check_identifier (asn1_node node)
- _asn1_str_cpy (name2, sizeof (name2), node->name);
- _asn1_str_cat (name2, sizeof (name2), ".");
- _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-- _asn1_strcpy (_asn1_identifierMissing, p2->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value);
-+
- p2 = asn1_find_node (node, name2);
- if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID)
- || !(p2->type & CONST_ASSIGN))
---
-1.9.1
-
diff --git a/user/libvncserver/LibVNCServer-0.9.10-system_minilzo.patch b/user/libvncserver/LibVNCServer-0.9.10-system_minilzo.patch
deleted file mode 100644
index 34e789bba..000000000
--- a/user/libvncserver/LibVNCServer-0.9.10-system_minilzo.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff -up LibVNCServer-0.9.10/libvncclient/Makefile.am.system_minilzo LibVNCServer-0.9.10/libvncclient/Makefile.am
---- LibVNCServer-0.9.10/libvncclient/Makefile.am.system_minilzo 2014-04-05 18:38:35.000000000 -0500
-+++ LibVNCServer-0.9.10/libvncclient/Makefile.am 2014-04-29 08:56:27.861761880 -0500
-@@ -13,10 +13,10 @@ endif
- endif
-
-
--libvncclient_la_SOURCES=cursor.c listen.c rfbproto.c sockets.c vncviewer.c ../common/minilzo.c $(TLSSRCS)
--libvncclient_la_LIBADD=$(TLSLIBS) $(VA_LIBS)
-+libvncclient_la_SOURCES=cursor.c listen.c rfbproto.c sockets.c vncviewer.c $(TLSSRCS)
-+libvncclient_la_LIBADD=$(TLSLIBS) $(VA_LIBS) -lminilzo
-
--noinst_HEADERS=../common/lzodefs.h ../common/lzoconf.h ../common/minilzo.h tls.h
-+noinst_HEADERS=tls.h
-
- rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c zrle.c ultra.c
-
-diff -up LibVNCServer-0.9.10/libvncclient/rfbproto.c.system_minilzo LibVNCServer-0.9.10/libvncclient/rfbproto.c
---- LibVNCServer-0.9.10/libvncclient/rfbproto.c.system_minilzo 2014-04-05 18:38:35.000000000 -0500
-+++ LibVNCServer-0.9.10/libvncclient/rfbproto.c 2014-04-29 08:39:57.638331693 -0500
-@@ -61,7 +61,7 @@
- #include <gcrypt.h>
- #endif
-
--#include "minilzo.h"
-+#include <lzo/minilzo.h>
- #include "tls.h"
-
- /*
-diff -up LibVNCServer-0.9.10/libvncserver/Makefile.am.system_minilzo LibVNCServer-0.9.10/libvncserver/Makefile.am
---- LibVNCServer-0.9.10/libvncserver/Makefile.am.system_minilzo 2014-04-05 18:38:35.000000000 -0500
-+++ LibVNCServer-0.9.10/libvncserver/Makefile.am 2014-04-29 08:39:57.638331693 -0500
-@@ -37,7 +37,7 @@ include_HEADERS=../rfb/rfb.h ../rfb/rfbc
-
- noinst_HEADERS=../common/d3des.h ../rfb/default8x16.h zrleoutstream.h \
- zrlepalettehelper.h zrletypes.h private.h scale.h rfbssl.h rfbcrypto.h \
-- ../common/minilzo.h ../common/lzoconf.h ../common/lzodefs.h ../common/md5.h ../common/sha1.h \
-+ ../common/md5.h ../common/sha1.h \
- $(TIGHTVNCFILETRANSFERHDRS)
-
- EXTRA_DIST=tableinit24.c tableinittctemplate.c tabletranstemplate.c \
-@@ -54,11 +54,11 @@ endif
- LIB_SRCS = main.c rfbserver.c rfbregion.c auth.c sockets.c $(WEBSOCKETSSRCS) \
- stats.c corre.c hextile.c rre.c translate.c cutpaste.c \
- httpd.c cursor.c font.c \
-- draw.c selbox.c ../common/d3des.c ../common/vncauth.c cargs.c ../common/minilzo.c ultra.c scale.c \
-+ draw.c selbox.c ../common/d3des.c ../common/vncauth.c cargs.c ultra.c scale.c \
- $(ZLIBSRCS) $(TIGHTSRCS) $(TIGHTVNCFILETRANSFERSRCS)
-
- libvncserver_la_SOURCES=$(LIB_SRCS)
--libvncserver_la_LIBADD=$(WEBSOCKETSSSLLIBS)
-+libvncserver_la_LIBADD=$(WEBSOCKETSSSLLIBS) -lminilzo
-
- lib_LTLIBRARIES=libvncserver.la
-
-diff -up LibVNCServer-0.9.10/libvncserver/ultra.c.system_minilzo LibVNCServer-0.9.10/libvncserver/ultra.c
---- LibVNCServer-0.9.10/libvncserver/ultra.c.system_minilzo 2014-04-05 18:38:35.000000000 -0500
-+++ LibVNCServer-0.9.10/libvncserver/ultra.c 2014-04-29 08:39:57.638331693 -0500
-@@ -8,7 +8,7 @@
- */
-
- #include <rfb/rfb.h>
--#include "minilzo.h"
-+#include <lzo/minilzo.h>
-
- /*
- * cl->beforeEncBuf contains pixel data in the client's format.
diff --git a/user/libxcb/0001-tests-Support-Check-0.13.0-API.patch b/user/libxcb/0001-tests-Support-Check-0.13.0-API.patch
deleted file mode 100644
index fce1f83d0..000000000
--- a/user/libxcb/0001-tests-Support-Check-0.13.0-API.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a667ec3e0cf5d9cd1d1715e3fff3328e353fae84 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Mon, 23 Dec 2019 21:49:29 -0600
-Subject: [PATCH] tests: Support Check 0.13.0 API
-
----
- tests/check_all.c | 4 ++--
- tests/check_suites.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/check_all.c b/tests/check_all.c
-index 4393422..f201dec 100644
---- a/tests/check_all.c
-+++ b/tests/check_all.c
-@@ -1,10 +1,10 @@
- #include <stdlib.h>
- #include "check_suites.h"
-
--void suite_add_test(Suite *s, TFun tf, const char *name)
-+void suite_add_test(Suite *s, const TTest *tt, const char *name)
- {
- TCase *tc = tcase_create(name);
-- tcase_add_test(tc, tf);
-+ tcase_add_test(tc, tt);
- suite_add_tcase(s, tc);
- }
-
-diff --git a/tests/check_suites.h b/tests/check_suites.h
-index 499f1af..595923a 100644
---- a/tests/check_suites.h
-+++ b/tests/check_suites.h
-@@ -1,4 +1,4 @@
- #include <check.h>
-
--void suite_add_test(Suite *s, TFun tf, const char *name);
-+void suite_add_test(Suite *s, const TTest *tt, const char *name);
- Suite *public_suite(void);
---
-2.24.1
-
diff --git a/user/llvm14/scc-insertion.patch b/user/llvm14/scc-insertion.patch
deleted file mode 100644
index b2d7d511a..000000000
--- a/user/llvm14/scc-insertion.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f7e9f4f4c50245d10ca9869a9f8f3d431dfb6948 Mon Sep 17 00:00:00 2001
-From: Warren Ristow <warren_ristow@playstation.sony.com>
-Date: Tue, 14 Jan 2020 10:30:24 -0800
-Subject: [PATCH] SCC: Allow ReplaceNode to safely support insertion
-
-If scc_iterator::ReplaceNode is inserting a new entry in the map,
-rather than replacing an existing entry, the possibility of growing
-the map could cause a failure. This change safely implements the
-insertion.
-
-Reviewed By: probinson
-
-Differential Revision: https://reviews.llvm.org/D72469
----
- include/llvm/ADT/SCCIterator.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/include/llvm/ADT/SCCIterator.h b/include/llvm/ADT/SCCIterator.h
-index eb1a5d0938cf..1e642b9f75d3 100644
---- a/include/llvm/ADT/SCCIterator.h
-+++ b/include/llvm/ADT/SCCIterator.h
-@@ -134,7 +134,10 @@ class scc_iterator : public iterator_facade_base<
- /// has been deleted, and \c New is to be used in its place.
- void ReplaceNode(NodeRef Old, NodeRef New) {
- assert(nodeVisitNumbers.count(Old) && "Old not in scc_iterator?");
-- nodeVisitNumbers[New] = nodeVisitNumbers[Old];
-+ // Do the assignment in two steps, in case 'New' is not yet in the map, and
-+ // inserting it causes the map to grow.
-+ auto tempVal = nodeVisitNumbers[Old];
-+ nodeVisitNumbers[New] = tempVal;
- nodeVisitNumbers.erase(Old);
- }
- };
diff --git a/user/mozjs/python3.patch b/user/mozjs/python3.patch
deleted file mode 100644
index 65fc9da53..000000000
--- a/user/mozjs/python3.patch
+++ /dev/null
@@ -1,9552 +0,0 @@
---- mozjs-52.4.0/python/mozbuild/dumbmake/dumbmake.py (original)
-+++ mozjs-52.4.0/python/mozbuild/dumbmake/dumbmake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from collections import OrderedDict
- from itertools import groupby
-@@ -36,7 +36,7 @@
- deps = {}
-
- for i, (indent, target) in enumerate(pairs):
-- if not deps.has_key(target):
-+ if target not in deps:
- deps[target] = []
-
- for j in range(i+1, len(pairs)):
-@@ -68,7 +68,7 @@
- del all_targets[dependency]
- all_targets[dependency] = True
-
-- return all_targets.keys()
-+ return list(all_targets.keys())
-
- def get_components(path):
- """Take a path and return all the components of the path."""
-@@ -114,7 +114,7 @@
- make_dirs[make_dir] = True
-
- all_components = []
-- for make_dir in make_dirs.iterkeys():
-+ for make_dir in make_dirs.keys():
- all_components.extend(get_components(make_dir))
-
- for i in all_dependencies(*all_components, dependency_map=dependency_map):
---- mozjs-52.4.0/python/mozbuild/dumbmake/test/test_dumbmake.py (original)
-+++ mozjs-52.4.0/python/mozbuild/dumbmake/test/test_dumbmake.py (refactored)
-@@ -1,7 +1,7 @@
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
--from __future__ import unicode_literals
-+
-
- import unittest
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/android_version_code.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/android_version_code.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import math
---- mozjs-52.4.0/python/mozbuild/mozbuild/artifacts.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/artifacts.py (refactored)
-@@ -40,7 +40,7 @@
- '''
-
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import collections
- import functools
-@@ -57,7 +57,7 @@
- import subprocess
- import tarfile
- import tempfile
--import urlparse
-+import urllib.parse
- import zipfile
-
- import pylru
-@@ -183,7 +183,7 @@
-
- with JarWriter(file=processed_filename, optimize=False, compress_level=5) as writer:
- reader = JarReader(filename)
-- for filename, entry in reader.entries.iteritems():
-+ for filename, entry in reader.entries.items():
- for pattern, (src_prefix, dest_prefix) in self.test_artifact_patterns:
- if not mozpath.match(filename, pattern):
- continue
-@@ -552,7 +552,7 @@
-
- def print_cache(self):
- with self:
-- for item in self._cache.items():
-+ for item in list(self._cache.items()):
- self.log(logging.INFO, 'artifact',
- {'item': item},
- '{item}')
-@@ -565,7 +565,7 @@
- # We use the persisted LRU caches to our advantage. The first item is
- # most recent.
- with self:
-- item = next(self._cache.items(), None)
-+ item = next(list(self._cache.items()), None)
- if item is not None:
- (name, args, sorted_kwargs), result = item
- self.print_last_item(args, sorted_kwargs, result)
-@@ -593,10 +593,10 @@
- 'changeset={changeset}&version=2&tipsonly=1')
- req = requests.get(cset_url_tmpl.format(tree=tree, changeset=revision),
- headers={'Accept': 'application/json'})
-- if req.status_code not in range(200, 300):
-+ if req.status_code not in list(range(200, 300)):
- raise ValueError
- result = req.json()
-- [found_pushid] = result['pushes'].keys()
-+ [found_pushid] = list(result['pushes'].keys())
- return int(found_pushid)
-
- @cachedmethod(operator.attrgetter('_cache'))
-@@ -609,7 +609,7 @@
- headers={'Accept': 'application/json'})
- result = req.json()
- return [
-- p['changesets'][-1] for p in result['pushes'].values()
-+ p['changesets'][-1] for p in list(result['pushes'].values())
- ]
-
- class TaskCache(CacheManager):
-@@ -847,7 +847,7 @@
-
- candidate_pushheads = collections.defaultdict(list)
-
-- for tree, pushid in found_pushids.iteritems():
-+ for tree, pushid in found_pushids.items():
- end = pushid
- start = pushid - NUM_PUSHHEADS_TO_QUERY_PER_PARENT
-
-@@ -1052,7 +1052,7 @@
- """
- if source and os.path.isfile(source):
- return self.install_from_file(source, distdir)
-- elif source and urlparse.urlparse(source).scheme:
-+ elif source and urllib.parse.urlparse(source).scheme:
- return self.install_from_url(source, distdir)
- else:
- if source is None and 'MOZ_ARTIFACT_REVISION' in os.environ:
---- mozjs-52.4.0/python/mozbuild/mozbuild/base.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import json
- import logging
-@@ -482,7 +482,7 @@
- for flag in flags:
- if flag == '-j':
- try:
-- flag = flags.next()
-+ flag = next(flags)
- except StopIteration:
- break
- try:
---- mozjs-52.4.0/python/mozbuild/mozbuild/config_status.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/config_status.py (refactored)
-@@ -6,7 +6,7 @@
- # drop-in replacement for autoconf 2.13's config.status, with features
- # borrowed from autoconf > 2.5, and additional features.
-
--from __future__ import absolute_import, print_function
-+
-
- import logging
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/doctor.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/doctor.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import subprocess
-@@ -83,7 +83,7 @@
- valid = False
- while not valid and limit > 0:
- try:
-- choice = strtobool(raw_input(prompt + '[Y/N]\n'))
-+ choice = strtobool(input(prompt + '[Y/N]\n'))
- valid = True
- except ValueError:
- print("ERROR! Please enter a valid option!")
-@@ -103,11 +103,11 @@
- if status == 'SKIPPED':
- continue
- self.results.append(result)
-- print('%s...\t%s\n' % (
-+ print(('%s...\t%s\n' % (
- result.get('desc', ''),
- status
- )
-- ).expandtabs(40)
-+ ).expandtabs(40))
-
- @property
- def platform(self):
-@@ -212,7 +212,7 @@
- fsutil_output = subprocess.check_output(command)
- status = 'GOOD, FIXED'
- desc = 'lastaccess disabled systemwide'
-- except subprocess.CalledProcessError, e:
-+ except subprocess.CalledProcessError as e:
- desc = 'lastaccess enabled systemwide'
- if e.output.find('denied') != -1:
- status = 'BAD, FIX DENIED'
---- mozjs-52.4.0/python/mozbuild/mozbuild/dotproperties.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/dotproperties.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains utility functions for reading .properties files, like
- # region.properties.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import codecs
- import re
-@@ -14,7 +14,7 @@
- if sys.version_info[0] == 3:
- str_type = str
- else:
-- str_type = basestring
-+ str_type = str
-
- class DotProperties:
- r'''A thin representation of a key=value .properties file.'''
-@@ -52,7 +52,7 @@
- if not prefix.endswith('.'):
- prefix = prefix + '.'
- indexes = []
-- for k, v in self._properties.iteritems():
-+ for k, v in self._properties.items():
- if not k.startswith(prefix):
- continue
- key = k[len(prefix):]
-@@ -73,7 +73,7 @@
- if not prefix.endswith('.'):
- prefix = prefix + '.'
-
-- D = dict((k[len(prefix):], v) for k, v in self._properties.iteritems()
-+ D = dict((k[len(prefix):], v) for k, v in self._properties.items()
- if k.startswith(prefix) and '.' not in k[len(prefix):])
-
- for required_key in required_keys:
---- mozjs-52.4.0/python/mozbuild/mozbuild/html_build_viewer.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/html_build_viewer.py (refactored)
-@@ -4,16 +4,16 @@
-
- # This module contains code for running an HTTP server to view build info.
-
--from __future__ import absolute_import, unicode_literals
-
--import BaseHTTPServer
-+
-+import http.server
- import json
- import os
-
- import requests
-
-
--class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
-+class HTTPHandler(http.server.BaseHTTPRequestHandler):
- def do_GET(self):
- s = self.server.wrapper
- p = self.path
-@@ -92,7 +92,7 @@
- self.doc_root = doc_root
- self.json_files = {}
-
-- self.server = BaseHTTPServer.HTTPServer((address, port), HTTPHandler)
-+ self.server = http.server.HTTPServer((address, port), HTTPHandler)
- self.server.wrapper = self
- self.do_shutdown = False
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/jar.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/jar.py (refactored)
-@@ -8,7 +8,7 @@
- See the documentation for jar.mn on MDC for further details on the format.
- '''
-
--from __future__ import absolute_import
-+
-
- import sys
- import os
-@@ -17,7 +17,7 @@
- import logging
- from time import localtime
- from MozZipFile import ZipFile
--from cStringIO import StringIO
-+from io import StringIO
- from collections import defaultdict
-
- from mozbuild.preprocessor import Preprocessor
-@@ -302,9 +302,9 @@
- '''updateManifest replaces the % in the chrome registration entries
- with the given chrome base path, and updates the given manifest file.
- '''
-- myregister = dict.fromkeys(map(lambda s: s.replace('%',
-- chromebasepath), register))
-- addEntriesToListFile(manifestPath, myregister.iterkeys())
-+ myregister = dict.fromkeys([s.replace('%',
-+ chromebasepath) for s in register])
-+ addEntriesToListFile(manifestPath, iter(myregister.keys()))
-
- def makeJar(self, infile, jardir):
- '''makeJar is the main entry point to JarMaker.
-@@ -322,7 +322,7 @@
- elif self.relativesrcdir:
- self.localedirs = \
- self.generateLocaleDirs(self.relativesrcdir)
-- if isinstance(infile, basestring):
-+ if isinstance(infile, str):
- logging.info('processing ' + infile)
- self.sourcedirs.append(_normpath(os.path.dirname(infile)))
- pp = self.pp.clone()
-@@ -372,7 +372,7 @@
- jarfilepath = jarfile + '.jar'
- try:
- os.makedirs(os.path.dirname(jarfilepath))
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
- jf = ZipFile(jarfilepath, 'a', lock=True)
-@@ -514,7 +514,7 @@
- # remove previous link or file
- try:
- os.remove(out)
-- except OSError, e:
-+ except OSError as e:
- if e.errno != errno.ENOENT:
- raise
- return open(out, 'wb')
-@@ -525,7 +525,7 @@
- if not os.path.isdir(outdir):
- try:
- os.makedirs(outdir)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
- return out
-@@ -541,7 +541,7 @@
- # remove previous link or file
- try:
- os.remove(out)
-- except OSError, e:
-+ except OSError as e:
- if e.errno != errno.ENOENT:
- raise
- if sys.platform != 'win32':
---- mozjs-52.4.0/python/mozbuild/mozbuild/mach_commands.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import errno
-@@ -136,7 +136,7 @@
- # terminal is a blessings.Terminal.
- self._t = terminal
- self._fh = sys.stdout
-- self.tiers = monitor.tiers.tier_status.viewitems()
-+ self.tiers = monitor.tiers.tier_status.items()
-
- def clear(self):
- """Removes the footer from the current terminal."""
-@@ -802,7 +802,7 @@
- dirpath = None
-
- type_counts = database.type_counts(dirpath)
-- sorted_counts = sorted(type_counts.iteritems(),
-+ sorted_counts = sorted(iter(type_counts.items()),
- key=operator.itemgetter(1))
-
- total = 0
-@@ -957,7 +957,7 @@
- processes[i].run()
-
- exit_code = 0
-- for process in processes.values():
-+ for process in list(processes.values()):
- status = process.wait()
- if status:
- exit_code = status
---- mozjs-52.4.0/python/mozbuild/mozbuild/makeutil.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/makeutil.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
-@@ -66,7 +66,7 @@
- self._list = []
- self._set = set()
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return bool(self._set)
-
- def __iter__(self):
---- mozjs-52.4.0/python/mozbuild/mozbuild/mozconfig.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/mozconfig.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import filecmp
- import os
-@@ -306,7 +306,7 @@
-
- # Environment variables also appear as shell variables, but that's
- # uninteresting duplication of information. Filter them out.
-- filt = lambda x, y: {k: v for k, v in x.items() if k not in y}
-+ filt = lambda x, y: {k: v for k, v in list(x.items()) if k not in y}
- result['vars'] = diff_vars(
- filt(parsed['vars_before'], parsed['env_before']),
- filt(parsed['vars_after'], parsed['env_after'])
---- mozjs-52.4.0/python/mozbuild/mozbuild/mozinfo.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/mozinfo.py (refactored)
-@@ -5,7 +5,7 @@
- # This module produces a JSON file that provides basic build info and
- # configuration metadata.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
-@@ -154,7 +154,7 @@
- and what keys are produced.
- """
- build_conf = build_dict(config, env)
-- if isinstance(file, basestring):
-+ if isinstance(file, str):
- file = open(file, 'wb')
-
- json.dump(build_conf, file, sort_keys=True, indent=4)
---- mozjs-52.4.0/python/mozbuild/mozbuild/preprocessor.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/preprocessor.py (refactored)
-@@ -27,7 +27,8 @@
- import re
- from optparse import OptionParser
- import errno
--from makeutil import Makefile
-+from .makeutil import Makefile
-+from functools import reduce
-
- # hack around win32 mangling our line endings
- # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65443
-@@ -56,7 +57,7 @@
- self.__ignore_whitespace()
- self.e = self.__get_logical_or()
- if self.content:
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
-
- def __get_logical_or(self):
- """
-@@ -157,7 +158,7 @@
- if word_len:
- rv = Expression.__ASTLeaf('string', self.content[:word_len])
- else:
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
- self.__strip(word_len)
- self.__ignore_whitespace()
- return rv
-@@ -196,7 +197,7 @@
- return left and right
- elif tok[1].value == '||':
- return left or right
-- raise Expression.ParseError, self
-+ raise Expression.ParseError(self)
-
- # Mapping from token types to evaluator functions
- # Apart from (non-)equality, all these can be simple lambda forms.
-@@ -230,7 +231,7 @@
- def __repr__(self):
- return self.value.__repr__()
-
-- class ParseError(StandardError):
-+ class ParseError(Exception):
- """
- Error raised when parsing fails.
- It has two members, offset and content, which give the offset of the
-@@ -278,7 +279,7 @@
- self.context = Context()
- for k,v in {'FILE': '',
- 'LINE': 0,
-- 'DIRECTORY': os.path.abspath('.')}.iteritems():
-+ 'DIRECTORY': os.path.abspath('.')}.items():
- self.context[k] = v
- self.actionLevel = 0
- self.disableLevel = 0
-@@ -292,21 +293,21 @@
- self.cmds = {}
- for cmd, level in {'define': 0,
- 'undef': 0,
-- 'if': sys.maxint,
-- 'ifdef': sys.maxint,
-- 'ifndef': sys.maxint,
-+ 'if': sys.maxsize,
-+ 'ifdef': sys.maxsize,
-+ 'ifndef': sys.maxsize,
- 'else': 1,
- 'elif': 1,
- 'elifdef': 1,
- 'elifndef': 1,
-- 'endif': sys.maxint,
-+ 'endif': sys.maxsize,
- 'expand': 0,
- 'literal': 0,
- 'filter': 0,
- 'unfilter': 0,
- 'include': 0,
- 'includesubst': 0,
-- 'error': 0}.iteritems():
-+ 'error': 0}.items():
- self.cmds[cmd] = (level, getattr(self, 'do_' + cmd))
- self.out = sys.stdout
- self.setMarker(marker)
-@@ -469,7 +470,7 @@
- raise Preprocessor.Error(self, "--depend doesn't work with stdout",
- None)
- try:
-- from makeutil import Makefile
-+ from .makeutil import Makefile
- except:
- raise Preprocessor.Error(self, "--depend requires the "
- "mozbuild.makeutil module", None)
-@@ -684,7 +685,7 @@
- current = dict(self.filters)
- for f in filters:
- current[f] = getattr(self, 'filter_' + f)
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -694,7 +695,7 @@
- for f in filters:
- if f in current:
- del current[f]
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -739,7 +740,7 @@
- args can either be a file name, or a file-like object.
- Files should be opened, and will be closed after processing.
- """
-- isName = type(args) == str or type(args) == unicode
-+ isName = type(args) == str or type(args) == str
- oldCheckLineNumbers = self.checkLineNumbers
- self.checkLineNumbers = False
- if isName:
---- mozjs-52.4.0/python/mozbuild/mozbuild/pythonutil.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/pythonutil.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
-@@ -11,7 +11,7 @@
- def iter_modules_in_path(*paths):
- paths = [os.path.abspath(os.path.normcase(p)) + os.sep
- for p in paths]
-- for name, module in sys.modules.items():
-+ for name, module in list(sys.modules.items()):
- if not hasattr(module, '__file__'):
- continue
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/shellutil.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/shellutil.py (refactored)
-@@ -15,7 +15,7 @@
- # which matches the pattern and captures it in a named match group.
- # The group names and patterns are given as arguments.
- all_tokens = '|'.join('(?P<%s>%s)' % (name, value)
-- for name, value in tokens.iteritems())
-+ for name, value in tokens.items())
- nonescaped = r'(?<!\\)(?:%s)' % all_tokens
-
- # The final pattern matches either the above pattern, or an escaped
-@@ -96,7 +96,7 @@
- self.cline = self.cline[m.end():]
-
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # " or ' start a quoted string
- if match['quote'] == '"':
-@@ -144,7 +144,7 @@
- self._push(self.cline[:m.start()])
- self.cline = self.cline[m.end():]
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # a double quote ends the quoted string, so go back to
- # unquoted parsing
---- mozjs-52.4.0/python/mozbuild/mozbuild/sphinx.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/sphinx.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import importlib
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/testing.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/testing.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import os
- import sys
-
-@@ -62,7 +62,7 @@
- if test_defaults:
- with open(test_defaults, 'rb') as fh:
- defaults = pickle.load(fh)
-- for path, tests in test_data.items():
-+ for path, tests in list(test_data.items()):
- for metadata in tests:
- if defaults:
- manifest = metadata['manifest']
-@@ -303,7 +303,7 @@
- WEB_PLATFORM_TESTS_FLAVORS = ('web-platform-tests',)
-
- def all_test_flavors():
-- return ([v[0] for v in TEST_MANIFESTS.values()] +
-+ return ([v[0] for v in list(TEST_MANIFESTS.values())] +
- list(REFTEST_FLAVORS) +
- list(WEB_PLATFORM_TESTS_FLAVORS) +
- ['python'])
-@@ -445,7 +445,7 @@
- only a few tests need to be run.
- """
- flavor_info = {flavor: (root, prefix, install)
-- for (flavor, root, prefix, install) in TEST_MANIFESTS.values()}
-+ for (flavor, root, prefix, install) in list(TEST_MANIFESTS.values())}
- objdir_dest = mozpath.join(topobjdir, tests_root)
-
- converter = SupportFilesConverter()
-@@ -527,7 +527,7 @@
- paths_file = os.path.join(context.config.topsrcdir, "testing",
- "web-platform", "tests", "tools", "localpaths.py")
- _globals = {"__file__": paths_file}
-- execfile(paths_file, _globals)
-+ exec(compile(open(paths_file).read(), paths_file, 'exec'), _globals)
- import manifest as wptmanifest
- finally:
- sys.path = old_path
---- mozjs-52.4.0/python/mozbuild/mozbuild/util.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/util.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains miscellaneous utility functions that don't belong anywhere
- # in particular.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- import argparse
- import collections
-@@ -36,7 +36,7 @@
- if sys.version_info[0] == 3:
- str_type = str
- else:
-- str_type = basestring
-+ str_type = str
-
- if sys.platform == 'win32':
- _kernel32 = ctypes.windll.kernel32
-@@ -78,7 +78,7 @@
- return h.hexdigest()
-
-
--class EmptyValue(unicode):
-+class EmptyValue(str):
- """A dummy type that behaves like an empty string and sequence.
-
- This type exists in order to support
-@@ -92,7 +92,7 @@
- class ReadOnlyNamespace(object):
- """A class for objects with immutable attributes set at initialization."""
- def __init__(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- super(ReadOnlyNamespace, self).__setattr__(k, v)
-
- def __delattr__(self, key):
-@@ -152,7 +152,7 @@
- if d and not os.path.exists(path):
- try:
- os.makedirs(d)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-
-@@ -224,7 +224,7 @@
- self.mode = mode
-
- def write(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- BytesIO.write(self, buf)
-
-@@ -381,7 +381,7 @@
- def __add__(self, other):
- # Allow None and EmptyValue is a special case because it makes undefined
- # variable references in moz.build behave better.
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -390,7 +390,7 @@
- return new_list
-
- def __iadd__(self, other):
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -542,14 +542,14 @@
- functions below.
- """
- assert isinstance(flags, dict)
-- assert all(isinstance(v, type) for v in flags.values())
-+ assert all(isinstance(v, type) for v in list(flags.values()))
-
- class Flags(object):
-- __slots__ = flags.keys()
-+ __slots__ = list(flags.keys())
- _flags = flags
-
- def update(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- setattr(self, k, v)
-
- def __getattr__(self, name):
-@@ -1080,14 +1080,14 @@
- # issue. So we do a little dance to filter it out ourselves.
- dummy_fill_value = ("dummy",)
- def filter_out_dummy(iterable):
-- return itertools.ifilter(lambda x: x != dummy_fill_value,
-+ return filter(lambda x: x != dummy_fill_value,
- iterable)
-
- # From the itertools documentation, slightly modified:
- def grouper(n, iterable):
- "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
- args = [iter(iterable)] * n
-- return itertools.izip_longest(fillvalue=dummy_fill_value, *args)
-+ return itertools.zip_longest(fillvalue=dummy_fill_value, *args)
-
- for i, unified_group in enumerate(grouper(files_per_unified_file,
- files)):
-@@ -1104,7 +1104,7 @@
- [(1,2), (3,4), (5,6)]
- '''
- i = iter(iterable)
-- return itertools.izip_longest(i, i)
-+ return itertools.zip_longest(i, i)
-
-
- VARIABLES_RE = re.compile('\$\((\w+)\)')
-@@ -1122,7 +1122,7 @@
- value = variables.get(name)
- if not value:
- continue
-- if not isinstance(value, types.StringTypes):
-+ if not isinstance(value, (str,)):
- value = ' '.join(value)
- result += value
- return result
-@@ -1149,7 +1149,7 @@
- pass
-
-
--class EnumString(unicode):
-+class EnumString(str):
- '''A string type that only can have a limited set of values, similarly to
- an Enum, and can only be compared against that set of values.
-
-@@ -1185,19 +1185,18 @@
- # quoting could be done with either ' or ".
- if c == "'":
- return "\\'"
-- return unicode(c.encode('unicode_escape'))
-+ return str(c.encode('unicode_escape'))
-
- # Mapping table between raw characters below \x80 and their escaped
- # counterpart, when they differ
- _INDENTED_REPR_TABLE = {
- c: e
-- for c, e in map(lambda x: (x, _escape_char(x)),
-- map(unichr, range(128)))
-+ for c, e in [(x, _escape_char(x)) for x in list(map(chr, list(range(128))))]
- if c != e
- }
- # Regexp matching all characters to escape.
- _INDENTED_REPR_RE = re.compile(
-- '([' + ''.join(_INDENTED_REPR_TABLE.values()) + ']+)')
-+ '([' + ''.join(list(_INDENTED_REPR_TABLE.values())) + ']+)')
-
-
- def indented_repr(o, indent=4):
-@@ -1223,7 +1222,7 @@
- elif isinstance(o, bytes):
- yield 'b'
- yield repr(o)
-- elif isinstance(o, unicode):
-+ elif isinstance(o, str):
- yield "'"
- # We want a readable string (non escaped unicode), but some
- # special characters need escaping (e.g. \n, \t, etc.)
-@@ -1253,11 +1252,11 @@
- if isinstance(obj, dict):
- return {
- encode(k, encoding): encode(v, encoding)
-- for k, v in obj.iteritems()
-+ for k, v in obj.items()
- }
- if isinstance(obj, bytes):
- return obj
-- if isinstance(obj, unicode):
-+ if isinstance(obj, str):
- return obj.encode(encoding)
- if isinstance(obj, Iterable):
- return [encode(i, encoding) for i in obj]
---- mozjs-52.4.0/python/mozbuild/mozbuild/vendor_rust.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/vendor_rust.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from distutils.version import LooseVersion
- import logging
---- mozjs-52.4.0/python/mozbuild/mozbuild/virtualenv.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/virtualenv.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains code for populating the virtualenv environment for
- # Mozilla's build system. It is typically called as part of configure.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import distutils.sysconfig
- import os
-@@ -461,8 +461,8 @@
- and call .ensure() and .activate() to make the virtualenv active.
- """
-
-- execfile(self.activate_path, dict(__file__=self.activate_path))
-- if isinstance(os.environ['PATH'], unicode):
-+ exec(compile(open(self.activate_path).read(), self.activate_path, 'exec'), dict(__file__=self.activate_path))
-+ if isinstance(os.environ['PATH'], str):
- os.environ['PATH'] = os.environ['PATH'].encode('utf-8')
-
- def install_pip_package(self, package):
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/buildlist.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/buildlist.py (refactored)
-@@ -7,7 +7,7 @@
-
- Usage: buildlist.py <filename> <entry> [<entry> ...]
- '''
--from __future__ import absolute_import, print_function
-+
-
- import sys
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/cl.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/cl.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import ctypes
- import os
-@@ -55,7 +55,7 @@
- break
-
- if target is None:
-- print >>sys.stderr, "No target set"
-+ print("No target set", file=sys.stderr)
- return 1
-
- # Assume the source file is the last argument
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/dump_env.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/dump_env.py (refactored)
-@@ -6,5 +6,5 @@
- # native paths printed on Windows so that these paths can be incorporated
- # into Python configure's environment.
- import os
--for key, value in os.environ.items():
-- print('%s=%s' % (key, value))
-+for key, value in list(os.environ.items()):
-+ print(('%s=%s' % (key, value)))
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/file_generate.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/file_generate.py (refactored)
-@@ -6,7 +6,7 @@
- # the arguments that can be used to generate the output file, call the
- # script's |main| method with appropriate arguments.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import imp
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/generate_suggestedsites.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/generate_suggestedsites.py (refactored)
-@@ -26,7 +26,7 @@
- directory e.g. raw/suggestedsites.json, raw-pt-rBR/suggestedsites.json.
- '''
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import copy
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/generate_symbols_file.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/generate_symbols_file.py (refactored)
-@@ -2,12 +2,12 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import buildconfig
- import os
--from StringIO import StringIO
-+from io import StringIO
- from mozbuild.preprocessor import Preprocessor
- from mozbuild.util import DefinesAction
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/jar_maker.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/jar_maker.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/make_dmg.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/make_dmg.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
-
- from mozbuild.base import MozbuildObject
- from mozpack import dmg
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/output_searchplugins_list.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/output_searchplugins_list.py (refactored)
-@@ -18,4 +18,4 @@
- else:
- engines = searchinfo["default"]["visibleDefaultEngines"]
-
--print '\n'.join(engines)
-+print('\n'.join(engines))
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/package_fennec_apk.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/package_fennec_apk.py (refactored)
-@@ -6,7 +6,7 @@
- Script to produce an Android package (.apk) for Fennec.
- '''
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import buildconfig
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/preprocessor.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/preprocessor.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/process_define_files.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/process_define_files.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
-@@ -55,7 +55,7 @@
- 'CONFIGURE_DEFINE_FILE')
- defines = '\n'.join(sorted(
- '#define %s %s' % (name, val)
-- for name, val in config.defines.iteritems()
-+ for name, val in config.defines.items()
- if name not in config.non_global_defines))
- l = l[:m.start('cmd') - 1] \
- + defines + l[m.end('name'):]
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/process_install_manifest.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/process_install_manifest.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/test_archive.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/test_archive.py (refactored)
-@@ -8,7 +8,7 @@
- # It is defined inline because this was easiest to make test archive
- # generation faster.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import itertools
-@@ -433,7 +433,7 @@
- # "common" is our catch all archive and it ignores things from other archives.
- # Verify nothing sneaks into ARCHIVE_FILES without a corresponding exclusion
- # rule in the "common" archive.
--for k, v in ARCHIVE_FILES.items():
-+for k, v in list(ARCHIVE_FILES.items()):
- # Skip mozharness because it isn't staged.
- if k in ('common', 'mozharness'):
- continue
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/webidl.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/webidl.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/xpccheck.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/xpccheck.py (refactored)
-@@ -8,7 +8,7 @@
- Usage: xpccheck.py <directory> [<directory> ...]
- '''
-
--from __future__ import absolute_import
-+
-
- import sys
- import os
-@@ -40,7 +40,7 @@
- break
-
- if not found:
-- print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (name, os.path.join(directory, 'xpcshell.ini'))
-+ print("TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (name, os.path.join(directory, 'xpcshell.ini')), file=sys.stderr)
- sys.exit(1)
-
- def verifyIniFile(initests, directory):
-@@ -60,12 +60,12 @@
- break
-
- if not found:
-- print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | found %s in xpcshell.ini and not in directory '%s'" % (name, directory)
-+ print("TEST-UNEXPECTED-FAIL | xpccheck | found %s in xpcshell.ini and not in directory '%s'" % (name, directory), file=sys.stderr)
- sys.exit(1)
-
- def main(argv):
- if len(argv) < 2:
-- print >>sys.stderr, "Usage: xpccheck.py <topsrcdir> <directory> [<directory> ...]"
-+ print("Usage: xpccheck.py <topsrcdir> <directory> [<directory> ...]", file=sys.stderr)
- sys.exit(1)
-
- topsrcdir = argv[0]
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/xpidl-process.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/xpidl-process.py (refactored)
-@@ -7,7 +7,7 @@
- # input IDL file(s). It's purpose is to directly support the build
- # system. The API will change to meet the needs of the build system.
-
--from __future__ import absolute_import
-+
-
- import argparse
- import os
-@@ -58,7 +58,7 @@
-
- # TODO use FileAvoidWrite once it supports binary mode.
- xpt_path = os.path.join(xpt_dir, '%s.xpt' % module)
-- xpt_link(xpts.values()).write(xpt_path)
-+ xpt_link(list(xpts.values())).write(xpt_path)
-
- rule.add_targets([xpt_path])
- if deps_dir:
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/zip.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/zip.py (refactored)
-@@ -5,7 +5,7 @@
- # This script creates a zip file, but will also strip any binaries
- # it finds before adding them to the zip.
-
--from __future__ import absolute_import
-+
-
- from mozpack.files import FileFinder
- from mozpack.copier import Jarrer
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/base.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from abc import (
- ABCMeta,
-@@ -30,15 +30,13 @@
- from mozbuild.base import ExecutionSummary
-
-
--class BuildBackend(LoggingMixin):
-+class BuildBackend(LoggingMixin, metaclass=ABCMeta):
- """Abstract base class for build backends.
-
- A build backend is merely a consumer of the build configuration (the output
- of the frontend processing). It does something with said data. What exactly
- is the discretion of the specific implementation.
- """
--
-- __metaclass__ = ABCMeta
-
- def __init__(self, environment):
- assert isinstance(environment, ConfigEnvironment)
-@@ -252,7 +250,7 @@
- srcdir = mozpath.dirname(obj.input_path)
- pp.context.update({
- k: ' '.join(v) if isinstance(v, list) else v
-- for k, v in obj.config.substs.iteritems()
-+ for k, v in obj.config.substs.items()
- })
- pp.context.update(
- top_srcdir=obj.topsrcdir,
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/common.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/common.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import itertools
- import json
- import os
-@@ -194,11 +194,11 @@
- def add_defaults(self, manifest):
- if not hasattr(manifest, 'manifest_defaults'):
- return
-- for sub_manifest, defaults in manifest.manifest_defaults.items():
-+ for sub_manifest, defaults in list(manifest.manifest_defaults.items()):
- self.manifest_defaults[sub_manifest] = defaults
-
- def add_installs(self, obj, topsrcdir):
-- for src, (dest, _) in obj.installs.iteritems():
-+ for src, (dest, _) in obj.installs.items():
- key = src[len(topsrcdir)+1:]
- self.installs_by_path[key].append((src, dest))
- for src, pat, dest in obj.pattern_installs:
-@@ -379,7 +379,7 @@
-
- path = mozpath.join(self.environment.topobjdir, 'test-installs.pkl')
- with self._write_file(path, mode='rb') as fh:
-- pickle.dump({k: v for k, v in self._test_manager.installs_by_path.items()
-+ pickle.dump({k: v for k, v in list(self._test_manager.installs_by_path.items())
- if k in self._test_manager.deferred_installs},
- fh,
- protocol=2)
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/configenvironment.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/configenvironment.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
-@@ -17,7 +17,7 @@
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-+ text_type = str
- else:
- text_type = str
-
-@@ -176,7 +176,7 @@
- except UnicodeDecodeError:
- return v.decode('utf-8', 'replace')
-
-- for k, v in self.substs.items():
-+ for k, v in list(self.substs.items()):
- if not isinstance(v, StringTypes):
- if isinstance(v, Iterable):
- type(v)(decode(i) for i in v)
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/cpp_eclipse.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/cpp_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import errno
- import random
-@@ -218,12 +218,12 @@
- cproject_header = cproject_header.replace('@MACH_COMMAND@', os.path.join(self.environment.topsrcdir, 'mach'))
- fh.write(cproject_header)
-
-- for path, defines in self._paths_to_defines.items():
-+ for path, defines in list(self._paths_to_defines.items()):
- folderinfo = CPROJECT_TEMPLATE_FOLDER_INFO_HEADER
- folderinfo = folderinfo.replace('@FOLDER_ID@', str(random.randint(1000000, 99999999999)))
- folderinfo = folderinfo.replace('@FOLDER_NAME@', 'tree/' + path)
- fh.write(folderinfo)
-- for k, v in defines.items():
-+ for k, v in list(defines.items()):
- define = ET.Element('listOptionValue')
- define.set('builtIn', 'false')
- define.set('value', str(k) + "=" + str(v))
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/fastermake.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/fastermake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- from mozbuild.backend.base import PartialBackend
- from mozbuild.backend.common import CommonBackend
-@@ -130,12 +130,12 @@
- if value is not None:
- mk.add_statement('%s = %s' % (var, value))
-
-- install_manifests_bases = self._install_manifests.keys()
-+ install_manifests_bases = list(self._install_manifests.keys())
-
- # Add information for chrome manifest generation
- manifest_targets = []
-
-- for target, entries in self._manifest_entries.iteritems():
-+ for target, entries in self._manifest_entries.items():
- manifest_targets.append(target)
- install_target = mozpath.basedir(target, install_manifests_bases)
- self._install_manifests[install_target].add_content(
-@@ -144,16 +144,16 @@
-
- # Add information for install manifests.
- mk.add_statement('INSTALL_MANIFESTS = %s'
-- % ' '.join(self._install_manifests.keys()))
-+ % ' '.join(list(self._install_manifests.keys())))
-
- # Add dependencies we infered:
-- for target, deps in self._dependencies.iteritems():
-+ for target, deps in self._dependencies.items():
- mk.create_rule([target]).add_dependencies(
- '$(TOPOBJDIR)/%s' % d for d in deps)
-
- mk.add_statement('include $(TOPSRCDIR)/config/faster/rules.mk')
-
-- for base, install_manifest in self._install_manifests.iteritems():
-+ for base, install_manifest in self._install_manifests.items():
- with self._write_file(
- mozpath.join(self.environment.topobjdir, 'faster',
- 'install_%s' % base.replace('/', '_'))) as fh:
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/mach_commands.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/recursivemake.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/recursivemake.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import logging
- import os
-@@ -12,7 +12,7 @@
- defaultdict,
- namedtuple,
- )
--from StringIO import StringIO
-+from io import StringIO
- from itertools import chain
-
- from mozpack.manifests import (
-@@ -74,6 +74,7 @@
- )
- from ..makeutil import Makefile
- from mozbuild.shellutil import quote as shell_quote
-+from functools import reduce
-
- MOZBUILD_VARIABLES = [
- b'ANDROID_APK_NAME',
-@@ -214,7 +215,7 @@
- self.fh.write(buf)
-
- def write_once(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- if b'\n' + buf not in self.fh.getvalue():
- self.write(buf)
-@@ -283,8 +284,8 @@
- Helper function to call a filter from compute_dependencies and
- traverse.
- """
-- return filter(current, self._traversal.get(current,
-- self.SubDirectories()))
-+ return list(filter(current, self._traversal.get(current,
-+ self.SubDirectories())))
-
- def compute_dependencies(self, filter=None):
- """
-@@ -638,7 +639,7 @@
- convenience variables, and the other dependency definitions for a
- hopefully proper directory traversal.
- """
-- for tier, no_skip in self._no_skip.items():
-+ for tier, no_skip in list(self._no_skip.items()):
- self.log(logging.DEBUG, 'fill_root_mk', {
- 'number': len(no_skip), 'tier': tier
- }, 'Using {number} directories during {tier}')
-@@ -684,7 +685,7 @@
- for tier, filter in filters:
- main, all_deps = \
- self._traversal.compute_dependencies(filter)
-- for dir, deps in all_deps.items():
-+ for dir, deps in list(all_deps.items()):
- if deps is not None or (dir in self._idl_dirs \
- and tier == 'export'):
- rule = root_deps_mk.create_rule(['%s/%s' % (dir, tier)])
-@@ -697,7 +698,7 @@
- rule.add_dependencies('%s/%s' % (d, tier) for d in main)
-
- all_compile_deps = reduce(lambda x,y: x|y,
-- self._compile_graph.values()) if self._compile_graph else set()
-+ list(self._compile_graph.values())) if self._compile_graph else set()
- compile_roots = set(self._compile_graph.keys()) - all_compile_deps
-
- rule = root_deps_mk.create_rule(['recurse_compile'])
-@@ -839,7 +840,7 @@
- self._fill_root_mk()
-
- # Make the master test manifest files.
-- for flavor, t in self._test_manifests.items():
-+ for flavor, t in list(self._test_manifests.items()):
- install_prefix, manifests = t
- manifest_stem = mozpath.join(install_prefix, '%s.ini' % flavor)
- self._write_master_test_manifest(mozpath.join(
-@@ -945,7 +946,7 @@
- for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done'):
- build_files.add_optional_exists(p)
-
-- for idl in manager.idls.values():
-+ for idl in list(manager.idls.values()):
- self._install_manifests['dist_idl'].add_symlink(idl['source'],
- idl['basename'])
- self._install_manifests['dist_include'].add_optional_exists('%s.h'
-@@ -992,7 +993,7 @@
-
- interfaces_manifests = []
- dist_dir = mozpath.join(self.environment.topobjdir, 'dist')
-- for manifest, entries in manager.interface_manifests.items():
-+ for manifest, entries in list(manager.interface_manifests.items()):
- interfaces_manifests.append(mozpath.join('$(DEPTH)', manifest))
- for xpt in sorted(entries):
- registered_xpt_files.add(mozpath.join(
-@@ -1052,7 +1053,7 @@
- # Don't allow files to be defined multiple times unless it is allowed.
- # We currently allow duplicates for non-test files or test files if
- # the manifest is listed as a duplicate.
-- for source, (dest, is_test) in obj.installs.items():
-+ for source, (dest, is_test) in list(obj.installs.items()):
- try:
- self._install_manifests['_test_files'].add_symlink(source, dest)
- except ValueError:
-@@ -1386,7 +1387,7 @@
- man_dir = mozpath.join(self.environment.topobjdir, '_build_manifests',
- dest)
-
-- for k, manifest in manifests.items():
-+ for k, manifest in list(manifests.items()):
- with self._write_file(mozpath.join(man_dir, k)) as fh:
- manifest.write(fileobj=fh)
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/tup.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/tup.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
-
-@@ -253,7 +253,7 @@
- backend_file = self._get_backend_file('xpcom/xpidl')
- backend_file.export_shell()
-
-- for module, data in sorted(manager.modules.iteritems()):
-+ for module, data in sorted(manager.modules.items()):
- dest, idls = data
- cmd = [
- '$(PYTHON_PATH)',
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/visualstudio.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/visualstudio.py (refactored)
-@@ -5,7 +5,7 @@
- # This file contains a build backend for generating Visual Studio project
- # files.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import errno
- import os
-@@ -218,7 +218,7 @@
- includes = [os.path.normpath(i) for i in includes]
-
- defines = []
-- for k, v in self._paths_to_defines.get(path, {}).items():
-+ for k, v in list(self._paths_to_defines.get(path, {}).items()):
- if v is True:
- defines.append(k)
- else:
---- mozjs-52.4.0/python/mozbuild/mozbuild/codecoverage/chrome_map.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/codecoverage/chrome_map.py (refactored)
-@@ -5,7 +5,7 @@
- from collections import defaultdict
- import json
- import os
--import urlparse
-+import urllib.parse
-
- from mach.config import ConfigSettings
- from mach.logging import LoggingManager
-@@ -42,7 +42,7 @@
- if isinstance(entry, (ManifestChrome, ManifestResource)):
- if isinstance(entry, ManifestResource):
- dest = entry.target
-- url = urlparse.urlparse(dest)
-+ url = urllib.parse.urlparse(dest)
- if not url.scheme:
- dest = mozpath.normpath(mozpath.join(entry.base, dest))
- if url.scheme == 'file':
-@@ -99,7 +99,7 @@
- chrome_mapping = self.manifest_handler.chrome_mapping
- overrides = self.manifest_handler.overrides
- json.dump([
-- {k: list(v) for k, v in chrome_mapping.iteritems()},
-+ {k: list(v) for k, v in chrome_mapping.items()},
- overrides,
- self._install_mapping,
- ], fh, sort_keys=True, indent=2)
---- mozjs-52.4.0/python/mozbuild/mozbuild/codecoverage/packager.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/codecoverage/packager.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- import argparse
- import sys
-@@ -12,7 +12,7 @@
-
- def package_gcno_tree(root, output_file):
- # XXX JarWriter doesn't support unicode strings, see bug 1056859
-- if isinstance(root, unicode):
-+ if isinstance(root, str):
- root = root.encode('utf-8')
-
- finder = FileFinder(root)
---- mozjs-52.4.0/python/mozbuild/mozbuild/compilation/codecomplete.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/compilation/codecomplete.py (refactored)
-@@ -4,7 +4,7 @@
-
- # This modules provides functionality for dealing with code completion.
-
--from __future__ import absolute_import
-+
-
- import os
-
-@@ -59,5 +59,5 @@
- # Drop the first flag since that is the pathname of the compiler.
- flags = (shell_split(build_vars[cc]) + shell_split(build_vars[name]))[1:]
-
-- print(' '.join(shell_quote(arg)
-- for arg in util.sanitize_cflags(flags)))
-+ print((' '.join(shell_quote(arg)
-+ for arg in util.sanitize_cflags(flags))))
---- mozjs-52.4.0/python/mozbuild/mozbuild/compilation/database.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/compilation/database.py (refactored)
-@@ -118,7 +118,7 @@
-
- db = []
-
-- for (directory, filename), cmd in self._db.iteritems():
-+ for (directory, filename), cmd in self._db.items():
- env = self._envs[directory]
- cmd = list(cmd)
- cmd.append(filename)
-@@ -151,7 +151,7 @@
- a = expand_variables(a, variables).split()
- if not a:
- continue
-- if isinstance(a, types.StringTypes):
-+ if isinstance(a, (str,)):
- c.append(a)
- else:
- c.extend(a)
-@@ -216,7 +216,7 @@
- value = cenv.substs.get(name)
- if not value:
- return
-- if isinstance(value, types.StringTypes):
-+ if isinstance(value, (str,)):
- value = value.split()
- db.extend(value)
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/compilation/warnings.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/compilation/warnings.py (refactored)
-@@ -4,7 +4,7 @@
-
- # This modules provides functionality for dealing with compiler warnings.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import errno
- import json
-@@ -123,18 +123,18 @@
-
- def __len__(self):
- i = 0
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- i += len(value['warnings'])
-
- return i
-
- def __iter__(self):
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- yield warning
-
- def __contains__(self, item):
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- if warning == item:
- return True
-@@ -144,7 +144,7 @@
- @property
- def warnings(self):
- """All the CompilerWarning instances in this database."""
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for w in value['warnings']:
- yield w
-
-@@ -152,7 +152,7 @@
- """Returns a mapping of warning types to their counts."""
-
- types = {}
-- for value in self._files.values():
-+ for value in list(self._files.values()):
- for warning in value['warnings']:
- if dirpath and not mozpath.normsep(warning['filename']).startswith(dirpath):
- continue
-@@ -210,7 +210,7 @@
- """
-
- # Need to calculate up front since we are mutating original object.
-- filenames = self._files.keys()
-+ filenames = list(self._files.keys())
- for filename in filenames:
- if not os.path.exists(filename):
- del self._files[filename]
-@@ -229,10 +229,10 @@
- obj = {'files': {}}
-
- # All this hackery because JSON can't handle sets.
-- for k, v in self._files.iteritems():
-+ for k, v in self._files.items():
- obj['files'][k] = {}
-
-- for k2, v2 in v.iteritems():
-+ for k2, v2 in v.items():
- normalized = v2
-
- if k2 == 'warnings':
-@@ -249,8 +249,8 @@
- self._files = obj['files']
-
- # Normalize data types.
-- for filename, value in self._files.iteritems():
-- for k, v in value.iteritems():
-+ for filename, value in self._files.items():
-+ for k, v in value.items():
- if k != 'warnings':
- continue
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/__init__.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/__init__.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import inspect
- import logging
-@@ -193,7 +193,7 @@
- for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
- 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
- 'hasattr', 'enumerate', 'range', 'zip')
-- }, __import__=forbidden_import, str=unicode)
-+ }, __import__=forbidden_import, str=str)
-
- # Expose a limited set of functions from os.path
- OS = ReadOnlyNamespace(path=ReadOnlyNamespace(**{
-@@ -333,7 +333,7 @@
- if path:
- self.include_file(path)
-
-- for option in self._options.itervalues():
-+ for option in self._options.values():
- # All options must be referenced by some @depends function
- if option not in self._seen:
- raise ConfigureError(
-@@ -437,7 +437,7 @@
- value = PositiveOptionValue()
- elif value is False or value == ():
- value = NegativeOptionValue()
-- elif isinstance(value, types.StringTypes):
-+ elif isinstance(value, (str,)):
- value = PositiveOptionValue((value,))
- elif isinstance(value, tuple):
- value = PositiveOptionValue(value)
-@@ -477,7 +477,7 @@
- return value
-
- def _dependency(self, arg, callee_name, arg_name=None):
-- if isinstance(arg, types.StringTypes):
-+ if isinstance(arg, (str,)):
- prefix, name, values = Option.split_option(arg)
- if values != ():
- raise ConfigureError("Option must not contain an '='")
-@@ -541,7 +541,7 @@
- '''
- when = self._normalize_when(kwargs.get('when'), 'option')
- args = [self._resolve(arg) for arg in args]
-- kwargs = {k: self._resolve(v) for k, v in kwargs.iteritems()
-+ kwargs = {k: self._resolve(v) for k, v in kwargs.items()
- if k != 'when'}
- option = Option(*args, **kwargs)
- if when:
-@@ -622,7 +622,7 @@
- with self.only_when_impl(when):
- what = self._resolve(what)
- if what:
-- if not isinstance(what, types.StringTypes):
-+ if not isinstance(what, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(what).__name__)
- self.include_file(what)
-
-@@ -640,7 +640,7 @@
- (k[:-len('_impl')], getattr(self, k))
- for k in dir(self) if k.endswith('_impl') and k != 'template_impl'
- )
-- glob.update((k, v) for k, v in self.iteritems() if k not in glob)
-+ glob.update((k, v) for k, v in self.items() if k not in glob)
-
- # Any function argument to the template must be prepared to be sandboxed.
- # If the template itself returns a function (in which case, it's very
-@@ -664,7 +664,7 @@
- def wrapper(*args, **kwargs):
- args = [maybe_prepare_function(arg) for arg in args]
- kwargs = {k: maybe_prepare_function(v)
-- for k, v in kwargs.iteritems()}
-+ for k, v in kwargs.items()}
- ret = template(*args, **kwargs)
- if isfunction(ret):
- # We can't expect the sandboxed code to think about all the
-@@ -696,7 +696,7 @@
- for value, required in (
- (_import, True), (_from, False), (_as, False)):
-
-- if not isinstance(value, types.StringTypes) and (
-+ if not isinstance(value, (str,)) and (
- required or value is not None):
- raise TypeError("Unexpected type: '%s'" % type(value).__name__)
- if value is not None and not self.RE_MODULE.match(value):
-@@ -759,7 +759,7 @@
- name = self._resolve(name, need_help_dependency=False)
- if name is None:
- return
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(name).__name__)
- if name in data:
- raise ConfigureError(
-@@ -849,7 +849,7 @@
- if isinstance(possible_reasons[0], Option):
- reason = possible_reasons[0]
- if not reason and (isinstance(value, (bool, tuple)) or
-- isinstance(value, types.StringTypes)):
-+ isinstance(value, (str,))):
- # A reason can be provided automatically when imply_option
- # is called with an immediate value.
- _, filename, line, _, _, _ = inspect.stack()[1]
-@@ -884,10 +884,10 @@
- if not inspect.isfunction(func):
- raise TypeError("Unexpected type: '%s'" % type(func).__name__)
- if func in self._prepared_functions:
-- return func, func.func_globals
-+ return func, func.__globals__
-
- glob = SandboxedGlobal(
-- (k, v) for k, v in func.func_globals.iteritems()
-+ (k, v) for k, v in func.__globals__.items()
- if (inspect.isfunction(v) and v not in self._templates) or (
- inspect.isclass(v) and issubclass(v, Exception))
- )
-@@ -908,20 +908,20 @@
- # Note this is not entirely bullet proof (if the value is e.g. a list,
- # the list contents could have changed), but covers the bases.
- closure = None
-- if func.func_closure:
-+ if func.__closure__:
- def makecell(content):
- def f():
- content
-- return f.func_closure[0]
-+ return f.__closure__[0]
-
- closure = tuple(makecell(cell.cell_contents)
-- for cell in func.func_closure)
-+ for cell in func.__closure__)
-
- new_func = wraps(func)(types.FunctionType(
-- func.func_code,
-+ func.__code__,
- glob,
- func.__name__,
-- func.func_defaults,
-+ func.__defaults__,
- closure
- ))
- @wraps(new_func)
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/check_debug_ranges.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/check_debug_ranges.py (refactored)
-@@ -6,7 +6,7 @@
- # to a given compilation unit. This is used as a helper to find a bug in some
- # versions of GNU ld.
-
--from __future__ import absolute_import
-+
-
- import subprocess
- import sys
-@@ -59,4 +59,4 @@
-
-
- if __name__ == '__main__':
-- print main(*sys.argv[1:])
-+ print(main(*sys.argv[1:]))
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/constants.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/constants.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from mozbuild.util import EnumString
- from collections import OrderedDict
-@@ -56,7 +56,7 @@
- 'x86_64': 64,
- }
-
--CPU = EnumString.subclass(*CPU_bitness.keys())
-+CPU = EnumString.subclass(*list(CPU_bitness.keys()))
-
- Endianness = EnumString.subclass(
- 'big',
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/help.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/help.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- from mozbuild.configure.options import Option
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/libstdcxx.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/libstdcxx.py (refactored)
-@@ -13,7 +13,7 @@
- # will be used from shell, we just print the two assignments and evaluate
- # them from shell.
-
--from __future__ import absolute_import
-+
-
- import os
- import subprocess
-@@ -76,6 +76,6 @@
-
- if __name__ == '__main__':
- cxx_env = os.environ['CXX']
-- print 'MOZ_LIBSTDCXX_TARGET_VERSION=%s' % find_version(cxx_env)
-+ print('MOZ_LIBSTDCXX_TARGET_VERSION=%s' % find_version(cxx_env))
- host_cxx_env = os.environ.get('HOST_CXX', cxx_env)
-- print 'MOZ_LIBSTDCXX_HOST_VERSION=%s' % find_version(host_cxx_env)
-+ print('MOZ_LIBSTDCXX_HOST_VERSION=%s' % find_version(host_cxx_env))
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/lint.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/lint.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- from . import (
- CombinedDependsFunction,
- ConfigureError,
-@@ -42,7 +42,7 @@
- # - don't use @imports
- # - don't have a closure
- # - don't use global variables
-- if func in self._imports or func.func_closure:
-+ if func in self._imports or func.__closure__:
- return True
- for op, arg in disassemble_as_iter(func):
- if op in ('LOAD_GLOBAL', 'STORE_GLOBAL'):
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/lint_util.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/lint_util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import dis
- import inspect
-@@ -12,9 +12,9 @@
- # returns an iterator.
- def disassemble_as_iter(co):
- if inspect.ismethod(co):
-- co = co.im_func
-+ co = co.__func__
- if inspect.isfunction(co):
-- co = co.func_code
-+ co = co.__code__
- code = co.co_code
- n = len(code)
- i = 0
-@@ -30,7 +30,7 @@
- extended_arg = 0
- i += 2
- if op == dis.EXTENDED_ARG:
-- extended_arg = arg * 65536L
-+ extended_arg = arg * 65536
- continue
- if op in dis.hasconst:
- yield opname, co.co_consts[arg]
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/options.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/options.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import sys
-@@ -12,7 +12,7 @@
-
- def istupleofstrings(obj):
- return isinstance(obj, tuple) and len(obj) and all(
-- isinstance(o, types.StringTypes) for o in obj)
-+ isinstance(o, (str,)) for o in obj)
-
-
- class OptionValue(tuple):
-@@ -71,7 +71,7 @@
- in the form of a tuple for when values are given to the option (in the form
- --option=value[,value2...].
- '''
-- def __nonzero__(self):
-+ def __bool__(self):
- return True
-
-
-@@ -96,7 +96,7 @@
- if format_data:
- message = message.format(**format_data)
- super(ConflictingOptionError, self).__init__(message)
-- for k, v in format_data.iteritems():
-+ for k, v in format_data.items():
- setattr(self, k, v)
-
-
-@@ -132,7 +132,7 @@
- 'At least an option name or an environment variable name must '
- 'be given')
- if name:
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise InvalidOptionError('Option must be a string')
- if not name.startswith('--'):
- raise InvalidOptionError('Option must start with `--`')
-@@ -141,7 +141,7 @@
- if not name.islower():
- raise InvalidOptionError('Option must be all lowercase')
- if env:
-- if not isinstance(env, types.StringTypes):
-+ if not isinstance(env, (str,)):
- raise InvalidOptionError(
- 'Environment variable name must be a string')
- if not env.isupper():
-@@ -151,8 +151,8 @@
- isinstance(nargs, int) and nargs >= 0):
- raise InvalidOptionError(
- "nargs must be a positive integer, '?', '*' or '+'")
-- if (not isinstance(default, types.StringTypes) and
-- not isinstance(default, (bool, types.NoneType)) and
-+ if (not isinstance(default, (str,)) and
-+ not isinstance(default, (bool, type(None))) and
- not istupleofstrings(default)):
- raise InvalidOptionError(
- 'default must be a bool, a string or a tuple of strings')
-@@ -224,7 +224,7 @@
- ', '.join("'%s'" % c for c in choices))
- elif has_choices:
- maxargs = self.maxargs
-- if len(choices) < maxargs and maxargs != sys.maxint:
-+ if len(choices) < maxargs and maxargs != sys.maxsize:
- raise InvalidOptionError('Not enough `choices` for `nargs`')
- self.choices = choices
- self.help = help
-@@ -238,7 +238,7 @@
- where prefix is one of 'with', 'without', 'enable' or 'disable'.
- The '=values' part is optional. Values are separated with commas.
- '''
-- if not isinstance(option, types.StringTypes):
-+ if not isinstance(option, (str,)):
- raise InvalidOptionError('Option must be a string')
-
- elements = option.split('=', 1)
-@@ -291,7 +291,7 @@
- def maxargs(self):
- if isinstance(self.nargs, int):
- return self.nargs
-- return 1 if self.nargs == '?' else sys.maxint
-+ return 1 if self.nargs == '?' else sys.maxsize
-
- def _validate_nargs(self, num):
- minargs, maxargs = self.minargs, self.maxargs
-@@ -485,5 +485,5 @@
-
- def __iter__(self):
- for d in (self._args, self._extra_args):
-- for arg, pos in d.itervalues():
-+ for arg, pos in d.values():
- yield arg
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/util.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/configure/util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import codecs
- import itertools
-@@ -52,7 +52,7 @@
-
- def __cmp__(self, other):
- # LooseVersion checks isinstance(StringType), so work around it.
-- if isinstance(other, unicode):
-+ if isinstance(other, str):
- other = other.encode('ascii')
- return LooseVersion.__cmp__(self, other)
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/controller/building.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/controller/building.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import getpass
- import json
-@@ -108,7 +108,7 @@
- """
- o = []
-
-- for tier, state in self.tiers.items():
-+ for tier, state in list(self.tiers.items()):
- t_entry = dict(
- name=tier,
- start=state['begin_time'],
-@@ -643,8 +643,8 @@
-
- return '\n'.join(lines)
-
-- def __nonzero__(self):
-- relative_values = [v for k, v in self._values.items()
-+ def __bool__(self):
-+ relative_values = [v for k, v in list(self._values.items())
- if k not in self.ABSOLUTE_KEYS]
- return (all(v >= 0 for v in relative_values) and
- any(v > 0 for v in relative_values))
-@@ -666,8 +666,8 @@
- """Install test files."""
-
- if self.is_clobber_needed():
-- print(INSTALL_TESTS_CLOBBER.format(
-- clobber_file=os.path.join(self.topobjdir, 'CLOBBER')))
-+ print((INSTALL_TESTS_CLOBBER.format(
-+ clobber_file=os.path.join(self.topobjdir, 'CLOBBER'))))
- sys.exit(1)
-
- if not test_objs:
---- mozjs-52.4.0/python/mozbuild/mozbuild/controller/clobber.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/controller/clobber.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- r'''This module contains code for managing clobbering of the tree.'''
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/context.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/context.py (refactored)
-@@ -14,7 +14,7 @@
- contain, you've come to the right place.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
-
-@@ -234,15 +234,15 @@
- This function is transactional: if setitem fails for one of the values,
- the context is not updated at all."""
- if isinstance(iterable, dict):
-- iterable = iterable.items()
-+ iterable = list(iterable.items())
-
- update = {}
-- for key, value in itertools.chain(iterable, kwargs.items()):
-+ for key, value in itertools.chain(iterable, list(kwargs.items())):
- stored_type = self._validate(key, value)
- # Don't create an instance of stored_type if coercion is needed,
- # until all values are validated.
- update[key] = (value, stored_type)
-- for key, (value, stored_type) in update.items():
-+ for key, (value, stored_type) in list(update.items()):
- if not isinstance(value, stored_type):
- update[key] = stored_type(value)
- else:
-@@ -297,7 +297,7 @@
- self.update(value)
-
-
--class FinalTargetValue(ContextDerivedValue, unicode):
-+class FinalTargetValue(ContextDerivedValue, str):
- def __new__(cls, context, value=""):
- if not value:
- value = 'dist/'
-@@ -307,7 +307,7 @@
- value += 'bin'
- if context['DIST_SUBDIR']:
- value += '/' + context['DIST_SUBDIR']
-- return unicode.__new__(cls, value)
-+ return str.__new__(cls, value)
-
-
- def Enum(*values):
-@@ -355,7 +355,7 @@
- cls = SourcePath
- return super(PathMeta, cls).__call__(context, value)
-
--class Path(ContextDerivedValue, unicode):
-+class Path(ContextDerivedValue, str, metaclass=PathMeta):
- """Stores and resolves a source path relative to a given context
-
- This class is used as a backing type for some of the sandbox variables.
-@@ -366,7 +366,6 @@
- - '!objdir/relative/paths'
- - '%/filesystem/absolute/paths'
- """
-- __metaclass__ = PathMeta
-
- def __new__(cls, context, value=None):
- return super(Path, cls).__new__(cls, value)
-@@ -386,7 +385,7 @@
- def __cmp__(self, other):
- if isinstance(other, Path) and self.srcdir != other.srcdir:
- return cmp(self.full_path, other.full_path)
-- return cmp(unicode(self), other)
-+ return cmp(str(self), other)
-
- # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
- # and __cmp__ is only used for those when they don't exist.
-@@ -544,7 +543,7 @@
- __slots__ = tuple([name for name, _ in fields])
-
- def __init__(self, context):
-- for fname, ftype in self._fields.items():
-+ for fname, ftype in list(self._fields.items()):
- if issubclass(ftype, ContextDerivedValue):
- setattr(self, fname, self._fields[fname](context))
- else:
-@@ -614,8 +613,8 @@
- return _TypedListWithAction
-
- WebPlatformTestManifest = TypedNamedTuple("WebPlatformTestManifest",
-- [("manifest_path", unicode),
-- ("test_root", unicode)])
-+ [("manifest_path", str),
-+ ("test_root", str)])
- ManifestparserManifestList = OrderedListWithAction(read_manifestparser_manifest)
- ReftestManifestList = OrderedListWithAction(read_reftest_manifest)
- WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest)
-@@ -623,12 +622,12 @@
- OrderedSourceList = ContextDerivedTypedList(SourcePath, StrictOrderingOnAppendList)
- OrderedTestFlavorList = TypedList(Enum(*all_test_flavors()),
- StrictOrderingOnAppendList)
--OrderedStringList = TypedList(unicode, StrictOrderingOnAppendList)
-+OrderedStringList = TypedList(str, StrictOrderingOnAppendList)
- DependentTestsEntry = ContextDerivedTypedRecord(('files', OrderedSourceList),
- ('tags', OrderedStringList),
- ('flavors', OrderedTestFlavorList))
- BugzillaComponent = TypedNamedTuple('BugzillaComponent',
-- [('product', unicode), ('component', unicode)])
-+ [('product', str), ('component', str)])
-
-
- class Files(SubContext):
-@@ -764,7 +763,7 @@
- self.test_tags |= other.test_tags
- self.test_flavors |= other.test_flavors
-
-- for k, v in other.items():
-+ for k, v in list(other.items()):
- if k == 'IMPACTED_TESTS':
- self.test_files |= set(mozpath.relpath(e.full_path, e.context.config.topsrcdir)
- for e in v.files)
-@@ -818,7 +817,7 @@
-
- bug_components = Counter()
-
-- for f in files.values():
-+ for f in list(files.values()):
- bug_component = f.get('BUG_COMPONENT')
- if bug_component:
- bug_components[bug_component] += 1
-@@ -889,11 +888,11 @@
- file.
- """),
-
-- 'ANDROID_APK_NAME': (unicode, unicode,
-+ 'ANDROID_APK_NAME': (str, str,
- """The name of an Android APK file to generate.
- """),
-
-- 'ANDROID_APK_PACKAGE': (unicode, unicode,
-+ 'ANDROID_APK_PACKAGE': (str, str,
- """The name of the Android package to generate R.java for, like org.mozilla.gecko.
- """),
-
-@@ -962,7 +961,7 @@
- """),
-
- 'GENERATED_FILES': (StrictOrderingOnAppendListWithFlagsFactory({
-- 'script': unicode,
-+ 'script': str,
- 'inputs': list }), list,
- """Generic generated files.
-
-@@ -1107,7 +1106,7 @@
- """Like ``OBJDIR_FILES``, with preprocessing. Use sparingly.
- """),
-
-- 'FINAL_LIBRARY': (unicode, unicode,
-+ 'FINAL_LIBRARY': (str, str,
- """Library in which the objects of the current directory will be linked.
-
- This variable contains the name of a library, defined elsewhere with
-@@ -1158,7 +1157,7 @@
- """A list of python unit tests.
- """),
-
-- 'HOST_LIBRARY_NAME': (unicode, unicode,
-+ 'HOST_LIBRARY_NAME': (str, str,
- """Name of target library generated when cross compiling.
- """),
-
-@@ -1176,7 +1175,7 @@
- libraries that link into this library via FINAL_LIBRARY.
- """),
-
-- 'LIBRARY_NAME': (unicode, unicode,
-+ 'LIBRARY_NAME': (str, str,
- """The code name of the library generated for a directory.
-
- By default STATIC_LIBRARY_NAME and SHARED_LIBRARY_NAME take this name.
-@@ -1188,7 +1187,7 @@
- ``example/components/xpcomsample.lib`` on Windows.
- """),
-
-- 'SHARED_LIBRARY_NAME': (unicode, unicode,
-+ 'SHARED_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1202,7 +1201,7 @@
- Implies FORCE_SHARED_LIB.
- """),
-
-- 'STATIC_LIBRARY_NAME': (unicode, unicode,
-+ 'STATIC_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1238,37 +1237,37 @@
-
- This variable contains a list of system libaries to link against.
- """),
-- 'RCFILE': (unicode, unicode,
-+ 'RCFILE': (str, str,
- """The program .rc file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RESFILE': (unicode, unicode,
-+ 'RESFILE': (str, str,
- """The program .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RCINCLUDE': (unicode, unicode,
-+ 'RCINCLUDE': (str, str,
- """The resource script file to be included in the default .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'DEFFILE': (unicode, unicode,
-+ 'DEFFILE': (str, str,
- """The program .def (module definition) file.
-
- This variable can only be used on Windows.
- """),
-
-- 'LD_VERSION_SCRIPT': (unicode, unicode,
-+ 'LD_VERSION_SCRIPT': (str, str,
- """The linker version script for shared libraries.
-
- This variable can only be used on Linux.
- """),
-
-- 'SYMBOLS_FILE': (Path, unicode,
-+ 'SYMBOLS_FILE': (Path, str,
- """A file containing a list of symbols to export from a shared library.
-
- The given file contains a list of symbols to be exported, and is
-@@ -1323,7 +1322,7 @@
- ``BIN_SUFFIX``, the name will remain unchanged.
- """),
-
-- 'SONAME': (unicode, unicode,
-+ 'SONAME': (str, str,
- """The soname of the shared object currently being linked
-
- soname is the "logical name" of a shared object, often used to provide
-@@ -1379,7 +1378,7 @@
- ``GENERATED_FILES``.
- """),
-
-- 'PROGRAM' : (unicode, unicode,
-+ 'PROGRAM' : (str, str,
- """Compiled executable name.
-
- If the configuration token ``BIN_SUFFIX`` is set, its value will be
-@@ -1387,7 +1386,7 @@
- ``BIN_SUFFIX``, ``PROGRAM`` will remain unchanged.
- """),
-
-- 'HOST_PROGRAM' : (unicode, unicode,
-+ 'HOST_PROGRAM' : (str, str,
- """Compiled host executable name.
-
- If the configuration token ``HOST_BIN_SUFFIX`` is set, its value will be
-@@ -1425,7 +1424,7 @@
- files.
- """),
-
-- 'XPIDL_MODULE': (unicode, unicode,
-+ 'XPIDL_MODULE': (str, str,
- """XPCOM Interface Definition Module Name.
-
- This is the name of the ``.xpt`` file that is created by linking
-@@ -1576,14 +1575,14 @@
- """),
-
- # The following variables are used to control the target of installed files.
-- 'XPI_NAME': (unicode, unicode,
-+ 'XPI_NAME': (str, str,
- """The name of an extension XPI to generate.
-
- When this variable is present, the results of this directory will end up
- being packaged into an extension instead of the main dist/bin results.
- """),
-
-- 'DIST_SUBDIR': (unicode, unicode,
-+ 'DIST_SUBDIR': (str, str,
- """The name of an alternate directory to install files to.
-
- When this variable is present, the results of this directory will end up
-@@ -1591,7 +1590,7 @@
- otherwise be placed.
- """),
-
-- 'FINAL_TARGET': (FinalTargetValue, unicode,
-+ 'FINAL_TARGET': (FinalTargetValue, str,
- """The name of the directory to install targets to.
-
- The directory is relative to the top of the object directory. The
-@@ -1622,7 +1621,7 @@
-
- 'GYP_DIRS': (StrictOrderingOnAppendListWithFlagsFactory({
- 'variables': dict,
-- 'input': unicode,
-+ 'input': str,
- 'sandbox_vars': dict,
- 'non_unified_sources': StrictOrderingOnAppendList,
- }), list,
-@@ -1799,7 +1798,7 @@
- }
-
- # Sanity check: we don't want any variable above to have a list as storage type.
--for name, (storage_type, input_types, docs) in VARIABLES.items():
-+for name, (storage_type, input_types, docs) in list(VARIABLES.items()):
- if storage_type == list:
- raise RuntimeError('%s has a "list" storage type. Use "List" instead.'
- % name)
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/data.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/data.py (refactored)
-@@ -15,7 +15,7 @@
- structures.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from mozbuild.util import StrictOrderingOnAppendList
- from mozpack.chrome.manifest import ManifestEntry
-@@ -186,7 +186,7 @@
- self.defines = defines
-
- def get_defines(self):
-- for define, value in self.defines.iteritems():
-+ for define, value in self.defines.items():
- if value is True:
- yield('-D%s' % define)
- elif value is False:
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/emitter.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/emitter.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import itertools
- import logging
-@@ -120,8 +120,8 @@
- # arguments. This gross hack works around the problem until we
- # rid ourselves of 2.6.
- self.info = {}
-- for k, v in mozinfo.info.items():
-- if isinstance(k, unicode):
-+ for k, v in list(mozinfo.info.items()):
-+ if isinstance(k, str):
- k = k.encode('ascii')
- self.info[k] = v
-
-@@ -197,7 +197,7 @@
-
- def _emit_libs_derived(self, contexts):
- # First do FINAL_LIBRARY linkage.
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if not isinstance(lib, (StaticLibrary, RustLibrary)) or not lib.link_into:
- continue
- if lib.link_into not in self._libs:
-@@ -257,12 +257,12 @@
- lib.link_into == outerlib.basename):
- propagate_defines(lib, defines)
-
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if isinstance(lib, Library):
- propagate_defines(lib, lib.lib_defines)
- yield lib
-
-- for obj in self._binaries.values():
-+ for obj in list(self._binaries.values()):
- yield obj
-
- LIBRARY_NAME_VAR = {
-@@ -321,7 +321,7 @@
- libs[key] = l
- if key not in libs:
- libs[key] = l
-- candidates = libs.values()
-+ candidates = list(libs.values())
- if force_static and not candidates:
- if dir:
- raise SandboxValidationError(
-@@ -383,9 +383,9 @@
-
- def _verify_deps(self, context, crate_dir, crate_name, dependencies, description='Dependency'):
- """Verify that a crate's dependencies all specify local paths."""
-- for dep_crate_name, values in dependencies.iteritems():
-+ for dep_crate_name, values in dependencies.items():
- # A simple version number.
-- if isinstance(values, (str, unicode)):
-+ if isinstance(values, str):
- raise SandboxValidationError(
- '%s %s of crate %s does not list a path' % (description, dep_crate_name, crate_name),
- context)
-@@ -463,7 +463,7 @@
- ' in [profile.%s] section') % (libname, profile_name),
- context)
-
-- dependencies = set(config.get('dependencies', {}).iterkeys())
-+ dependencies = set(config.get('dependencies', {}).keys())
-
- return RustLibrary(context, libname, cargo_file, crate_type,
- dependencies, **static_args)
-@@ -738,7 +738,7 @@
- assert not gen_sources['UNIFIED_SOURCES']
-
- no_pgo = context.get('NO_PGO')
-- no_pgo_sources = [f for f, flags in all_flags.iteritems()
-+ no_pgo_sources = [f for f, flags in all_flags.items()
- if flags.no_pgo]
- if no_pgo:
- if no_pgo_sources:
-@@ -765,7 +765,7 @@
-
- # The inverse of the above, mapping suffixes to their canonical suffix.
- canonicalized_suffix_map = {}
-- for suffix, alternatives in suffix_map.iteritems():
-+ for suffix, alternatives in suffix_map.items():
- alternatives.add(suffix)
- for a in alternatives:
- canonicalized_suffix_map[a] = suffix
-@@ -786,7 +786,7 @@
- # a directory with mixed C and C++ source, but it's not that important.
- cxx_sources = defaultdict(bool)
-
-- for variable, (klass, gen_klass, suffixes) in varmap.items():
-+ for variable, (klass, gen_klass, suffixes) in list(varmap.items()):
- allowed_suffixes = set().union(*[suffix_map[s] for s in suffixes])
-
- # First ensure that we haven't been given filetypes that we don't
-@@ -812,7 +812,7 @@
- obj = cls(*arglist)
- yield obj
-
-- for f, flags in all_flags.iteritems():
-+ for f, flags in all_flags.items():
- if flags.flags:
- ext = mozpath.splitext(f)[1]
- yield PerSourceFlag(context, f, flags.flags)
-@@ -958,7 +958,7 @@
- for obj in self._handle_linkables(context, passthru, generated_files):
- yield obj
-
-- generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in self._binaries.keys()])
-+ generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in list(self._binaries.keys())])
-
- components = []
- for var, cls in (
-@@ -1055,10 +1055,10 @@
- for obj in self._process_jar_manifests(context):
- yield obj
-
-- for name, jar in context.get('JAVA_JAR_TARGETS', {}).items():
-+ for name, jar in list(context.get('JAVA_JAR_TARGETS', {}).items()):
- yield ContextWrapped(context, jar)
-
-- for name, data in context.get('ANDROID_ECLIPSE_PROJECT_TARGETS', {}).items():
-+ for name, data in list(context.get('ANDROID_ECLIPSE_PROJECT_TARGETS', {}).items()):
- yield ContextWrapped(context, data)
-
- if context.get('USE_YASM') is True:
-@@ -1127,7 +1127,7 @@
- script = mozpath.join(mozpath.dirname(mozpath.dirname(__file__)),
- 'action', 'process_define_files.py')
- yield GeneratedFile(context, script, 'process_define_file',
-- unicode(path),
-+ str(path),
- [Path(context, path + '.in')])
-
- generated_files = context.get('GENERATED_FILES')
-@@ -1170,7 +1170,7 @@
- yield GeneratedFile(context, script, method, outputs, inputs)
-
- def _process_test_manifests(self, context):
-- for prefix, info in TEST_MANIFESTS.items():
-+ for prefix, info in list(TEST_MANIFESTS.items()):
- for path, manifest in context.get('%s_MANIFESTS' % prefix, []):
- for obj in self._process_test_manifest(context, info, path, manifest):
- yield obj
-@@ -1261,7 +1261,7 @@
-
- process_support_files(test)
-
-- for path, m_defaults in mpmanifest.manifest_defaults.items():
-+ for path, m_defaults in list(mpmanifest.manifest_defaults.items()):
- process_support_files(m_defaults)
-
- # We also copy manifests into the output directory,
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/gyp_reader.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/gyp_reader.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import gyp
- import sys
-@@ -69,7 +69,7 @@
-
-
- def encode(value):
-- if isinstance(value, unicode):
-+ if isinstance(value, str):
- return value.encode('utf-8')
- return value
-
-@@ -87,7 +87,7 @@
- # gyp expects plain str instead of unicode. The frontend code gives us
- # unicode strings, so convert them.
- path = encode(path)
-- str_vars = dict((name, encode(value)) for name, value in vars.items())
-+ str_vars = dict((name, encode(value)) for name, value in list(vars.items()))
-
- params = {
- b'parallel': False,
-@@ -222,7 +222,7 @@
- if not f:
- continue
- # the result may be a string or a list.
-- if isinstance(f, types.StringTypes):
-+ if isinstance(f, (str,)):
- context[var].append(f)
- else:
- context[var].extend(f)
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/mach_commands.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/mach_commands.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from collections import defaultdict
- import os
-@@ -105,13 +105,13 @@
- """
- components = defaultdict(set)
- try:
-- for p, m in self._get_files_info(paths, rev=rev).items():
-+ for p, m in list(self._get_files_info(paths, rev=rev).items()):
- components[m.get('BUG_COMPONENT')].add(p)
- except InvalidPathException as e:
- print(e.message)
- return 1
-
-- for component, files in sorted(components.items(), key=lambda x: (x is None, x)):
-+ for component, files in sorted(list(components.items()), key=lambda x: (x is None, x)):
- print('%s :: %s' % (component.product, component.component) if component else 'UNKNOWN')
- for f in sorted(files):
- print(' %s' % f)
-@@ -139,7 +139,7 @@
- help='Paths whose data to query')
- def file_info_test_deps(self, paths, rev=None):
- try:
-- for p, m in self._get_files_info(paths, rev=rev).items():
-+ for p, m in list(self._get_files_info(paths, rev=rev).items()):
- print('%s:' % mozpath.relpath(p, self.topsrcdir))
- if m.test_files:
- print('\tTest file patterns:')
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py (refactored)
-@@ -16,7 +16,7 @@
- It does this by examining specific variables populated during execution.
- """
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import ast
- import inspect
-@@ -80,11 +80,12 @@
- )
-
- from mozbuild.base import ExecutionSummary
-+from functools import reduce
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-- type_type = types.TypeType
-+ text_type = str
-+ type_type = type
- else:
- text_type = str
- type_type = type
-@@ -126,7 +127,7 @@
- b'JS_STANDALONE': b'1',
- })
- udict = {}
-- for k, v in self.substs.items():
-+ for k, v in list(self.substs.items()):
- if isinstance(v, str):
- udict[k.decode('utf-8')] = v.decode('utf-8')
- else:
-@@ -338,7 +339,7 @@
- raise Exception('`template` is a function decorator. You must '
- 'use it as `@template` preceding a function declaration.')
-
-- name = func.func_name
-+ name = func.__name__
-
- if name in self.templates:
- raise KeyError(
-@@ -417,7 +418,7 @@
- klass = self._context.__class__
- self._context.__class__ = TemplateContext
- # The sandbox will do all the necessary checks for these merges.
-- for key, value in context.items():
-+ for key, value in list(context.items()):
- if isinstance(value, dict):
- self[key].update(value)
- elif isinstance(value, (list, HierarchicalStringList)):
-@@ -434,10 +435,10 @@
-
- class TemplateFunction(object):
- def __init__(self, func, sandbox):
-- self.path = func.func_code.co_filename
-- self.name = func.func_name
--
-- code = func.func_code
-+ self.path = func.__code__.co_filename
-+ self.name = func.__name__
-+
-+ code = func.__code__
- firstlineno = code.co_firstlineno
- lines = sandbox._current_source.splitlines(True)
- lines = inspect.getblock(lines[firstlineno - 1:])
-@@ -476,8 +477,8 @@
- compile(func_ast, self.path, 'exec'),
- glob,
- self.name,
-- func.func_defaults,
-- func.func_closure,
-+ func.__defaults__,
-+ func.__closure__,
- )
- func()
-
-@@ -491,11 +492,11 @@
- '__builtins__': sandbox._builtins
- }
- func = types.FunctionType(
-- self._func.func_code,
-+ self._func.__code__,
- glob,
- self.name,
-- self._func.func_defaults,
-- self._func.func_closure
-+ self._func.__defaults__,
-+ self._func.__closure__
- )
- sandbox.exec_function(func, args, kwargs, self.path,
- becomes_current_path=False)
-@@ -511,7 +512,7 @@
- def visit_Str(self, node):
- # String nodes we got from the AST parser are str, but we want
- # unicode literals everywhere, so transform them.
-- node.s = unicode(node.s)
-+ node.s = str(node.s)
- return node
-
- def visit_Name(self, node):
-@@ -644,7 +645,7 @@
-
- for l in traceback.format_exception(type(self.other), self.other,
- self.trace):
-- s.write(unicode(l))
-+ s.write(str(l))
-
- return s.getvalue()
-
-@@ -794,7 +795,7 @@
- s.write(' %s\n' % inner.args[2])
- s.write('\n')
- close_matches = difflib.get_close_matches(inner.args[2],
-- VARIABLES.keys(), 2)
-+ list(VARIABLES.keys()), 2)
- if close_matches:
- s.write('Maybe you meant %s?\n' % ' or '.join(close_matches))
- s.write('\n')
-@@ -1196,7 +1197,7 @@
-
- recurse_info[d][key] = dict(sandbox.metadata[key])
-
-- for path, child_metadata in recurse_info.items():
-+ for path, child_metadata in list(recurse_info.items()):
- child_path = path.join('moz.build').full_path
-
- # Ensure we don't break out of the topsrcdir. We don't do realpath
-@@ -1288,7 +1289,7 @@
- # There is room to improve this code (and the code in
- # _find_relevant_mozbuilds) to better handle multiple files in the same
- # directory. Bug 1136966 tracks.
-- for path, mbpaths in relevants.items():
-+ for path, mbpaths in list(relevants.items()):
- path_mozbuilds[path] = [mozpath.join(topsrcdir, p) for p in mbpaths]
-
- for i, mbpath in enumerate(mbpaths[0:-1]):
-@@ -1325,7 +1326,7 @@
- all_contexts.append(context)
-
- result = {}
-- for path, paths in path_mozbuilds.items():
-+ for path, paths in list(path_mozbuilds.items()):
- result[path] = reduce(lambda x, y: x + y, (contexts[p] for p in paths), [])
-
- return result, all_contexts
-@@ -1352,7 +1353,7 @@
-
- r = {}
-
-- for path, ctxs in paths.items():
-+ for path, ctxs in list(paths.items()):
- flags = Files(Context())
-
- for ctx in ctxs:
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/sandbox.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/sandbox.py (refactored)
-@@ -17,7 +17,7 @@
- user-friendly error messages in the case of errors.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
- import sys
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/common.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- from mach.logging import LoggingManager
-
-@@ -36,7 +36,7 @@
- }, **extra_substs)
-
- self.substs_unicode = ReadOnlyDict({k.decode('utf-8'): v.decode('utf-8',
-- 'replace') for k, v in self.substs.items()})
-+ 'replace') for k, v in list(self.substs.items())})
-
- self.defines = self.substs
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_base.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_base.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
-@@ -12,7 +12,7 @@
- import tempfile
- import unittest
-
--from cStringIO import StringIO
-+from io import StringIO
- from mozfile.mozfile import NamedTemporaryFile
-
- from mozunit import main
-@@ -93,7 +93,7 @@
- mozconfig = os.path.join(d, 'mozconfig')
- with open(mozconfig, 'wt') as fh:
- fh.write('mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/foo/@CONFIG_GUESS@')
-- print('Wrote mozconfig %s' % mozconfig)
-+ print(('Wrote mozconfig %s' % mozconfig))
-
- topobjdir = os.path.join(d, 'foo', guess)
- os.makedirs(topobjdir)
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_containers.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_containers.py (refactored)
-@@ -152,7 +152,7 @@
-
- self.assertEqual(test['foo'], 1)
-
-- self.assertEqual(test.keys(), ['foo', 'bar' ])
-+ self.assertEqual(list(test.keys()), ['foo', 'bar' ])
-
- def test_defaults(self):
- test = OrderedDefaultDict(bool, {'foo': 1 })
-@@ -161,7 +161,7 @@
-
- self.assertEqual(test['qux'], False)
-
-- self.assertEqual(test.keys(), ['foo', 'qux' ])
-+ self.assertEqual(list(test.keys()), ['foo', 'qux' ])
-
-
- class TestKeyedDefaultDict(unittest.TestCase):
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_dotproperties.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_dotproperties.py (refactored)
-@@ -1,11 +1,11 @@
- # -*- coding: utf-8 -*-
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- import mozpack.path as mozpath
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_expression.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_expression.py (refactored)
-@@ -25,8 +25,8 @@
-
- def test_in(self):
- """test 'var in context' to not fall for fallback"""
-- self.assert_('FAIL' in self.c)
-- self.assert_('PASS' not in self.c)
-+ self.assertTrue('FAIL' in self.c)
-+ self.assertTrue('PASS' not in self.c)
-
- class TestExpression(unittest.TestCase):
- """
-@@ -48,16 +48,16 @@
-
- def test_not(self):
- """Test for the ! operator"""
-- self.assert_(Expression('!0').evaluate(self.c))
-- self.assert_(not Expression('!1').evaluate(self.c))
-+ self.assertTrue(Expression('!0').evaluate(self.c))
-+ self.assertTrue(not Expression('!1').evaluate(self.c))
-
- def test_equals(self):
- """ Test for the == operator"""
-- self.assert_(Expression('FAIL == PASS').evaluate(self.c))
-+ self.assertTrue(Expression('FAIL == PASS').evaluate(self.c))
-
- def test_notequals(self):
- """ Test for the != operator"""
-- self.assert_(Expression('FAIL != 1').evaluate(self.c))
-+ self.assertTrue(Expression('FAIL != 1').evaluate(self.c))
-
- def test_logical_and(self):
- """ Test for the && operator"""
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_jarmaker.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_jarmaker.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
- import unittest
-
- import os, sys, os.path, time, inspect
- from filecmp import dircmp
- from tempfile import mkdtemp
- from shutil import rmtree, copy2
--from StringIO import StringIO
-+from io import StringIO
- from zipfile import ZipFile
- import mozunit
-
-@@ -117,12 +117,12 @@
- """Helper to report rich results on difference between two directories.
- """
- def _fillDiff(self, dc, rv, basepath="{0}"):
-- rv['right_only'] += map(lambda l: basepath.format(l), dc.right_only)
-- rv['left_only'] += map(lambda l: basepath.format(l), dc.left_only)
-- rv['diff_files'] += map(lambda l: basepath.format(l), dc.diff_files)
-- rv['funny'] += map(lambda l: basepath.format(l), dc.common_funny)
-- rv['funny'] += map(lambda l: basepath.format(l), dc.funny_files)
-- for subdir, _dc in dc.subdirs.iteritems():
-+ rv['right_only'] += [basepath.format(l) for l in dc.right_only]
-+ rv['left_only'] += [basepath.format(l) for l in dc.left_only]
-+ rv['diff_files'] += [basepath.format(l) for l in dc.diff_files]
-+ rv['funny'] += [basepath.format(l) for l in dc.common_funny]
-+ rv['funny'] += [basepath.format(l) for l in dc.funny_files]
-+ for subdir, _dc in dc.subdirs.items():
- self._fillDiff(_dc, rv, basepath.format(subdir + "/{0}"))
- def allResults(self, left, right):
- rv = {'right_only':[], 'left_only':[],
-@@ -295,7 +295,7 @@
- ('hoge', 'foo', '2'): ('qux', 'foo', '2'),
- ('hoge', 'baz'): ('qux', 'baz'),
- }
-- for dest, src in expected_symlinks.iteritems():
-+ for dest, src in expected_symlinks.items():
- srcpath = os.path.join(self.srcdir, *src)
- destpath = os.path.join(self.builddir, 'chrome', 'test', 'dir',
- *dest)
-@@ -317,7 +317,7 @@
- def test_en_US(self):
- jm = self.jm
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
- 'browser/locales', 'en-US')
-@@ -326,13 +326,13 @@
- jm = self.jm
- jm.l10nbase = '/L10N_BASE'
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs, [os.path.join('/L10N_BASE', 'browser')])
-+ self.assertEqual(jm.localedirs, [os.path.join('/L10N_BASE', 'browser')])
- def test_l10n_merge(self):
- jm = self.jm
- jm.l10nbase = '/L10N_BASE'
- jm.l10nmerge = '/L10N_MERGE'
- jm.makeJar(self.fake_empty_file, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [os.path.join('/L10N_MERGE', 'browser'),
- os.path.join('/L10N_BASE', 'browser'),
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
-@@ -346,7 +346,7 @@
- ''')
- jarcontents.name = 'override.mn'
- jm.makeJar(jarcontents, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs,
-+ self.assertEqual(jm.localedirs,
- [
- os.path.join(os.path.abspath('/TOPSOURCEDIR'),
- 'dom/locales', 'en-US')
-@@ -360,7 +360,7 @@
- ''')
- jarcontents.name = 'override.mn'
- jm.makeJar(jarcontents, '/NO_OUTPUT_REQUIRED')
-- self.assertEquals(jm.localedirs, [os.path.join('/L10N_BASE', 'dom')])
-+ self.assertEqual(jm.localedirs, [os.path.join('/L10N_BASE', 'dom')])
-
-
- if __name__ == '__main__':
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_line_endings.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_line_endings.py (refactored)
-@@ -1,6 +1,6 @@
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
- import os
- import sys
- import os.path
-@@ -30,17 +30,17 @@
- def testMac(self):
- self.createFile(['\x0D']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- def testUnix(self):
- self.createFile(['\x0A']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- def testWindows(self):
- self.createFile(['\x0D\x0A']*3)
- self.pp.do_include(self.tempnam)
-- self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+ self.assertEqual(self.pp.out.getvalue(), 'a\nb\nc\n')
-
- if __name__ == '__main__':
- mozunit.main()
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_makeutil.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_makeutil.py (refactored)
-@@ -11,7 +11,7 @@
- from mozunit import main
- import os
- import unittest
--from StringIO import StringIO
-+from io import StringIO
-
-
- class TestMakefile(unittest.TestCase):
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_mozconfig.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_mozconfig.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -480,9 +480,9 @@
-
- self.assertTrue(e.exception.message.startswith(
- 'Evaluation of your mozconfig exited with an error'))
-- self.assertEquals(e.exception.path,
-+ self.assertEqual(e.exception.path,
- mozconfig.name.replace(os.sep, '/'))
-- self.assertEquals(e.exception.output, ['hello world'])
-+ self.assertEqual(e.exception.output, ['hello world'])
-
-
- if __name__ == '__main__':
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_mozinfo.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_mozinfo.py (refactored)
-@@ -8,7 +8,7 @@
- import tempfile
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- import mozunit
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_preprocessor.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_preprocessor.py (refactored)
-@@ -4,7 +4,7 @@
-
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
- import os
- import shutil
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_pythonutil.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_pythonutil.py (refactored)
-@@ -12,7 +12,7 @@
- def test_iter_modules_in_path(self):
- mozbuild_path = os.path.normcase(os.path.dirname(os.path.dirname(__file__)))
- paths = list(iter_modules_in_path(mozbuild_path))
-- self.assertEquals(sorted(paths), [
-+ self.assertEqual(sorted(paths), [
- os.path.join(os.path.abspath(mozbuild_path), '__init__.py'),
- os.path.join(os.path.abspath(mozbuild_path), 'pythonutil.py'),
- os.path.join(os.path.abspath(mozbuild_path), 'test', 'test_pythonutil.py'),
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_util.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_util.py (refactored)
-@@ -3,7 +3,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import itertools
- import hashlib
-@@ -110,7 +110,7 @@
- '''
- def __call__(self, name, mode):
- if 'w' in mode:
-- raise Exception, 'Unexpected open with write mode'
-+ raise Exception('Unexpected open with write mode')
- return MockedOpen.__call__(self, name, mode)
-
- with MyMockedOpen({'file': 'content'}):
-@@ -432,7 +432,7 @@
- self.assertEqual(len(l), 0)
- original = ['a', 'b', 'c']
- l = ListWithAction(['a', 'b', 'c'], action=self.action)
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -445,7 +445,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l.extend(original)
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -455,7 +455,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l[:] = original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -465,7 +465,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l2 = l + original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l2)
-
- with self.assertRaises(ValueError):
-@@ -475,7 +475,7 @@
- l = ListWithAction(action=self.action)
- original = ['a', 'b']
- l += original
-- expected = map(self.action, original)
-+ expected = list(map(self.action, original))
- self.assertSameList(expected, l)
-
- with self.assertRaises(ValueError):
-@@ -524,7 +524,7 @@
-
- def test_strict_ordering_on_append_list_with_flags_factory_extend(self):
- FooList = StrictOrderingOnAppendListWithFlagsFactory({
-- 'foo': bool, 'bar': unicode
-+ 'foo': bool, 'bar': str
- })
- foo = FooList(['a', 'b', 'c'])
- foo['a'].foo = True
-@@ -532,7 +532,7 @@
-
- # Don't allow extending lists with different flag definitions.
- BarList = StrictOrderingOnAppendListWithFlagsFactory({
-- 'foo': unicode, 'baz': bool
-+ 'foo': str, 'baz': bool
- })
- bar = BarList(['d', 'e', 'f'])
- bar['d'].foo = 'foo'
-@@ -752,9 +752,9 @@
-
- class TypedTestStrictOrderingOnAppendList(unittest.TestCase):
- def test_init(self):
-- class Unicode(unicode):
-+ class Unicode(str):
- def __init__(self, other):
-- if not isinstance(other, unicode):
-+ if not isinstance(other, str):
- raise ValueError()
- super(Unicode, self).__init__(other)
-
-@@ -776,14 +776,14 @@
-
- class TestTypedNamedTuple(unittest.TestCase):
- def test_simple(self):
-- FooBar = TypedNamedTuple('FooBar', [('foo', unicode), ('bar', int)])
-+ FooBar = TypedNamedTuple('FooBar', [('foo', str), ('bar', int)])
-
- t = FooBar(foo='foo', bar=2)
-- self.assertEquals(type(t), FooBar)
-- self.assertEquals(t.foo, 'foo')
-- self.assertEquals(t.bar, 2)
-- self.assertEquals(t[0], 'foo')
-- self.assertEquals(t[1], 2)
-+ self.assertEqual(type(t), FooBar)
-+ self.assertEqual(t.foo, 'foo')
-+ self.assertEqual(t.bar, 2)
-+ self.assertEqual(t[0], 'foo')
-+ self.assertEqual(t[1], 2)
-
- FooBar('foo', 2)
-
-@@ -796,7 +796,7 @@
- # arguments.
- t1 = ('foo', 3)
- t2 = FooBar(t1)
-- self.assertEquals(type(t2), FooBar)
-+ self.assertEqual(type(t2), FooBar)
- self.assertEqual(FooBar(t1), FooBar('foo', 3))
-
-
-@@ -871,18 +871,18 @@
- CompilerType = EnumString.subclass('msvc', 'gcc', 'clang', 'clang-cl')
-
- type = CompilerType('msvc')
-- self.assertEquals(type, 'msvc')
-- self.assertNotEquals(type, 'gcc')
-- self.assertNotEquals(type, 'clang')
-- self.assertNotEquals(type, 'clang-cl')
-+ self.assertEqual(type, 'msvc')
-+ self.assertNotEqual(type, 'gcc')
-+ self.assertNotEqual(type, 'clang')
-+ self.assertNotEqual(type, 'clang-cl')
- self.assertIn(type, ('msvc', 'clang-cl'))
- self.assertNotIn(type, ('gcc', 'clang'))
-
- with self.assertRaises(EnumStringComparisonError):
-- self.assertEquals(type, 'foo')
-+ self.assertEqual(type, 'foo')
-
- with self.assertRaises(EnumStringComparisonError):
-- self.assertNotEquals(type, 'foo')
-+ self.assertNotEqual(type, 'foo')
-
- with self.assertRaises(EnumStringComparisonError):
- self.assertIn(type, ('foo', 'gcc'))
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_buildlist.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_buildlist.py (refactored)
-@@ -38,11 +38,11 @@
- lines = [line.rstrip() for line in f.readlines()]
- f.close()
- for line in lines:
-- self.assert_(len(l) > 0,
-+ self.assertTrue(len(l) > 0,
- "ran out of expected lines! (expected '{0}', got '{1}')"
- .format(l, lines))
- self.assertEqual(line, l.pop(0))
-- self.assert_(len(l) == 0,
-+ self.assertTrue(len(l) == 0,
- "not enough lines in file! (expected '{0}',"
- " got '{1}'".format(l, lines))
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_generate_browsersearch.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_generate_browsersearch.py (refactored)
-@@ -3,7 +3,7 @@
- # Any copyright is dedicated to the Public Domain.
- # http://creativecommons.org/publicdomain/zero/1.0/
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
-@@ -43,8 +43,8 @@
-
- def test_valid_unicode(self):
- o = self._test_one('valid-zh-CN')
-- self.assertEquals(o['default'], '百度')
-- self.assertEquals(o['engines'], ['百度', 'Google'])
-+ self.assertEqual(o['default'], '百度')
-+ self.assertEqual(o['engines'], ['百度', 'Google'])
-
- def test_invalid_unicode(self):
- with self.assertRaises(UnicodeDecodeError):
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_package_fennec_apk.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/action/test_package_fennec_apk.py (refactored)
-@@ -3,7 +3,7 @@
- # Any copyright is dedicated to the Public Domain.
- # http://creativecommons.org/publicdomain/zero/1.0/
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -41,14 +41,14 @@
- root_files=[data('root_file.txt')])
-
- # omni.ja ends up in assets/omni.ja.
-- self.assertEquals(jarrer['assets/omni.ja'].open().read().strip(), 'omni.ja')
-+ self.assertEqual(jarrer['assets/omni.ja'].open().read().strip(), 'omni.ja')
-
- # Everything else is in place.
- for name in ('classes.dex',
- 'assets/asset.txt',
- 'lib/lib.txt',
- 'root_file.txt'):
-- self.assertEquals(jarrer[name].open().read().strip(), name)
-+ self.assertEqual(jarrer[name].open().read().strip(), name)
-
- def test_inputs(self):
- # Language repacks take updated resources from an ap_ and pack them
-@@ -57,8 +57,8 @@
- # overrides the first.
- jarrer = package(inputs=[data('input2.apk'), data('input1.ap_')])
-
-- files1 = JarReader(data('input1.ap_')).entries.keys()
-- files2 = JarReader(data('input2.apk')).entries.keys()
-+ files1 = list(JarReader(data('input1.ap_')).entries.keys())
-+ files2 = list(JarReader(data('input2.apk')).entries.keys())
- for name in files2:
- self.assertTrue(name in files1 or
- jarrer[name].open().read().startswith('input2/'))
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/common.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_build.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_build.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals, print_function
-+
-
- import buildconfig
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_configenvironment.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_configenvironment.py (refactored)
-@@ -3,7 +3,7 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- import os, posixpath
--from StringIO import StringIO
-+from io import StringIO
- import unittest
- from mozunit import main, MockedOpen
-
-@@ -29,7 +29,7 @@
- self.substs = ReadOnlyDict(d)
-
- d = dict(self.substs_unicode)
-- d[u'top_srcdir'] = top_srcdir.decode('utf-8')
-+ d['top_srcdir'] = top_srcdir.decode('utf-8')
- self.substs_unicode = ReadOnlyDict(d)
-
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_recursivemake.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_recursivemake.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import json
- import os
- import unittest
-@@ -331,7 +331,7 @@
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- # print("test_variable_passthru[%s]" % (var))
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-@@ -370,7 +370,7 @@
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-
-@@ -544,7 +544,7 @@
-
- # This is not the most robust test in the world, but it gets the job
- # done.
-- entries = [e for e in m._dests.keys() if '**' in e]
-+ entries = [e for e in list(m._dests.keys()) if '**' in e]
- self.assertEqual(len(entries), 1)
- self.assertIn('support/**', entries[0])
-
-@@ -562,7 +562,7 @@
- set(['child/test_sub.js',
- 'child/data/**',
- 'child/another-file.sjs']))
-- for key in test_installs.keys():
-+ for key in list(test_installs.keys()):
- self.assertIn(key, test_installs)
-
- test_files_manifest = mozpath.join(env.topobjdir,
-@@ -576,7 +576,7 @@
- # Then, synthesize one from the test-installs.pkl file. This should
- # allow us to re-create a subset of the above.
- synthesized_manifest = InstallManifest()
-- for item, installs in test_installs.items():
-+ for item, installs in list(test_installs.items()):
- for install_info in installs:
- if len(install_info) == 3:
- synthesized_manifest.add_pattern_symlink(*install_info)
-@@ -584,7 +584,7 @@
- synthesized_manifest.add_symlink(*install_info)
-
- self.assertEqual(len(synthesized_manifest), 3)
-- for item, info in synthesized_manifest._dests.items():
-+ for item, info in list(synthesized_manifest._dests.items()):
- self.assertIn(item, m)
- self.assertEqual(info, m._dests[item])
-
-@@ -758,7 +758,7 @@
- expected[mozpath.join(env.topobjdir, 'final-target')] = [
- 'FINAL_TARGET = $(DEPTH)/random-final-target'
- ]
-- for key, expected_rules in expected.iteritems():
-+ for key, expected_rules in expected.items():
- backend_path = mozpath.join(key, 'backend.mk')
- lines = [l.strip() for l in open(backend_path, 'rt').readlines()[2:]]
- found = [str for str in lines if
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_visualstudio.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_visualstudio.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- from xml.dom.minidom import parse
- import os
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/common.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/common.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import errno
-@@ -16,7 +16,7 @@
- from mozbuild.util import ReadOnlyNamespace
- from mozpack import path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
- from which import WhichError
-
- from buildconfig import (
-@@ -78,10 +78,10 @@
- self._search_path = environ.get('PATH', '').split(os.pathsep)
-
- self._subprocess_paths = {
-- mozpath.abspath(k): v for k, v in paths.iteritems() if v
-+ mozpath.abspath(k): v for k, v in paths.items() if v
- }
-
-- paths = paths.keys()
-+ paths = list(paths.keys())
-
- environ = dict(environ)
- if 'CONFIG_SHELL' not in environ:
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/lint.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/lint.py (refactored)
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import unittest
--from StringIO import StringIO
-+from io import StringIO
- from mozunit import main
- from buildconfig import (
- topobjdir,
-@@ -42,9 +42,7 @@
- return type.__new__(mcs, name, bases, attrs)
-
-
--class Lint(unittest.TestCase):
-- __metaclass__ = LintMeta
--
-+class Lint(unittest.TestCase, metaclass=LintMeta):
- def setUp(self):
- self._curdir = os.getcwd()
- os.chdir(topobjdir)
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_checks_configure.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_checks_configure.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
--
--from StringIO import StringIO
-+
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -447,7 +447,7 @@
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A))
-+ dirs = list(map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s"])
- ''' % os.pathsep.join(dirs)))
-@@ -457,7 +457,7 @@
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B))
-+ dirs = list(map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s", "%s"])
- ''' % (os.pathsep.join(dirs), self.OTHER_A)))
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_compile_checks.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_compile_checks.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import textwrap
- import unittest
- import mozpack.path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
-
- from buildconfig import topsrcdir
- from common import ConfigureTestSandbox
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_configure.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_configure.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
--
--from StringIO import StringIO
-+
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -43,7 +43,7 @@
-
- if '--help' in options:
- return out.getvalue(), config
-- self.assertEquals('', out.getvalue())
-+ self.assertEqual('', out.getvalue())
- return config
-
- def moz_configure(self, source):
-@@ -55,7 +55,7 @@
- def test_defaults(self):
- config = self.get_config()
- self.maxDiff = None
-- self.assertEquals({
-+ self.assertEqual({
- 'CHOICES': NegativeOptionValue(),
- 'DEFAULTED': PositiveOptionValue(('not-simple',)),
- 'IS_GCC': NegativeOptionValue(),
-@@ -71,9 +71,9 @@
- def test_help(self):
- help, config = self.get_config(['--help'], prog='configure')
-
-- self.assertEquals({}, config)
-+ self.assertEqual({}, config)
- self.maxDiff = None
-- self.assertEquals(
-+ self.assertEqual(
- 'Usage: configure [options]\n'
- '\n'
- 'Options: [defaults in brackets after descriptions]\n'
-@@ -109,7 +109,7 @@
- ):
- self.assertNotIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(NegativeOptionValue(), config['SIMPLE'])
-+ self.assertEqual(NegativeOptionValue(), config['SIMPLE'])
-
- for config in (
- self.get_config(['--enable-simple']),
-@@ -117,7 +117,7 @@
- ):
- self.assertIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(PositiveOptionValue(), config['SIMPLE'])
-+ self.assertEqual(PositiveOptionValue(), config['SIMPLE'])
- self.assertIs(config['SIMPLE'], config['ENABLED_SIMPLE'])
-
- # --enable-simple doesn't take values.
-@@ -135,7 +135,7 @@
- env={'MOZ_WITH_ENV': '1'}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(NegativeOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(NegativeOptionValue(), config['WITH_ENV'])
-
- for config in (
- self.get_config(['--enable-with-env']),
-@@ -145,7 +145,7 @@
- env={'MOZ_WITH_ENV': ''}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(PositiveOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(PositiveOptionValue(), config['WITH_ENV'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-with-env=value'])
-@@ -160,23 +160,23 @@
- self.get_config(['--enable-values', '--disable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(NegativeOptionValue(), config[name])
-+ self.assertEqual(NegativeOptionValue(), config[name])
-
- for config in (
- self.get_config(['--enable-values']),
- self.get_config(['--disable-values', '--enable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(), config[name])
-+ self.assertEqual(PositiveOptionValue(), config[name])
-
- config = self.get_config(['--enable-values=foo'])
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(('foo',)), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo',)), config[name])
-
- config = self.get_config(['--enable-values=foo,bar'])
- self.assertIn(name, config)
- self.assertTrue(config[name])
-- self.assertEquals(PositiveOptionValue(('foo', 'bar')), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo', 'bar')), config[name])
-
- def test_values2(self):
- self.test_values('VALUES2')
-@@ -187,12 +187,12 @@
- def test_returned_default(self):
- config = self.get_config(['--enable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('simple',)), config['DEFAULTED'])
-
- config = self.get_config(['--disable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('not-simple',)), config['DEFAULTED'])
-
- def test_returned_choices(self):
-@@ -200,13 +200,13 @@
- config = self.get_config(
- ['--enable-values=alpha', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- for val in ('0', '1', '2'):
- config = self.get_config(
- ['--enable-values=numeric', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-values=numeric',
-@@ -218,12 +218,12 @@
- def test_included(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('IS_GCC', config)
-- self.assertEquals(config['IS_GCC'], True)
-+ self.assertEqual(config['IS_GCC'], True)
-
- config = self.get_config(
- ['--enable-include=extra.configure', '--extra'])
- self.assertIn('EXTRA', config)
-- self.assertEquals(PositiveOptionValue(), config['EXTRA'])
-+ self.assertEqual(PositiveOptionValue(), config['EXTRA'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--extra'])
-@@ -231,7 +231,7 @@
- def test_template(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('CFLAGS', config)
-- self.assertEquals(config['CFLAGS'], ['-Werror=foobar'])
-+ self.assertEqual(config['CFLAGS'], ['-Werror=foobar'])
-
- config = self.get_config(env={'CC': 'clang'})
- self.assertNotIn('CFLAGS', config)
-@@ -288,7 +288,7 @@
- sandbox
- )
-
-- import __builtin__
-+ import builtins
- self.assertIs(sandbox['foo'](), __builtin__)
-
- exec_(textwrap.dedent('''
-@@ -300,7 +300,7 @@
- )
-
- f = sandbox['foo']()
-- self.assertEquals(f.name, os.devnull)
-+ self.assertEqual(f.name, os.devnull)
- f.close()
-
- # This unlocks the sandbox
-@@ -336,8 +336,8 @@
- self.assertIs(sandbox['foo'](), sandbox)
-
- # Nothing leaked from the function being executed
-- self.assertEquals(sandbox.keys(), ['__builtins__', 'foo'])
-- self.assertEquals(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-+ self.assertEqual(list(sandbox.keys()), ['__builtins__', 'foo'])
-+ self.assertEqual(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-
- exec_(textwrap.dedent('''
- @template
-@@ -354,7 +354,7 @@
- with self.assertRaises(NameError) as e:
- sandbox._depends[sandbox['bar']].result
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "global name 'sys' is not defined")
-
- def test_apply_imports(self):
-@@ -380,28 +380,28 @@
- sandbox
- )
-
-- self.assertEquals(len(imports), 1)
-+ self.assertEqual(len(imports), 1)
-
- def test_os_path(self):
- config = self.get_config(['--with-imports=%s' % __file__])
- self.assertIn('HAS_ABSPATH', config)
-- self.assertEquals(config['HAS_ABSPATH'], True)
-+ self.assertEqual(config['HAS_ABSPATH'], True)
- self.assertIn('HAS_GETATIME', config)
-- self.assertEquals(config['HAS_GETATIME'], True)
-+ self.assertEqual(config['HAS_GETATIME'], True)
- self.assertIn('HAS_GETATIME2', config)
-- self.assertEquals(config['HAS_GETATIME2'], False)
-+ self.assertEqual(config['HAS_GETATIME2'], False)
-
- def test_template_call(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('TEMPLATE_VALUE', config)
-- self.assertEquals(config['TEMPLATE_VALUE'], 42)
-+ self.assertEqual(config['TEMPLATE_VALUE'], 42)
- self.assertIn('TEMPLATE_VALUE_2', config)
-- self.assertEquals(config['TEMPLATE_VALUE_2'], 21)
-+ self.assertEqual(config['TEMPLATE_VALUE_2'], 21)
-
- def test_template_imports(self):
- config = self.get_config(['--enable-imports-in-template'])
- self.assertIn('PLATFORM', config)
-- self.assertEquals(config['PLATFORM'], sys.platform)
-+ self.assertEqual(config['PLATFORM'], sys.platform)
-
- def test_decorators(self):
- config = {}
-@@ -419,27 +419,27 @@
- return self.get_config(*args, configure='set_config.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config)
-- self.assertEquals(config['FOO'], True)
-+ self.assertEqual(config['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config)
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], True)
-+ self.assertEqual(config['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config)
-- self.assertEquals(config['VALUE'], 'qux')
-+ self.assertEqual(config['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config)
-- self.assertEquals(config['hoge'], True)
-+ self.assertEqual(config['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config, {'BAR': False})
-+ self.assertEqual(config, {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -454,11 +454,11 @@
- set_config('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -468,27 +468,27 @@
- return self.get_config(*args, configure='set_define.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {'DEFINES': {}})
-+ self.assertEqual(config, {'DEFINES': {}})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['FOO'], True)
-+ self.assertEqual(config['DEFINES']['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config['DEFINES'])
- self.assertIn('BAR', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['BAR'], True)
-+ self.assertEqual(config['DEFINES']['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['VALUE'], 'qux')
-+ self.assertEqual(config['DEFINES']['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['hoge'], True)
-+ self.assertEqual(config['DEFINES']['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config['DEFINES'], {'BAR': False})
-+ self.assertEqual(config['DEFINES'], {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -503,11 +503,11 @@
- set_define('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -518,19 +518,19 @@
- *args, configure='imply_option/simple.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue())
-+ self.assertEqual(config['BAR'], PositiveOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -541,31 +541,31 @@
- *args, configure='imply_option/negative.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--enable-foo' conflicts with "
- "'--enable-bar' from the command-line")
-
- config = get_config(['--disable-hoge'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--disable-hoge', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--disable-hoge' conflicts with "
- "'--enable-bar' from the command-line")
-@@ -576,23 +576,23 @@
- *args, configure='imply_option/values.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo=a'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a',)))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a',)))
-
- config = get_config(['--enable-foo=a,b'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a','b')))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a','b')))
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo=a,b', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar=a,b' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -603,15 +603,15 @@
- *args, configure='imply_option/infer.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -619,7 +619,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config([], configure='imply_option/infer_ko.configure')
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "Cannot infer what implies '--enable-bar'. Please add a `reason` "
- "to the `imply_option` call.")
-@@ -630,25 +630,25 @@
- *args, configure='imply_option/imm.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config_path = mozpath.abspath(
- mozpath.join(test_data_path, 'imply_option', 'imm.configure'))
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-foo' implied by 'imply_option at %s:7' conflicts with "
- "'--disable-foo' from the command-line" % config_path):
- get_config(['--disable-foo'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-bar=foo,bar' implied by 'imply_option at %s:16' conflicts"
- " with '--enable-bar=a,b,c' from the command-line" % config_path):
- get_config(['--enable-bar=a,b,c'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-baz=BAZ' implied by 'imply_option at %s:25' conflicts"
- " with '--enable-baz=QUUX' from the command-line" % config_path):
- get_config(['--enable-baz=QUUX'])
-@@ -660,7 +660,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`--with-foo`, emitted from `%s` line 2, is unknown."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -675,7 +675,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- def test_imply_option_when(self):
-@@ -686,12 +686,12 @@
- set_config('QUX', depends('--with-qux')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': PositiveOptionValue(),
- })
-
-@@ -700,7 +700,7 @@
- with self.moz_configure('option("--with-foo", help="foo")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` is not handled ; reference it with a @depends'
- )
-@@ -712,7 +712,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -724,7 +724,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -736,7 +736,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -748,7 +748,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -760,7 +760,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -776,18 +776,18 @@
- set_config('QUX', depends('--with-qux', when='--with-foo')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo', '--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': PositiveOptionValue(),
- })
-@@ -795,7 +795,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-bar is not available in this configuration'
- )
-@@ -803,7 +803,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-@@ -811,18 +811,18 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['QUX=1'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'QUX is not available in this configuration'
- )
-
- config = self.get_config(env={'QUX': '1'})
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- help, config = self.get_config(['--help'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -833,7 +833,7 @@
- '''))
-
- help, config = self.get_config(['--help', '--with-foo'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -851,7 +851,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -868,7 +868,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -877,7 +877,7 @@
- with self.moz_configure('include("../foo.configure")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it is not in a subdirectory of `%s`'
- % (mozpath.normpath(mozpath.join(test_data_path, '..',
-@@ -892,7 +892,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it was included already.'
- % mozpath.normpath(mozpath.join(test_data_path,
-@@ -905,7 +905,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- def test_include_when(self):
- with MockedOpen({
-@@ -948,26 +948,26 @@
- '''),
- }):
- config = self.get_config()
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-bar'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'BAR': 'bar',
- })
-
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-
- config = self.get_config(['--with-foo', '--with-foo-really'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'FOO2': True,
- })
-@@ -979,7 +979,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, 'Cannot reassign builtins')
-+ self.assertEqual(e.exception.message, 'Cannot reassign builtins')
-
- with self.assertRaises(KeyError) as e:
- with self.moz_configure('''
-@@ -987,7 +987,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot assign `foo` because it is neither a '
- '@depends nor a @template')
-
-@@ -1000,7 +1000,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "@depends needs at least one argument")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1011,7 +1011,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'--with-foo' is not a known option. Maybe it's "
- "declared too late?")
-
-@@ -1023,7 +1023,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Option must not contain an '='")
-
- with self.assertRaises(TypeError) as e:
-@@ -1034,7 +1034,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot use object of type 'int' as argument "
- "to @depends")
-
-@@ -1046,7 +1046,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot decorate generator functions with @depends")
-
- with self.assertRaises(TypeError) as e:
-@@ -1055,7 +1055,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1069,7 +1069,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `foo` function may not be called")
-
- with self.assertRaises(TypeError) as e:
-@@ -1080,7 +1080,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "depends_impl() got an unexpected keyword argument 'foo'")
-
- def test_depends_when(self):
-@@ -1105,12 +1105,12 @@
- set_config('QUX', qux)
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
-
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -1125,7 +1125,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @template')
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1138,7 +1138,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @depends')
-
- for import_ in (
-@@ -1155,7 +1155,7 @@
- ''' % import_):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(TypeError) as e:
- with self.moz_configure('''
-@@ -1166,7 +1166,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(ValueError) as e:
- with self.moz_configure('''
-@@ -1176,7 +1176,7 @@
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Invalid argument to @imports: 'os*'")
-
- def test_only_when(self):
-@@ -1231,7 +1231,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--foo'])
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # Cannot depend on an option defined in a only_when block, because we
-@@ -1242,7 +1242,7 @@
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -1259,7 +1259,7 @@
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # And similarly doesn't fail when the condition is true.
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_lint.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_lint.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import os
- import textwrap
- import unittest
-@@ -62,7 +62,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -85,7 +85,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -111,7 +111,7 @@
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- # There is a default restricted `os` module when there is no explicit
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_moz_configure.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_moz_configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -23,10 +23,10 @@
- shell = mozpath.abspath('/bin/sh')
- return result.replace('CONFIG_SHELL=%s ' % shell, '')
-
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser']))
-
-- self.assertEquals('--enable-application=browser '
-+ self.assertEqual('--enable-application=browser '
- 'MOZ_PROFILING=1',
- get_value_for(['--enable-application=browser',
- 'MOZ_PROFILING=1']))
-@@ -35,25 +35,25 @@
- environ={'MOZ_PROFILING': '1'},
- mozconfig='ac_add_options --enable-project=js')
-
-- self.assertEquals('--enable-project=js MOZ_PROFILING=1',
-+ self.assertEqual('--enable-project=js MOZ_PROFILING=1',
- value)
-
- # --disable-js-shell is the default, so it's filtered out.
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser',
- '--disable-js-shell']))
-
- # Normally, --without-foo would be filtered out because that's the
- # default, but since it is a (fake) old-configure option, it always
- # appears.
-- self.assertEquals('--enable-application=browser --without-foo',
-+ self.assertEqual('--enable-application=browser --without-foo',
- get_value_for(['--enable-application=browser',
- '--without-foo']))
-- self.assertEquals('--enable-application=browser --with-foo',
-+ self.assertEqual('--enable-application=browser --with-foo',
- get_value_for(['--enable-application=browser',
- '--with-foo']))
-
-- self.assertEquals("--enable-application=browser '--with-foo=foo bar'",
-+ self.assertEqual("--enable-application=browser '--with-foo=foo bar'",
- get_value_for(['--enable-application=browser',
- '--with-foo=foo bar']))
-
-@@ -65,7 +65,7 @@
- self.version = version
-
- def __call__(self, stdin, args):
-- this.assertEquals(args, ('-version',))
-+ this.assertEqual(args, ('-version',))
- return 0, self.version, ''
-
- def check_nsis_version(version):
-@@ -80,13 +80,13 @@
- with self.assertRaises(SystemExit) as e:
- check_nsis_version('v3.0a2')
-
-- self.assertEquals(check_nsis_version('v3.0b1'), '3.0b1')
-- self.assertEquals(check_nsis_version('v3.0b2'), '3.0b2')
-- self.assertEquals(check_nsis_version('v3.0rc1'), '3.0rc1')
-- self.assertEquals(check_nsis_version('v3.0'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0-2'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0.1'), '3.0')
-- self.assertEquals(check_nsis_version('v3.1'), '3.1')
-+ self.assertEqual(check_nsis_version('v3.0b1'), '3.0b1')
-+ self.assertEqual(check_nsis_version('v3.0b2'), '3.0b2')
-+ self.assertEqual(check_nsis_version('v3.0rc1'), '3.0rc1')
-+ self.assertEqual(check_nsis_version('v3.0'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0-2'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0.1'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.1'), '3.1')
-
-
- if __name__ == '__main__':
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_options.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_options.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import unittest
-
-@@ -27,139 +27,139 @@
- class TestOption(unittest.TestCase):
- def test_option(self):
- option = Option('--option')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--enable-option')
-- self.assertEquals(option.prefix, 'enable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'enable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--disable-option')
-- self.assertEquals(option.prefix, 'disable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'disable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--with-option')
-- self.assertEquals(option.prefix, 'with')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'with')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--without-option')
-- self.assertEquals(option.prefix, 'without')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'without')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--without-option-foo', env='MOZ_OPTION')
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.env, 'MOZ_OPTION')
-
- option = Option(env='MOZ_OPTION')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, None)
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, None)
-+ self.assertEqual(option.env, 'MOZ_OPTION')
- self.assertFalse(option.default)
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=0, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='?', default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # --disable options with a nargs value that requires at least one
- # argument need to be given a default.
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # Test nargs inference from default value
- option = Option('--with-foo', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- option = Option(env='FOO', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- def test_option_option(self):
- for option in (
-@@ -169,70 +169,70 @@
- '--with-option',
- '--without-option',
- ):
-- self.assertEquals(Option(option).option, option)
-- self.assertEquals(Option(option, env='FOO').option, option)
-+ self.assertEqual(Option(option).option, option)
-+ self.assertEqual(Option(option, env='FOO').option, option)
-
- opt = Option(option, default=False)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-disable-', '-enable-')
- .replace('-without-', '-with-'))
-
- opt = Option(option, default=True)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-enable-', '-disable-')
- .replace('-with-', '-without-'))
-
-- self.assertEquals(Option(env='FOO').option, 'FOO')
-+ self.assertEqual(Option(env='FOO').option, 'FOO')
-
- def test_option_choices(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=3, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Not enough `choices` for `nargs`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs=1, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs='+', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default='c', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('a', 'c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- option = Option('--with-option', nargs='+', choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- option = Option('--without-option', nargs='*', default='a',
- choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- # Test nargs inference from choices
- option = Option('--with-option', choices=('a', 'b'))
-@@ -243,71 +243,71 @@
- choices=('a', 'b', 'c', 'd'))
-
- value = option.get_value('--with-option=+d')
-- self.assertEquals(PositiveOptionValue(('b', 'c', 'd')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c', 'd')), value)
-
- value = option.get_value('--with-option=-b')
-- self.assertEquals(PositiveOptionValue(('c',)), value)
-+ self.assertEqual(PositiveOptionValue(('c',)), value)
-
- value = option.get_value('--with-option=-b,+d')
-- self.assertEquals(PositiveOptionValue(('c','d')), value)
-+ self.assertEqual(PositiveOptionValue(('c','d')), value)
-
- # Adding something that is in the default is fine
- value = option.get_value('--with-option=+b')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- # Removing something that is not in the default is fine, as long as it
- # is one of the choices
- value = option.get_value('--with-option=-a')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=-e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- # Other "not a choice" errors.
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=+e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- def test_option_value_format(self):
- val = PositiveOptionValue()
-- self.assertEquals('--with-value', val.format('--with-value'))
-- self.assertEquals('--with-value', val.format('--without-value'))
-- self.assertEquals('--enable-value', val.format('--enable-value'))
-- self.assertEquals('--enable-value', val.format('--disable-value'))
-- self.assertEquals('--value', val.format('--value'))
-- self.assertEquals('VALUE=1', val.format('VALUE'))
-+ self.assertEqual('--with-value', val.format('--with-value'))
-+ self.assertEqual('--with-value', val.format('--without-value'))
-+ self.assertEqual('--enable-value', val.format('--enable-value'))
-+ self.assertEqual('--enable-value', val.format('--disable-value'))
-+ self.assertEqual('--value', val.format('--value'))
-+ self.assertEqual('VALUE=1', val.format('VALUE'))
-
- val = PositiveOptionValue(('a',))
-- self.assertEquals('--with-value=a', val.format('--with-value'))
-- self.assertEquals('--with-value=a', val.format('--without-value'))
-- self.assertEquals('--enable-value=a', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a', val.format('--disable-value'))
-- self.assertEquals('--value=a', val.format('--value'))
-- self.assertEquals('VALUE=a', val.format('VALUE'))
-+ self.assertEqual('--with-value=a', val.format('--with-value'))
-+ self.assertEqual('--with-value=a', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a', val.format('--disable-value'))
-+ self.assertEqual('--value=a', val.format('--value'))
-+ self.assertEqual('VALUE=a', val.format('VALUE'))
-
- val = PositiveOptionValue(('a', 'b'))
-- self.assertEquals('--with-value=a,b', val.format('--with-value'))
-- self.assertEquals('--with-value=a,b', val.format('--without-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--disable-value'))
-- self.assertEquals('--value=a,b', val.format('--value'))
-- self.assertEquals('VALUE=a,b', val.format('VALUE'))
-+ self.assertEqual('--with-value=a,b', val.format('--with-value'))
-+ self.assertEqual('--with-value=a,b', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--disable-value'))
-+ self.assertEqual('--value=a,b', val.format('--value'))
-+ self.assertEqual('VALUE=a,b', val.format('VALUE'))
-
- val = NegativeOptionValue()
-- self.assertEquals('--without-value', val.format('--with-value'))
-- self.assertEquals('--without-value', val.format('--without-value'))
-- self.assertEquals('--disable-value', val.format('--enable-value'))
-- self.assertEquals('--disable-value', val.format('--disable-value'))
-- self.assertEquals('', val.format('--value'))
-- self.assertEquals('VALUE=', val.format('VALUE'))
-+ self.assertEqual('--without-value', val.format('--with-value'))
-+ self.assertEqual('--without-value', val.format('--without-value'))
-+ self.assertEqual('--disable-value', val.format('--enable-value'))
-+ self.assertEqual('--disable-value', val.format('--disable-value'))
-+ self.assertEqual('', val.format('--value'))
-+ self.assertEqual('VALUE=', val.format('VALUE'))
-
- def test_option_value(self, name='option', nargs=0, default=None):
- disabled = name.startswith(('disable-', 'without-'))
-@@ -324,28 +324,28 @@
-
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 value' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 2 values' % name)
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- with self.assertRaises(AssertionError):
- value = option.get_value('MOZ_OPTION=', 'environment')
-@@ -358,47 +358,47 @@
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=foo' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (2, '*', '+') and not disabled:
- value = option.get_value('--%s=foo,bar' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo,bar' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 0 or 1 values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
-@@ -406,59 +406,59 @@
- default=default)
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- with self.assertRaises(AssertionError):
-@@ -466,26 +466,26 @@
-
- if nargs in (1, '?', '*', '+'):
- value = option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -497,26 +497,26 @@
- env_option.get_value('--%s' % name)
-
- value = env_option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = env_option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, negOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, negOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, posOptionValue())
-+ self.assertEqual(value, posOptionValue())
- self.assertTrue(value)
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- with self.assertRaises(AssertionError) as e:
- env_option.get_value('--%s' % name)
-@@ -526,26 +526,26 @@
-
- if nargs in (1, '?', '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -557,28 +557,28 @@
- default=default)
-
- value = option.get_value('--%s-option' % disable, 'option')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'option')
-
- option = self.test_option_value('%s-option' % disable, nargs=nargs,
- default=default)
-
- if nargs in (0, '?', '*'):
- value = option.get_value('--%s-option' % enable, 'option')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s-option' % enable, 'option')
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 value' % enable)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 or more values'
- % enable)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 2 values' % enable)
-
- def test_option_value_with(self):
-@@ -587,12 +587,12 @@
- def test_option_value_invalid_nargs(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='foo')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=-2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- def test_option_value_nargs_1(self):
-@@ -603,7 +603,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_2(self):
-@@ -614,7 +614,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_0_or_1(self):
-@@ -641,7 +641,7 @@
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
-
-@@ -649,109 +649,109 @@
- def test_basic(self):
- helper = CommandLineHelper({}, ['cmd', '--foo', '--bar'])
-
-- self.assertEquals(['--foo', '--bar'], list(helper))
-+ self.assertEqual(['--foo', '--bar'], list(helper))
-
- helper.add('--enable-qux')
-
-- self.assertEquals(['--foo', '--bar', '--enable-qux'], list(helper))
-+ self.assertEqual(['--foo', '--bar', '--enable-qux'], list(helper))
-
- value, option = helper.handle(Option('--bar'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('--bar', option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('--bar', option)
-
- value, option = helper.handle(Option('--baz'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals(None, option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual(None, option)
-
- def test_precedence(self):
- foo = Option('--with-foo', nargs='*')
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b',
- '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo',
- '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-bar=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-bar'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b', 'FOO='])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo', 'FOO=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=a,b', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- def test_extra_args(self):
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Adding conflicting options is not allowed.
- helper = CommandLineHelper({}, ['cmd'])
-@@ -771,9 +771,9 @@
- # But adding the same is allowed.
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- # The same rule as above applies when using the option form vs. the
- # variable form. But we can't detect it when .add is called.
-@@ -799,9 +799,9 @@
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Conflicts are also not allowed against what is in the
- # environment/on the command line.
-@@ -831,19 +831,19 @@
- foo = Option('--foo',
- possible_origins=('command-line',))
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--foo', option)
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--foo', option)
-
- bar = Option('--bar',
- possible_origins=('mozconfig',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--bar can not be set by command-line. Values are accepted from: mozconfig"):
- helper.handle(bar)
-
- baz = Option(env='BAZ',
- possible_origins=('implied',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "BAZ=1 can not be set by environment. Values are accepted from: implied"):
- helper.handle(baz)
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py (refactored)
-@@ -2,12 +2,12 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
-
-@@ -291,9 +291,9 @@
- compiler = sandbox._value_for(sandbox[var])
- # Add var on both ends to make it clear which of the
- # variables is failing the test when that happens.
-- self.assertEquals((var, compiler), (var, result))
-+ self.assertEqual((var, compiler), (var, result))
- except SystemExit:
-- self.assertEquals((var, result),
-+ self.assertEqual((var, result),
- (var, self.out.getvalue().strip()))
- return
-
-@@ -471,7 +471,7 @@
- # We'll try gcc and clang, but since there is no gcc (gcc-x.y doesn't
- # count), find clang.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++')
- }
- self.do_toolchain_test(paths, {
-@@ -506,7 +506,7 @@
- # Even if there are gcc-x.y or clang-x.y compilers available, we
- # don't try them. This could be considered something to improve.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++', 'clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -687,7 +687,7 @@
- def test_not_gcc(self):
- # We won't pick GCC if it's the only thing available.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -851,7 +851,7 @@
- def test_clang_cl(self):
- # We'll pick clang-cl if msvc can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) != 'cl'
- }
- self.do_toolchain_test(paths, {
-@@ -862,7 +862,7 @@
- def test_gcc(self):
- # We'll pick GCC if msvc and clang-cl can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl')
- }
- self.do_toolchain_test(paths, {
-@@ -881,7 +881,7 @@
- def test_clang(self):
- # We'll pick clang if nothing else is found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl', 'gcc')
- }
- self.do_toolchain_test(paths, {
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import re
-@@ -10,7 +10,7 @@
- import unittest
-
- from fnmatch import fnmatch
--from StringIO import StringIO
-+from io import StringIO
- from textwrap import dedent
-
- from mozunit import (
-@@ -43,7 +43,7 @@
- # Hack around it enough that the configure tests work properly.
- context = self.context
- def normalize_numbers(value):
-- if isinstance(value, types.StringTypes):
-+ if isinstance(value, (str,)):
- if value[-1:] == 'L' and value[:-1].isdigit():
- value = int(value[:-1])
- return value
-@@ -53,7 +53,7 @@
- return self.HAS_FEATURE.sub(r'\1\2', expr)
- self.context = self.Context(
- (normalize_has_feature(k), normalize_numbers(v))
-- for k, v in context.iteritems()
-+ for k, v in context.items()
- )
- try:
- return Preprocessor.do_if(self, normalize_has_feature(expression),
-@@ -95,7 +95,7 @@
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals(pp.out.getvalue(), '1 . 2 . c "D"')
-+ self.assertEqual(pp.out.getvalue(), '1 . 2 . c "D"')
-
- def test_condition(self):
- pp = CompilerPreprocessor({
-@@ -125,7 +125,7 @@
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-+ self.assertEqual('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-
-
- class FakeCompiler(dict):
-@@ -164,9 +164,9 @@
- '''
- def __init__(self, *definitions):
- for definition in definitions:
-- if all(not isinstance(d, dict) for d in definition.itervalues()):
-+ if all(not isinstance(d, dict) for d in definition.values()):
- definition = {None: definition}
-- for key, value in definition.iteritems():
-+ for key, value in definition.items():
- self.setdefault(key, {}).update(value)
-
- def __call__(self, stdin, args):
-@@ -178,14 +178,14 @@
- pp = CompilerPreprocessor(self[None])
-
- def apply_defn(defn):
-- for k, v in defn.iteritems():
-+ for k, v in defn.items():
- if v is False:
- if k in pp.context:
- del pp.context[k]
- else:
- pp.context[k] = v
-
-- for glob, defn in self.iteritems():
-+ for glob, defn in self.items():
- if glob and not glob.startswith('-') and fnmatch(file, glob):
- apply_defn(defn)
-
-@@ -216,7 +216,7 @@
- 'A': '1',
- 'B': '2',
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-
- compiler = FakeCompiler({
-@@ -238,25 +238,25 @@
- 'B': '42',
- },
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', 'file']),
- (0, '1 2 foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', 'file']),
- (0, '1 B C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-foo', 'file']),
- (0, '1 bar foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-qux', 'file']),
- (0, '1 B bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', 'file.c']),
- (0, '1 42 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file.c']),
- (0, '1 bar bar', ''))
-
- def test_multiple_definitions(self):
-@@ -267,7 +267,7 @@
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -282,7 +282,7 @@
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -302,7 +302,7 @@
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -330,7 +330,7 @@
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -370,7 +370,7 @@
- def __add__(self, other):
- assert isinstance(other, dict)
- result = copy.deepcopy(self.__dict__)
-- for k, v in other.iteritems():
-+ for k, v in other.items():
- if k == 'flags':
- result.setdefault(k, []).extend(v)
- else:
-@@ -381,7 +381,7 @@
- class TestCompilerResult(unittest.TestCase):
- def test_compiler_result(self):
- result = CompilerResult()
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath(''),
- 'version': '',
-@@ -397,7 +397,7 @@
- language='C',
- flags=['-std=gnu99'],
- )
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -407,7 +407,7 @@
- })
-
- result2 = result + {'flags': ['-m32']}
-- self.assertEquals(result2.__dict__, {
-+ self.assertEqual(result2.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -416,14 +416,14 @@
- 'flags': ['-std=gnu99', '-m32'],
- })
- # Original flags are untouched.
-- self.assertEquals(result.flags, ['-std=gnu99'])
-+ self.assertEqual(result.flags, ['-std=gnu99'])
-
- result3 = result + {
- 'compiler': '/usr/bin/gcc-4.7',
- 'version': '4.7.3',
- 'flags': ['-m32'],
- }
-- self.assertEquals(result3.__dict__, {
-+ self.assertEqual(result3.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc-4.7'),
- 'version': '4.7.3',
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_util.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/configure/test_util.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-@@ -11,7 +11,7 @@
- import unittest
- import sys
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -434,11 +434,11 @@
- except SystemExit as e:
- status = e.code
-
-- self.assertEquals(status, 0)
-+ self.assertEqual(status, 0)
- quote_char = "'"
- if getpreferredencoding().lower() == 'utf-8':
- quote_char = '\u00B4'.encode('utf-8')
-- self.assertEquals(out.getvalue().strip(), quote_char)
-+ self.assertEqual(out.getvalue().strip(), quote_char)
-
-
- class TestVersion(unittest.TestCase):
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/controller/test_ccachestats.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/controller/test_ccachestats.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import unittest
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/controller/test_clobber.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/controller/test_clobber.py (refactored)
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import shutil
- import tempfile
- import unittest
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_context.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_context.py (refactored)
-@@ -36,7 +36,7 @@
- 'baz': (dict, dict, ''),
- })
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- self.assertEqual(test['foo'], 0)
-
-@@ -84,12 +84,12 @@
- 'baz': (dict, list, ''),
- })
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- with self.assertRaises(ValueError):
- test.update(bar=True, foo={})
-
-- self.assertEqual(test.keys(), [])
-+ self.assertEqual(list(test.keys()), [])
-
- test.update(bar=True, foo=1)
-
-@@ -258,19 +258,19 @@
- self.assertEqual(lines[-1].strip(), '')
-
- def test_documentation_formatting(self):
-- for typ, inp, doc in VARIABLES.values():
-+ for typ, inp, doc in list(VARIABLES.values()):
- self._verify_doc(doc)
-
-- for attr, args, doc in FUNCTIONS.values():
-+ for attr, args, doc in list(FUNCTIONS.values()):
- self._verify_doc(doc)
-
-- for func, typ, doc in SPECIAL_VARIABLES.values():
-+ for func, typ, doc in list(SPECIAL_VARIABLES.values()):
- self._verify_doc(doc)
-
-- for name, cls in SUBCONTEXTS.items():
-+ for name, cls in list(SUBCONTEXTS.items()):
- self._verify_doc(cls.__doc__)
-
-- for name, v in cls.VARIABLES.items():
-+ for name, v in list(cls.VARIABLES.items()):
- self._verify_doc(v[2])
-
-
-@@ -631,7 +631,7 @@
- class TestTypedRecord(unittest.TestCase):
-
- def test_fields(self):
-- T = ContextDerivedTypedRecord(('field1', unicode),
-+ T = ContextDerivedTypedRecord(('field1', str),
- ('field2', list))
- inst = T(None)
- self.assertEqual(inst.field1, '')
-@@ -647,7 +647,7 @@
- inst.field3 = []
-
- def test_coercion(self):
-- T = ContextDerivedTypedRecord(('field1', unicode),
-+ T = ContextDerivedTypedRecord(('field1', str),
- ('field2', list))
- inst = T(None)
- inst.field1 = 3
-@@ -673,45 +673,45 @@
- def test_single_bug_component(self):
- c = Context({})
- f = Files(c, pattern='**')
-- f['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- files = {'moz.build': f}
- self.assertEqual(Files.aggregate(files), {
-- 'bug_component_counts': [((u'Product1', u'Component1'), 1)],
-- 'recommended_bug_component': (u'Product1', u'Component1'),
-+ 'bug_component_counts': [(('Product1', 'Component1'), 1)],
-+ 'recommended_bug_component': ('Product1', 'Component1'),
- })
-
- def test_multiple_bug_components(self):
- c = Context({})
- f1 = Files(c, pattern='**')
-- f1['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f1['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- f2 = Files(c, pattern='**')
-- f2['BUG_COMPONENT'] = (u'Product2', u'Component2')
-+ f2['BUG_COMPONENT'] = ('Product2', 'Component2')
-
- files = {'a': f1, 'b': f2, 'c': f1}
- self.assertEqual(Files.aggregate(files), {
- 'bug_component_counts': [
-- ((u'Product1', u'Component1'), 2),
-- ((u'Product2', u'Component2'), 1),
-+ (('Product1', 'Component1'), 2),
-+ (('Product2', 'Component2'), 1),
- ],
-- 'recommended_bug_component': (u'Product1', u'Component1'),
-+ 'recommended_bug_component': ('Product1', 'Component1'),
- })
-
- def test_no_recommended_bug_component(self):
- """If there is no clear count winner, we don't recommend a bug component."""
- c = Context({})
- f1 = Files(c, pattern='**')
-- f1['BUG_COMPONENT'] = (u'Product1', u'Component1')
-+ f1['BUG_COMPONENT'] = ('Product1', 'Component1')
-
- f2 = Files(c, pattern='**')
-- f2['BUG_COMPONENT'] = (u'Product2', u'Component2')
-+ f2['BUG_COMPONENT'] = ('Product2', 'Component2')
-
- files = {'a': f1, 'b': f2}
- self.assertEqual(Files.aggregate(files), {
- 'bug_component_counts': [
-- ((u'Product1', u'Component1'), 1),
-- ((u'Product2', u'Component2'), 1),
-+ (('Product1', 'Component1'), 1),
-+ (('Product2', 'Component2'), 1),
- ],
- 'recommended_bug_component': None,
- })
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_emitter.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_emitter.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import unittest
-@@ -204,7 +204,7 @@
- def test_use_yasm(self):
- # When yasm is not available, this should raise.
- reader = self.reader('use-yasm')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'yasm is not available'):
- self.read_topsrcdir(reader)
-
-@@ -267,25 +267,25 @@
- o = objs[0]
- self.assertIsInstance(o, GeneratedFile)
- self.assertEqual(o.outputs, ('bar.c',))
-- self.assertRegexpMatches(o.script, 'script.py$')
-+ self.assertRegex(o.script, 'script.py$')
- self.assertEqual(o.method, 'make_bar')
- self.assertEqual(o.inputs, [])
-
- def test_generated_files_no_script(self):
- reader = self.reader('generated-files-no-script')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Script for generating bar.c does not exist'):
- self.read_topsrcdir(reader)
-
- def test_generated_files_no_inputs(self):
- reader = self.reader('generated-files-no-inputs')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Input for generating foo.c does not exist'):
- self.read_topsrcdir(reader)
-
- def test_generated_files_no_python_script(self):
- reader = self.reader('generated-files-no-python-script')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Script for generating bar.c does not end in .py'):
- self.read_topsrcdir(reader)
-
-@@ -314,7 +314,7 @@
- Missing files in EXPORTS is an error.
- '''
- reader = self.reader('exports-missing')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'File listed in EXPORTS does not exist:'):
- self.read_topsrcdir(reader)
-
-@@ -323,7 +323,7 @@
- An objdir file in EXPORTS that is not in GENERATED_FILES is an error.
- '''
- reader = self.reader('exports-missing-generated')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Objdir file listed in EXPORTS not in GENERATED_FILES:'):
- self.read_topsrcdir(reader)
-
-@@ -360,7 +360,7 @@
-
- def test_test_harness_files_root(self):
- reader = self.reader('test-harness-files-root')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cannot install files to the root of TEST_HARNESS_FILES'):
- self.read_topsrcdir(reader)
-
-@@ -413,14 +413,14 @@
- """A missing manifest file should result in an error."""
- reader = self.reader('test-manifest-missing-manifest')
-
-- with self.assertRaisesRegexp(BuildReaderError, 'IOError: Missing files'):
-+ with self.assertRaisesRegex(BuildReaderError, 'IOError: Missing files'):
- self.read_topsrcdir(reader)
-
- def test_empty_test_manifest_rejected(self):
- """A test manifest without any entries is rejected."""
- reader = self.reader('test-manifest-empty')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'Empty test manifest'):
- self.read_topsrcdir(reader)
-
-
-@@ -428,7 +428,7 @@
- """A test manifest with no tests but support-files is not supported."""
- reader = self.reader('test-manifest-just-support')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'Empty test manifest'):
- self.read_topsrcdir(reader)
-
- def test_test_manifest_dupe_support_files(self):
-@@ -437,7 +437,7 @@
- """
- reader = self.reader('test-manifest-dupes')
-
-- with self.assertRaisesRegexp(SandboxValidationError, 'bar.js appears multiple times '
-+ with self.assertRaisesRegex(SandboxValidationError, 'bar.js appears multiple times '
- 'in a test manifest under a support-files field, please omit the duplicate entry.'):
- self.read_topsrcdir(reader)
-
-@@ -454,7 +454,7 @@
- mozpath.join(o.install_prefix, "absolute-support.ini"),
- mozpath.join(o.install_prefix, "test_file.js"),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- @unittest.skip('Bug 1304316 - Items in the second set but not the first')
-@@ -481,7 +481,7 @@
- """A non-existent shared support file reference produces an error."""
- reader = self.reader('test-manifest-shared-missing')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'entry in support-files not present in the srcdir'):
- self.read_topsrcdir(reader)
-
-@@ -500,7 +500,7 @@
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/support.txt")),
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/test_foo.html")),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- def test_test_manifest_install_includes(self):
-@@ -518,7 +518,7 @@
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/mochitest.ini")),
- mozpath.normpath(mozpath.join(o.install_prefix, "subdir/test_foo.html")),
- ]
-- paths = sorted([v[0] for v in o.installs.values()])
-+ paths = sorted([v[0] for v in list(o.installs.values())])
- self.assertEqual(paths, expected)
-
- def test_test_manifest_includes(self):
-@@ -541,7 +541,7 @@
- def test_python_unit_test_missing(self):
- """Missing files in PYTHON_UNIT_TESTS should raise."""
- reader = self.reader('test-python-unit-test-missing')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Path specified in PYTHON_UNIT_TESTS does not exist:'):
- self.read_topsrcdir(reader)
-
-@@ -635,7 +635,7 @@
- self.assertEqual(external_normalized, m.get('external', set()))
-
- self.assertEqual(len(o.installs), len(m['installs']))
-- for path in o.installs.keys():
-+ for path in list(o.installs.keys()):
- self.assertTrue(path.startswith(o.directory))
- relpath = path[len(o.directory)+1:]
-
-@@ -648,7 +648,7 @@
- def test_test_manifest_unmatched_generated(self):
- reader = self.reader('test-manifest-unmatched-generated')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'entry in generated-files not present elsewhere'):
- self.read_topsrcdir(reader),
-
-@@ -672,7 +672,7 @@
- """Missing test files should result in error."""
- reader = self.reader('test-manifest-missing-test-file')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'lists test that does not exist: test_missing.html'):
- self.read_topsrcdir(reader)
-
-@@ -680,7 +680,7 @@
- """Missing test files should result in error, even when the test list is not filtered."""
- reader = self.reader('test-manifest-missing-test-file-unfiltered')
-
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'lists test that does not exist: missing.js'):
- self.read_topsrcdir(reader)
-
-@@ -794,20 +794,20 @@
- self.assertIsInstance(obj.path, Path)
-
- def test_jar_manifests_multiple_files(self):
-- with self.assertRaisesRegexp(SandboxValidationError, 'limited to one value'):
-+ with self.assertRaisesRegex(SandboxValidationError, 'limited to one value'):
- reader = self.reader('jar-manifests-multiple-files')
- self.read_topsrcdir(reader)
-
- def test_xpidl_module_no_sources(self):
- """XPIDL_MODULE without XPIDL_SOURCES should be rejected."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'XPIDL_MODULE '
-+ with self.assertRaisesRegex(SandboxValidationError, 'XPIDL_MODULE '
- 'cannot be defined'):
- reader = self.reader('xpidl-module-no-sources')
- self.read_topsrcdir(reader)
-
- def test_missing_local_includes(self):
- """LOCAL_INCLUDES containing non-existent directories should be rejected."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'Path specified in '
-+ with self.assertRaisesRegex(SandboxValidationError, 'Path specified in '
- 'LOCAL_INCLUDES does not exist'):
- reader = self.reader('missing-local-includes')
- self.read_topsrcdir(reader)
-@@ -852,7 +852,7 @@
- '.S': ['g.S'],
- '.s': ['h.s', 'i.asm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -905,7 +905,7 @@
- '.S': ['g.S'],
- '.s': ['h.s', 'i.asm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -931,7 +931,7 @@
- '.c': ['d.c'],
- '.mm': ['e.mm', 'f.mm'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -956,7 +956,7 @@
- '.mm': ['objc1.mm', 'objc2.mm'],
- '.c': ['c1.c', 'c2.c'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -982,7 +982,7 @@
- '.mm': ['objc1.mm', 'objc2.mm'],
- '.c': ['c1.c', 'c2.c'],
- }
-- for suffix, files in expected.items():
-+ for suffix, files in list(expected.items()):
- sources = suffix_map[suffix]
- self.assertEqual(
- sources.files,
-@@ -1005,11 +1005,11 @@
-
- expected = {'install.rdf', 'main.js'}
- for f in files:
-- self.assertTrue(unicode(f) in expected)
-+ self.assertTrue(str(f) in expected)
-
- def test_missing_final_target_pp_files(self):
- """Test that FINAL_TARGET_PP_FILES with missing files throws errors."""
-- with self.assertRaisesRegexp(SandboxValidationError, 'File listed in '
-+ with self.assertRaisesRegex(SandboxValidationError, 'File listed in '
- 'FINAL_TARGET_PP_FILES does not exist'):
- reader = self.reader('dist-files-missing')
- self.read_topsrcdir(reader)
-@@ -1017,49 +1017,49 @@
- def test_final_target_pp_files_non_srcdir(self):
- '''Test that non-srcdir paths in FINAL_TARGET_PP_FILES throws errors.'''
- reader = self.reader('final-target-pp-files-non-srcdir')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Only source directory paths allowed in FINAL_TARGET_PP_FILES:'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_cargo_toml(self):
- '''Test that defining a RustLibrary without a Cargo.toml fails.'''
- reader = self.reader('rust-library-no-cargo-toml')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'No Cargo.toml file found'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_name_mismatch(self):
- '''Test that defining a RustLibrary that doesn't match Cargo.toml fails.'''
- reader = self.reader('rust-library-name-mismatch')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'library.*does not match Cargo.toml-defined package'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_lib_section(self):
- '''Test that a RustLibrary Cargo.toml with no [lib] section fails.'''
- reader = self.reader('rust-library-no-lib-section')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cargo.toml for.* has no \\[lib\\] section'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_no_profile_section(self):
- '''Test that a RustLibrary Cargo.toml with no [profile] section fails.'''
- reader = self.reader('rust-library-no-profile-section')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Cargo.toml for.* has no \\[profile\\.dev\\] section'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_invalid_crate_type(self):
- '''Test that a RustLibrary Cargo.toml has a permitted crate-type.'''
- reader = self.reader('rust-library-invalid-crate-type')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'crate-type.* is not permitted'):
- self.read_topsrcdir(reader)
-
- def test_rust_library_non_abort_panic(self):
- '''Test that a RustLibrary Cargo.toml has `panic = "abort" set'''
- reader = self.reader('rust-library-non-abort-panic')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'does not specify `panic = "abort"`'):
- self.read_topsrcdir(reader)
-
-@@ -1072,15 +1072,15 @@
- self.assertEqual(len(objs), 1)
- lib = objs[0]
- self.assertIsInstance(lib, RustLibrary)
-- self.assertRegexpMatches(lib.lib_name, "random_crate")
-- self.assertRegexpMatches(lib.import_name, "random_crate")
-- self.assertRegexpMatches(lib.basename, "random-crate")
-+ self.assertRegex(lib.lib_name, "random_crate")
-+ self.assertRegex(lib.import_name, "random_crate")
-+ self.assertRegex(lib.basename, "random-crate")
-
- def test_multiple_rust_libraries(self):
- '''Test that linking multiple Rust libraries throws an error'''
- reader = self.reader('multiple-rust-libraries',
- extra_substs=dict(RUST_TARGET='i686-pc-windows-msvc'))
-- with self.assertRaisesRegexp(LinkageMultipleRustLibrariesError,
-+ with self.assertRaisesRegex(LinkageMultipleRustLibrariesError,
- 'Cannot link multiple Rust libraries'):
- self.read_topsrcdir(reader)
-
-@@ -1107,7 +1107,7 @@
- mozpath.join(reader.config.topobjdir, 'dir2'),
- '/dir3',
- ]
-- self.assertEquals([p.full_path for p in objs[0].paths], expected)
-+ self.assertEqual([p.full_path for p in objs[0].paths], expected)
-
- def test_binary_components(self):
- """Test that IS_COMPONENT/NO_COMPONENTS_MANIFEST work properly."""
-@@ -1163,7 +1163,7 @@
- from GENERATED_FILES is an error.
- """
- reader = self.reader('test-symbols-file-objdir-missing-generated')
-- with self.assertRaisesRegexp(SandboxValidationError,
-+ with self.assertRaisesRegex(SandboxValidationError,
- 'Objdir file specified in SYMBOLS_FILE not in GENERATED_FILES:'):
- self.read_topsrcdir(reader)
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_namespaces.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_namespaces.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import unittest
-
-@@ -29,7 +29,7 @@
-
- class Piyo(ContextDerivedValue):
- def __init__(self, context, value):
-- if not isinstance(value, unicode):
-+ if not isinstance(value, str):
- raise ValueError
- self.context = context
- self.value = value
-@@ -48,9 +48,9 @@
-
-
- VARIABLES = {
-- 'HOGE': (unicode, unicode, None),
-- 'FUGA': (Fuga, unicode, None),
-- 'PIYO': (Piyo, unicode, None),
-+ 'HOGE': (str, str, None),
-+ 'FUGA': (Fuga, str, None),
-+ 'PIYO': (Piyo, str, None),
- 'HOGERA': (ContextDerivedTypedList(Piyo, StrictOrderingOnAppendList),
- list, None),
- 'HOGEHOGE': (ContextDerivedTypedListWithItems(
-@@ -104,7 +104,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'HOGE')
- self.assertEqual(e[3], True)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- def test_key_checking(self):
- # Checking for existence of a key should not populate the key if it
-@@ -127,7 +127,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'FUGA')
- self.assertEqual(e[3], False)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- ns['FUGA'] = 'fuga'
- self.assertIsInstance(ns['FUGA'], Fuga)
-@@ -150,7 +150,7 @@
- self.assertEqual(e[1], 'set_type')
- self.assertEqual(e[2], 'PIYO')
- self.assertEqual(e[3], False)
-- self.assertEqual(e[4], unicode)
-+ self.assertEqual(e[4], str)
-
- ns['PIYO'] = 'piyo'
- self.assertIsInstance(ns['PIYO'], Piyo)
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_reader.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_reader.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import sys
-@@ -423,7 +423,7 @@
- 'simple/base.cpp',
- ])
-
-- for path, pattern_set in expected.items():
-+ for path, pattern_set in list(expected.items()):
- self.assertEqual(v[path].test_files,
- expected[path])
-
-@@ -438,7 +438,7 @@
- 'default/tests/reftests/**']),
- }
-
-- for path, pattern_set in expected.items():
-+ for path, pattern_set in list(expected.items()):
- self.assertEqual(v[path].test_files,
- expected[path])
-
-@@ -454,7 +454,7 @@
- 'tagged/src/bar.jsm': set(['tagged/**.js']),
- }
-
-- for path, pattern_set in expected_patterns.items():
-+ for path, pattern_set in list(expected_patterns.items()):
- self.assertEqual(v[path].test_files,
- expected_patterns[path])
-
-@@ -462,7 +462,7 @@
- 'tagged/src/submodule/foo.js': set(['submodule']),
- 'tagged/src/bar.jsm': set([]),
- }
-- for path, pattern_set in expected_tags.items():
-+ for path, pattern_set in list(expected_tags.items()):
- self.assertEqual(v[path].test_tags,
- expected_tags[path])
-
-@@ -470,7 +470,7 @@
- 'tagged/src/bar.jsm': set(['browser-chrome']),
- 'tagged/src/submodule/foo.js': set([]),
- }
-- for path, pattern_set in expected_flavors.items():
-+ for path, pattern_set in list(expected_flavors.items()):
- self.assertEqual(v[path].test_flavors,
- expected_flavors[path])
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_sandbox.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/frontend/test_sandbox.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
- import shutil
-@@ -345,7 +345,7 @@
- sandbox = MozbuildSandbox(Context(VARIABLES, config))
-
- self.assertEqual(sandbox['CONFIG']['BAD_UTF8'],
-- u'\ufffd\ufffd\ufffd\ufffd:')
-+ '\ufffd\ufffd\ufffd\ufffd:')
-
- def test_invalid_exports_set_base(self):
- sandbox = self.sandbox()
-@@ -525,7 +525,7 @@
- source = 'a = foo(1, 2)'
- sandbox.exec_source(source, 'foo.mozbuild')
-
-- self.assertEquals(sandbox['a'], (Foo, int))
-+ self.assertEqual(sandbox['a'], (Foo, int))
- finally:
- del FUNCTIONS['foo']
-
---- mozjs-52.4.0/python/mozbuild/mozpack/archive.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/archive.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import bz2
- import gzip
---- mozjs-52.4.0/python/mozbuild/mozpack/copier.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/copier.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import stat
-@@ -109,7 +109,7 @@
- '''
- Return all paths stored in the container, in the order they were added.
- '''
-- return self._files.keys()
-+ return list(self._files.keys())
-
- def __len__(self):
- '''
-@@ -142,7 +142,7 @@
- for path, file in registry:
- (...)
- '''
-- return self._files.iteritems()
-+ return iter(self._files.items())
-
- def required_directories(self):
- '''
-@@ -151,7 +151,7 @@
- unspecified (virtual) root directory (and do not include said root
- directory).
- '''
-- return set(k for k, v in self._required_directories.items() if v > 0)
-+ return set(k for k, v in list(self._required_directories.items()) if v > 0)
-
-
- class FileRegistrySubtree(object):
-@@ -263,7 +263,7 @@
-
- Returns a FileCopyResult that details what changed.
- '''
-- assert isinstance(destination, basestring)
-+ assert isinstance(destination, str)
- assert not os.path.exists(destination) or os.path.isdir(destination)
-
- result = FileCopyResult()
-@@ -531,7 +531,7 @@
- def exists(self):
- return self.deflater is not None
-
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
---- mozjs-52.4.0/python/mozbuild/mozpack/errors.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/errors.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import sys
- from contextlib import contextmanager
-@@ -97,7 +97,7 @@
- if self._count is None:
- raise ErrorMessage(msg)
- self._count += 1
-- print >>self.out, msg
-+ print(msg, file=self.out)
-
- def fatal(self, msg):
- self._handle(self.FATAL, msg)
---- mozjs-52.4.0/python/mozbuild/mozpack/executables.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/executables.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import struct
---- mozjs-52.4.0/python/mozbuild/mozpack/files.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/files.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import errno
- import os
-@@ -57,7 +57,7 @@
-
- def _copyfile(src, dest):
- # False indicates `dest` should be overwritten if it exists already.
-- if isinstance(src, unicode) and isinstance(dest, unicode):
-+ if isinstance(src, str) and isinstance(dest, str):
- _CopyFileW(src, dest, False)
- elif isinstance(src, str) and isinstance(dest, str):
- _CopyFileA(src, dest, False)
-@@ -145,13 +145,13 @@
- # - keep file type (e.g. S_IFREG)
- ret = stat.S_IFMT(mode)
- # - expand user read and execute permissions to everyone
-- if mode & 0400:
-- ret |= 0444
-- if mode & 0100:
-- ret |= 0111
-+ if mode & 0o400:
-+ ret |= 0o444
-+ if mode & 0o100:
-+ ret |= 0o111
- # - keep user write permissions
-- if mode & 0200:
-- ret |= 0200
-+ if mode & 0o200:
-+ ret |= 0o200
- # - leave away sticky bit, setuid, setgid
- return ret
-
-@@ -164,7 +164,7 @@
- disabled when skip_if_older is False.
- Returns whether a copy was actually performed (True) or not (False).
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -258,11 +258,11 @@
- '''
- def copy(self, dest, skip_if_older=True):
- real_dest = dest
-- if not isinstance(dest, basestring):
-+ if not isinstance(dest, str):
- fd, dest = mkstemp()
- os.close(fd)
- os.remove(dest)
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
- # If File.copy didn't actually copy because dest is newer, check the
- # file sizes. If dest is smaller, it means it is already stripped and
- # elfhacked, so we can skip.
-@@ -299,7 +299,7 @@
- File.__init__(self, path)
-
- def copy(self, dest, skip_if_older=True):
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
-
- # The logic in this function is complicated by the fact that symlinks
- # aren't universally supported. So, where symlinks aren't supported, we
-@@ -400,7 +400,7 @@
- self.required = required
-
- def copy(self, dest, skip_if_older=True):
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -432,7 +432,7 @@
- '''
- Invokes the preprocessor to create the destination file.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -563,7 +563,7 @@
- the individual XPTs to link.
- skip_if_older is ignored.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
-@@ -1014,7 +1014,7 @@
- from mozpack.copier import FileRegistry
- self.files = FileRegistry()
-
-- for base, finder in sorted(finders.iteritems()):
-+ for base, finder in sorted(finders.items()):
- if self.files.contains(base):
- self.files.remove(base)
- for p, f in finder.find(''):
---- mozjs-52.4.0/python/mozbuild/mozpack/hg.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/hg.py (refactored)
-@@ -27,7 +27,7 @@
- # do not wish to do so, delete this exception statement from your
- # version.
-
--from __future__ import absolute_import
-+
-
- import mercurial.error as error
- import mercurial.hg as hg
-@@ -56,7 +56,7 @@
-
- Accepts a Mercurial localrepo and changectx instance.
- """
-- if isinstance(repo, (str, unicode)):
-+ if isinstance(repo, str):
- path = repo
- repo = hg.repository(hgui.ui(), repo)
- else:
-@@ -85,7 +85,7 @@
- return self._get(path)
-
- def _get(self, path):
-- if isinstance(path, unicode):
-+ if isinstance(path, str):
- path = path.encode('utf-8', 'replace')
-
- try:
---- mozjs-52.4.0/python/mozbuild/mozpack/manifests.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/manifests.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from contextlib import contextmanager
- import json
---- mozjs-52.4.0/python/mozbuild/mozpack/mozjar.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/mozjar.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from io import BytesIO
- import struct
-@@ -13,8 +13,9 @@
- ZIP_DEFLATED,
- )
- from collections import OrderedDict
--from urlparse import urlparse, ParseResult
-+from urllib.parse import urlparse, ParseResult
- import mozpack.path as mozpath
-+from functools import reduce
-
- JAR_STORED = ZIP_STORED
- JAR_DEFLATED = ZIP_DEFLATED
-@@ -68,7 +69,7 @@
- an instance with empty fields.
- '''
- assert self.MAGIC and isinstance(self.STRUCT, OrderedDict)
-- self.size_fields = set(t for t in self.STRUCT.itervalues()
-+ self.size_fields = set(t for t in self.STRUCT.values()
- if not t in JarStruct.TYPE_MAPPING)
- self._values = {}
- if data:
-@@ -90,7 +91,7 @@
- # For all fields used as other fields sizes, keep track of their value
- # separately.
- sizes = dict((t, 0) for t in self.size_fields)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- value, size = JarStruct.get_data(t, data[offset:])
- else:
-@@ -109,7 +110,7 @@
- Initialize an instance with empty fields.
- '''
- self.signature = self.MAGIC
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if name in self.size_fields:
- continue
- self._values[name] = 0 if t in JarStruct.TYPE_MAPPING else ''
-@@ -134,9 +135,9 @@
- from self.STRUCT.
- '''
- serialized = struct.pack('<I', self.signature)
-- sizes = dict((t, name) for name, t in self.STRUCT.iteritems()
-+ sizes = dict((t, name) for name, t in self.STRUCT.items()
- if not t in JarStruct.TYPE_MAPPING)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- format, size = JarStruct.TYPE_MAPPING[t]
- if name in sizes:
-@@ -155,7 +156,7 @@
- variable length fields.
- '''
- size = JarStruct.TYPE_MAPPING['uint32'][1]
-- for name, type in self.STRUCT.iteritems():
-+ for name, type in self.STRUCT.items():
- if type in JarStruct.TYPE_MAPPING:
- size += JarStruct.TYPE_MAPPING[type][1]
- else:
-@@ -176,7 +177,7 @@
- return key in self._values
-
- def __iter__(self):
-- return self._values.iteritems()
-+ return iter(self._values.items())
-
- def __repr__(self):
- return "<%s %s>" % (self.__class__.__name__,
-@@ -374,7 +375,7 @@
- preload = JarStruct.get_data('uint32', self._data)[0]
- entries = OrderedDict()
- offset = self._cdir_end['cdir_offset']
-- for e in xrange(self._cdir_end['cdir_entries']):
-+ for e in range(self._cdir_end['cdir_entries']):
- entry = JarCdirEntry(self._data[offset:])
- offset += entry.size
- # Creator host system. 0 is MSDOS, 3 is Unix
-@@ -385,7 +386,7 @@
- xattr = entry['external_attr']
- # Skip directories
- if (host == 0 and xattr & 0x10) or (host == 3 and
-- xattr & (040000 << 16)):
-+ xattr & (0o40000 << 16)):
- continue
- entries[entry['filename']] = entry
- if entry['offset'] < preload:
-@@ -436,7 +437,7 @@
- for file in jarReader:
- ...
- '''
-- for entry in self.entries.itervalues():
-+ for entry in self.entries.values():
- yield self._getreader(entry)
-
- def __getitem__(self, name):
-@@ -529,7 +530,7 @@
- headers = {}
- preload_size = 0
- # Prepare central directory entries
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- header = JarLocalFileHeader()
- for name in entry.STRUCT:
- if name in header:
-@@ -544,7 +545,7 @@
- end['disk_entries'] = len(self._contents)
- end['cdir_entries'] = end['disk_entries']
- end['cdir_size'] = reduce(lambda x, y: x + y[0].size,
-- self._contents.values(), 0)
-+ list(self._contents.values()), 0)
- # On optimized archives, store the preloaded size and the central
- # directory entries, followed by the first end of central directory.
- if self._optimize:
-@@ -553,18 +554,18 @@
- if preload_size:
- preload_size += offset
- self._data.write(struct.pack('<I', preload_size))
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- entry['offset'] += offset
- self._data.write(entry.serialize())
- self._data.write(end.serialize())
- # Store local file entries followed by compressed data
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- self._data.write(headers[entry].serialize())
- self._data.write(content)
- # On non optimized archives, store the central directory entries.
- if not self._optimize:
- end['cdir_offset'] = offset
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- self._data.write(entry.serialize())
- # Store the end of central directory.
- self._data.write(end.serialize())
-@@ -599,7 +600,7 @@
- deflater = data
- else:
- deflater = Deflater(compress, compress_level=self._compress_level)
-- if isinstance(data, basestring):
-+ if isinstance(data, str):
- deflater.write(data)
- elif hasattr(data, 'read'):
- if hasattr(data, 'seek'):
-@@ -615,7 +616,7 @@
- # Set creator host system (upper byte of creator_version)
- # to 3 (Unix) so mode is honored when there is one.
- entry['creator_version'] |= 3 << 8
-- entry['external_attr'] = (mode & 0xFFFF) << 16L
-+ entry['external_attr'] = (mode & 0xFFFF) << 16
- if deflater.compressed:
- entry['min_version'] = 20 # Version 2.0 supports deflated streams
- entry['general_flag'] = 2 # Max compression
---- mozjs-52.4.0/python/mozbuild/mozpack/path.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/path.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import posixpath
- import os
---- mozjs-52.4.0/python/mozbuild/mozpack/chrome/flags.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/chrome/flags.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import re
- from distutils.version import LooseVersion
-@@ -250,7 +250,7 @@
- flags.match(application='foo', appversion='3.5') returns True
- flags.match(application='foo', appversion='3.0') returns False
- '''
-- for name, value in filter.iteritems():
-+ for name, value in filter.items():
- if not name in self:
- continue
- if not self[name].matches(value):
---- mozjs-52.4.0/python/mozbuild/mozpack/chrome/manifest.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/chrome/manifest.py (refactored)
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import re
- import os
--from urlparse import urlparse
-+from urllib.parse import urlparse
- import mozpack.path as mozpath
- from mozpack.chrome.flags import Flags
- from mozpack.errors import errors
-@@ -321,7 +321,7 @@
- return self.serialize(self.contractID, self.cid)
-
- # All manifest classes by their type name.
--MANIFESTS_TYPES = dict([(c.type, c) for c in globals().values()
-+MANIFESTS_TYPES = dict([(c.type, c) for c in list(globals().values())
- if type(c) == type and issubclass(c, ManifestEntry)
- and hasattr(c, 'type') and c.type])
-
---- mozjs-52.4.0/python/mozbuild/mozpack/packager/__init__.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/packager/__init__.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozbuild.preprocessor import Preprocessor
- import re
-@@ -50,7 +50,7 @@
- '''
- Split [1, 2, 3, 4, 5, 6, 7] into [(1, 2, 3), (4, 5, 6)].
- '''
-- return zip(*[iter(lst)] * 3)
-+ return list(zip(*[iter(lst)] * 3))
-
- KEY_VALUE_RE = re.compile(r'''
- \s* # optional whitespace.
-@@ -118,7 +118,7 @@
- destdir = options.pop('destdir', '')
- if options:
- errors.fatal('Malformed manifest: options %s not recognized'
-- % options.keys())
-+ % list(options.keys()))
- return Component(name, destdir=destdir)
-
-
-@@ -328,7 +328,7 @@
-
- bases = self.get_bases()
- broken_bases = sorted(
-- m for m, includer in self._included_manifests.iteritems()
-+ m for m, includer in self._included_manifests.items()
- if mozpath.basedir(m, bases) != mozpath.basedir(includer, bases))
- for m in broken_bases:
- errors.fatal('"%s" is included from "%s", which is outside "%s"' %
---- mozjs-52.4.0/python/mozbuild/mozpack/packager/formats.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/packager/formats.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozpack.chrome.manifest import (
- Manifest,
-@@ -11,7 +11,7 @@
- ManifestBinaryComponent,
- ManifestResource,
- )
--from urlparse import urlparse
-+from urllib.parse import urlparse
- import mozpack.path as mozpath
- from mozpack.files import (
- ManifestFile,
-@@ -89,7 +89,7 @@
- Return the deepest base directory containing the given path.
- '''
- self._frozen_bases = True
-- base = mozpath.basedir(path, self._sub_formatter.keys())
-+ base = mozpath.basedir(path, list(self._sub_formatter.keys()))
- relpath = mozpath.relpath(path, base) if base else path
- return base, relpath
-
---- mozjs-52.4.0/python/mozbuild/mozpack/packager/l10n.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/packager/l10n.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- '''
- Replace localized parts of a packaged directory with data from a langpack
-@@ -162,7 +162,7 @@
- if not path:
- continue
- else:
-- base = mozpath.basedir(p, paths.keys())
-+ base = mozpath.basedir(p, list(paths.keys()))
- if base:
- subpath = mozpath.relpath(p, base)
- path = mozpath.normpath(mozpath.join(paths[base],
-@@ -206,7 +206,7 @@
- formatter.add(p, f)
-
- # Transplant jar preloading information.
-- for path, log in app_finder.jarlogs.iteritems():
-+ for path, log in app_finder.jarlogs.items():
- assert isinstance(copier[path], Jarrer)
- copier[path].preload([l.replace(locale, l10n_locale) for l in log])
-
-@@ -237,7 +237,7 @@
- finders = {
- '': l10n_finder,
- }
-- for base, path in extra_l10n.iteritems():
-+ for base, path in extra_l10n.items():
- finders[base] = UnpackFinder(path)
- l10n_finder = ComposedFinder(finders)
- copier = FileCopier()
---- mozjs-52.4.0/python/mozbuild/mozpack/packager/unpack.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/packager/unpack.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import mozpack.path as mozpath
- from mozpack.files import (
-@@ -27,7 +27,7 @@
- FlatFormatter,
- STARTUP_CACHE_PATHS,
- )
--from urlparse import urlparse
-+from urllib.parse import urlparse
-
-
- class UnpackFinder(BaseFinder):
-@@ -149,7 +149,7 @@
- if not any(f.compressed for f in jar):
- self.compressed = False
- if jar.last_preloaded:
-- jarlog = jar.entries.keys()
-+ jarlog = list(jar.entries.keys())
- self.jarlogs[path] = jarlog[:jarlog.index(jar.last_preloaded) + 1]
- return jar
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_archive.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_archive.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import hashlib
- import os
-@@ -69,7 +69,7 @@
- try:
- tp = os.path.join(d, 'test.tar')
- with open(tp, 'wb') as fh:
-- with self.assertRaisesRegexp(ValueError, 'not a regular'):
-+ with self.assertRaisesRegex(ValueError, 'not a regular'):
- create_tar_from_files(fh, {'test': d})
- finally:
- shutil.rmtree(d)
-@@ -89,9 +89,9 @@
-
- tp = os.path.join(d, 'test.tar')
- with open(tp, 'wb') as fh:
-- with self.assertRaisesRegexp(ValueError, 'cannot add file with setuid'):
-+ with self.assertRaisesRegex(ValueError, 'cannot add file with setuid'):
- create_tar_from_files(fh, {'test': uid})
-- with self.assertRaisesRegexp(ValueError, 'cannot add file with setuid'):
-+ with self.assertRaisesRegex(ValueError, 'cannot add file with setuid'):
- create_tar_from_files(fh, {'test': gid})
- finally:
- shutil.rmtree(d)
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_chrome_manifest.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_chrome_manifest.py (refactored)
-@@ -24,7 +24,7 @@
- parse_manifest_line,
- )
- from mozpack.errors import errors, AccumulatedErrors
--from test_errors import TestErrors
-+from .test_errors import TestErrors
-
-
- class TestManifest(unittest.TestCase):
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_copier.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_copier.py (refactored)
-@@ -127,7 +127,7 @@
- 'bar': [],
- }
- reg = FileRegistry()
-- for path, parts in cases.iteritems():
-+ for path, parts in cases.items():
- self.assertEqual(reg._partial_paths(path), parts)
-
- def test_file_registry(self):
-@@ -414,7 +414,7 @@
- self.assertTrue(stat.S_ISDIR(st.st_mode))
-
- # What's worse, we have no record that dest was created.
-- self.assertEquals(len(result.updated_files), 0)
-+ self.assertEqual(len(result.updated_files), 0)
-
- # But we do have an erroneous record of an optional file
- # existing when it does not.
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_errors.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_errors.py (refactored)
-@@ -10,7 +10,7 @@
- import unittest
- import mozunit
- import sys
--from cStringIO import StringIO
-+from io import StringIO
-
-
- class TestErrors(object):
-@@ -30,14 +30,14 @@
- errors.warn('foo')
- self.assertRaises(ErrorMessage, errors.error, 'foo')
- self.assertRaises(ErrorMessage, errors.fatal, 'foo')
-- self.assertEquals(self.get_output(), ['Warning: foo'])
-+ self.assertEqual(self.get_output(), ['Warning: foo'])
-
- def test_ignore_errors(self):
- errors.ignore_errors()
- errors.warn('foo')
- errors.error('bar')
- self.assertRaises(ErrorMessage, errors.fatal, 'foo')
-- self.assertEquals(self.get_output(), ['Warning: foo', 'Warning: bar'])
-+ self.assertEqual(self.get_output(), ['Warning: foo', 'Warning: bar'])
-
- def test_no_error(self):
- with errors.accumulate():
-@@ -47,14 +47,14 @@
- with self.assertRaises(AccumulatedErrors):
- with errors.accumulate():
- errors.error('1')
-- self.assertEquals(self.get_output(), ['Error: 1'])
-+ self.assertEqual(self.get_output(), ['Error: 1'])
-
- def test_error_loop(self):
- with self.assertRaises(AccumulatedErrors):
- with errors.accumulate():
- for i in range(3):
- errors.error('%d' % i)
-- self.assertEquals(self.get_output(),
-+ self.assertEqual(self.get_output(),
- ['Error: 0', 'Error: 1', 'Error: 2'])
-
- def test_multiple_errors(self):
-@@ -67,7 +67,7 @@
- else:
- errors.error('%d' % i)
- errors.error('bar')
-- self.assertEquals(self.get_output(),
-+ self.assertEqual(self.get_output(),
- ['Error: foo', 'Error: 0', 'Error: 1',
- 'Warning: 2', 'Error: bar'])
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_files.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_files.py (refactored)
-@@ -61,7 +61,7 @@
- import mozpack.path as mozpath
- from tempfile import mkdtemp
- from io import BytesIO
--from StringIO import StringIO
-+from io import StringIO
- from xpt import Typelib
-
-
-@@ -146,7 +146,7 @@
- dest.write('qux')
- self.assertEqual(dest.read(), 'qux')
-
--rand = ''.join(random.choice(string.letters) for i in xrange(131597))
-+rand = ''.join(random.choice(string.letters) for i in range(131597))
- samples = [
- '',
- 'test',
-@@ -268,7 +268,7 @@
- def test_absolute_relative(self):
- AbsoluteSymlinkFile('/foo')
-
-- with self.assertRaisesRegexp(ValueError, 'Symlink target not absolute'):
-+ with self.assertRaisesRegex(ValueError, 'Symlink target not absolute'):
- AbsoluteSymlinkFile('./foo')
-
- def test_symlink_file(self):
-@@ -477,7 +477,7 @@
-
- class TestExistingFile(TestWithTmpDir):
- def test_required_missing_dest(self):
-- with self.assertRaisesRegexp(ErrorMessage, 'Required existing file'):
-+ with self.assertRaisesRegex(ErrorMessage, 'Required existing file'):
- f = ExistingFile(required=True)
- f.copy(self.tmppath('dest'))
-
-@@ -566,7 +566,7 @@
- with JarWriter(src) as jar:
- for content in samples:
- name = ''.join(random.choice(string.letters)
-- for i in xrange(8))
-+ for i in range(8))
- jar.add(name, content, compress=True)
- contents[name] = content
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_manifests.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_manifests.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import os
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_mozjar.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_mozjar.py (refactored)
-@@ -16,8 +16,8 @@
- from mozpack.test.test_files import MockDest
- import unittest
- import mozunit
--from cStringIO import StringIO
--from urllib import pathname2url
-+from io import StringIO
-+from urllib.request import pathname2url
- import mozpack.path as mozpath
- import os
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_packager_formats.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_packager_formats.py (refactored)
-@@ -128,7 +128,7 @@
- 'foo': read_interfaces(foo2_xpt.open())['foo'],
- 'bar': read_interfaces(bar_xpt.open())['bar'],
- },
-- }.iteritems()
-+ }.items()
- })
-
- RESULT_JAR = {
-@@ -174,7 +174,7 @@
- },
- 'addon1.xpi': {
- mozpath.relpath(p, 'addon1'): f
-- for p, f in RESULT_FLAT.iteritems()
-+ for p, f in RESULT_FLAT.items()
- if p.startswith('addon1/')
- },
- })
-@@ -234,7 +234,7 @@
- CONTENTS_WITH_BASE = {
- 'bases': {
- mozpath.join('base/root', b) if b else 'base/root': a
-- for b, a in CONTENTS['bases'].iteritems()
-+ for b, a in CONTENTS['bases'].items()
- },
- 'manifests': [
- m.move(mozpath.join('base/root', m.base))
-@@ -242,7 +242,7 @@
- ],
- 'files': {
- mozpath.join('base/root', p): f
-- for p, f in CONTENTS['files'].iteritems()
-+ for p, f in CONTENTS['files'].items()
- },
- }
-
-@@ -255,7 +255,7 @@
- def result_with_base(results):
- result = {
- mozpath.join('base/root', p): v
-- for p, v in results.iteritems()
-+ for p, v in results.items()
- }
- result.update(EXTRA_CONTENTS)
- return result
-@@ -271,13 +271,13 @@
-
-
- def fill_formatter(formatter, contents):
-- for base, is_addon in contents['bases'].items():
-+ for base, is_addon in list(contents['bases'].items()):
- formatter.add_base(base, is_addon)
-
- for manifest in contents['manifests']:
- formatter.add_manifest(manifest)
-
-- for k, v in contents['files'].iteritems():
-+ for k, v in contents['files'].items():
- if k.endswith('.xpt'):
- formatter.add_interfaces(k, v)
- else:
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_packager_l10n.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_packager_l10n.py (refactored)
-@@ -4,7 +4,7 @@
-
- import unittest
- import mozunit
--from test_packager import MockFinder
-+from .test_packager import MockFinder
- from mozpack.packager import l10n
- from mozpack.files import (
- GeneratedFile,
-@@ -118,7 +118,7 @@
-
- self.assertEqual(
- dict((p, f.open().read()) for p, f in copier),
-- dict((p, f.open().read()) for p, f in repacked.iteritems())
-+ dict((p, f.open().read()) for p, f in repacked.items())
- )
-
-
---- mozjs-52.4.0/python/mozbuild/mozpack/test/support/minify_js_verify.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/support/minify_js_verify.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function
-+
- import sys
-
-
---- mozjs-52.4.0/build/moz.configure/keyfiles.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/keyfiles.configure 2018-07-10 07:57:16.030000000 +0000
-@@ -16,8 +16,8 @@
-
- @depends('--with-%s-keyfile' % name)
- @checking('for the %s key' % desc, lambda x: x and x is not no_key)
-- @imports(_from='__builtin__', _import='open')
-- @imports(_from='__builtin__', _import='IOError')
-+ @imports(_from='builtins', _import='open')
-+ @imports(_from='builtins', _import='IOError')
- def keyfile(value):
- if value:
- try:
---- mozjs-52.4.0/build/moz.configure/windows.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/windows.configure 2018-07-10 07:57:25.210000000 +0000
-@@ -19,7 +19,7 @@
-
-
- @depends_win('--with-windows-version')
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def valid_windows_version(value):
- if not value:
- die('Cannot build with --without-windows-version')
-@@ -56,8 +56,8 @@
- # 8.1.
- @imports('os')
- @imports('re')
--@imports(_from='__builtin__', _import='sorted')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='sorted')
-+@imports(_from='builtins', _import='WindowsError')
- def get_sdk_dirs(sdk, subdir):
- def get_dirs_containing(sdk, stem, subdir):
- base = os.path.join(sdk, stem)
-@@ -102,7 +102,7 @@
- @depends_win(c_compiler, windows_sdk_dir, valid_windows_version,
- 'WINDOWSSDKDIR')
- @checking('for Windows SDK', valid_windows_sdk_dir_result)
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_from='textwrap', _import='dedent')
- def valid_windows_sdk_dir(compiler, windows_sdk_dir, target_version,
- windows_sdk_dir_env):
-@@ -179,7 +179,7 @@
- @depends_win(windows_sdk_dir, 'WINDOWSSDKDIR')
- @checking('for Universal CRT SDK', valid_ucrt_sdk_dir_result)
- @imports('os')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_import='mozpack.path', _as='mozpath')
- def valid_ucrt_sdk_dir(windows_sdk_dir, windows_sdk_dir_env):
- if windows_sdk_dir_env:
---- mozjs-52.4.0/build/moz.configure/toolchain.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/toolchain.configure 2018-07-10 07:57:28.830000000 +0000
-@@ -395,7 +395,7 @@
-
-
- @imports(_from='collections', _import='defaultdict')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- def get_vc_paths(base):
- vc = defaultdict(lambda: defaultdict(dict))
- subkey = r'Microsoft\VisualStudio\VC\*\*\*\Compiler'
---- mozjs-52.4.0/build/moz.configure/util.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/util.configure 2018-07-10 07:57:31.540000000 +0000
-@@ -234,7 +234,7 @@
- # ('19.0', 'x64', r'C:\...\amd64\cl.exe')
- # ('19.0', 'x86', r'C:\...\amd64_x86\cl.exe')
- @imports(_import='_winreg', _as='winreg')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='WindowsError')
- @imports(_from='fnmatch', _import='fnmatch')
- def get_registry_values(pattern):
- def enum_helper(func, key):
---- mozjs-52.4.0/build/moz.configure/checks.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/checks.configure 2018-07-10 07:57:35.630000000 +0000
-@@ -12,7 +12,7 @@
- # _declare_exceptions template, and add it to the return statement. Then
- # destructure in the assignment below the function declaration.
- @template
--@imports(_from='__builtin__', _import='Exception')
-+@imports(_from='builtins', _import='Exception')
- def _declare_exceptions():
- class FatalCheckError(Exception):
- '''An exception to throw from a function decorated with @checking.
---- mozjs-52.4.0/build/moz.configure/old.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/old.configure 2018-07-10 07:57:38.970000000 +0000
-@@ -61,8 +61,8 @@
-
- @depends('OLD_CONFIGURE', mozconfig, autoconf, check_build_environment, shell,
- old_configure_assignments, build_project)
--@imports(_from='__builtin__', _import='open')
--@imports(_from='__builtin__', _import='print')
-+@imports(_from='builtins', _import='open')
-+@imports(_from='builtins', _import='print')
- @imports('glob')
- @imports('itertools')
- @imports('subprocess')
-@@ -302,8 +302,8 @@
- '--enable-calendar',
- '--enable-incomplete-external-linkage',
- )
--@imports(_from='__builtin__', _import='compile')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='compile')
-+@imports(_from='builtins', _import='open')
- @imports('logging')
- @imports('os')
- @imports('subprocess')
---- mozjs-52.4.0/build/moz.configure/android-ndk.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/android-ndk.configure 2018-07-10 07:57:41.120000000 +0000
-@@ -22,7 +22,7 @@
- default=min_android_version)
-
- @depends('--with-android-version', min_android_version)
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def android_version(value, min_version):
- if not value:
- # Someone has passed --without-android-version.
---- mozjs-52.4.0/build/moz.configure/init.configure.old 2017-04-11 02:13:08.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/init.configure 2018-07-10 07:57:44.330000000 +0000
-@@ -636,7 +636,7 @@
- # - otherwise, if we have "a" in GRE_MILESTONE, we're building Nightly or Aurora
- # - otherwise, we're building Release/Beta (define RELEASE_OR_BETA)
- @depends(check_build_environment, '--help')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- def milestone(build_env, _):
- milestone_path = os.path.join(build_env.topsrcdir,
- 'config',
-diff -aur mozjs-52.4.0/config/mozunit.py mozjs-fixed/config/mozunit.py
---- mozjs-52.4.0/config/mozunit.py 2017-04-11 02:13:09.000000000 +0000
-+++ mozjs-fixed/config/mozunit.py 2018-07-10 08:19:37.770000000 +0000
-@@ -5,7 +5,7 @@
- from unittest import TextTestRunner as _TestRunner, TestResult as _TestResult
- import unittest
- import inspect
--from StringIO import StringIO
-+from io import StringIO
- import os
- import sys
-
-@@ -74,7 +74,7 @@
-
- def printFail(self, test, err):
- exctype, value, tb = err
-- message = value.message.splitlines()[0] if value.message else 'NO MESSAGE'
-+ message = str(value).splitlines()[0] if str(value) else 'NO MESSAGE'
- # Skip test runner traceback levels
- while tb and self._is_relevant_tb_level(tb):
- tb = tb.tb_next
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/backend/configenvironment.py mozjs-fixed/python/mozbuild/mozbuild/backend/configenvironment.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/configenvironment.py 2018-07-10 08:24:43.150000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/backend/configenvironment.py 2018-07-10 08:15:12.650000000 +0000
-@@ -8,7 +8,8 @@
- import sys
-
- from collections import Iterable
--from types import StringTypes, ModuleType
-+from types import ModuleType
-+StringTypes = (str,)
-
- import mozpack.path as mozpath
-
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/makeutil.py mozjs-fixed/python/mozbuild/mozbuild/makeutil.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/makeutil.py 2018-07-10 08:24:43.150000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/makeutil.py 2018-07-10 08:20:05.230000000 +0000
-@@ -6,7 +6,6 @@
-
- import os
- import re
--from types import StringTypes
- from collections import Iterable
-
-
-@@ -103,19 +102,19 @@
-
- def add_targets(self, targets):
- '''Add additional targets to the rule.'''
-- assert isinstance(targets, Iterable) and not isinstance(targets, StringTypes)
-+ assert isinstance(targets, Iterable) and not isinstance(targets, str)
- self._targets.update(targets)
- return self
-
- def add_dependencies(self, deps):
- '''Add dependencies to the rule.'''
-- assert isinstance(deps, Iterable) and not isinstance(deps, StringTypes)
-+ assert isinstance(deps, Iterable) and not isinstance(deps, str)
- self._dependencies.update(deps)
- return self
-
- def add_commands(self, commands):
- '''Add commands to the rule.'''
-- assert isinstance(commands, Iterable) and not isinstance(commands, StringTypes)
-+ assert isinstance(commands, Iterable) and not isinstance(commands, str)
- self._commands.extend(commands)
- return self
-
-diff -aur mozjs-52.4.0/testing/mozbase/mozprocess/mozprocess/processhandler.py mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py
---- mozjs-52.4.0/testing/mozbase/mozprocess/mozprocess/processhandler.py 2017-04-11 02:13:06.000000000 +0000
-+++ mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py 2018-07-10 08:13:15.440000000 +0000
-@@ -11,7 +11,7 @@
- import threading
- import time
- import traceback
--from Queue import Queue, Empty
-+from queue import Queue, Empty
- from datetime import datetime
-
- __all__ = ['ProcessHandlerMixin', 'ProcessHandler', 'LogOutput',
-@@ -121,14 +121,14 @@
- thread = threading.current_thread().name
- print("DBG::MOZPROC PID:{} ({}) | {}".format(self.pid, thread, msg))
-
-- def __del__(self, _maxint=sys.maxint):
-+ def __del__(self, _maxint=sys.maxsize):
- if isWin:
- handle = getattr(self, '_handle', None)
- if handle:
- if hasattr(self, '_internal_poll'):
- self._internal_poll(_deadstate=_maxint)
- else:
-- self.poll(_deadstate=sys.maxint)
-+ self.poll(_deadstate=sys.maxsize)
- if handle or self._job or self._io_port:
- self._cleanup()
- else:
-@@ -267,7 +267,7 @@
- if not (can_create_job or can_nest_jobs):
- # Since we've warned, we just log info here to inform you
- # of the consequence of setting ignore_children = True
-- print "ProcessManager NOT managing child processes"
-+ print("ProcessManager NOT managing child processes")
-
- # create the process
- hp, ht, pid, tid = winprocess.CreateProcess(
-@@ -534,11 +534,11 @@
-
- if rc == winprocess.WAIT_TIMEOUT:
- # The process isn't dead, so kill it
-- print "Timed out waiting for process to close, attempting TerminateProcess"
-+ print("Timed out waiting for process to close, attempting TerminateProcess")
- self.kill()
- elif rc == winprocess.WAIT_OBJECT_0:
- # We caught WAIT_OBJECT_0, which indicates all is well
-- print "Single process terminated successfully"
-+ print("Single process terminated successfully")
- self.returncode = winprocess.GetExitCodeProcess(self._handle)
- else:
- # An error occured we should probably throw
-diff -aur mozjs-52.4.0/build/moz.configure/checks.configure mozjs-fixed/build/moz.configure/checks.configure
---- mozjs-52.4.0/build/moz.configure/checks.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/checks.configure 2018-07-10 10:27:45.350000000 +0000
-@@ -52,7 +52,7 @@
- try:
- ret = func(*args, **kwargs)
- except FatalCheckError as e:
-- error = e.message
-+ error = str(e)
- display_ret = callback(ret) if callback else ret
- if display_ret is True:
- log.info('yes')
-diff -aur mozjs-52.4.0/build/moz.configure/init.configure mozjs-fixed/build/moz.configure/init.configure
---- mozjs-52.4.0/build/moz.configure/init.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/init.configure 2018-07-10 10:23:19.960000000 +0000
-@@ -213,7 +213,7 @@
- def early_options():
- return set(
- option.env
-- for option in __sandbox__._options.itervalues()
-+ for option in list(__sandbox__._options.values())
- if option.env
- )
- return early_options
-@@ -297,7 +297,7 @@
- # There is also a quartet form:
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
-- cpu, manufacturer, os = triplet.split('-', 2)
-+ cpu, manufacturer, os = triplet.decode('utf-8').split('-', 2)
-
- # Autoconf uses config.sub to validate and canonicalize those triplets,
- # but the granularity of its results has never been satisfying to our
-@@ -727,7 +727,7 @@
- def all_configure_options(_):
- result = []
- previous = None
-- for option in __sandbox__._options.itervalues():
-+ for option in list(__sandbox__._options.values()):
- # __sandbox__._options contains items for both option.name and
- # option.env. But it's also an OrderedDict, meaning both are
- # consecutive.
-diff -aur mozjs-52.4.0/build/moz.configure/old.configure mozjs-fixed/build/moz.configure/old.configure
---- mozjs-52.4.0/build/moz.configure/old.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/old.configure 2018-07-10 10:19:19.880000000 +0000
-@@ -360,7 +360,7 @@
- # Every variation of the exec() function I tried led to:
- # SyntaxError: unqualified exec is not allowed in function 'main' it
- # contains a nested function with free variables
-- exec code in raw_config
-+ exec(code, raw_config)
-
- # Ensure all the flags known to old-configure appear in the
- # @old_configure_options above.
-diff -aur mozjs-52.4.0/build/moz.configure/toolchain.configure mozjs-fixed/build/moz.configure/toolchain.configure
---- mozjs-52.4.0/build/moz.configure/toolchain.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/toolchain.configure 2018-07-10 10:28:13.020000000 +0000
-@@ -244,7 +244,7 @@
- ('CPU', CPU_preprocessor_checks),
- ('KERNEL', kernel_preprocessor_checks),
- ):
-- for n, (value, condition) in enumerate(preprocessor_checks.iteritems()):
-+ for n, (value, condition) in enumerate(preprocessor_checks.items()):
- check += dedent('''\
- #%(if)s %(condition)s
- %%%(name)s "%(value)s"
-@@ -278,9 +278,9 @@
- data = {}
- for line in result.splitlines():
- if line.startswith(b'%'):
-- k, _, v = line.partition(' ')
-- k = k.lstrip('%')
-- data[k] = v.replace(' ', '').lstrip('"').rstrip('"')
-+ k, _, v = line.partition(b' ')
-+ k = k.lstrip(b'%').decode('utf-8')
-+ data[k] = v.replace(b' ', b'').lstrip(b'"').rstrip(b'"').decode('utf-8')
- log.debug('%s = %s', k, data[k])
-
- try:
-diff -aur mozjs-52.4.0/build/moz.configure/util.configure mozjs-fixed/build/moz.configure/util.configure
---- mozjs-52.4.0/build/moz.configure/util.configure 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/build/moz.configure/util.configure 2018-07-10 10:23:54.980000000 +0000
-@@ -299,6 +299,8 @@
- @imports(_from='mozbuild.configure.util', _import='Version', _as='_Version')
- def Version(v):
- 'A version number that can be compared usefully.'
-+ if isinstance(v, bytes):
-+ v = v.decode('utf-8')
- return _Version(v)
-
- # Denotes a deprecated option. Combines option() and @depends:
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/configure/__init__.py mozjs-fixed/python/mozbuild/mozbuild/configure/__init__.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/__init__.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/__init__.py 2018-07-10 10:24:33.200000000 +0000
-@@ -97,6 +97,9 @@
- ', '.join(repr(d) for d in self.dependencies),
- )
-
-+ def __hash__(self):
-+ return hash((str(self.func), tuple(self.dependencies), self.when))
-+
-
- class CombinedDependsFunction(DependsFunction):
- def __init__(self, sandbox, func, dependencies):
-@@ -142,6 +145,9 @@
- def __ne__(self, other):
- return not self == other
-
-+ def __hash__(self):
-+ return hash((str(self.func), tuple(self.dependencies)))
-+
- class SandboxedGlobal(dict):
- '''Identifiable dict type for use as function global'''
-
-@@ -192,7 +198,8 @@
- b: __builtins__[b]
- for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
- 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
-- 'hasattr', 'enumerate', 'range', 'zip')
-+ 'hasattr', 'enumerate', 'range', 'zip', '__build_class__',
-+ 'bytes', 'exec')
- }, __import__=forbidden_import, str=str)
-
- # Expose a limited set of functions from os.path
-@@ -267,7 +274,7 @@
- return method
- def wrapped(*args, **kwargs):
- out_args = [
-- arg.decode(encoding) if isinstance(arg, str) else arg
-+ arg.decode(encoding) if isinstance(arg, bytes) else arg
- for arg in args
- ]
- return method(*out_args, **kwargs)
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/configure/options.py mozjs-fixed/python/mozbuild/mozbuild/configure/options.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/options.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/options.py 2018-07-10 10:15:41.760000000 +0000
-@@ -65,6 +65,9 @@
- return '%s%s' % (self.__class__.__name__,
- super(OptionValue, self).__repr__())
-
-+ def __hash__(self):
-+ return hash(str(self))
-+
-
- class PositiveOptionValue(OptionValue):
- '''Represents the value for a positive option (--enable/--with/--foo)
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/configure/util.py mozjs-fixed/python/mozbuild/mozbuild/configure/util.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/configure/util.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/configure/util.py 2018-07-10 09:04:28.150000000 +0000
-@@ -200,7 +200,7 @@
- self._encoding = getpreferredencoding()
-
- def write(self, buf):
-- if self._encoding and isinstance(buf, str):
-+ if self._encoding and isinstance(buf, bytes):
- buf = buf.decode(self._encoding)
- lines = buf.splitlines()
- if not lines:
-diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/virtualenv.py mozjs-fixed/python/mozbuild/mozbuild/virtualenv.py
---- mozjs-52.4.0/python/mozbuild/mozbuild/virtualenv.py 2018-07-10 10:29:50.350000000 +0000
-+++ mozjs-fixed/python/mozbuild/mozbuild/virtualenv.py 2018-07-10 10:11:47.710000000 +0000
-@@ -108,7 +108,7 @@
- """
- ver = subprocess.check_output([python, '-c', 'import sys; print(sys.hexversion)']).rstrip()
- with open(self.exe_info_path, 'w') as fh:
-- fh.write("%s\n" % ver)
-+ fh.write("%s\n" % ver.decode('utf-8'))
- fh.write("%s\n" % os.path.getsize(python))
-
- def up_to_date(self, python=sys.executable):
-@@ -207,7 +207,7 @@
- return self.virtualenv_root
-
- def packages(self):
-- with file(self.manifest_path, 'rU') as fh:
-+ with open(self.manifest_path, 'rU') as fh:
- packages = [line.rstrip().split(':')
- for line in fh]
- return packages
-@@ -530,9 +530,9 @@
-
- our = LooseVersion('%d.%d.%d' % (major, minor, micro))
-
-- if major != MINIMUM_PYTHON_MAJOR or our < MINIMUM_PYTHON_VERSION:
-- log_handle.write('Python %s or greater (but not Python 3) is '
-- 'required to build. ' % MINIMUM_PYTHON_VERSION)
-+ if our < MINIMUM_PYTHON_VERSION:
-+ log_handle.write('Python %s or greater is required to build. '
-+ % MINIMUM_PYTHON_VERSION)
- log_handle.write('You are running Python %s.\n' % our)
-
- if os.name in ('nt', 'ce'):
---- mozjs-52.4.0/build/moz.configure/old.configure.old 2018-07-10 10:32:48.550000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/old.configure 2018-07-10 10:35:32.440000000 +0000
-@@ -107,7 +107,7 @@
-
- # Make old-configure append to config.log, where we put our own log.
- # This could be done with a m4 macro, but it's way easier this way
-- script = script.replace('>./config.log', '>>./config.log')
-+ script = script.replace(b'>./config.log', b'>>./config.log')
-
- with open(old_configure, 'wb') as fh:
- fh.write(script)
---- mozjs-52.4.0/build/subconfigure.py.old 2017-04-11 02:13:09.000000000 +0000
-+++ mozjs-52.4.0/build/subconfigure.py 2018-07-10 10:38:08.910000000 +0000
-@@ -27,7 +27,7 @@
- return super(Pool, cls).__new__(cls)
-
- def imap_unordered(self, fn, iterable):
-- return itertools.imap(fn, iterable)
-+ return map(fn, iterable)
-
- def close(self):
- pass
-@@ -131,11 +131,11 @@
- is_set = cache.get('ac_cv_env_%s_set' % precious) == 'set'
- value = cache.get('ac_cv_env_%s_value' % precious) if is_set else None
- if value != env.get(precious):
-- print 'Removing %s because of %s value change from:' \
-- % (data['cache-file'], precious)
-- print ' %s' % (value if value is not None else 'undefined')
-- print 'to:'
-- print ' %s' % env.get(precious, 'undefined')
-+ print('Removing %s because of %s value change from:' \
-+ % (data['cache-file'], precious))
-+ print(' %s' % (value if value is not None else 'undefined'))
-+ print('to:')
-+ print(' %s' % env.get(precious, 'undefined'))
- os.remove(data['cache-file'])
- return True
- return False
-@@ -333,8 +333,8 @@
- # We're going to run it ourselves.
- command += ['--no-create']
-
-- print prefix_lines('configuring', relobjdir)
-- print prefix_lines('running %s' % ' '.join(command[:-1]), relobjdir)
-+ print(prefix_lines('configuring', relobjdir))
-+ print(prefix_lines('running %s' % ' '.join(command[:-1]), relobjdir))
- sys.stdout.flush()
- try:
- output += subprocess.check_output(command,
-@@ -368,7 +368,7 @@
-
- if not skip_config_status:
- if skip_configure:
-- print prefix_lines('running config.status', relobjdir)
-+ print(prefix_lines('running config.status', relobjdir))
- sys.stdout.flush()
- try:
- output += subprocess.check_output([data['shell'], '-c',
-@@ -410,7 +410,7 @@
- pool = Pool(len(subconfigures))
- for relobjdir, returncode, output in \
- pool.imap_unordered(run, subconfigures):
-- print prefix_lines(output, relobjdir)
-+ print(prefix_lines(output, relobjdir))
- sys.stdout.flush()
- ret = max(returncode, ret)
- if ret:
---- mozjs-52.4.0/build/moz.configure/old.configure.old 2018-07-10 10:38:53.530000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/old.configure 2018-07-10 10:41:32.560000000 +0000
-@@ -394,7 +394,7 @@
- def post_old_configure(raw_config):
- for k, v in raw_config['substs']:
- set_old_configure_config(
-- k[1:-1], v[1:-1] if isinstance(v, types.StringTypes) else v)
-+ k[1:-1], v[1:-1] if isinstance(v, str) else v)
-
-- for k, v in dict(raw_config['defines']).iteritems():
-+ for k, v in dict(raw_config['defines']).items():
- set_old_configure_define(k[1:-1], v[1:-1])
---- mozjs-52.4.0/configure.py (original)
-+++ mozjs-52.4.0/configure.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function, unicode_literals
-+
-
- import codecs
- import os
-@@ -45,11 +45,11 @@
-
- sanitized_config = {}
- sanitized_config['substs'] = {
-- k: sanitized_bools(v) for k, v in config.iteritems()
-+ k: sanitized_bools(v) for k, v in config.items()
- if k not in ('DEFINES', 'non_global_defines', 'TOPSRCDIR', 'TOPOBJDIR')
- }
- sanitized_config['defines'] = {
-- k: sanitized_bools(v) for k, v in config['DEFINES'].iteritems()
-+ k: sanitized_bools(v) for k, v in config['DEFINES'].items()
- }
- sanitized_config['non_global_defines'] = config['non_global_defines']
- sanitized_config['topsrcdir'] = config['TOPSRCDIR']
-@@ -71,7 +71,7 @@
- ''') % {'python': config['PYTHON'], 'encoding': encoding})
- # A lot of the build backend code is currently expecting byte
- # strings and breaks in subtle ways with unicode strings. (bug 1296508)
-- for k, v in sanitized_config.iteritems():
-+ for k, v in sanitized_config.items():
- fh.write('%s = encode(%s, encoding)\n' % (k, indented_repr(v)))
- fh.write("__all__ = ['topobjdir', 'topsrcdir', 'defines', "
- "'non_global_defines', 'substs', 'mozconfig']")
-@@ -88,7 +88,7 @@
- # executable permissions.
- os.chmod('config.status', 0o755)
- if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
-- os.environ[b'WRITE_MOZINFO'] = b'1'
-+ os.environ['WRITE_MOZINFO'] = '1'
- from mozbuild.config_status import config_status
-
- # Some values in sanitized_config also have more complex types, such as
---- mozjs-52.4.0/testing/mozbase/mozfile/mozfile/mozfile.py (original)
-+++ mozjs-52.4.0/testing/mozbase/mozfile/mozfile/mozfile.py (refactored)
-@@ -6,7 +6,7 @@
-
- # We don't import all modules at the top for performance reasons. See Bug 1008943
-
--from __future__ import absolute_import
-+
-
- from contextlib import contextmanager
- import errno
-@@ -55,7 +55,7 @@
- try:
- bundle = zipfile.ZipFile(src)
- except Exception:
-- print "src: %s" % src
-+ print("src: %s" % src)
- raise
-
- namelist = bundle.namelist()
-@@ -161,8 +161,8 @@
-
- retry_count += 1
-
-- print '%s() failed for "%s". Reason: %s (%s). Retrying...' % \
-- (func.__name__, args, e.strerror, e.errno)
-+ print('%s() failed for "%s". Reason: %s (%s). Retrying...' % \
-+ (func.__name__, args, e.strerror, e.errno))
- time.sleep(retry_count * retry_delay)
- else:
- # If no exception has been thrown it should be done
-@@ -420,9 +420,9 @@
- Return True if thing looks like a URL.
- """
-
-- import urlparse
--
-- parsed = urlparse.urlparse(thing)
-+ import urllib.parse
-+
-+ parsed = urllib.parse.urlparse(thing)
- if 'scheme' in parsed:
- return len(parsed.scheme) >= 2
- else:
-@@ -436,7 +436,7 @@
- result of urllib2.urlopen()
- """
-
-- import urllib2
-+ import urllib.request, urllib.error, urllib.parse
-
- # handle file URLs separately due to python stdlib limitations
- if resource.startswith('file://'):
-@@ -446,4 +446,4 @@
- # if no scheme is given, it is a file path
-- return file(resource)
-+ return open(resource)
-
-- return urllib2.urlopen(resource)
-+ return urllib.request.urlopen(resource)
---- mozjs-52.4.0/testing/mozbase/mozinfo/mozinfo/mozinfo.py (original)
-+++ mozjs-52.4.0/testing/mozbase/mozinfo/mozinfo/mozinfo.py (refactored)
-@@ -8,7 +8,7 @@
- # linux) to the information; I certainly wouldn't want anyone parsing this
- # information and having behaviour depend on it
-
--from __future__ import absolute_import
-+
-
- import os
- import platform
-@@ -24,7 +24,7 @@
- class unknown(object):
- """marker class for unknown information"""
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return False
-
- def __str__(self):
-@@ -184,7 +184,7 @@
- to a json file containing the new info.
- """
-
-- if isinstance(new_info, basestring):
-+ if isinstance(new_info, str):
- # lazy import
- import mozfile
- import json
-@@ -246,7 +246,7 @@
- update({})
-
- # exports
--__all__ = info.keys()
-+__all__ = list(info.keys())
- __all__ += ['is' + os_name.title() for os_name in choices['os']]
- __all__ += [
- 'info',
-@@ -284,17 +284,17 @@
-
- # print out choices if requested
- flag = False
-- for key, value in options.__dict__.items():
-+ for key, value in list(options.__dict__.items()):
- if value is True:
-- print '%s choices: %s' % (key, ' '.join([str(choice)
-- for choice in choices[key]]))
-+ print('%s choices: %s' % (key, ' '.join([str(choice)
-+ for choice in choices[key]])))
- flag = True
- if flag:
- return
-
- # otherwise, print out all info
-- for key, value in info.items():
-- print '%s: %s' % (key, value)
-+ for key, value in list(info.items()):
-+ print('%s: %s' % (key, value))
-
- if __name__ == '__main__':
- main()
---- mozjs-52.4.0/testing/mozbase/mozinfo/mozinfo/string_version.py.old 2017-04-11 02:13:06.000000000 +0000
-+++ mozjs-52.4.0/testing/mozbase/mozinfo/mozinfo/string_version.py 2018-07-10 11:10:56.140000000 +0000
-@@ -10,8 +10,10 @@
- A string version that can be compared with comparison operators.
- """
-
-+ def __new__(cls, value):
-+ return str.__new__(cls, value)
-+
- def __init__(self, vstring):
-- str.__init__(self, vstring)
- self.version = LooseVersion(vstring)
-
- def __repr__(self):
---- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/manifestparser.py (original)
-+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/manifestparser.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from StringIO import StringIO
-+from io import StringIO
- import json
- import fnmatch
- import os
-@@ -21,7 +21,7 @@
- __all__ = ['ManifestParser', 'TestManifest', 'convert']
-
- relpath = os.path.relpath
--string = (basestring,)
-+string = (str,)
-
-
- # path normalization
-@@ -178,7 +178,7 @@
-
- # otherwise an item
- # apply ancestor defaults, while maintaining current file priority
-- data = dict(self._ancestor_defaults.items() + data.items())
-+ data = dict(list(self._ancestor_defaults.items()) + list(data.items()))
-
- test = data
- test['name'] = section
-@@ -306,19 +306,19 @@
- # make some check functions
- if inverse:
- def has_tags(test):
-- return not tags.intersection(test.keys())
-+ return not tags.intersection(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) == value:
- return False
- return True
- else:
- def has_tags(test):
-- return tags.issubset(test.keys())
-+ return tags.issubset(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) != value:
- return False
- return True
-@@ -340,7 +340,7 @@
- """
- if tests is None:
- # Make sure to return all the manifests, even ones without tests.
-- return self.manifest_defaults.keys()
-+ return list(self.manifest_defaults.keys())
-
- manifests = []
- for test in tests:
-@@ -373,8 +373,8 @@
- raise IOError("Strict mode enabled, test paths must exist. "
- "The following test(s) are missing: %s" %
- json.dumps(missing_paths, indent=2))
-- print >> sys.stderr, "Warning: The following test(s) are missing: %s" % \
-- json.dumps(missing_paths, indent=2)
-+ print("Warning: The following test(s) are missing: %s" % \
-+ json.dumps(missing_paths, indent=2), file=sys.stderr)
- return missing
-
- def verifyDirectory(self, directories, pattern=None, extensions=None):
-@@ -385,7 +385,7 @@
- """
-
- files = set([])
-- if isinstance(directories, basestring):
-+ if isinstance(directories, str):
- directories = [directories]
-
- # get files in directories
-@@ -449,12 +449,12 @@
-
- # print the .ini manifest
- if global_tags or global_kwargs:
-- print >> fp, '[DEFAULT]'
-+ print('[DEFAULT]', file=fp)
- for tag in global_tags:
-- print >> fp, '%s =' % tag
-- for key, value in global_kwargs.items():
-- print >> fp, '%s = %s' % (key, value)
-- print >> fp
-+ print('%s =' % tag, file=fp)
-+ for key, value in list(global_kwargs.items()):
-+ print('%s = %s' % (key, value), file=fp)
-+ print(file=fp)
-
- for test in tests:
- test = test.copy() # don't overwrite
-@@ -465,7 +465,7 @@
- if self.rootdir:
- path = relpath(test['path'], self.rootdir)
- path = denormalize_path(path)
-- print >> fp, '[%s]' % path
-+ print('[%s]' % path, file=fp)
-
- # reserved keywords:
- reserved = ['path', 'name', 'here', 'manifest', 'relpath', 'ancestor-manifest']
-@@ -476,8 +476,8 @@
- continue
- if key in global_tags and not test[key]:
- continue
-- print >> fp, '%s = %s' % (key, test[key])
-- print >> fp
-+ print('%s = %s' % (key, test[key]), file=fp)
-+ print(file=fp)
-
- if close:
- # close the created file
-@@ -565,7 +565,7 @@
- message = "Missing test: '%s' does not exist!"
- if self.strict:
- raise IOError(message)
-- print >> sys.stderr, message + " Skipping."
-+ print(message + " Skipping.", file=sys.stderr)
- continue
- destination = os.path.join(rootdir, _relpath)
- shutil.copy(source, destination)
-@@ -578,7 +578,7 @@
- internal function to import directories
- """
-
-- if isinstance(pattern, basestring):
-+ if isinstance(pattern, str):
- patterns = [pattern]
- else:
- patterns = pattern
-@@ -670,9 +670,9 @@
- if (dirnames or filenames) and not (os.path.exists(manifest_path) and overwrite):
- with file(manifest_path, 'w') as manifest:
- for dirname in dirnames:
-- print >> manifest, '[include:%s]' % os.path.join(dirname, filename)
-+ print('[include:%s]' % os.path.join(dirname, filename), file=manifest)
- for _filename in filenames:
-- print >> manifest, '[%s]' % _filename
-+ print('[%s]' % _filename, file=manifest)
-
- # add to list of manifests
- manifest_dict.setdefault(directory, manifest_path)
-@@ -722,8 +722,8 @@
- for filename in filenames]
-
- # write to manifest
-- print >> write, '\n'.join(['[%s]' % denormalize_path(filename)
-- for filename in filenames])
-+ print('\n'.join(['[%s]' % denormalize_path(filename)
-+ for filename in filenames]), file=write)
-
- cls._walk_directories(directories, callback, pattern=pattern, ignore=ignore)
-
---- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/expression.py (original)
-+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/expression.py (refactored)
-@@ -275,7 +275,7 @@
- """
- if not isinstance(self.token, expected):
- raise Exception("Unexpected token!")
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
-
- def expression(self, rbp=0):
- """
-@@ -283,11 +283,11 @@
- right binding power greater than rbp is encountered.
- """
- t = self.token
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- left = t.nud(self)
- while rbp < self.token.lbp:
- t = self.token
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- left = t.led(self, left)
- return left
-
-@@ -299,7 +299,7 @@
- """
- try:
- self.iter = self._tokenize()
-- self.token = self.iter.next()
-+ self.token = next(self.iter)
- return self.expression()
- except:
- extype, ex, tb = sys.exc_info()
-@@ -307,7 +307,7 @@
- raise ParseError("could not parse: "
- "%s\nexception: %svariables: %s" % (self.text,
- formatted,
-- self.valuemapping)), None, tb
-+ self.valuemapping)).with_traceback(tb)
-
- __call__ = parse
-
---- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/filters.py (original)
-+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/filters.py (refactored)
-@@ -92,7 +92,7 @@
- def __init__(self, *args, **kwargs):
- self.fmt_args = ', '.join(itertools.chain(
- [str(a) for a in args],
-- ['{}={}'.format(k, v) for k, v in kwargs.iteritems()]))
-+ ['{}={}'.format(k, v) for k, v in kwargs.items()]))
-
- def __eq__(self, other):
- if self.unique:
-@@ -249,7 +249,7 @@
- # be yielded for reporting purposes. Put them all in chunk 1 for
- # simplicity.
- if self.this_chunk == 1:
-- disabled_dirs = [v for k, v in tests_by_dir.iteritems()
-+ disabled_dirs = [v for k, v in tests_by_dir.items()
- if k not in ordered_dirs]
- for disabled_test in itertools.chain(*disabled_dirs):
- yield disabled_test
-@@ -326,7 +326,7 @@
-
- def __init__(self, tags):
- InstanceFilter.__init__(self, tags)
-- if isinstance(tags, basestring):
-+ if isinstance(tags, str):
- tags = [tags]
- self.tags = tags
-
-@@ -349,7 +349,7 @@
-
- def __init__(self, paths):
- InstanceFilter.__init__(self, paths)
-- if isinstance(paths, basestring):
-+ if isinstance(paths, str):
- paths = [paths]
- self.paths = paths
-
---- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/ini.py (original)
-+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/ini.py (refactored)
-@@ -27,7 +27,7 @@
- sections = []
- key = value = None
- section_names = set()
-- if isinstance(fp, basestring):
-- fp = file(fp)
-+ if isinstance(fp, str):
-+ fp = open(fp)
-
- # read the lines
-@@ -131,7 +131,7 @@
- 'support-files': '%s %s',
- }
- final_mapping = global_vars.copy()
-- for field_name, value in local_vars.items():
-+ for field_name, value in list(local_vars.items()):
- if field_name not in field_patterns or field_name not in global_vars:
- final_mapping[field_name] = value
- continue
---- mozjs-52.4.0/python/mozbuild/mozbuild/util.py.old 2018-07-10 11:16:10.690000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/util.py 2018-07-10 23:36:02.250000000 +0000
-@@ -1254,10 +1254,10 @@
- encode(k, encoding): encode(v, encoding)
- for k, v in obj.items()
- }
-- if isinstance(obj, bytes):
-- return obj
- if isinstance(obj, str):
-- return obj.encode(encoding)
-+ return obj
-+ if isinstance(obj, bytes):
-+ return obj.decode(encoding)
- if isinstance(obj, Iterable):
- return [encode(i, encoding) for i in obj]
- return obj
---- mozjs-52.4.0/python/mozbuild/mozbuild/util.py.old 2018-07-10 23:36:33.980000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/util.py 2018-07-10 23:41:51.900000000 +0000
-@@ -1179,6 +1179,9 @@
- POSSIBLE_VALUES = possible_values
- return EnumStringSubclass
-
-+ def __hash__(self):
-+ return hash(str(self))
-+
-
- def _escape_char(c):
- # str.encode('unicode_espace') doesn't escape quotes, presumably because
---- mozjs-52.4.0/python/mozbuild/mozbuild/mozinfo.py.old 2018-07-10 23:42:19.390000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/mozinfo.py 2018-07-11 01:45:57.930000000 +0000
-@@ -155,6 +155,6 @@
- """
- build_conf = build_dict(config, env)
- if isinstance(file, str):
-- file = open(file, 'wb')
-+ file = open(file, 'w')
-
- json.dump(build_conf, file, sort_keys=True, indent=4)
---- mozjs-52.4.0/python/mozbuild/mozbuild/jar.py.old 2018-07-11 01:46:26.540000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/jar.py 2018-07-11 02:02:36.010000000 +0000
-@@ -16,7 +16,7 @@
- import re
- import logging
- from time import localtime
--from MozZipFile import ZipFile
-+from zipfile import ZipFile
- from io import StringIO
- from collections import defaultdict
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/util.py.old 2018-07-11 02:05:38.530000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/util.py 2018-07-11 02:08:21.020000000 +0000
-@@ -987,8 +987,6 @@
- 'got %s, expected %s' % (fname,
- type(value), ftype))
-
-- super(TypedTuple, self).__init__(*args, **kwargs)
--
- TypedTuple._fields = fields
-
- return TypedTuple
---- mozjs-52.4.0/build/moz.configure/init.configure.old 2018-07-11 02:08:50.000000000 +0000
-+++ mozjs-52.4.0/build/moz.configure/init.configure 2018-07-11 04:04:26.600000000 +0000
-@@ -297,7 +297,9 @@
- # There is also a quartet form:
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
-- cpu, manufacturer, os = triplet.decode('utf-8').split('-', 2)
-+ if isinstance(triplet, bytes):
-+ triplet = triplet.decode('utf-8')
-+ cpu, manufacturer, os = triplet.split('-', 2)
-
- # Autoconf uses config.sub to validate and canonicalize those triplets,
- # but the granularity of its results has never been satisfying to our
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py.old 2018-07-11 04:25:33.980000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py 2018-07-11 04:24:50.630000000 +0000
-@@ -441,6 +441,8 @@
- code = func.__code__
- firstlineno = code.co_firstlineno
- lines = sandbox._current_source.splitlines(True)
-+ if len(lines) and isinstance(lines[0], bytes):
-+ lines = [l.decode('utf-8') for l in lines]
- lines = inspect.getblock(lines[firstlineno - 1:])
-
- # The code lines we get out of inspect.getsourcelines look like
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py.old 2018-07-11 04:25:57.090000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/reader.py 2018-07-11 04:29:46.140000000 +0000
-@@ -460,7 +460,7 @@
- # actually never calls __getitem__ and __setitem__, so we need to
- # modify the AST so that accesses to globals are properly directed
- # to a dict.
-- self._global_name = b'_data' # AST wants str for this, not unicode
-+ self._global_name = '_data' # AST wants str for this, not unicode
- # In case '_data' is a name used for a variable in the function code,
- # prepend more underscores until we find an unused name.
- while (self._global_name in code.co_names or
---- mozjs-52.4.0/python/mozbuild/mozbuild/frontend/context.py.old 2018-07-11 04:30:06.590000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/frontend/context.py 2018-07-11 04:35:38.670000000 +0000
-@@ -384,8 +384,8 @@
-
- def __cmp__(self, other):
- if isinstance(other, Path) and self.srcdir != other.srcdir:
-- return cmp(self.full_path, other.full_path)
-- return cmp(str(self), other)
-+ return self.full_path == other.full_path
-+ return str(self) == other
-
- # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
- # and __cmp__ is only used for those when they don't exist.
---- mozjs-52.4.0/mozglue/build/moz.build.old 2018-07-11 04:40:17.930000000 +0000
-+++ mozjs-52.4.0/mozglue/build/moz.build 2018-07-11 04:42:00.830000000 +0000
-@@ -4,20 +4,15 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--# Build mozglue as a shared lib on Windows, OSX and Android.
-+# Build mozglue as a shared lib on Windows and OSX.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin') and not CONFIG['JS_STANDALONE']:
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
-
- SDK_LIBRARY = True
-
--if CONFIG['OS_TARGET'] == 'Android':
-- SOURCES += [
-- 'BionicGlue.cpp',
-- ]
--
- if CONFIG['MOZ_ASAN']:
- SOURCES += [
- 'AsanOptions.cpp',
---- mozjs-52.4.0/js/src/moz.build.old 2017-04-11 02:13:16.000000000 +0000
-+++ mozjs-52.4.0/js/src/moz.build 2018-07-11 04:43:59.920000000 +0000
-@@ -707,7 +707,7 @@
- CXXFLAGS += ['-wd4577']
- CXXFLAGS += ['-wd4312']
-
--if CONFIG['OS_ARCH'] not in ('WINNT', 'HP-UX'):
-+if CONFIG['OS_ARCH'] != 'WINNT':
- OS_LIBS += [
- 'm',
- ]
-@@ -722,13 +722,13 @@
- 'dl',
- ]
-
--if CONFIG['OS_ARCH'] == 'SunOS':
-- OS_LIBS += [
-- 'posix4',
-- 'dl',
-- 'nsl',
-- 'socket',
-- ]
-+#if CONFIG['OS_ARCH'] == 'SunOS':
-+# OS_LIBS += [
-+# 'posix4',
-+# 'dl',
-+# 'nsl',
-+# 'socket',
-+# ]
-
- OS_LIBS += CONFIG['REALTIME_LIBS']
-
---- mozjs-52.4.0/python/mozbuild/mozbuild/util.py.old 2018-07-11 04:44:24.900000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/util.py 2018-07-11 04:46:47.310000000 +0000
-@@ -267,6 +267,10 @@
- if 'b' in self.mode:
- writemode += 'b'
- with open(self.name, writemode) as file:
-+ if 'b' in self.mode and isinstance(buf, str):
-+ buf = buf.encode('utf-8')
-+ elif 'b' not in self.mode and isinstance(buf, bytes):
-+ buf = buf.decode('utf-8')
- file.write(buf)
-
- if self._capture_diff:
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/recursivemake.py.old 2018-07-11 04:47:15.020000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/recursivemake.py 2018-07-11 04:53:51.750000000 +0000
-@@ -77,86 +77,86 @@
- from functools import reduce
-
- MOZBUILD_VARIABLES = [
-- b'ANDROID_APK_NAME',
-- b'ANDROID_APK_PACKAGE',
-- b'ANDROID_ASSETS_DIRS',
-- b'ANDROID_EXTRA_PACKAGES',
-- b'ANDROID_EXTRA_RES_DIRS',
-- b'ANDROID_GENERATED_RESFILES',
-- b'ANDROID_RES_DIRS',
-- b'ASFLAGS',
-- b'CMSRCS',
-- b'CMMSRCS',
-- b'CPP_UNIT_TESTS',
-- b'DIRS',
-- b'DIST_INSTALL',
-- b'EXTRA_DSO_LDOPTS',
-- b'EXTRA_JS_MODULES',
-- b'EXTRA_PP_COMPONENTS',
-- b'EXTRA_PP_JS_MODULES',
-- b'FORCE_SHARED_LIB',
-- b'FORCE_STATIC_LIB',
-- b'FINAL_LIBRARY',
-- b'HOST_CFLAGS',
-- b'HOST_CSRCS',
-- b'HOST_CMMSRCS',
-- b'HOST_CXXFLAGS',
-- b'HOST_EXTRA_LIBS',
-- b'HOST_LIBRARY_NAME',
-- b'HOST_PROGRAM',
-- b'HOST_SIMPLE_PROGRAMS',
-- b'IS_COMPONENT',
-- b'JAR_MANIFEST',
-- b'JAVA_JAR_TARGETS',
-- b'LD_VERSION_SCRIPT',
-- b'LIBRARY_NAME',
-- b'LIBS',
-- b'MAKE_FRAMEWORK',
-- b'MODULE',
-- b'NO_DIST_INSTALL',
-- b'NO_EXPAND_LIBS',
-- b'NO_INTERFACES_MANIFEST',
-- b'NO_JS_MANIFEST',
-- b'OS_LIBS',
-- b'PARALLEL_DIRS',
-- b'PREF_JS_EXPORTS',
-- b'PROGRAM',
-- b'PYTHON_UNIT_TESTS',
-- b'RESOURCE_FILES',
-- b'SDK_HEADERS',
-- b'SDK_LIBRARY',
-- b'SHARED_LIBRARY_LIBS',
-- b'SHARED_LIBRARY_NAME',
-- b'SIMPLE_PROGRAMS',
-- b'SONAME',
-- b'STATIC_LIBRARY_NAME',
-- b'TEST_DIRS',
-- b'TOOL_DIRS',
-+ 'ANDROID_APK_NAME',
-+ 'ANDROID_APK_PACKAGE',
-+ 'ANDROID_ASSETS_DIRS',
-+ 'ANDROID_EXTRA_PACKAGES',
-+ 'ANDROID_EXTRA_RES_DIRS',
-+ 'ANDROID_GENERATED_RESFILES',
-+ 'ANDROID_RES_DIRS',
-+ 'ASFLAGS',
-+ 'CMSRCS',
-+ 'CMMSRCS',
-+ 'CPP_UNIT_TESTS',
-+ 'DIRS',
-+ 'DIST_INSTALL',
-+ 'EXTRA_DSO_LDOPTS',
-+ 'EXTRA_JS_MODULES',
-+ 'EXTRA_PP_COMPONENTS',
-+ 'EXTRA_PP_JS_MODULES',
-+ 'FORCE_SHARED_LIB',
-+ 'FORCE_STATIC_LIB',
-+ 'FINAL_LIBRARY',
-+ 'HOST_CFLAGS',
-+ 'HOST_CSRCS',
-+ 'HOST_CMMSRCS',
-+ 'HOST_CXXFLAGS',
-+ 'HOST_EXTRA_LIBS',
-+ 'HOST_LIBRARY_NAME',
-+ 'HOST_PROGRAM',
-+ 'HOST_SIMPLE_PROGRAMS',
-+ 'IS_COMPONENT',
-+ 'JAR_MANIFEST',
-+ 'JAVA_JAR_TARGETS',
-+ 'LD_VERSION_SCRIPT',
-+ 'LIBRARY_NAME',
-+ 'LIBS',
-+ 'MAKE_FRAMEWORK',
-+ 'MODULE',
-+ 'NO_DIST_INSTALL',
-+ 'NO_EXPAND_LIBS',
-+ 'NO_INTERFACES_MANIFEST',
-+ 'NO_JS_MANIFEST',
-+ 'OS_LIBS',
-+ 'PARALLEL_DIRS',
-+ 'PREF_JS_EXPORTS',
-+ 'PROGRAM',
-+ 'PYTHON_UNIT_TESTS',
-+ 'RESOURCE_FILES',
-+ 'SDK_HEADERS',
-+ 'SDK_LIBRARY',
-+ 'SHARED_LIBRARY_LIBS',
-+ 'SHARED_LIBRARY_NAME',
-+ 'SIMPLE_PROGRAMS',
-+ 'SONAME',
-+ 'STATIC_LIBRARY_NAME',
-+ 'TEST_DIRS',
-+ 'TOOL_DIRS',
- # XXX config/Makefile.in specifies this in a make invocation
- #'USE_EXTENSION_MANIFEST',
-- b'XPCSHELL_TESTS',
-- b'XPIDL_MODULE',
-+ 'XPCSHELL_TESTS',
-+ 'XPIDL_MODULE',
- ]
-
- DEPRECATED_VARIABLES = [
-- b'ANDROID_RESFILES',
-- b'EXPORT_LIBRARY',
-- b'EXTRA_LIBS',
-- b'HOST_LIBS',
-- b'LIBXUL_LIBRARY',
-- b'MOCHITEST_A11Y_FILES',
-- b'MOCHITEST_BROWSER_FILES',
-- b'MOCHITEST_BROWSER_FILES_PARTS',
-- b'MOCHITEST_CHROME_FILES',
-- b'MOCHITEST_FILES',
-- b'MOCHITEST_FILES_PARTS',
-- b'MOCHITEST_METRO_FILES',
-- b'MOCHITEST_ROBOCOP_FILES',
-- b'MODULE_OPTIMIZE_FLAGS',
-- b'MOZ_CHROME_FILE_FORMAT',
-- b'SHORT_LIBNAME',
-- b'TESTING_JS_MODULES',
-- b'TESTING_JS_MODULE_DIR',
-+ 'ANDROID_RESFILES',
-+ 'EXPORT_LIBRARY',
-+ 'EXTRA_LIBS',
-+ 'HOST_LIBS',
-+ 'LIBXUL_LIBRARY',
-+ 'MOCHITEST_A11Y_FILES',
-+ 'MOCHITEST_BROWSER_FILES',
-+ 'MOCHITEST_BROWSER_FILES_PARTS',
-+ 'MOCHITEST_CHROME_FILES',
-+ 'MOCHITEST_FILES',
-+ 'MOCHITEST_FILES_PARTS',
-+ 'MOCHITEST_METRO_FILES',
-+ 'MOCHITEST_ROBOCOP_FILES',
-+ 'MODULE_OPTIMIZE_FLAGS',
-+ 'MOZ_CHROME_FILE_FORMAT',
-+ 'SHORT_LIBNAME',
-+ 'TESTING_JS_MODULES',
-+ 'TESTING_JS_MODULE_DIR',
- ]
-
- MOZBUILD_VARIABLES_MESSAGE = 'It should only be defined in moz.build files.'
-@@ -758,7 +758,7 @@
- rule.add_dependencies(['$(CURDIR)/%: %'])
-
- def _check_blacklisted_variables(self, makefile_in, makefile_content):
-- if b'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
-+ if 'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
- # Bypass the variable restrictions for externally managed makefiles.
- return
-
-@@ -765,7 +765,7 @@
- for l in makefile_content.splitlines():
- l = l.strip()
- # Don't check comments
-- if l.startswith(b'#'):
-+ if l.startswith('#'):
- continue
- for x in chain(MOZBUILD_VARIABLES, DEPRECATED_VARIABLES):
- if x not in l:
-@@ -822,11 +822,11 @@
- # Skip every directory but those with a Makefile
- # containing a tools target, or XPI_PKGNAME or
- # INSTALL_EXTENSION_ID.
-- for t in (b'XPI_PKGNAME', b'INSTALL_EXTENSION_ID',
-- b'tools'):
-+ for t in ('XPI_PKGNAME', 'INSTALL_EXTENSION_ID',
-+ 'tools'):
- if t not in content:
- continue
-- if t == b'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
-+ if t == 'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
- continue
- if objdir == self.environment.topobjdir:
- continue
-@@ -1422,20 +1422,20 @@
- pp.context.update(extra)
- if not pp.context.get('autoconfmk', ''):
- pp.context['autoconfmk'] = 'autoconf.mk'
-- pp.handleLine(b'# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-- pp.handleLine(b'DEPTH := @DEPTH@\n')
-- pp.handleLine(b'topobjdir := @topobjdir@\n')
-- pp.handleLine(b'topsrcdir := @top_srcdir@\n')
-- pp.handleLine(b'srcdir := @srcdir@\n')
-- pp.handleLine(b'VPATH := @srcdir@\n')
-- pp.handleLine(b'relativesrcdir := @relativesrcdir@\n')
-- pp.handleLine(b'include $(DEPTH)/config/@autoconfmk@\n')
-+ pp.handleLine('# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-+ pp.handleLine('DEPTH := @DEPTH@\n')
-+ pp.handleLine('topobjdir := @topobjdir@\n')
-+ pp.handleLine('topsrcdir := @top_srcdir@\n')
-+ pp.handleLine('srcdir := @srcdir@\n')
-+ pp.handleLine('VPATH := @srcdir@\n')
-+ pp.handleLine('relativesrcdir := @relativesrcdir@\n')
-+ pp.handleLine('include $(DEPTH)/config/@autoconfmk@\n')
- if not stub:
- pp.do_include(obj.input_path)
- # Empty line to avoid failures when last line in Makefile.in ends
- # with a backslash.
-- pp.handleLine(b'\n')
-- pp.handleLine(b'include $(topsrcdir)/config/recurse.mk\n')
-+ pp.handleLine('\n')
-+ pp.handleLine('include $(topsrcdir)/config/recurse.mk\n')
- if not stub:
- # Adding the Makefile.in here has the desired side-effect
- # that if the Makefile.in disappears, this will force
---- mozjs-52.4.0/python/mozbuild/mozpack/manifests.py.old 2018-07-11 04:54:39.260000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozpack/manifests.py 2018-07-11 04:57:31.710000000 +0000
-@@ -115,7 +115,7 @@
- self._source_files = set()
-
- if path or fileobj:
-- with _auto_fileobj(path, fileobj, 'rb') as fh:
-+ with _auto_fileobj(path, fileobj, 'r') as fh:
- self._source_files.add(fh.name)
- self._load_from_fileobj(fh)
-
-@@ -174,7 +174,7 @@
- dest, content = fields[1:]
-
- self.add_content(
-- self._decode_field_entry(content).encode('utf-8'), dest)
-+ self._decode_field_entry(content), dest)
- continue
-
- # Don't fail for non-actionable items, allowing
-@@ -236,7 +236,7 @@
-
- It is an error if both are specified.
- """
-- with _auto_fileobj(path, fileobj, 'wb') as fh:
-+ with _auto_fileobj(path, fileobj, 'w') as fh:
- fh.write('%d\n' % self.CURRENT_VERSION)
-
- for dest in sorted(self._dests):
-@@ -244,8 +244,7 @@
-
- parts = ['%d' % entry[0], dest]
- parts.extend(entry[1:])
-- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
-- p.encode('utf-8') for p in parts))
-+ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
-
- def add_symlink(self, source, dest):
- """Add a symlink to this manifest.
-@@ -391,7 +390,7 @@
- if install_type == self.CONTENT:
- # GeneratedFile expect the buffer interface, which the unicode
- # type doesn't have, so encode to a str.
-- content = self._decode_field_entry(entry[1]).encode('utf-8')
-+ content = self._decode_field_entry(entry[1])
- registry.add(dest, GeneratedFile(content))
- continue
-
---- mozjs-52.4.0/config/MozZipFile.py (original)
-+++ mozjs-52.4.0/config/MozZipFile.py (refactored)
-@@ -18,7 +18,7 @@
- def __init__(self, file, mode="r", compression=zipfile.ZIP_STORED,
- lock = False):
- if lock:
-- assert isinstance(file, basestring)
-+ assert isinstance(file, str)
- self.lockfile = lock_file(file + '.lck')
- else:
- self.lockfile = None
-@@ -46,7 +46,7 @@
- date_time=time.localtime(time.time()))
- zinfo.compress_type = self.compression
- # Add some standard UNIX file access permissions (-rw-r--r--).
-- zinfo.external_attr = (0x81a4 & 0xFFFF) << 16L
-+ zinfo.external_attr = (0x81a4 & 0xFFFF) << 16
- else:
- zinfo = zinfo_or_arcname
-
-@@ -58,7 +58,7 @@
- # as the old, reuse the existing entry.
-
- doSeek = False # store if we need to seek to the eof after overwriting
-- if self.NameToInfo.has_key(zinfo.filename):
-+ if zinfo.filename in self.NameToInfo:
- # Find the last ZipInfo with our name.
- # Last, because that's catching multiple overwrites
- i = len(self.filelist)
-@@ -109,14 +109,14 @@
- # adjust file mode if we originally just wrote, now we rewrite
- self.fp.close()
- self.fp = open(self.filename, 'r+b')
-- all = map(lambda zi: (zi, True), self.filelist) + \
-- map(lambda zi: (zi, False), self._remove)
-+ all = [(zi, True) for zi in self.filelist] + \
-+ [(zi, False) for zi in self._remove]
- all.sort(lambda l, r: cmp(l[0].header_offset, r[0].header_offset))
- # empty _remove for multiple closes
- self._remove = []
-
- lengths = [all[i+1][0].header_offset - all[i][0].header_offset
-- for i in xrange(len(all)-1)]
-+ for i in range(len(all)-1)]
- lengths.append(self.end - all[-1][0].header_offset)
- to_pos = 0
- for (zi, keep), length in zip(all, lengths):
---- mozjs-52.4.0/config/check_spidermonkey_style.py (original)
-+++ mozjs-52.4.0/config/check_spidermonkey_style.py (refactored)
-@@ -35,7 +35,7 @@
- # isolation, but don't try to do any order checking between such blocks.
- #----------------------------------------------------------------------------
-
--from __future__ import print_function
-+
-
- import difflib
- import os
-@@ -270,7 +270,7 @@
- edges[inclname] = set()
-
- # Process all the JS files.
-- for filename in js_names.keys():
-+ for filename in list(js_names.keys()):
- inclname = js_names[filename]
- file_kind = FileKind.get(filename)
- if file_kind == FileKind.C or file_kind == FileKind.CPP or \
---- mozjs-52.4.0/config/expandlibs.py (original)
-+++ mozjs-52.4.0/config/expandlibs.py (refactored)
-@@ -26,7 +26,7 @@
- descriptor contains. And for each of these LIBS, also apply the same
- rules.
- '''
--from __future__ import with_statement
-+
- import sys, os, errno
- import expandlibs_config as conf
-
-@@ -36,7 +36,7 @@
- if dir and not os.path.exists(dir):
- try:
- os.makedirs(dir)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-
-@@ -140,4 +140,4 @@
- return [relativize(arg)]
-
- if __name__ == '__main__':
-- print " ".join(ExpandArgs(sys.argv[1:]))
-+ print(" ".join(ExpandArgs(sys.argv[1:])))
---- mozjs-52.4.0/config/expandlibs_exec.py (original)
-+++ mozjs-52.4.0/config/expandlibs_exec.py (refactored)
-@@ -20,7 +20,7 @@
- relevant linker options to change the order in which the linker puts the
- symbols appear in the resulting binary. Only works for ELF targets.
- '''
--from __future__ import with_statement
-+
- import sys
- import os
- from expandlibs import (
-@@ -304,11 +304,11 @@
- return syms
-
- def print_command(out, args):
-- print >>out, "Executing: " + " ".join(args)
-+ print("Executing: " + " ".join(args), file=out)
- for tmp in [f for f in args.tmp if os.path.isfile(f)]:
-- print >>out, tmp + ":"
-+ print(tmp + ":", file=out)
- with open(tmp) as file:
-- print >>out, "".join([" " + l for l in file.readlines()])
-+ print("".join([" " + l for l in file.readlines()]), file=out)
- out.flush()
-
- def main(args, proc_callback=None):
-@@ -338,8 +338,8 @@
- proc = subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
- if proc_callback:
- proc_callback(proc)
-- except Exception, e:
-- print >>sys.stderr, 'error: Launching', args, ':', e
-+ except Exception as e:
-+ print('error: Launching', args, ':', e, file=sys.stderr)
- raise e
- (stdout, stderr) = proc.communicate()
- if proc.returncode and not options.verbose:
---- mozjs-52.4.0/config/expandlibs_gen.py (original)
-+++ mozjs-52.4.0/config/expandlibs_gen.py (refactored)
-@@ -5,7 +5,7 @@
- '''Given a list of object files and library names, prints a library
- descriptor to standard output'''
-
--from __future__ import with_statement
-+
- import sys
- import os
- import expandlibs_config as conf
-@@ -38,4 +38,4 @@
-
- ensureParentDir(options.output)
- with open(options.output, 'w') as outfile:
-- print >>outfile, generate(args)
-+ print(generate(args), file=outfile)
---- mozjs-52.4.0/config/find_OOM_errors.py (original)
-+++ mozjs-52.4.0/config/find_OOM_errors.py (refactored)
-@@ -2,7 +2,7 @@
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
--from __future__ import print_function
-+
-
- usage = """%prog: A test for OOM conditions in the shell.
-
-@@ -95,12 +95,12 @@
- """Keep track of the amount of times individual lines occur, in order to
- prioritize the errors which occur most frequently."""
- counts = {}
-- for string,count in blacklist.items():
-+ for string,count in list(blacklist.items()):
- for line in string.split("\n"):
- counts[line] = counts.get(line, 0) + count
-
- lines = []
-- for k,v in counts.items():
-+ for k,v in list(counts.items()):
- lines.append("{0:6}: {1}".format(v, k))
-
- lines.sort()
---- mozjs-52.4.0/config/nsinstall.py (original)
-+++ mozjs-52.4.0/config/nsinstall.py (refactored)
-@@ -9,7 +9,7 @@
- # a full build environment set up.
- # The basic limitation is, it doesn't even try to link and ignores
- # all related options.
--from __future__ import print_function
-+
- from optparse import OptionParser
- import mozfile
- import os
-@@ -149,7 +149,7 @@
-
- # nsinstall as a native command is always UTF-8
- def nsinstall(argv):
-- return _nsinstall_internal([unicode(arg, "utf-8") for arg in argv])
-+ return _nsinstall_internal([str(arg, "utf-8") for arg in argv])
-
- if __name__ == '__main__':
- # sys.argv corrupts characters outside the system code page on Windows
-@@ -175,8 +175,8 @@
- else:
- # For consistency, do it on Unix as well
- if sys.stdin.encoding is not None:
-- argv = [unicode(arg, sys.stdin.encoding) for arg in sys.argv]
-+ argv = [str(arg, sys.stdin.encoding) for arg in sys.argv]
- else:
-- argv = [unicode(arg) for arg in sys.argv]
-+ argv = [str(arg) for arg in sys.argv]
-
- sys.exit(_nsinstall_internal(argv[1:]))
---- mozjs-52.4.0/config/printconfigsetting.py (original)
-+++ mozjs-52.4.0/config/printconfigsetting.py (refactored)
-@@ -5,12 +5,12 @@
- import configobj
- import sys
- import re
--from StringIO import StringIO
-+from io import StringIO
-
- try:
- (file, section, key) = sys.argv[1:]
- except ValueError:
-- print "Usage: printconfigsetting.py <file> <section> <setting>"
-+ print("Usage: printconfigsetting.py <file> <section> <setting>")
- sys.exit(1)
-
- with open(file) as fh:
-@@ -21,11 +21,11 @@
- try:
- s = c[section]
- except KeyError:
-- print >>sys.stderr, "Section [%s] not found." % section
-+ print("Section [%s] not found." % section, file=sys.stderr)
- sys.exit(1)
-
- try:
-- print s[key]
-+ print(s[key])
- except KeyError:
-- print >>sys.stderr, "Key %s not found." % key
-+ print("Key %s not found." % key, file=sys.stderr)
- sys.exit(1)
---- mozjs-52.4.0/config/pythonpath.py (original)
-+++ mozjs-52.4.0/config/pythonpath.py (refactored)
-@@ -9,7 +9,7 @@
-
- def main(args):
- def usage():
-- print >>sys.stderr, "pythonpath.py -I directory script.py [args...]"
-+ print("pythonpath.py -I directory script.py [args...]", file=sys.stderr)
- sys.exit(150)
-
- paths = []
-@@ -45,7 +45,7 @@
- frozenglobals['__name__'] = '__main__'
- frozenglobals['__file__'] = script
-
-- execfile(script, frozenglobals)
-+ exec(compile(open(script).read(), script, 'exec'), frozenglobals)
-
- # Freeze scope here ... why this makes things work I have no idea ...
- frozenglobals = globals()
---- mozjs-52.4.0/config/rebuild_check.py (original)
-+++ mozjs-52.4.0/config/rebuild_check.py (refactored)
-@@ -18,7 +18,7 @@
- deps = args[1:]
- t = mtime(target)
- if t < 0:
-- print target
-+ print(target)
- return
-
- newer = []
-@@ -31,13 +31,13 @@
- newer.append(dep)
-
- if newer and removed:
-- print 'Rebuilding %s because %s changed and %s was removed' % (target, ', '.join(newer), ', '.join(removed))
-+ print('Rebuilding %s because %s changed and %s was removed' % (target, ', '.join(newer), ', '.join(removed)))
- elif newer:
-- print 'Rebuilding %s because %s changed' % (target, ', '.join(newer))
-+ print('Rebuilding %s because %s changed' % (target, ', '.join(newer)))
- elif removed:
-- print 'Rebuilding %s because %s was removed' % (target, ', '.join(removed))
-+ print('Rebuilding %s because %s was removed' % (target, ', '.join(removed)))
- else:
-- print 'Rebuilding %s for an unknown reason' % target
-+ print('Rebuilding %s for an unknown reason' % target)
-
- if __name__ == '__main__':
- import sys
---- mozjs-52.4.0/config/tests/unit-expandlibs.py (original)
-+++ mozjs-52.4.0/config/tests/unit-expandlibs.py (refactored)
-@@ -7,7 +7,7 @@
- from shutil import rmtree
- import mozunit
-
--from UserString import UserString
-+from collections import UserString
- # Create a controlled configuration for use by expandlibs
- config_win = {
- 'AR': 'lib',
-@@ -120,8 +120,7 @@
- del dict[name]
- return type.__new__(cls, clsName, bases, dict)
-
--class TestCaseWithTmpDir(unittest.TestCase):
-- __metaclass__ = ReplicateTests
-+class TestCaseWithTmpDir(unittest.TestCase, metaclass=ReplicateTests):
- def init(self):
- self.tmpdir = os.path.abspath(mkdtemp(dir=os.curdir))
-
---- mozjs-52.4.0/config/tests/unit-nsinstall.py (original)
-+++ mozjs-52.4.0/config/tests/unit-nsinstall.py (refactored)
-@@ -28,9 +28,9 @@
- # Unicode strings means non-ASCII children can be deleted properly on
- # Windows
- if sys.stdin.encoding is None:
-- tmpdir = unicode(self.tmpdir)
-+ tmpdir = str(self.tmpdir)
- else:
-- tmpdir = unicode(self.tmpdir, sys.stdin.encoding)
-+ tmpdir = str(self.tmpdir, sys.stdin.encoding)
- rmtree(tmpdir)
-
- # utility methods for tests
-@@ -50,14 +50,14 @@
- "Test nsinstall -D <dir>"
- testdir = os.path.join(self.tmpdir, "test")
- self.assertEqual(nsinstall(["-D", testdir]), 0)
-- self.assert_(os.path.isdir(testdir))
-+ self.assertTrue(os.path.isdir(testdir))
-
- def test_nsinstall_basic(self):
- "Test nsinstall <file> <dir>"
- testfile = self.touch("testfile")
- testdir = self.mkdirs("testdir")
- self.assertEqual(nsinstall([testfile, testdir]), 0)
-- self.assert_(os.path.isfile(os.path.join(testdir, "testfile")))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "testfile")))
-
- def test_nsinstall_basic_recursive(self):
- "Test nsinstall <dir> <dest dir>"
-@@ -76,12 +76,12 @@
- '-X', Xdir]), 0)
-
- testdir = os.path.join(destdir, "sourcedir")
-- self.assert_(os.path.isdir(testdir))
-- self.assert_(os.path.isfile(os.path.join(testdir, "testfile")))
-- self.assert_(not os.path.exists(os.path.join(testdir, "Xfile")))
-- self.assert_(os.path.isdir(os.path.join(testdir, "copieddir")))
-- self.assert_(os.path.isfile(os.path.join(testdir, "copieddir", "testfile2")))
-- self.assert_(not os.path.exists(os.path.join(testdir, "Xdir")))
-+ self.assertTrue(os.path.isdir(testdir))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "testfile")))
-+ self.assertTrue(not os.path.exists(os.path.join(testdir, "Xfile")))
-+ self.assertTrue(os.path.isdir(os.path.join(testdir, "copieddir")))
-+ self.assertTrue(os.path.isfile(os.path.join(testdir, "copieddir", "testfile2")))
-+ self.assertTrue(not os.path.exists(os.path.join(testdir, "Xdir")))
-
- def test_nsinstall_multiple(self):
- "Test nsinstall <three files> <dest dir>"
-@@ -91,7 +91,7 @@
- testdir = self.mkdirs("testdir")
- self.assertEqual(nsinstall(testfiles + [testdir]), 0)
- for f in testfiles:
-- self.assert_(os.path.isfile(os.path.join(testdir,
-+ self.assertTrue(os.path.isfile(os.path.join(testdir,
- os.path.basename(f))))
-
- def test_nsinstall_dir_exists(self):
-@@ -99,7 +99,7 @@
- srcdir = self.mkdirs("test")
- destdir = self.mkdirs("testdir/test")
- self.assertEqual(nsinstall([srcdir, os.path.dirname(destdir)]), 0)
-- self.assert_(os.path.isdir(destdir))
-+ self.assertTrue(os.path.isdir(destdir))
-
- def test_nsinstall_t(self):
- "Test that nsinstall -t works (preserve timestamp)"
-@@ -110,7 +110,7 @@
- os.utime(testfile, (t, t))
- self.assertEqual(nsinstall(["-t", testfile, testdir]), 0)
- destfile = os.path.join(testdir, "testfile")
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
- self.assertEqual(os.stat(testfile).st_mtime,
- os.stat(destfile).st_mtime)
-
-@@ -125,7 +125,7 @@
- self.assertEqual(nsinstall(["-m", "{0:04o}"
- .format(mode), testfile, testdir]), 0)
- destfile = os.path.join(testdir, "testfile")
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
- self.assertEqual(os.stat(testfile).st_mode,
- os.stat(destfile).st_mode)
-
-@@ -136,25 +136,25 @@
- testdir = self.mkdirs("testdir")
- destdir = os.path.join(testdir, "subdir")
- self.assertEqual(nsinstall(["-d", testfile, destdir]), 0)
-- self.assert_(os.path.isdir(os.path.join(destdir, "testfile")))
-+ self.assertTrue(os.path.isdir(os.path.join(destdir, "testfile")))
-
- if RUN_NON_ASCII_TESTS:
- def test_nsinstall_non_ascii(self):
- "Test that nsinstall handles non-ASCII files"
-- filename = u"\u2325\u3452\u2415\u5081"
-+ filename = "\u2325\u3452\u2415\u5081"
- testfile = self.touch(filename)
-- testdir = self.mkdirs(u"\u4241\u1D04\u1414")
-+ testdir = self.mkdirs("\u4241\u1D04\u1414")
- self.assertEqual(nsinstall([testfile.encode("utf-8"),
- testdir.encode("utf-8")]), 0)
-
- destfile = os.path.join(testdir, filename)
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
-
- def test_nsinstall_non_ascii_subprocess(self):
- "Test that nsinstall as a subprocess handles non-ASCII files"
-- filename = u"\u2325\u3452\u2415\u5081"
-+ filename = "\u2325\u3452\u2415\u5081"
- testfile = self.touch(filename)
-- testdir = self.mkdirs(u"\u4241\u1D04\u1414")
-+ testdir = self.mkdirs("\u4241\u1D04\u1414")
- # We don't use subprocess because it can't handle Unicode on
- # Windows <http://bugs.python.org/issue1759845>. mozprocess calls
- # CreateProcessW directly so it's perfect.
-@@ -166,7 +166,7 @@
-
- self.assertEqual(rv, 0)
- destfile = os.path.join(testdir, filename)
-- self.assert_(os.path.isfile(destfile))
-+ self.assertTrue(os.path.isfile(destfile))
-
- #TODO: implement -R, -l, -L and test them!
-
---- mozjs-52.4.0/config/tests/unitMozZipFile.py (original)
-+++ mozjs-52.4.0/config/tests/unitMozZipFile.py (refactored)
-@@ -11,6 +11,7 @@
- import random
- import copy
- from string import letters
-+from functools import reduce
-
- '''
- Test case infrastructure for MozZipFile.
-@@ -38,7 +39,7 @@
- 'firstdir/oneleaf',
- 'seconddir/twoleaf',
- 'thirddir/with/sub/threeleaf')
--_lengths = map(lambda n: n * 64, [16, 64, 80])
-+_lengths = [n * 64 for n in [16, 64, 80]]
- lengths = 3
- writes = 5
-
-@@ -71,7 +72,7 @@
- def getContent(length):
- 'Get pseudo random content of given length.'
- rv = [None] * length
-- for i in xrange(length):
-+ for i in range(length):
- rv[i] = random.choice(letters)
- return ''.join(rv)
-
-@@ -133,13 +134,13 @@
- def _verifyZip(self):
- zf = zipfile.ZipFile(self.f)
- badEntry = zf.testzip()
-- self.failIf(badEntry, badEntry)
-+ self.assertFalse(badEntry, badEntry)
- zlist = zf.namelist()
- zlist.sort()
-- vlist = self.ref.keys()
-+ vlist = list(self.ref.keys())
- vlist.sort()
- self.assertEqual(zlist, vlist)
-- for leaf, content in self.ref.iteritems():
-+ for leaf, content in self.ref.items():
- zcontent = zf.read(leaf)
- self.assertEqual(content, zcontent)
-
-@@ -158,16 +159,16 @@
- open(self.leaf('stage', leaf), 'w').write(content)
-
- # all leafs in all lengths
--atomics = list(prod(xrange(len(leafs)), xrange(lengths)))
-+atomics = list(prod(range(len(leafs)), range(lengths)))
-
- # populate TestExtensiveStore with testcases
--for w in xrange(writes):
-+for w in range(writes):
- # Don't iterate over all files for the the first n passes,
- # those are redundant as long as w < lengths.
- # There are symmetries in the trailing end, too, but I don't know
- # how to reduce those out right now.
-- nonatomics = [list(prod(range(min(i,len(leafs))), xrange(lengths)))
-- for i in xrange(1, w+1)] + [atomics]
-+ nonatomics = [list(prod(list(range(min(i,len(leafs)))), range(lengths)))
-+ for i in range(1, w+1)] + [atomics]
- for descs in prod(*nonatomics):
- suffix = getid(descs)
- dicts = [dict(leaf=leaf, length=length) for leaf, length in descs]
-@@ -181,9 +182,9 @@
- # and then write all atomics again.
- # This should catch more or less all artifacts generated
- # by the final ordering step when closing the jar.
--files = [list(prod([i], xrange(lengths))) for i in xrange(len(leafs))]
-+files = [list(prod([i], range(lengths))) for i in range(len(leafs))]
- allfiles = reduce(lambda l,r:l+r,
-- [list(prod(*files[:(i+1)])) for i in xrange(len(leafs))])
-+ [list(prod(*files[:(i+1)])) for i in range(len(leafs))])
-
- for first in allfiles:
- testbasename = 'test{0}_'.format(getid(first))
---- mozjs-52.4.0/config/expandlibs_exec.py.old 2018-07-11 05:07:18.280000000 +0000
-+++ mozjs-52.4.0/config/expandlibs_exec.py 2018-07-11 05:08:45.670000000 +0000
-@@ -344,7 +344,7 @@
- (stdout, stderr) = proc.communicate()
- if proc.returncode and not options.verbose:
- print_command(sys.stderr, args)
-- sys.stderr.write(stdout)
-+ sys.stderr.write(stdout.decode('utf-8'))
- sys.stderr.flush()
- if proc.returncode:
- return proc.returncode
---- mozjs-52.4.0/js/src/builtin/embedjs.py (original)
-+++ mozjs-52.4.0/js/src/builtin/embedjs.py (refactored)
-@@ -36,7 +36,7 @@
- #
- # It uses the C preprocessor to process its inputs.
-
--from __future__ import with_statement
-+
- import re, sys, os, subprocess
- import shlex
- import which
-@@ -109,7 +109,7 @@
-
- with open(tmpIn, 'wb') as input:
- input.write(source)
-- print(' '.join(cxx + outputArg + args + [tmpIn]))
-+ print((' '.join(cxx + outputArg + args + [tmpIn])))
- result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
- if (result != 0):
- sys.exit(result);
-@@ -132,7 +132,7 @@
-
- def get_config_defines(buildconfig):
- # Collect defines equivalent to ACDEFINES and add MOZ_DEBUG_DEFINES.
-- env = {key: value for key, value in buildconfig.defines.iteritems()
-+ env = {key: value for key, value in buildconfig.defines.items()
- if key not in buildconfig.non_global_defines}
- for define in buildconfig.substs['MOZ_DEBUG_DEFINES']:
- env[define] = 1
---- mozjs-52.4.0/js/src/builtin/embedjs.py.old 2018-07-11 05:13:28.920000000 +0000
-+++ mozjs-52.4.0/js/src/builtin/embedjs.py 2018-07-11 05:15:15.390000000 +0000
-@@ -107,7 +107,7 @@
- tmpOut = 'self-hosting-preprocessed.pp';
- outputArg = shlex.split(preprocessorOption + tmpOut)
-
-- with open(tmpIn, 'wb') as input:
-+ with open(tmpIn, 'w') as input:
- input.write(source)
- print((' '.join(cxx + outputArg + args + [tmpIn])))
- result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
---- mozjs-52.4.0/python/mozbuild/mozbuild/preprocessor.py.old 2018-07-11 05:15:42.900000000 +0000
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/preprocessor.py 2018-07-11 05:23:10.870000000 +0000
-@@ -451,7 +451,7 @@
- except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-- return open(path, 'wb')
-+ return open(path, 'w')
-
- p = self.getCommandLineParser()
- options, args = p.parse_args(args=args)
---- mozjs-52.4.0/js/src/builtin/embedjs.py.old 2018-07-11 05:15:42.950000000 +0000
-+++ mozjs-52.4.0/js/src/builtin/embedjs.py 2018-07-11 05:20:14.280000000 +0000
-@@ -53,7 +53,7 @@
- def ToCArray(lines):
- result = []
- for chr in lines:
-- result.append(str(ord(chr)))
-+ result.append(str(chr))
- return ", ".join(result)
-
- HEADER_TEMPLATE = """\
-@@ -87,7 +87,7 @@
-
- js_out.write(processed)
- import zlib
-- compressed = zlib.compress(processed)
-+ compressed = zlib.compress(processed.encode('utf-8'))
- data = ToCArray(compressed)
- c_out.write(HEADER_TEMPLATE % {
- 'sources_type': 'unsigned char',
diff --git a/user/nfs-utils/nfs-utils.conf b/user/nfs-utils/nfs-utils.conf
deleted file mode 100644
index b9b586c2a..000000000
--- a/user/nfs-utils/nfs-utils.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-d /var/lib/nfs/rpc_pipefs
-d /var/lib/nfs/v4recovery
-d /var/lib/nfs/v4root
diff --git a/user/orage/libical-3.patch b/user/orage/libical-3.patch
deleted file mode 100644
index ad57fd3cb..000000000
--- a/user/orage/libical-3.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 58e4bb4d3b982876dec33d55003d591559439598 Mon Sep 17 00:00:00 2001
-From: Stefan Seyfried <seife+dev@b1-systems.com>
-Date: Sat, 3 Mar 2018 20:25:24 +0100
-Subject: [PATCH] fix build with libical version 3
-
----
- src/ical-code.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/src/ical-code.c b/src/ical-code.c
-index d5831404..c40042c3 100644
---- a/src/ical-code.c
-+++ b/src/ical-code.c
-@@ -2579,7 +2579,9 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
- * when counting alarm time. */
- if (rel == ICAL_RELATED_START) {
- per.stime.is_date = 0;
-+#if ICAL_MAJOR_VERSION < 3
- per.stime.is_utc = 1;
-+#endif
- per.stime.is_daylight = 0;
- per.stime.zone = utc_icaltimezone;
- per.stime.hour = 0;
-@@ -2588,7 +2590,9 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
- }
- else {
- per.etime.is_date = 0;
-+#if ICAL_MAJOR_VERSION < 3
- per.etime.is_utc = 1;
-+#endif
- per.etime.is_daylight = 0;
- per.etime.zone = utc_icaltimezone;
- per.etime.hour = 0;
-@@ -2613,7 +2617,9 @@ static struct icaltimetype count_next_alarm_time(struct icaltimetype start_time
- /* HACK: convert to UTC time so that we can use time arithmetic
- * when counting alarm time. */
- start_time.is_date = 0;
-+#if ICAL_MAJOR_VERSION < 3
- start_time.is_utc = 1;
-+#endif
- start_time.is_daylight = 0;
- start_time.zone = utc_icaltimezone;
- start_time.hour = 0;
-@@ -2768,7 +2774,9 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c
- */
- if (icaltime_is_date(per.stime)) {
- if (local_icaltimezone != utc_icaltimezone) {
-+#if ICAL_MAJOR_VERSION < 3
- next_alarm_time.is_utc = 0;
-+#endif
- next_alarm_time.is_daylight = 0;
- next_alarm_time.zone = local_icaltimezone;
- }
-@@ -2850,7 +2858,9 @@ orage_message(120, P_N "Alarm rec loop next_start:%s next_alarm:%s per.stime:%s"
- */
- if (icaltime_is_date(per.stime)) {
- if (local_icaltimezone != utc_icaltimezone) {
-+#if ICAL_MAJOR_VERSION < 3
- next_alarm_time.is_utc = 0;
-+#endif
- next_alarm_time.is_daylight = 0;
- next_alarm_time.zone = local_icaltimezone;
- }
-@@ -2944,7 +2954,9 @@ orage_message(120, P_N "*****After loop Alarm %s %s", icaltime_as_ical_string(ne
- */
- if (icaltime_is_date(per.stime)) {
- if (local_icaltimezone != utc_icaltimezone) {
-+#if ICAL_MAJOR_VERSION < 3
- next_alarm_time.is_utc = 0;
-+#endif
- next_alarm_time.is_daylight = 0;
- next_alarm_time.zone = local_icaltimezone;
- }
---
-2.16.2
-
diff --git a/user/php7/allow-build-recode-and-imap-together.patch b/user/php7/allow-build-recode-and-imap-together.patch
deleted file mode 100644
index 555092f45..000000000
--- a/user/php7/allow-build-recode-and-imap-together.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Extensions recode and imap can't be loaded together, but they can be build
-together, and that's what we want.
-
-Source: https://src.fedoraproject.org/cgit/rpms/php.git/tree/php-5.3.0-recode.patch?h=f26
---- a/ext/recode/config9.m4
-+++ b/ext/recode/config9.m4
-@@ -4,13 +4,6 @@ dnl
-
- dnl Check for extensions with which Recode can not work
- if test "$PHP_RECODE" != "no"; then
-- test "$PHP_IMAP" != "no" && recode_conflict="$recode_conflict imap"
--
-- if test -n "$MYSQL_LIBNAME"; then
-- PHP_CHECK_LIBRARY($MYSQL_LIBNAME, hash_insert, [
-- recode_conflict="$recode_conflict mysql"
-- ])
-- fi
-
- if test -n "$recode_conflict"; then
- AC_MSG_ERROR([recode extension can not be configured together with:$recode_conflict])
diff --git a/user/pluma-plugins/license.txt b/user/pluma-plugins/license.txt
deleted file mode 100644
index 2ae4fddcf..000000000
--- a/user/pluma-plugins/license.txt
+++ /dev/null
@@ -1,2166 +0,0 @@
-Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: FIXME
-Upstream-Contact: FIXME
-Source: FIXME
-Disclaimer: Autogenerated by licensecheck
-
-Files: src/pluma-plugins-1.26.0/ABOUT-NLS
- src/pluma-plugins-1.26.0/ChangeLog
- src/pluma-plugins-1.26.0/Makefile.am
- src/pluma-plugins-1.26.0/Makefile.in
- src/pluma-plugins-1.26.0/NEWS
- src/pluma-plugins-1.26.0/autogen.sh
- src/pluma-plugins-1.26.0/config.h.in
- src/pluma-plugins-1.26.0/configure.ac
- src/pluma-plugins-1.26.0/help/C/bookmarks.page
- src/pluma-plugins-1.26.0/help/C/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/C/codecomment.page
- src/pluma-plugins-1.26.0/help/C/index.page
- src/pluma-plugins-1.26.0/help/C/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/C/synctex.page
- src/pluma-plugins-1.26.0/help/C/terminal.page
- src/pluma-plugins-1.26.0/help/C/wordcompletion.page
- src/pluma-plugins-1.26.0/help/Makefile.am
- src/pluma-plugins-1.26.0/help/Makefile.in
- src/pluma-plugins-1.26.0/help/af/af.po
- src/pluma-plugins-1.26.0/help/af/bookmarks.page
- src/pluma-plugins-1.26.0/help/af/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/af/codecomment.page
- src/pluma-plugins-1.26.0/help/af/index.page
- src/pluma-plugins-1.26.0/help/af/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/af/synctex.page
- src/pluma-plugins-1.26.0/help/af/terminal.page
- src/pluma-plugins-1.26.0/help/af/wordcompletion.page
- src/pluma-plugins-1.26.0/help/am/am.po
- src/pluma-plugins-1.26.0/help/am/bookmarks.page
- src/pluma-plugins-1.26.0/help/am/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/am/codecomment.page
- src/pluma-plugins-1.26.0/help/am/index.page
- src/pluma-plugins-1.26.0/help/am/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/am/synctex.page
- src/pluma-plugins-1.26.0/help/am/terminal.page
- src/pluma-plugins-1.26.0/help/am/wordcompletion.page
- src/pluma-plugins-1.26.0/help/an/an.po
- src/pluma-plugins-1.26.0/help/an/bookmarks.page
- src/pluma-plugins-1.26.0/help/an/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/an/codecomment.page
- src/pluma-plugins-1.26.0/help/an/index.page
- src/pluma-plugins-1.26.0/help/an/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/an/synctex.page
- src/pluma-plugins-1.26.0/help/an/terminal.page
- src/pluma-plugins-1.26.0/help/an/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ar/bookmarks.page
- src/pluma-plugins-1.26.0/help/ar/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ar/codecomment.page
- src/pluma-plugins-1.26.0/help/ar/index.page
- src/pluma-plugins-1.26.0/help/ar/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ar/synctex.page
- src/pluma-plugins-1.26.0/help/ar/terminal.page
- src/pluma-plugins-1.26.0/help/ar/wordcompletion.page
- src/pluma-plugins-1.26.0/help/as/as.po
- src/pluma-plugins-1.26.0/help/as/bookmarks.page
- src/pluma-plugins-1.26.0/help/as/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/as/codecomment.page
- src/pluma-plugins-1.26.0/help/as/index.page
- src/pluma-plugins-1.26.0/help/as/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/as/synctex.page
- src/pluma-plugins-1.26.0/help/as/terminal.page
- src/pluma-plugins-1.26.0/help/as/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ast/ast.po
- src/pluma-plugins-1.26.0/help/ast/bookmarks.page
- src/pluma-plugins-1.26.0/help/ast/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ast/codecomment.page
- src/pluma-plugins-1.26.0/help/ast/index.page
- src/pluma-plugins-1.26.0/help/ast/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ast/synctex.page
- src/pluma-plugins-1.26.0/help/ast/terminal.page
- src/pluma-plugins-1.26.0/help/ast/wordcompletion.page
- src/pluma-plugins-1.26.0/help/az/az.po
- src/pluma-plugins-1.26.0/help/az/bookmarks.page
- src/pluma-plugins-1.26.0/help/az/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/az/codecomment.page
- src/pluma-plugins-1.26.0/help/az/index.page
- src/pluma-plugins-1.26.0/help/az/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/az/synctex.page
- src/pluma-plugins-1.26.0/help/az/terminal.page
- src/pluma-plugins-1.26.0/help/az/wordcompletion.page
- src/pluma-plugins-1.26.0/help/be/be.po
- src/pluma-plugins-1.26.0/help/be/bookmarks.page
- src/pluma-plugins-1.26.0/help/be/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/be/codecomment.page
- src/pluma-plugins-1.26.0/help/be/index.page
- src/pluma-plugins-1.26.0/help/be/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/be/synctex.page
- src/pluma-plugins-1.26.0/help/be/terminal.page
- src/pluma-plugins-1.26.0/help/be/wordcompletion.page
- src/pluma-plugins-1.26.0/help/bg/bg.po
- src/pluma-plugins-1.26.0/help/bg/bookmarks.page
- src/pluma-plugins-1.26.0/help/bg/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/bg/codecomment.page
- src/pluma-plugins-1.26.0/help/bg/index.page
- src/pluma-plugins-1.26.0/help/bg/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/bg/synctex.page
- src/pluma-plugins-1.26.0/help/bg/terminal.page
- src/pluma-plugins-1.26.0/help/bg/wordcompletion.page
- src/pluma-plugins-1.26.0/help/bn/bn.po
- src/pluma-plugins-1.26.0/help/bn/bookmarks.page
- src/pluma-plugins-1.26.0/help/bn/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/bn/codecomment.page
- src/pluma-plugins-1.26.0/help/bn/index.page
- src/pluma-plugins-1.26.0/help/bn/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/bn/synctex.page
- src/pluma-plugins-1.26.0/help/bn/terminal.page
- src/pluma-plugins-1.26.0/help/bn/wordcompletion.page
- src/pluma-plugins-1.26.0/help/bn_IN/bn_IN.po
- src/pluma-plugins-1.26.0/help/bn_IN/bookmarks.page
- src/pluma-plugins-1.26.0/help/bn_IN/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/bn_IN/codecomment.page
- src/pluma-plugins-1.26.0/help/bn_IN/index.page
- src/pluma-plugins-1.26.0/help/bn_IN/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/bn_IN/synctex.page
- src/pluma-plugins-1.26.0/help/bn_IN/terminal.page
- src/pluma-plugins-1.26.0/help/bn_IN/wordcompletion.page
- src/pluma-plugins-1.26.0/help/br/bookmarks.page
- src/pluma-plugins-1.26.0/help/br/br.po
- src/pluma-plugins-1.26.0/help/br/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/br/codecomment.page
- src/pluma-plugins-1.26.0/help/br/index.page
- src/pluma-plugins-1.26.0/help/br/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/br/synctex.page
- src/pluma-plugins-1.26.0/help/br/terminal.page
- src/pluma-plugins-1.26.0/help/br/wordcompletion.page
- src/pluma-plugins-1.26.0/help/bs/bookmarks.page
- src/pluma-plugins-1.26.0/help/bs/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/bs/bs.po
- src/pluma-plugins-1.26.0/help/bs/codecomment.page
- src/pluma-plugins-1.26.0/help/bs/index.page
- src/pluma-plugins-1.26.0/help/bs/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/bs/synctex.page
- src/pluma-plugins-1.26.0/help/bs/terminal.page
- src/pluma-plugins-1.26.0/help/bs/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ca/bookmarks.page
- src/pluma-plugins-1.26.0/help/ca/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ca/ca.po
- src/pluma-plugins-1.26.0/help/ca/codecomment.page
- src/pluma-plugins-1.26.0/help/ca/index.page
- src/pluma-plugins-1.26.0/help/ca/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ca/synctex.page
- src/pluma-plugins-1.26.0/help/ca/terminal.page
- src/pluma-plugins-1.26.0/help/ca/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ca@valencia/bookmarks.page
- src/pluma-plugins-1.26.0/help/ca@valencia/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ca@valencia/codecomment.page
- src/pluma-plugins-1.26.0/help/ca@valencia/index.page
- src/pluma-plugins-1.26.0/help/ca@valencia/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ca@valencia/synctex.page
- src/pluma-plugins-1.26.0/help/ca@valencia/terminal.page
- src/pluma-plugins-1.26.0/help/ca@valencia/wordcompletion.page
- src/pluma-plugins-1.26.0/help/cmn/bookmarks.page
- src/pluma-plugins-1.26.0/help/cmn/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/cmn/cmn.po
- src/pluma-plugins-1.26.0/help/cmn/codecomment.page
- src/pluma-plugins-1.26.0/help/cmn/index.page
- src/pluma-plugins-1.26.0/help/cmn/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/cmn/synctex.page
- src/pluma-plugins-1.26.0/help/cmn/terminal.page
- src/pluma-plugins-1.26.0/help/cmn/wordcompletion.page
- src/pluma-plugins-1.26.0/help/crh/bookmarks.page
- src/pluma-plugins-1.26.0/help/crh/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/crh/codecomment.page
- src/pluma-plugins-1.26.0/help/crh/crh.po
- src/pluma-plugins-1.26.0/help/crh/index.page
- src/pluma-plugins-1.26.0/help/crh/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/crh/synctex.page
- src/pluma-plugins-1.26.0/help/crh/terminal.page
- src/pluma-plugins-1.26.0/help/crh/wordcompletion.page
- src/pluma-plugins-1.26.0/help/cs/bookmarks.page
- src/pluma-plugins-1.26.0/help/cs/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/cs/codecomment.page
- src/pluma-plugins-1.26.0/help/cs/cs.po
- src/pluma-plugins-1.26.0/help/cs/index.page
- src/pluma-plugins-1.26.0/help/cs/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/cs/synctex.page
- src/pluma-plugins-1.26.0/help/cs/terminal.page
- src/pluma-plugins-1.26.0/help/cs/wordcompletion.page
- src/pluma-plugins-1.26.0/help/csb/bookmarks.page
- src/pluma-plugins-1.26.0/help/csb/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/csb/codecomment.page
- src/pluma-plugins-1.26.0/help/csb/csb.po
- src/pluma-plugins-1.26.0/help/csb/index.page
- src/pluma-plugins-1.26.0/help/csb/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/csb/synctex.page
- src/pluma-plugins-1.26.0/help/csb/terminal.page
- src/pluma-plugins-1.26.0/help/csb/wordcompletion.page
- src/pluma-plugins-1.26.0/help/cy/bookmarks.page
- src/pluma-plugins-1.26.0/help/cy/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/cy/codecomment.page
- src/pluma-plugins-1.26.0/help/cy/cy.po
- src/pluma-plugins-1.26.0/help/cy/index.page
- src/pluma-plugins-1.26.0/help/cy/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/cy/synctex.page
- src/pluma-plugins-1.26.0/help/cy/terminal.page
- src/pluma-plugins-1.26.0/help/cy/wordcompletion.page
- src/pluma-plugins-1.26.0/help/da/bookmarks.page
- src/pluma-plugins-1.26.0/help/da/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/da/codecomment.page
- src/pluma-plugins-1.26.0/help/da/da.po
- src/pluma-plugins-1.26.0/help/da/index.page
- src/pluma-plugins-1.26.0/help/da/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/da/synctex.page
- src/pluma-plugins-1.26.0/help/da/terminal.page
- src/pluma-plugins-1.26.0/help/da/wordcompletion.page
- src/pluma-plugins-1.26.0/help/de/bookmarks.page
- src/pluma-plugins-1.26.0/help/de/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/de/codecomment.page
- src/pluma-plugins-1.26.0/help/de/de.po
- src/pluma-plugins-1.26.0/help/de/index.page
- src/pluma-plugins-1.26.0/help/de/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/de/synctex.page
- src/pluma-plugins-1.26.0/help/de/terminal.page
- src/pluma-plugins-1.26.0/help/de/wordcompletion.page
- src/pluma-plugins-1.26.0/help/dz/bookmarks.page
- src/pluma-plugins-1.26.0/help/dz/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/dz/codecomment.page
- src/pluma-plugins-1.26.0/help/dz/dz.po
- src/pluma-plugins-1.26.0/help/dz/index.page
- src/pluma-plugins-1.26.0/help/dz/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/dz/synctex.page
- src/pluma-plugins-1.26.0/help/dz/terminal.page
- src/pluma-plugins-1.26.0/help/dz/wordcompletion.page
- src/pluma-plugins-1.26.0/help/el/bookmarks.page
- src/pluma-plugins-1.26.0/help/el/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/el/codecomment.page
- src/pluma-plugins-1.26.0/help/el/el.po
- src/pluma-plugins-1.26.0/help/el/index.page
- src/pluma-plugins-1.26.0/help/el/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/el/synctex.page
- src/pluma-plugins-1.26.0/help/el/terminal.page
- src/pluma-plugins-1.26.0/help/el/wordcompletion.page
- src/pluma-plugins-1.26.0/help/en_AU/bookmarks.page
- src/pluma-plugins-1.26.0/help/en_AU/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/en_AU/codecomment.page
- src/pluma-plugins-1.26.0/help/en_AU/en_AU.po
- src/pluma-plugins-1.26.0/help/en_AU/index.page
- src/pluma-plugins-1.26.0/help/en_AU/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/en_AU/synctex.page
- src/pluma-plugins-1.26.0/help/en_AU/terminal.page
- src/pluma-plugins-1.26.0/help/en_AU/wordcompletion.page
- src/pluma-plugins-1.26.0/help/en_CA/bookmarks.page
- src/pluma-plugins-1.26.0/help/en_CA/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/en_CA/codecomment.page
- src/pluma-plugins-1.26.0/help/en_CA/en_CA.po
- src/pluma-plugins-1.26.0/help/en_CA/index.page
- src/pluma-plugins-1.26.0/help/en_CA/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/en_CA/synctex.page
- src/pluma-plugins-1.26.0/help/en_CA/terminal.page
- src/pluma-plugins-1.26.0/help/en_CA/wordcompletion.page
- src/pluma-plugins-1.26.0/help/en_GB/bookmarks.page
- src/pluma-plugins-1.26.0/help/en_GB/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/en_GB/codecomment.page
- src/pluma-plugins-1.26.0/help/en_GB/en_GB.po
- src/pluma-plugins-1.26.0/help/en_GB/index.page
- src/pluma-plugins-1.26.0/help/en_GB/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/en_GB/synctex.page
- src/pluma-plugins-1.26.0/help/en_GB/terminal.page
- src/pluma-plugins-1.26.0/help/en_GB/wordcompletion.page
- src/pluma-plugins-1.26.0/help/eo/bookmarks.page
- src/pluma-plugins-1.26.0/help/eo/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/eo/codecomment.page
- src/pluma-plugins-1.26.0/help/eo/eo.po
- src/pluma-plugins-1.26.0/help/eo/index.page
- src/pluma-plugins-1.26.0/help/eo/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/eo/synctex.page
- src/pluma-plugins-1.26.0/help/eo/terminal.page
- src/pluma-plugins-1.26.0/help/eo/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es/codecomment.page
- src/pluma-plugins-1.26.0/help/es/index.page
- src/pluma-plugins-1.26.0/help/es/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es/synctex.page
- src/pluma-plugins-1.26.0/help/es/terminal.page
- src/pluma-plugins-1.26.0/help/es/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_AR/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_AR/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_AR/codecomment.page
- src/pluma-plugins-1.26.0/help/es_AR/es_AR.po
- src/pluma-plugins-1.26.0/help/es_AR/index.page
- src/pluma-plugins-1.26.0/help/es_AR/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_AR/synctex.page
- src/pluma-plugins-1.26.0/help/es_AR/terminal.page
- src/pluma-plugins-1.26.0/help/es_AR/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_CL/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_CL/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_CL/codecomment.page
- src/pluma-plugins-1.26.0/help/es_CL/index.page
- src/pluma-plugins-1.26.0/help/es_CL/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_CL/synctex.page
- src/pluma-plugins-1.26.0/help/es_CL/terminal.page
- src/pluma-plugins-1.26.0/help/es_CL/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_CO/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_CO/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_CO/codecomment.page
- src/pluma-plugins-1.26.0/help/es_CO/index.page
- src/pluma-plugins-1.26.0/help/es_CO/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_CO/synctex.page
- src/pluma-plugins-1.26.0/help/es_CO/terminal.page
- src/pluma-plugins-1.26.0/help/es_CO/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_CR/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_CR/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_CR/codecomment.page
- src/pluma-plugins-1.26.0/help/es_CR/es_CR.po
- src/pluma-plugins-1.26.0/help/es_CR/index.page
- src/pluma-plugins-1.26.0/help/es_CR/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_CR/synctex.page
- src/pluma-plugins-1.26.0/help/es_CR/terminal.page
- src/pluma-plugins-1.26.0/help/es_CR/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_DO/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_DO/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_DO/codecomment.page
- src/pluma-plugins-1.26.0/help/es_DO/es_DO.po
- src/pluma-plugins-1.26.0/help/es_DO/index.page
- src/pluma-plugins-1.26.0/help/es_DO/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_DO/synctex.page
- src/pluma-plugins-1.26.0/help/es_DO/terminal.page
- src/pluma-plugins-1.26.0/help/es_DO/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_EC/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_EC/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_EC/codecomment.page
- src/pluma-plugins-1.26.0/help/es_EC/es_EC.po
- src/pluma-plugins-1.26.0/help/es_EC/index.page
- src/pluma-plugins-1.26.0/help/es_EC/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_EC/synctex.page
- src/pluma-plugins-1.26.0/help/es_EC/terminal.page
- src/pluma-plugins-1.26.0/help/es_EC/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_ES/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_ES/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_ES/codecomment.page
- src/pluma-plugins-1.26.0/help/es_ES/es_ES.po
- src/pluma-plugins-1.26.0/help/es_ES/index.page
- src/pluma-plugins-1.26.0/help/es_ES/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_ES/synctex.page
- src/pluma-plugins-1.26.0/help/es_ES/terminal.page
- src/pluma-plugins-1.26.0/help/es_ES/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_MX/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_MX/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_MX/codecomment.page
- src/pluma-plugins-1.26.0/help/es_MX/es_MX.po
- src/pluma-plugins-1.26.0/help/es_MX/index.page
- src/pluma-plugins-1.26.0/help/es_MX/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_MX/synctex.page
- src/pluma-plugins-1.26.0/help/es_MX/terminal.page
- src/pluma-plugins-1.26.0/help/es_MX/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_NI/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_NI/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_NI/codecomment.page
- src/pluma-plugins-1.26.0/help/es_NI/es_NI.po
- src/pluma-plugins-1.26.0/help/es_NI/index.page
- src/pluma-plugins-1.26.0/help/es_NI/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_NI/synctex.page
- src/pluma-plugins-1.26.0/help/es_NI/terminal.page
- src/pluma-plugins-1.26.0/help/es_NI/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_PA/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_PA/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_PA/codecomment.page
- src/pluma-plugins-1.26.0/help/es_PA/es_PA.po
- src/pluma-plugins-1.26.0/help/es_PA/index.page
- src/pluma-plugins-1.26.0/help/es_PA/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_PA/synctex.page
- src/pluma-plugins-1.26.0/help/es_PA/terminal.page
- src/pluma-plugins-1.26.0/help/es_PA/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_PE/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_PE/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_PE/codecomment.page
- src/pluma-plugins-1.26.0/help/es_PE/es_PE.po
- src/pluma-plugins-1.26.0/help/es_PE/index.page
- src/pluma-plugins-1.26.0/help/es_PE/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_PE/synctex.page
- src/pluma-plugins-1.26.0/help/es_PE/terminal.page
- src/pluma-plugins-1.26.0/help/es_PE/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_PR/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_PR/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_PR/codecomment.page
- src/pluma-plugins-1.26.0/help/es_PR/es_PR.po
- src/pluma-plugins-1.26.0/help/es_PR/index.page
- src/pluma-plugins-1.26.0/help/es_PR/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_PR/synctex.page
- src/pluma-plugins-1.26.0/help/es_PR/terminal.page
- src/pluma-plugins-1.26.0/help/es_PR/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_SV/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_SV/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_SV/codecomment.page
- src/pluma-plugins-1.26.0/help/es_SV/es_SV.po
- src/pluma-plugins-1.26.0/help/es_SV/index.page
- src/pluma-plugins-1.26.0/help/es_SV/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_SV/synctex.page
- src/pluma-plugins-1.26.0/help/es_SV/terminal.page
- src/pluma-plugins-1.26.0/help/es_SV/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_UY/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_UY/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_UY/codecomment.page
- src/pluma-plugins-1.26.0/help/es_UY/es_UY.po
- src/pluma-plugins-1.26.0/help/es_UY/index.page
- src/pluma-plugins-1.26.0/help/es_UY/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_UY/synctex.page
- src/pluma-plugins-1.26.0/help/es_UY/terminal.page
- src/pluma-plugins-1.26.0/help/es_UY/wordcompletion.page
- src/pluma-plugins-1.26.0/help/es_VE/bookmarks.page
- src/pluma-plugins-1.26.0/help/es_VE/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/es_VE/codecomment.page
- src/pluma-plugins-1.26.0/help/es_VE/es_VE.po
- src/pluma-plugins-1.26.0/help/es_VE/index.page
- src/pluma-plugins-1.26.0/help/es_VE/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/es_VE/synctex.page
- src/pluma-plugins-1.26.0/help/es_VE/terminal.page
- src/pluma-plugins-1.26.0/help/es_VE/wordcompletion.page
- src/pluma-plugins-1.26.0/help/et/bookmarks.page
- src/pluma-plugins-1.26.0/help/et/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/et/codecomment.page
- src/pluma-plugins-1.26.0/help/et/et.po
- src/pluma-plugins-1.26.0/help/et/index.page
- src/pluma-plugins-1.26.0/help/et/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/et/synctex.page
- src/pluma-plugins-1.26.0/help/et/terminal.page
- src/pluma-plugins-1.26.0/help/et/wordcompletion.page
- src/pluma-plugins-1.26.0/help/eu/bookmarks.page
- src/pluma-plugins-1.26.0/help/eu/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/eu/codecomment.page
- src/pluma-plugins-1.26.0/help/eu/eu.po
- src/pluma-plugins-1.26.0/help/eu/index.page
- src/pluma-plugins-1.26.0/help/eu/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/eu/synctex.page
- src/pluma-plugins-1.26.0/help/eu/terminal.page
- src/pluma-plugins-1.26.0/help/eu/wordcompletion.page
- src/pluma-plugins-1.26.0/help/fa/bookmarks.page
- src/pluma-plugins-1.26.0/help/fa/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/fa/codecomment.page
- src/pluma-plugins-1.26.0/help/fa/fa.po
- src/pluma-plugins-1.26.0/help/fa/index.page
- src/pluma-plugins-1.26.0/help/fa/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/fa/synctex.page
- src/pluma-plugins-1.26.0/help/fa/terminal.page
- src/pluma-plugins-1.26.0/help/fa/wordcompletion.page
- src/pluma-plugins-1.26.0/help/fi/bookmarks.page
- src/pluma-plugins-1.26.0/help/fi/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/fi/codecomment.page
- src/pluma-plugins-1.26.0/help/fi/fi.po
- src/pluma-plugins-1.26.0/help/fi/index.page
- src/pluma-plugins-1.26.0/help/fi/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/fi/synctex.page
- src/pluma-plugins-1.26.0/help/fi/terminal.page
- src/pluma-plugins-1.26.0/help/fi/wordcompletion.page
- src/pluma-plugins-1.26.0/help/frp/bookmarks.page
- src/pluma-plugins-1.26.0/help/frp/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/frp/codecomment.page
- src/pluma-plugins-1.26.0/help/frp/frp.po
- src/pluma-plugins-1.26.0/help/frp/index.page
- src/pluma-plugins-1.26.0/help/frp/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/frp/synctex.page
- src/pluma-plugins-1.26.0/help/frp/terminal.page
- src/pluma-plugins-1.26.0/help/frp/wordcompletion.page
- src/pluma-plugins-1.26.0/help/fur/bookmarks.page
- src/pluma-plugins-1.26.0/help/fur/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/fur/codecomment.page
- src/pluma-plugins-1.26.0/help/fur/fur.po
- src/pluma-plugins-1.26.0/help/fur/index.page
- src/pluma-plugins-1.26.0/help/fur/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/fur/synctex.page
- src/pluma-plugins-1.26.0/help/fur/terminal.page
- src/pluma-plugins-1.26.0/help/fur/wordcompletion.page
- src/pluma-plugins-1.26.0/help/fy/bookmarks.page
- src/pluma-plugins-1.26.0/help/fy/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/fy/codecomment.page
- src/pluma-plugins-1.26.0/help/fy/fy.po
- src/pluma-plugins-1.26.0/help/fy/index.page
- src/pluma-plugins-1.26.0/help/fy/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/fy/synctex.page
- src/pluma-plugins-1.26.0/help/fy/terminal.page
- src/pluma-plugins-1.26.0/help/fy/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ga/bookmarks.page
- src/pluma-plugins-1.26.0/help/ga/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ga/codecomment.page
- src/pluma-plugins-1.26.0/help/ga/ga.po
- src/pluma-plugins-1.26.0/help/ga/index.page
- src/pluma-plugins-1.26.0/help/ga/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ga/synctex.page
- src/pluma-plugins-1.26.0/help/ga/terminal.page
- src/pluma-plugins-1.26.0/help/ga/wordcompletion.page
- src/pluma-plugins-1.26.0/help/gl/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/gl/codecomment.page
- src/pluma-plugins-1.26.0/help/gl/index.page
- src/pluma-plugins-1.26.0/help/gl/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/gl/synctex.page
- src/pluma-plugins-1.26.0/help/gl/wordcompletion.page
- src/pluma-plugins-1.26.0/help/gu/bookmarks.page
- src/pluma-plugins-1.26.0/help/gu/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/gu/codecomment.page
- src/pluma-plugins-1.26.0/help/gu/gu.po
- src/pluma-plugins-1.26.0/help/gu/index.page
- src/pluma-plugins-1.26.0/help/gu/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/gu/synctex.page
- src/pluma-plugins-1.26.0/help/gu/terminal.page
- src/pluma-plugins-1.26.0/help/gu/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ha/bookmarks.page
- src/pluma-plugins-1.26.0/help/ha/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ha/codecomment.page
- src/pluma-plugins-1.26.0/help/ha/ha.po
- src/pluma-plugins-1.26.0/help/ha/index.page
- src/pluma-plugins-1.26.0/help/ha/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ha/synctex.page
- src/pluma-plugins-1.26.0/help/ha/terminal.page
- src/pluma-plugins-1.26.0/help/ha/wordcompletion.page
- src/pluma-plugins-1.26.0/help/he/bookmarks.page
- src/pluma-plugins-1.26.0/help/he/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/he/codecomment.page
- src/pluma-plugins-1.26.0/help/he/he.po
- src/pluma-plugins-1.26.0/help/he/index.page
- src/pluma-plugins-1.26.0/help/he/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/he/synctex.page
- src/pluma-plugins-1.26.0/help/he/terminal.page
- src/pluma-plugins-1.26.0/help/he/wordcompletion.page
- src/pluma-plugins-1.26.0/help/hi/bookmarks.page
- src/pluma-plugins-1.26.0/help/hi/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/hi/codecomment.page
- src/pluma-plugins-1.26.0/help/hi/hi.po
- src/pluma-plugins-1.26.0/help/hi/index.page
- src/pluma-plugins-1.26.0/help/hi/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/hi/synctex.page
- src/pluma-plugins-1.26.0/help/hi/terminal.page
- src/pluma-plugins-1.26.0/help/hi/wordcompletion.page
- src/pluma-plugins-1.26.0/help/hr/bookmarks.page
- src/pluma-plugins-1.26.0/help/hr/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/hr/codecomment.page
- src/pluma-plugins-1.26.0/help/hr/hr.po
- src/pluma-plugins-1.26.0/help/hr/index.page
- src/pluma-plugins-1.26.0/help/hr/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/hr/synctex.page
- src/pluma-plugins-1.26.0/help/hr/terminal.page
- src/pluma-plugins-1.26.0/help/hr/wordcompletion.page
- src/pluma-plugins-1.26.0/help/hu/bookmarks.page
- src/pluma-plugins-1.26.0/help/hu/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/hu/codecomment.page
- src/pluma-plugins-1.26.0/help/hu/hu.po
- src/pluma-plugins-1.26.0/help/hu/index.page
- src/pluma-plugins-1.26.0/help/hu/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/hu/synctex.page
- src/pluma-plugins-1.26.0/help/hu/terminal.page
- src/pluma-plugins-1.26.0/help/hu/wordcompletion.page
- src/pluma-plugins-1.26.0/help/hy/bookmarks.page
- src/pluma-plugins-1.26.0/help/hy/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/hy/codecomment.page
- src/pluma-plugins-1.26.0/help/hy/index.page
- src/pluma-plugins-1.26.0/help/hy/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/hy/synctex.page
- src/pluma-plugins-1.26.0/help/hy/terminal.page
- src/pluma-plugins-1.26.0/help/hy/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ia/bookmarks.page
- src/pluma-plugins-1.26.0/help/ia/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ia/codecomment.page
- src/pluma-plugins-1.26.0/help/ia/ia.po
- src/pluma-plugins-1.26.0/help/ia/index.page
- src/pluma-plugins-1.26.0/help/ia/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ia/synctex.page
- src/pluma-plugins-1.26.0/help/ia/terminal.page
- src/pluma-plugins-1.26.0/help/ia/wordcompletion.page
- src/pluma-plugins-1.26.0/help/id/bookmarks.page
- src/pluma-plugins-1.26.0/help/id/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/id/codecomment.page
- src/pluma-plugins-1.26.0/help/id/id.po
- src/pluma-plugins-1.26.0/help/id/index.page
- src/pluma-plugins-1.26.0/help/id/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/id/synctex.page
- src/pluma-plugins-1.26.0/help/id/terminal.page
- src/pluma-plugins-1.26.0/help/id/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ie/bookmarks.page
- src/pluma-plugins-1.26.0/help/ie/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ie/codecomment.page
- src/pluma-plugins-1.26.0/help/ie/ie.po
- src/pluma-plugins-1.26.0/help/ie/index.page
- src/pluma-plugins-1.26.0/help/ie/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ie/synctex.page
- src/pluma-plugins-1.26.0/help/ie/terminal.page
- src/pluma-plugins-1.26.0/help/ie/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ig/bookmarks.page
- src/pluma-plugins-1.26.0/help/ig/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ig/codecomment.page
- src/pluma-plugins-1.26.0/help/ig/ig.po
- src/pluma-plugins-1.26.0/help/ig/index.page
- src/pluma-plugins-1.26.0/help/ig/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ig/synctex.page
- src/pluma-plugins-1.26.0/help/ig/terminal.page
- src/pluma-plugins-1.26.0/help/ig/wordcompletion.page
- src/pluma-plugins-1.26.0/help/is/bookmarks.page
- src/pluma-plugins-1.26.0/help/is/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/is/codecomment.page
- src/pluma-plugins-1.26.0/help/is/index.page
- src/pluma-plugins-1.26.0/help/is/is.po
- src/pluma-plugins-1.26.0/help/is/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/is/synctex.page
- src/pluma-plugins-1.26.0/help/is/terminal.page
- src/pluma-plugins-1.26.0/help/is/wordcompletion.page
- src/pluma-plugins-1.26.0/help/it/bookmarks.page
- src/pluma-plugins-1.26.0/help/it/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/it/codecomment.page
- src/pluma-plugins-1.26.0/help/it/index.page
- src/pluma-plugins-1.26.0/help/it/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/it/terminal.page
- src/pluma-plugins-1.26.0/help/it/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ja/synctex.page
- src/pluma-plugins-1.26.0/help/ja/terminal.page
- src/pluma-plugins-1.26.0/help/jv/bookmarks.page
- src/pluma-plugins-1.26.0/help/jv/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/jv/codecomment.page
- src/pluma-plugins-1.26.0/help/jv/index.page
- src/pluma-plugins-1.26.0/help/jv/jv.po
- src/pluma-plugins-1.26.0/help/jv/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/jv/synctex.page
- src/pluma-plugins-1.26.0/help/jv/terminal.page
- src/pluma-plugins-1.26.0/help/jv/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ka/bookmarks.page
- src/pluma-plugins-1.26.0/help/ka/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ka/codecomment.page
- src/pluma-plugins-1.26.0/help/ka/index.page
- src/pluma-plugins-1.26.0/help/ka/ka.po
- src/pluma-plugins-1.26.0/help/ka/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ka/synctex.page
- src/pluma-plugins-1.26.0/help/ka/terminal.page
- src/pluma-plugins-1.26.0/help/ka/wordcompletion.page
- src/pluma-plugins-1.26.0/help/kab/bookmarks.page
- src/pluma-plugins-1.26.0/help/kab/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/kab/codecomment.page
- src/pluma-plugins-1.26.0/help/kab/index.page
- src/pluma-plugins-1.26.0/help/kab/kab.po
- src/pluma-plugins-1.26.0/help/kab/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/kab/synctex.page
- src/pluma-plugins-1.26.0/help/kab/terminal.page
- src/pluma-plugins-1.26.0/help/kab/wordcompletion.page
- src/pluma-plugins-1.26.0/help/kk/bookmarks.page
- src/pluma-plugins-1.26.0/help/kk/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/kk/codecomment.page
- src/pluma-plugins-1.26.0/help/kk/index.page
- src/pluma-plugins-1.26.0/help/kk/kk.po
- src/pluma-plugins-1.26.0/help/kk/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/kk/synctex.page
- src/pluma-plugins-1.26.0/help/kk/terminal.page
- src/pluma-plugins-1.26.0/help/kk/wordcompletion.page
- src/pluma-plugins-1.26.0/help/km/bookmarks.page
- src/pluma-plugins-1.26.0/help/km/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/km/codecomment.page
- src/pluma-plugins-1.26.0/help/km/index.page
- src/pluma-plugins-1.26.0/help/km/km.po
- src/pluma-plugins-1.26.0/help/km/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/km/synctex.page
- src/pluma-plugins-1.26.0/help/km/terminal.page
- src/pluma-plugins-1.26.0/help/km/wordcompletion.page
- src/pluma-plugins-1.26.0/help/kn/bookmarks.page
- src/pluma-plugins-1.26.0/help/kn/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/kn/codecomment.page
- src/pluma-plugins-1.26.0/help/kn/index.page
- src/pluma-plugins-1.26.0/help/kn/kn.po
- src/pluma-plugins-1.26.0/help/kn/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/kn/synctex.page
- src/pluma-plugins-1.26.0/help/kn/terminal.page
- src/pluma-plugins-1.26.0/help/kn/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ko/bookmarks.page
- src/pluma-plugins-1.26.0/help/ko/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ko/codecomment.page
- src/pluma-plugins-1.26.0/help/ko/index.page
- src/pluma-plugins-1.26.0/help/ko/ko.po
- src/pluma-plugins-1.26.0/help/ko/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ko/synctex.page
- src/pluma-plugins-1.26.0/help/ko/terminal.page
- src/pluma-plugins-1.26.0/help/ko/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ks/bookmarks.page
- src/pluma-plugins-1.26.0/help/ks/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ks/codecomment.page
- src/pluma-plugins-1.26.0/help/ks/index.page
- src/pluma-plugins-1.26.0/help/ks/ks.po
- src/pluma-plugins-1.26.0/help/ks/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ks/synctex.page
- src/pluma-plugins-1.26.0/help/ks/terminal.page
- src/pluma-plugins-1.26.0/help/ks/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ku/bookmarks.page
- src/pluma-plugins-1.26.0/help/ku/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ku/codecomment.page
- src/pluma-plugins-1.26.0/help/ku/index.page
- src/pluma-plugins-1.26.0/help/ku/ku.po
- src/pluma-plugins-1.26.0/help/ku/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ku/synctex.page
- src/pluma-plugins-1.26.0/help/ku/terminal.page
- src/pluma-plugins-1.26.0/help/ku/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ky/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ky/codecomment.page
- src/pluma-plugins-1.26.0/help/ky/index.page
- src/pluma-plugins-1.26.0/help/ky/ky.po
- src/pluma-plugins-1.26.0/help/ky/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ky/synctex.page
- src/pluma-plugins-1.26.0/help/ky/terminal.page
- src/pluma-plugins-1.26.0/help/ky/wordcompletion.page
- src/pluma-plugins-1.26.0/help/la/bookmarks.page
- src/pluma-plugins-1.26.0/help/la/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/la/codecomment.page
- src/pluma-plugins-1.26.0/help/la/index.page
- src/pluma-plugins-1.26.0/help/la/la.po
- src/pluma-plugins-1.26.0/help/la/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/la/synctex.page
- src/pluma-plugins-1.26.0/help/la/terminal.page
- src/pluma-plugins-1.26.0/help/la/wordcompletion.page
- src/pluma-plugins-1.26.0/help/lb/bookmarks.page
- src/pluma-plugins-1.26.0/help/lb/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/lb/codecomment.page
- src/pluma-plugins-1.26.0/help/lb/index.page
- src/pluma-plugins-1.26.0/help/lb/lb.po
- src/pluma-plugins-1.26.0/help/lb/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/lb/synctex.page
- src/pluma-plugins-1.26.0/help/lb/terminal.page
- src/pluma-plugins-1.26.0/help/lb/wordcompletion.page
- src/pluma-plugins-1.26.0/help/lt/bookmarks.page
- src/pluma-plugins-1.26.0/help/lt/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/lt/codecomment.page
- src/pluma-plugins-1.26.0/help/lt/index.page
- src/pluma-plugins-1.26.0/help/lt/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/lt/lt.po
- src/pluma-plugins-1.26.0/help/lt/synctex.page
- src/pluma-plugins-1.26.0/help/lt/terminal.page
- src/pluma-plugins-1.26.0/help/lt/wordcompletion.page
- src/pluma-plugins-1.26.0/help/lv/bookmarks.page
- src/pluma-plugins-1.26.0/help/lv/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/lv/codecomment.page
- src/pluma-plugins-1.26.0/help/lv/index.page
- src/pluma-plugins-1.26.0/help/lv/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/lv/lv.po
- src/pluma-plugins-1.26.0/help/lv/synctex.page
- src/pluma-plugins-1.26.0/help/lv/terminal.page
- src/pluma-plugins-1.26.0/help/lv/wordcompletion.page
- src/pluma-plugins-1.26.0/help/mai/bookmarks.page
- src/pluma-plugins-1.26.0/help/mai/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/mai/codecomment.page
- src/pluma-plugins-1.26.0/help/mai/index.page
- src/pluma-plugins-1.26.0/help/mai/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/mai/mai.po
- src/pluma-plugins-1.26.0/help/mai/synctex.page
- src/pluma-plugins-1.26.0/help/mai/terminal.page
- src/pluma-plugins-1.26.0/help/mai/wordcompletion.page
- src/pluma-plugins-1.26.0/help/mg/bookmarks.page
- src/pluma-plugins-1.26.0/help/mg/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/mg/codecomment.page
- src/pluma-plugins-1.26.0/help/mg/index.page
- src/pluma-plugins-1.26.0/help/mg/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/mg/mg.po
- src/pluma-plugins-1.26.0/help/mg/synctex.page
- src/pluma-plugins-1.26.0/help/mg/terminal.page
- src/pluma-plugins-1.26.0/help/mg/wordcompletion.page
- src/pluma-plugins-1.26.0/help/mk/bookmarks.page
- src/pluma-plugins-1.26.0/help/mk/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/mk/codecomment.page
- src/pluma-plugins-1.26.0/help/mk/index.page
- src/pluma-plugins-1.26.0/help/mk/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/mk/mk.po
- src/pluma-plugins-1.26.0/help/mk/synctex.page
- src/pluma-plugins-1.26.0/help/mk/terminal.page
- src/pluma-plugins-1.26.0/help/mk/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ml/bookmarks.page
- src/pluma-plugins-1.26.0/help/ml/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ml/codecomment.page
- src/pluma-plugins-1.26.0/help/ml/index.page
- src/pluma-plugins-1.26.0/help/ml/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ml/ml.po
- src/pluma-plugins-1.26.0/help/ml/synctex.page
- src/pluma-plugins-1.26.0/help/ml/terminal.page
- src/pluma-plugins-1.26.0/help/ml/wordcompletion.page
- src/pluma-plugins-1.26.0/help/mn/bookmarks.page
- src/pluma-plugins-1.26.0/help/mn/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/mn/codecomment.page
- src/pluma-plugins-1.26.0/help/mn/index.page
- src/pluma-plugins-1.26.0/help/mn/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/mn/synctex.page
- src/pluma-plugins-1.26.0/help/mn/terminal.page
- src/pluma-plugins-1.26.0/help/mn/wordcompletion.page
- src/pluma-plugins-1.26.0/help/mr/bookmarks.page
- src/pluma-plugins-1.26.0/help/mr/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/mr/codecomment.page
- src/pluma-plugins-1.26.0/help/mr/index.page
- src/pluma-plugins-1.26.0/help/mr/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/mr/mr.po
- src/pluma-plugins-1.26.0/help/mr/synctex.page
- src/pluma-plugins-1.26.0/help/mr/terminal.page
- src/pluma-plugins-1.26.0/help/mr/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ms/bookmarks.page
- src/pluma-plugins-1.26.0/help/ms/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ms/codecomment.page
- src/pluma-plugins-1.26.0/help/ms/index.page
- src/pluma-plugins-1.26.0/help/ms/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ms/ms.po
- src/pluma-plugins-1.26.0/help/ms/synctex.page
- src/pluma-plugins-1.26.0/help/ms/terminal.page
- src/pluma-plugins-1.26.0/help/ms/wordcompletion.page
- src/pluma-plugins-1.26.0/help/nb/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/nb/codecomment.page
- src/pluma-plugins-1.26.0/help/nb/index.page
- src/pluma-plugins-1.26.0/help/nb/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/nb/nb.po
- src/pluma-plugins-1.26.0/help/nb/synctex.page
- src/pluma-plugins-1.26.0/help/nb/terminal.page
- src/pluma-plugins-1.26.0/help/nb/wordcompletion.page
- src/pluma-plugins-1.26.0/help/nds/bookmarks.page
- src/pluma-plugins-1.26.0/help/nds/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/nds/codecomment.page
- src/pluma-plugins-1.26.0/help/nds/index.page
- src/pluma-plugins-1.26.0/help/nds/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/nds/nds.po
- src/pluma-plugins-1.26.0/help/nds/synctex.page
- src/pluma-plugins-1.26.0/help/nds/terminal.page
- src/pluma-plugins-1.26.0/help/nds/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ne/bookmarks.page
- src/pluma-plugins-1.26.0/help/ne/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ne/codecomment.page
- src/pluma-plugins-1.26.0/help/ne/index.page
- src/pluma-plugins-1.26.0/help/ne/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ne/ne.po
- src/pluma-plugins-1.26.0/help/ne/synctex.page
- src/pluma-plugins-1.26.0/help/ne/terminal.page
- src/pluma-plugins-1.26.0/help/ne/wordcompletion.page
- src/pluma-plugins-1.26.0/help/nl/bookmarks.page
- src/pluma-plugins-1.26.0/help/nl/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/nl/codecomment.page
- src/pluma-plugins-1.26.0/help/nl/index.page
- src/pluma-plugins-1.26.0/help/nl/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/nl/nl.po
- src/pluma-plugins-1.26.0/help/nl/synctex.page
- src/pluma-plugins-1.26.0/help/nl/terminal.page
- src/pluma-plugins-1.26.0/help/nl/wordcompletion.page
- src/pluma-plugins-1.26.0/help/nn/bookmarks.page
- src/pluma-plugins-1.26.0/help/nn/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/nn/codecomment.page
- src/pluma-plugins-1.26.0/help/nn/index.page
- src/pluma-plugins-1.26.0/help/nn/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/nn/nn.po
- src/pluma-plugins-1.26.0/help/nn/synctex.page
- src/pluma-plugins-1.26.0/help/nn/terminal.page
- src/pluma-plugins-1.26.0/help/nn/wordcompletion.page
- src/pluma-plugins-1.26.0/help/nso/bookmarks.page
- src/pluma-plugins-1.26.0/help/nso/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/nso/codecomment.page
- src/pluma-plugins-1.26.0/help/nso/index.page
- src/pluma-plugins-1.26.0/help/nso/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/nso/nso.po
- src/pluma-plugins-1.26.0/help/nso/synctex.page
- src/pluma-plugins-1.26.0/help/nso/terminal.page
- src/pluma-plugins-1.26.0/help/nso/wordcompletion.page
- src/pluma-plugins-1.26.0/help/oc/bookmarks.page
- src/pluma-plugins-1.26.0/help/oc/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/oc/codecomment.page
- src/pluma-plugins-1.26.0/help/oc/index.page
- src/pluma-plugins-1.26.0/help/oc/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/oc/synctex.page
- src/pluma-plugins-1.26.0/help/oc/terminal.page
- src/pluma-plugins-1.26.0/help/oc/wordcompletion.page
- src/pluma-plugins-1.26.0/help/or/bookmarks.page
- src/pluma-plugins-1.26.0/help/or/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/or/codecomment.page
- src/pluma-plugins-1.26.0/help/or/index.page
- src/pluma-plugins-1.26.0/help/or/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/or/or.po
- src/pluma-plugins-1.26.0/help/or/synctex.page
- src/pluma-plugins-1.26.0/help/or/terminal.page
- src/pluma-plugins-1.26.0/help/or/wordcompletion.page
- src/pluma-plugins-1.26.0/help/pa/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/pa/codecomment.page
- src/pluma-plugins-1.26.0/help/pa/index.page
- src/pluma-plugins-1.26.0/help/pa/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/pa/synctex.page
- src/pluma-plugins-1.26.0/help/pa/terminal.page
- src/pluma-plugins-1.26.0/help/pa/wordcompletion.page
- src/pluma-plugins-1.26.0/help/pl/bookmarks.page
- src/pluma-plugins-1.26.0/help/pl/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/pl/codecomment.page
- src/pluma-plugins-1.26.0/help/pl/index.page
- src/pluma-plugins-1.26.0/help/pl/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/pl/pl.po
- src/pluma-plugins-1.26.0/help/pl/synctex.page
- src/pluma-plugins-1.26.0/help/pl/terminal.page
- src/pluma-plugins-1.26.0/help/pl/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ps/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ps/codecomment.page
- src/pluma-plugins-1.26.0/help/ps/index.page
- src/pluma-plugins-1.26.0/help/ps/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ps/ps.po
- src/pluma-plugins-1.26.0/help/ps/synctex.page
- src/pluma-plugins-1.26.0/help/ps/terminal.page
- src/pluma-plugins-1.26.0/help/ps/wordcompletion.page
- src/pluma-plugins-1.26.0/help/pt/bookmarks.page
- src/pluma-plugins-1.26.0/help/pt/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/pt/codecomment.page
- src/pluma-plugins-1.26.0/help/pt/index.page
- src/pluma-plugins-1.26.0/help/pt/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/pt/pt.po
- src/pluma-plugins-1.26.0/help/pt/synctex.page
- src/pluma-plugins-1.26.0/help/pt/terminal.page
- src/pluma-plugins-1.26.0/help/pt/wordcompletion.page
- src/pluma-plugins-1.26.0/help/pt_BR/bookmarks.page
- src/pluma-plugins-1.26.0/help/pt_BR/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/pt_BR/codecomment.page
- src/pluma-plugins-1.26.0/help/pt_BR/index.page
- src/pluma-plugins-1.26.0/help/pt_BR/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/pt_BR/synctex.page
- src/pluma-plugins-1.26.0/help/pt_BR/terminal.page
- src/pluma-plugins-1.26.0/help/pt_BR/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ro/bookmarks.page
- src/pluma-plugins-1.26.0/help/ro/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ro/codecomment.page
- src/pluma-plugins-1.26.0/help/ro/index.page
- src/pluma-plugins-1.26.0/help/ro/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ro/ro.po
- src/pluma-plugins-1.26.0/help/ro/synctex.page
- src/pluma-plugins-1.26.0/help/ro/terminal.page
- src/pluma-plugins-1.26.0/help/ro/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ru/bookmarks.page
- src/pluma-plugins-1.26.0/help/ru/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ru/codecomment.page
- src/pluma-plugins-1.26.0/help/ru/index.page
- src/pluma-plugins-1.26.0/help/ru/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ru/ru.po
- src/pluma-plugins-1.26.0/help/ru/synctex.page
- src/pluma-plugins-1.26.0/help/ru/terminal.page
- src/pluma-plugins-1.26.0/help/ru/wordcompletion.page
- src/pluma-plugins-1.26.0/help/rw/bookmarks.page
- src/pluma-plugins-1.26.0/help/rw/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/rw/codecomment.page
- src/pluma-plugins-1.26.0/help/rw/index.page
- src/pluma-plugins-1.26.0/help/rw/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/rw/rw.po
- src/pluma-plugins-1.26.0/help/rw/synctex.page
- src/pluma-plugins-1.26.0/help/rw/terminal.page
- src/pluma-plugins-1.26.0/help/rw/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sc/bookmarks.page
- src/pluma-plugins-1.26.0/help/sc/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sc/codecomment.page
- src/pluma-plugins-1.26.0/help/sc/index.page
- src/pluma-plugins-1.26.0/help/sc/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sc/sc.po
- src/pluma-plugins-1.26.0/help/sc/synctex.page
- src/pluma-plugins-1.26.0/help/sc/terminal.page
- src/pluma-plugins-1.26.0/help/sc/wordcompletion.page
- src/pluma-plugins-1.26.0/help/si/bookmarks.page
- src/pluma-plugins-1.26.0/help/si/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/si/codecomment.page
- src/pluma-plugins-1.26.0/help/si/index.page
- src/pluma-plugins-1.26.0/help/si/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/si/si.po
- src/pluma-plugins-1.26.0/help/si/synctex.page
- src/pluma-plugins-1.26.0/help/si/terminal.page
- src/pluma-plugins-1.26.0/help/si/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sk/bookmarks.page
- src/pluma-plugins-1.26.0/help/sk/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sk/codecomment.page
- src/pluma-plugins-1.26.0/help/sk/index.page
- src/pluma-plugins-1.26.0/help/sk/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sk/sk.po
- src/pluma-plugins-1.26.0/help/sk/synctex.page
- src/pluma-plugins-1.26.0/help/sk/terminal.page
- src/pluma-plugins-1.26.0/help/sk/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sl/bookmarks.page
- src/pluma-plugins-1.26.0/help/sl/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sl/codecomment.page
- src/pluma-plugins-1.26.0/help/sl/index.page
- src/pluma-plugins-1.26.0/help/sl/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sl/sl.po
- src/pluma-plugins-1.26.0/help/sl/synctex.page
- src/pluma-plugins-1.26.0/help/sl/terminal.page
- src/pluma-plugins-1.26.0/help/sl/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sq/bookmarks.page
- src/pluma-plugins-1.26.0/help/sq/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sq/codecomment.page
- src/pluma-plugins-1.26.0/help/sq/index.page
- src/pluma-plugins-1.26.0/help/sq/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sq/sq.po
- src/pluma-plugins-1.26.0/help/sq/synctex.page
- src/pluma-plugins-1.26.0/help/sq/terminal.page
- src/pluma-plugins-1.26.0/help/sq/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sr/bookmarks.page
- src/pluma-plugins-1.26.0/help/sr/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sr/codecomment.page
- src/pluma-plugins-1.26.0/help/sr/index.page
- src/pluma-plugins-1.26.0/help/sr/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sr/sr.po
- src/pluma-plugins-1.26.0/help/sr/synctex.page
- src/pluma-plugins-1.26.0/help/sr/terminal.page
- src/pluma-plugins-1.26.0/help/sr/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sr@latin/bookmarks.page
- src/pluma-plugins-1.26.0/help/sr@latin/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sr@latin/codecomment.page
- src/pluma-plugins-1.26.0/help/sr@latin/index.page
- src/pluma-plugins-1.26.0/help/sr@latin/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sr@latin/sr@latin.po
- src/pluma-plugins-1.26.0/help/sr@latin/synctex.page
- src/pluma-plugins-1.26.0/help/sr@latin/terminal.page
- src/pluma-plugins-1.26.0/help/sr@latin/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sv/bookmarks.page
- src/pluma-plugins-1.26.0/help/sv/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sv/codecomment.page
- src/pluma-plugins-1.26.0/help/sv/index.page
- src/pluma-plugins-1.26.0/help/sv/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sv/sv.po
- src/pluma-plugins-1.26.0/help/sv/synctex.page
- src/pluma-plugins-1.26.0/help/sv/terminal.page
- src/pluma-plugins-1.26.0/help/sv/wordcompletion.page
- src/pluma-plugins-1.26.0/help/sw/bookmarks.page
- src/pluma-plugins-1.26.0/help/sw/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/sw/codecomment.page
- src/pluma-plugins-1.26.0/help/sw/index.page
- src/pluma-plugins-1.26.0/help/sw/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/sw/sw.po
- src/pluma-plugins-1.26.0/help/sw/synctex.page
- src/pluma-plugins-1.26.0/help/sw/terminal.page
- src/pluma-plugins-1.26.0/help/sw/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ta/bookmarks.page
- src/pluma-plugins-1.26.0/help/ta/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ta/codecomment.page
- src/pluma-plugins-1.26.0/help/ta/index.page
- src/pluma-plugins-1.26.0/help/ta/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ta/synctex.page
- src/pluma-plugins-1.26.0/help/ta/ta.po
- src/pluma-plugins-1.26.0/help/ta/terminal.page
- src/pluma-plugins-1.26.0/help/ta/wordcompletion.page
- src/pluma-plugins-1.26.0/help/te/bookmarks.page
- src/pluma-plugins-1.26.0/help/te/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/te/codecomment.page
- src/pluma-plugins-1.26.0/help/te/index.page
- src/pluma-plugins-1.26.0/help/te/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/te/synctex.page
- src/pluma-plugins-1.26.0/help/te/te.po
- src/pluma-plugins-1.26.0/help/te/terminal.page
- src/pluma-plugins-1.26.0/help/te/wordcompletion.page
- src/pluma-plugins-1.26.0/help/th/bookmarks.page
- src/pluma-plugins-1.26.0/help/th/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/th/codecomment.page
- src/pluma-plugins-1.26.0/help/th/index.page
- src/pluma-plugins-1.26.0/help/th/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/th/synctex.page
- src/pluma-plugins-1.26.0/help/th/terminal.page
- src/pluma-plugins-1.26.0/help/th/th.po
- src/pluma-plugins-1.26.0/help/th/wordcompletion.page
- src/pluma-plugins-1.26.0/help/tr/bookmarks.page
- src/pluma-plugins-1.26.0/help/tr/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/tr/codecomment.page
- src/pluma-plugins-1.26.0/help/tr/index.page
- src/pluma-plugins-1.26.0/help/tr/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/tr/synctex.page
- src/pluma-plugins-1.26.0/help/tr/terminal.page
- src/pluma-plugins-1.26.0/help/tr/tr.po
- src/pluma-plugins-1.26.0/help/tr/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ug/bookmarks.page
- src/pluma-plugins-1.26.0/help/ug/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ug/codecomment.page
- src/pluma-plugins-1.26.0/help/ug/index.page
- src/pluma-plugins-1.26.0/help/ug/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ug/synctex.page
- src/pluma-plugins-1.26.0/help/ug/terminal.page
- src/pluma-plugins-1.26.0/help/ug/ug.po
- src/pluma-plugins-1.26.0/help/ug/wordcompletion.page
- src/pluma-plugins-1.26.0/help/uk/bookmarks.page
- src/pluma-plugins-1.26.0/help/uk/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/uk/codecomment.page
- src/pluma-plugins-1.26.0/help/uk/index.page
- src/pluma-plugins-1.26.0/help/uk/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/uk/synctex.page
- src/pluma-plugins-1.26.0/help/uk/terminal.page
- src/pluma-plugins-1.26.0/help/uk/uk.po
- src/pluma-plugins-1.26.0/help/uk/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ur/bookmarks.page
- src/pluma-plugins-1.26.0/help/ur/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ur/codecomment.page
- src/pluma-plugins-1.26.0/help/ur/index.page
- src/pluma-plugins-1.26.0/help/ur/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ur/synctex.page
- src/pluma-plugins-1.26.0/help/ur/terminal.page
- src/pluma-plugins-1.26.0/help/ur/wordcompletion.page
- src/pluma-plugins-1.26.0/help/ur_PK/bookmarks.page
- src/pluma-plugins-1.26.0/help/ur_PK/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/ur_PK/codecomment.page
- src/pluma-plugins-1.26.0/help/ur_PK/index.page
- src/pluma-plugins-1.26.0/help/ur_PK/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/ur_PK/synctex.page
- src/pluma-plugins-1.26.0/help/ur_PK/terminal.page
- src/pluma-plugins-1.26.0/help/ur_PK/wordcompletion.page
- src/pluma-plugins-1.26.0/help/uz/bookmarks.page
- src/pluma-plugins-1.26.0/help/uz/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/uz/codecomment.page
- src/pluma-plugins-1.26.0/help/uz/index.page
- src/pluma-plugins-1.26.0/help/uz/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/uz/synctex.page
- src/pluma-plugins-1.26.0/help/uz/terminal.page
- src/pluma-plugins-1.26.0/help/uz/uz.po
- src/pluma-plugins-1.26.0/help/uz/wordcompletion.page
- src/pluma-plugins-1.26.0/help/vi/bookmarks.page
- src/pluma-plugins-1.26.0/help/vi/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/vi/codecomment.page
- src/pluma-plugins-1.26.0/help/vi/index.page
- src/pluma-plugins-1.26.0/help/vi/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/vi/synctex.page
- src/pluma-plugins-1.26.0/help/vi/terminal.page
- src/pluma-plugins-1.26.0/help/vi/vi.po
- src/pluma-plugins-1.26.0/help/vi/wordcompletion.page
- src/pluma-plugins-1.26.0/help/wa/bookmarks.page
- src/pluma-plugins-1.26.0/help/wa/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/wa/codecomment.page
- src/pluma-plugins-1.26.0/help/wa/index.page
- src/pluma-plugins-1.26.0/help/wa/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/wa/synctex.page
- src/pluma-plugins-1.26.0/help/wa/terminal.page
- src/pluma-plugins-1.26.0/help/wa/wa.po
- src/pluma-plugins-1.26.0/help/wa/wordcompletion.page
- src/pluma-plugins-1.26.0/help/xh/bookmarks.page
- src/pluma-plugins-1.26.0/help/xh/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/xh/codecomment.page
- src/pluma-plugins-1.26.0/help/xh/index.page
- src/pluma-plugins-1.26.0/help/xh/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/xh/synctex.page
- src/pluma-plugins-1.26.0/help/xh/terminal.page
- src/pluma-plugins-1.26.0/help/xh/wordcompletion.page
- src/pluma-plugins-1.26.0/help/xh/xh.po
- src/pluma-plugins-1.26.0/help/yo/bookmarks.page
- src/pluma-plugins-1.26.0/help/yo/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/yo/codecomment.page
- src/pluma-plugins-1.26.0/help/yo/index.page
- src/pluma-plugins-1.26.0/help/yo/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/yo/synctex.page
- src/pluma-plugins-1.26.0/help/yo/terminal.page
- src/pluma-plugins-1.26.0/help/yo/wordcompletion.page
- src/pluma-plugins-1.26.0/help/yo/yo.po
- src/pluma-plugins-1.26.0/help/zh-Hans/bookmarks.page
- src/pluma-plugins-1.26.0/help/zh-Hans/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/zh-Hans/codecomment.page
- src/pluma-plugins-1.26.0/help/zh-Hans/index.page
- src/pluma-plugins-1.26.0/help/zh-Hans/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/zh-Hans/synctex.page
- src/pluma-plugins-1.26.0/help/zh-Hans/terminal.page
- src/pluma-plugins-1.26.0/help/zh-Hans/wordcompletion.page
- src/pluma-plugins-1.26.0/help/zh-Hans/zh-Hans.po
- src/pluma-plugins-1.26.0/help/zh_CN/bookmarks.page
- src/pluma-plugins-1.26.0/help/zh_CN/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/zh_CN/codecomment.page
- src/pluma-plugins-1.26.0/help/zh_CN/index.page
- src/pluma-plugins-1.26.0/help/zh_CN/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/zh_CN/synctex.page
- src/pluma-plugins-1.26.0/help/zh_CN/terminal.page
- src/pluma-plugins-1.26.0/help/zh_CN/wordcompletion.page
- src/pluma-plugins-1.26.0/help/zh_CN/zh_CN.po
- src/pluma-plugins-1.26.0/help/zh_HK/bookmarks.page
- src/pluma-plugins-1.26.0/help/zh_HK/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/zh_HK/codecomment.page
- src/pluma-plugins-1.26.0/help/zh_HK/index.page
- src/pluma-plugins-1.26.0/help/zh_HK/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/zh_HK/synctex.page
- src/pluma-plugins-1.26.0/help/zh_HK/terminal.page
- src/pluma-plugins-1.26.0/help/zh_HK/wordcompletion.page
- src/pluma-plugins-1.26.0/help/zh_HK/zh_HK.po
- src/pluma-plugins-1.26.0/help/zh_TW/bookmarks.page
- src/pluma-plugins-1.26.0/help/zh_TW/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/zh_TW/codecomment.page
- src/pluma-plugins-1.26.0/help/zh_TW/index.page
- src/pluma-plugins-1.26.0/help/zh_TW/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/zh_TW/synctex.page
- src/pluma-plugins-1.26.0/help/zh_TW/wordcompletion.page
- src/pluma-plugins-1.26.0/help/zu/bookmarks.page
- src/pluma-plugins-1.26.0/help/zu/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/zu/codecomment.page
- src/pluma-plugins-1.26.0/help/zu/index.page
- src/pluma-plugins-1.26.0/help/zu/legal-plugins.xml
- src/pluma-plugins-1.26.0/help/zu/synctex.page
- src/pluma-plugins-1.26.0/help/zu/terminal.page
- src/pluma-plugins-1.26.0/help/zu/wordcompletion.page
- src/pluma-plugins-1.26.0/help/zu/zu.po
- src/pluma-plugins-1.26.0/plugins/Makefile.am
- src/pluma-plugins-1.26.0/plugins/Makefile.in
- src/pluma-plugins-1.26.0/plugins/bookmarks/Makefile.am
- src/pluma-plugins-1.26.0/plugins/bookmarks/Makefile.in
- src/pluma-plugins-1.26.0/plugins/bookmarks/bookmarks.plugin.desktop.in.in
- src/pluma-plugins-1.26.0/plugins/bookmarks/pluma-bookmarks.metainfo.xml.in.in
- src/pluma-plugins-1.26.0/plugins/bracketcompletion/Makefile.am
- src/pluma-plugins-1.26.0/plugins/bracketcompletion/Makefile.in
- src/pluma-plugins-1.26.0/plugins/codecomment/Makefile.am
- src/pluma-plugins-1.26.0/plugins/codecomment/Makefile.in
- src/pluma-plugins-1.26.0/plugins/codecomment/codecomment.plugin.desktop.in.in
- src/pluma-plugins-1.26.0/plugins/codecomment/pluma-codecomment.metainfo.xml.in.in
- src/pluma-plugins-1.26.0/plugins/gpdefs.py
- src/pluma-plugins-1.26.0/plugins/gpdefs.py.in
- src/pluma-plugins-1.26.0/plugins/smartspaces/Makefile.am
- src/pluma-plugins-1.26.0/plugins/smartspaces/Makefile.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/Makefile.am
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/Makefile.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/org.mate.pluma.plugins.sourcecodebrowser.gschema.xml.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser.plugin.desktop.in.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/Makefile.am
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/Makefile.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/__init__.py
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/configure_dialog.ui
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/ctags.py
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/Makefile.am
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/Makefile.in
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/missing-image.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-define.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-enumerator.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-field.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-macro.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-property.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-typedef.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/sourcecodebrowser.py
- src/pluma-plugins-1.26.0/plugins/synctex/Makefile.am
- src/pluma-plugins-1.26.0/plugins/synctex/Makefile.in
- src/pluma-plugins-1.26.0/plugins/synctex/pluma-synctex.metainfo.xml.in.in
- src/pluma-plugins-1.26.0/plugins/synctex/synctex/Makefile.am
- src/pluma-plugins-1.26.0/plugins/synctex/synctex/Makefile.in
- src/pluma-plugins-1.26.0/plugins/synctex/synctex/__init__.py
- src/pluma-plugins-1.26.0/plugins/terminal/Makefile.am
- src/pluma-plugins-1.26.0/plugins/terminal/Makefile.in
- src/pluma-plugins-1.26.0/plugins/terminal/org.mate.pluma.plugins.terminal.gschema.xml.in
- src/pluma-plugins-1.26.0/plugins/terminal/pluma-terminal.metainfo.xml.in.in
- src/pluma-plugins-1.26.0/plugins/terminal/terminal.plugin.desktop.in.in
- src/pluma-plugins-1.26.0/plugins/wordcompletion/Makefile.am
- src/pluma-plugins-1.26.0/plugins/wordcompletion/Makefile.in
- src/pluma-plugins-1.26.0/plugins/wordcompletion/org.mate.pluma.plugins.wordcompletion.gschema.xml.in
- src/pluma-plugins-1.26.0/plugins/wordcompletion/pluma-word-completion-configure.ui
- src/pluma-plugins-1.26.0/plugins/wordcompletion/pluma-word-completion.gresource.xml
- src/pluma-plugins-1.26.0/plugins/wordcompletion/wordcompletion.plugin.desktop.in.in
- src/pluma-plugins-1.26.0/po/LINGUAS
- src/pluma-plugins-1.26.0/po/POTFILES.in
- src/pluma-plugins-1.26.0/po/Rules-quot
- src/pluma-plugins-1.26.0/po/af.gmo
- src/pluma-plugins-1.26.0/po/am.gmo
- src/pluma-plugins-1.26.0/po/az.gmo
- src/pluma-plugins-1.26.0/po/be@latin.gmo
- src/pluma-plugins-1.26.0/po/be@latin.po
- src/pluma-plugins-1.26.0/po/bg.gmo
- src/pluma-plugins-1.26.0/po/bn_IN.gmo
- src/pluma-plugins-1.26.0/po/boldquot.sed
- src/pluma-plugins-1.26.0/po/br.gmo
- src/pluma-plugins-1.26.0/po/bs.gmo
- src/pluma-plugins-1.26.0/po/crh.gmo
- src/pluma-plugins-1.26.0/po/cy.gmo
- src/pluma-plugins-1.26.0/po/da.gmo
- src/pluma-plugins-1.26.0/po/de.gmo
- src/pluma-plugins-1.26.0/po/el.gmo
- src/pluma-plugins-1.26.0/po/en@boldquot.header
- src/pluma-plugins-1.26.0/po/en@quot.header
- src/pluma-plugins-1.26.0/po/en@shaw.gmo
- src/pluma-plugins-1.26.0/po/en@shaw.po
- src/pluma-plugins-1.26.0/po/en_AU.gmo
- src/pluma-plugins-1.26.0/po/en_CA.gmo
- src/pluma-plugins-1.26.0/po/en_GB.gmo
- src/pluma-plugins-1.26.0/po/es.gmo
- src/pluma-plugins-1.26.0/po/es_AR.gmo
- src/pluma-plugins-1.26.0/po/es_CO.gmo
- src/pluma-plugins-1.26.0/po/eu.gmo
- src/pluma-plugins-1.26.0/po/fi.gmo
- src/pluma-plugins-1.26.0/po/frp.gmo
- src/pluma-plugins-1.26.0/po/fur.gmo
- src/pluma-plugins-1.26.0/po/gu.gmo
- src/pluma-plugins-1.26.0/po/he.gmo
- src/pluma-plugins-1.26.0/po/hr.gmo
- src/pluma-plugins-1.26.0/po/insert-header.sin
- src/pluma-plugins-1.26.0/po/is.gmo
- src/pluma-plugins-1.26.0/po/it.gmo
- src/pluma-plugins-1.26.0/po/ka.gmo
- src/pluma-plugins-1.26.0/po/kn.gmo
- src/pluma-plugins-1.26.0/po/ku.gmo
- src/pluma-plugins-1.26.0/po/ku_IQ.gmo
- src/pluma-plugins-1.26.0/po/la.gmo
- src/pluma-plugins-1.26.0/po/lt.gmo
- src/pluma-plugins-1.26.0/po/lv.gmo
- src/pluma-plugins-1.26.0/po/mai.gmo
- src/pluma-plugins-1.26.0/po/mg.gmo
- src/pluma-plugins-1.26.0/po/mi.gmo
- src/pluma-plugins-1.26.0/po/mi.po
- src/pluma-plugins-1.26.0/po/mk.gmo
- src/pluma-plugins-1.26.0/po/ml.gmo
- src/pluma-plugins-1.26.0/po/mr.gmo
- src/pluma-plugins-1.26.0/po/ms.gmo
- src/pluma-plugins-1.26.0/po/nds.gmo
- src/pluma-plugins-1.26.0/po/nl.gmo
- src/pluma-plugins-1.26.0/po/nso.gmo
- src/pluma-plugins-1.26.0/po/or.gmo
- src/pluma-plugins-1.26.0/po/pl.gmo
- src/pluma-plugins-1.26.0/po/quot.sed
- src/pluma-plugins-1.26.0/po/remove-potcdate.sin
- src/pluma-plugins-1.26.0/po/ro.gmo
- src/pluma-plugins-1.26.0/po/ru.gmo
- src/pluma-plugins-1.26.0/po/rw.gmo
- src/pluma-plugins-1.26.0/po/si.gmo
- src/pluma-plugins-1.26.0/po/sl.gmo
- src/pluma-plugins-1.26.0/po/sq.gmo
- src/pluma-plugins-1.26.0/po/sr.gmo
- src/pluma-plugins-1.26.0/po/sr@latin.gmo
- src/pluma-plugins-1.26.0/po/stamp-po
- src/pluma-plugins-1.26.0/po/sv.gmo
- src/pluma-plugins-1.26.0/po/te.gmo
- src/pluma-plugins-1.26.0/po/tk.gmo
- src/pluma-plugins-1.26.0/po/tr.gmo
- src/pluma-plugins-1.26.0/po/ug.gmo
- src/pluma-plugins-1.26.0/po/uz.gmo
- src/pluma-plugins-1.26.0/po/xh.gmo
- src/pluma-plugins-1.26.0/po/zu.gmo
-Copyright: 1994-2020, Free Software Foundation, Inc.
- 2004, Free Software Foundation, Inc.
- 2005, Paolo Borelli
- 2007, THE gedit's COPYRIGHT HOLDER
- 2009, Jesse van den Kieboom
- 2009-2010, the GNOME Foundation.
- 2011, Micah Carrick
- 2014, Igor Gnatenko <i.gnatenko.brain@gmail.com> -->
- 2020-2021, MATE Developers
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/af.po
- src/pluma-plugins-1.26.0/po/am.po
- src/pluma-plugins-1.26.0/po/ar.po
- src/pluma-plugins-1.26.0/po/as.po
- src/pluma-plugins-1.26.0/po/ast.po
- src/pluma-plugins-1.26.0/po/az.po
- src/pluma-plugins-1.26.0/po/be.po
- src/pluma-plugins-1.26.0/po/bg.po
- src/pluma-plugins-1.26.0/po/bn.po
- src/pluma-plugins-1.26.0/po/bn_IN.po
- src/pluma-plugins-1.26.0/po/br.po
- src/pluma-plugins-1.26.0/po/bs.po
- src/pluma-plugins-1.26.0/po/ca.po
- src/pluma-plugins-1.26.0/po/cmn.po
- src/pluma-plugins-1.26.0/po/crh.po
- src/pluma-plugins-1.26.0/po/cs.po
- src/pluma-plugins-1.26.0/po/cy.po
- src/pluma-plugins-1.26.0/po/da.po
- src/pluma-plugins-1.26.0/po/de.po
- src/pluma-plugins-1.26.0/po/dz.po
- src/pluma-plugins-1.26.0/po/el.po
- src/pluma-plugins-1.26.0/po/en_AU.po
- src/pluma-plugins-1.26.0/po/en_CA.po
- src/pluma-plugins-1.26.0/po/en_GB.po
- src/pluma-plugins-1.26.0/po/eo.po
- src/pluma-plugins-1.26.0/po/es.po
- src/pluma-plugins-1.26.0/po/es_AR.po
- src/pluma-plugins-1.26.0/po/es_CO.po
- src/pluma-plugins-1.26.0/po/et.po
- src/pluma-plugins-1.26.0/po/eu.po
- src/pluma-plugins-1.26.0/po/fa.po
- src/pluma-plugins-1.26.0/po/fi.po
- src/pluma-plugins-1.26.0/po/fr.po
- src/pluma-plugins-1.26.0/po/frp.po
- src/pluma-plugins-1.26.0/po/fur.po
- src/pluma-plugins-1.26.0/po/ga.po
- src/pluma-plugins-1.26.0/po/gu.po
- src/pluma-plugins-1.26.0/po/he.po
- src/pluma-plugins-1.26.0/po/hi.po
- src/pluma-plugins-1.26.0/po/hr.po
- src/pluma-plugins-1.26.0/po/hu.po
- src/pluma-plugins-1.26.0/po/hy.po
- src/pluma-plugins-1.26.0/po/id.po
- src/pluma-plugins-1.26.0/po/ie.po
- src/pluma-plugins-1.26.0/po/is.po
- src/pluma-plugins-1.26.0/po/it.po
- src/pluma-plugins-1.26.0/po/ja.po
- src/pluma-plugins-1.26.0/po/ka.po
- src/pluma-plugins-1.26.0/po/kk.po
- src/pluma-plugins-1.26.0/po/kn.po
- src/pluma-plugins-1.26.0/po/ko.po
- src/pluma-plugins-1.26.0/po/ku.po
- src/pluma-plugins-1.26.0/po/ku_IQ.po
- src/pluma-plugins-1.26.0/po/ky.po
- src/pluma-plugins-1.26.0/po/la.po
- src/pluma-plugins-1.26.0/po/lt.po
- src/pluma-plugins-1.26.0/po/lv.po
- src/pluma-plugins-1.26.0/po/mai.po
- src/pluma-plugins-1.26.0/po/mg.po
- src/pluma-plugins-1.26.0/po/mk.po
- src/pluma-plugins-1.26.0/po/ml.po
- src/pluma-plugins-1.26.0/po/mn.po
- src/pluma-plugins-1.26.0/po/mr.po
- src/pluma-plugins-1.26.0/po/ms.po
- src/pluma-plugins-1.26.0/po/nb.po
- src/pluma-plugins-1.26.0/po/nds.po
- src/pluma-plugins-1.26.0/po/ne.po
- src/pluma-plugins-1.26.0/po/nl.po
- src/pluma-plugins-1.26.0/po/nn.po
- src/pluma-plugins-1.26.0/po/nso.po
- src/pluma-plugins-1.26.0/po/oc.po
- src/pluma-plugins-1.26.0/po/or.po
- src/pluma-plugins-1.26.0/po/pa.po
- src/pluma-plugins-1.26.0/po/pl.po
- src/pluma-plugins-1.26.0/po/pluma-plugins.pot
- src/pluma-plugins-1.26.0/po/ps.po
- src/pluma-plugins-1.26.0/po/pt.po
- src/pluma-plugins-1.26.0/po/pt_BR.po
- src/pluma-plugins-1.26.0/po/ro.po
- src/pluma-plugins-1.26.0/po/ru.po
- src/pluma-plugins-1.26.0/po/rw.po
- src/pluma-plugins-1.26.0/po/si.po
- src/pluma-plugins-1.26.0/po/sk.po
- src/pluma-plugins-1.26.0/po/sl.po
- src/pluma-plugins-1.26.0/po/sq.po
- src/pluma-plugins-1.26.0/po/sr.po
- src/pluma-plugins-1.26.0/po/sr@latin.po
- src/pluma-plugins-1.26.0/po/sv.po
- src/pluma-plugins-1.26.0/po/ta.po
- src/pluma-plugins-1.26.0/po/te.po
- src/pluma-plugins-1.26.0/po/th.po
- src/pluma-plugins-1.26.0/po/tr.po
- src/pluma-plugins-1.26.0/po/ug.po
- src/pluma-plugins-1.26.0/po/uk.po
- src/pluma-plugins-1.26.0/po/ur.po
- src/pluma-plugins-1.26.0/po/uz.po
- src/pluma-plugins-1.26.0/po/vi.po
- src/pluma-plugins-1.26.0/po/wa.po
- src/pluma-plugins-1.26.0/po/xh.po
- src/pluma-plugins-1.26.0/po/zh_CN.po
- src/pluma-plugins-1.26.0/po/zh_HK.po
- src/pluma-plugins-1.26.0/po/zh_TW.po
- src/pluma-plugins-1.26.0/po/zu.po
-Copyright: YEAR MATE Desktop Environment team
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/aclocal.m4
- src/pluma-plugins-1.26.0/config.rpath
- src/pluma-plugins-1.26.0/m4/iconv.m4
- src/pluma-plugins-1.26.0/m4/lib-ld.m4
- src/pluma-plugins-1.26.0/m4/lib-link.m4
- src/pluma-plugins-1.26.0/m4/lib-prefix.m4
- src/pluma-plugins-1.26.0/m4/ltoptions.m4
- src/pluma-plugins-1.26.0/m4/ltsugar.m4
- src/pluma-plugins-1.26.0/m4/ltversion.m4
- src/pluma-plugins-1.26.0/m4/lt~obsolete.m4
-Copyright: 1996-2003, 2009-2016, Free Software Foundation, Inc.
- 1996-2016, Free Software Foundation, Inc.
- 1996-2020, Free Software Foundation, Inc.
- 2000-2002, 2007-2014, 2016, Free Software Foundation, Inc.
- 2001-2005, 2008-2016, Free Software Foundation, Inc.
- 2001-2016, Free Software Foundation, Inc.
- 2004, 2011-2015, Free Software Foundation, Inc.
- 2004-2005, 2007, 2009, 2011-2015, Free Software
- 2004-2005, 2007-2008, 2011-2015, Free Software
- 2004-2005, 2007-2009, 2011-2015, Free Software
-License: FSFULLR
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/bookmarks/pluma-bookmarks-plugin.c
- src/pluma-plugins-1.26.0/plugins/bookmarks/pluma-bookmarks-plugin.h
- src/pluma-plugins-1.26.0/plugins/bracketcompletion/bracketcompletion.py
- src/pluma-plugins-1.26.0/plugins/codecomment/codecomment.py
- src/pluma-plugins-1.26.0/plugins/smartspaces/smartspaces.py
- src/pluma-plugins-1.26.0/plugins/synctex/synctex/atril_dbus.py
- src/pluma-plugins-1.26.0/plugins/synctex/synctex/synctex.py
- src/pluma-plugins-1.26.0/plugins/terminal/terminal.py
- src/pluma-plugins-1.26.0/plugins/wordcompletion/pluma-word-completion-plugin.h
-Copyright: 2005-2006, - Paolo Borelli
- 2005-2006, Igalia
- 2006, - Steve Frécinaux
- 2006, Matthew Dugan
- 2007, Steve Frécinaux
- 2008, Jesse van den Kieboom
- 2009, Ignacio Casal Quinteiro <icq@gnome.org>
- 2010, - José Aliste <jose.aliste@gmail.com>
- 2010, Jose Aliste <jose.aliste@gmail.com>
- 2020-2021, MATE Developers
-License: GPL-2+
- FIXME
-
-Files: src/pluma-plugins-1.26.0/m4/gettext.m4
- src/pluma-plugins-1.26.0/m4/intlmacosx.m4
- src/pluma-plugins-1.26.0/m4/nls.m4
- src/pluma-plugins-1.26.0/m4/po.m4
- src/pluma-plugins-1.26.0/m4/progtest.m4
-Copyright: 1995-2003, 2005-2006, 2008-2014, 2016, Free Software
- 1995-2014, 2016, Free Software Foundation, Inc.
- 1996-2003, 2005, 2008-2016, Free Software Foundation, Inc.
- 2004-2014, 2016, Free Software Foundation, Inc.
-License: FSFULLR and/or GPL and/or LGPL
- FIXME
-
-Files: src/pluma-plugins-1.26.0/compile
- src/pluma-plugins-1.26.0/depcomp
- src/pluma-plugins-1.26.0/missing
- src/pluma-plugins-1.26.0/py-compile
-Copyright: 1996-2020, Free Software Foundation, Inc.
- 1999-2020, Free Software Foundation, Inc.
- 2000-2020, Free Software Foundation, Inc.
-License: GPL-2+ with Autoconf-data exception
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/bracketcompletion.page
- src/pluma-plugins-1.26.0/help/fr/index.page
- src/pluma-plugins-1.26.0/help/fr/synctex.page
- src/pluma-plugins-1.26.0/help/fr/wordcompletion.page
-Copyright: Mauchin</mal:name>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-function.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-member.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-method.png
-Copyright: †¹©”v6ÍÖß4_À‘"3“¼¨ºÂ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/its/metainfo.its
- src/pluma-plugins-1.26.0/its/metainfo.loc
-Copyright: 2015, 2017, Free Software Foundation, Inc.
-License: GPL-3+
- FIXME
-
-Files: src/pluma-plugins-1.26.0/config.guess
- src/pluma-plugins-1.26.0/config.sub
-Copyright: 1992-2018, Free Software Foundation, Inc.
-License: GPL-3+ with Autoconf-data exception
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/it/it.po
- src/pluma-plugins-1.26.0/help/it/synctex.page
-Copyright: sia di qualche utilitÃ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-class.png
- src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-code-browser.png
-Copyright: ¶”.[
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/m4/libtool.m4
-Copyright: 1996-2001, 2003-2015, Free Software Foundation, Inc.
-License: (FSFULLR and/or GPL-2) with libtool exception
- FIXME
-
-Files: src/pluma-plugins-1.26.0/install-sh
-Copyright: 1994, X Consortium
-License: Expat
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/Makefile.in.in
-Copyright: 1995-1997, 2000-2007, 2009-2010, Ulrich Drepper <drepper@gnu.ai.mit.edu>
-License: FSFAP
- FIXME
-
-Files: src/pluma-plugins-1.26.0/configure
-Copyright: 1992-1996, 1998-2012, Free Software Foundation, Inc.
-License: FSFUL
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/tk.po
-Copyright: 2004, Free Software Foundation
- 2004, Kakilik Project <kakilik.sourceforge.net>
-License: GPL
- FIXME
-
-Files: src/pluma-plugins-1.26.0/COPYING
-Copyright: 1989, 1991, Free Software Foundation, Inc.
-License: GPL-2
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/wordcompletion/pluma-word-completion-plugin.c
-Copyright: 2009, Ignacio Casal Quinteiro <icq@gnome.org>
- 2020-2021, MATE Developers
- bastien Wilmet <swilmet@gnome.org>
-License: GPL-2+
- FIXME
-
-Files: src/pluma-plugins-1.26.0/ltmain.sh
-Copyright: 1996-2015, Free Software Foundation, Inc.
-License: GPL-2+ with libtool exception
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ie.gmo
-Copyright:
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/eo.gmo
-Copyright:
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/bn.gmo
-Copyright:
- 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ta.gmo
-Copyright:
-
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/be.gmo
-Copyright:
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ca.gmo
-Copyright:
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/et.gmo
-Copyright:
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ar.gmo
-Copyright:
-
-
- أسÙ
- الألوان بهيئة قائÙ
- الخالية في حال كان خرج الطرفية كثيرا.
- الطرفيّة
- الطرفيّة عوض الألوان الÙ
- الÙ
- بفواصل. يجب أن تكون أسÙ
- سداسية، Ù
- Ù
- لقطع الطرفيّة
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/cmn.gmo
-Copyright:
- Ÿä¸Šï¼Œå›
- Ÿä¿ç•™çš„列數
- Ÿå
- Ÿæœ‰å¤§é‡è¼¸å‡ºå
- Ÿçš„é
- Ÿç©ºé–“。
- Ÿéˆ´è²æ˜¯å¦ä¸ç™¼å‡ºè²éŸ³
- 。
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/zh_HK.gmo
-Copyright:
- Ÿä¸Šï¼Œå›
- Ÿä¿ç•™çš„行數
- Ÿå
- Ÿæœ‰å¤§é‡è¼¸å‡ºå
- Ÿçš„é
- Ÿç©ºé–“。
- Ÿéˆ´è²æ˜¯å¦ä¸ç™¼å‡ºè²éŸ³
- 。
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/zh_TW.gmo
-Copyright:
- Ÿ
- Ÿ
- Ÿã€‚
- Ÿä¿ç•™çš„列數
- Ÿä¿ç•™çš„列數
- Ÿå
- Ÿå°å·¥å
- Ÿæœ‰å¤§é‡è¼¸å‡ºå
- Ÿçš„調色盤
- Ÿçš„é
- Ÿéˆ´è²å­—å
- Ÿéˆ´è²æ˜¯å¦éœéŸ³
- ºæ
- ºé–“。
- 。
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/hy.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/nn.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/vi.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/hi.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/as.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ne.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/C/figures/pluma-plugin-icon.png
-Copyright: ™›Ÿ´ÀÑ^Œ”ž
- AÄo.`®“ û/‰ëÄ«g:O¡t–¥â$R/‰mB¯ö(±,ٌ,¿«iH:¤º(uŠu<†Ó×Ñç2qêC;{~biqaÎsWâ±»îÒ˒£ƒŸefñ_TüŶ³gmכÝm«XiO
- 2‹ˆ`¬†f “UnðÜËdՈãrÄsûÇvíVÇå
- TÚé‹
- ƒ©T$-ûºØìù€˜‹È®C¨)Ùê+«@±<ÚáÁ¥¸»­!Å=‰DÂõu!äý&¹ˆ*Ôk
- ¡1/—?±bE2¦ûèjgn¹N¸ú€}ÑQ>9öޒXy
- ËYwIßÔÙÉÛ=úã}£œYœÄ7‹ä˟v¬Ö´-cMcË+V›và›BN,³‹ïa1,äOQñsX±![
- õ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/C/figures/pluma-icon.png
-Copyright: Ö¶¶âèá4µ_Žä‡¯BD69ƒœÈ"qI/jÖ]]Ï¡­m-A€,ːe78ŽDZpËn†cY?
- $x^øXºÛ­`ßóÏ&£ï¹¸Ù˜þÆ¢²ºwû5;Ѳº'NœÀk¯¾
- “‚ný´Ø b{¿R^C
- ·t½Ý¼Ëíª•D
- ¾¥*µŸ¡%íY9+g¥‚ü·‰Œx
- Äq,2Š™™|tò¤iUQB(F$:
- Ô"A„ ˆ
- Ý
- ígT̆e!ÿbžçÐÓ½¡,q;ÂeÉ먝]
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/nb.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/cs.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/id.gmo
-Copyright: 
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/synctex/synctex.plugin.desktop.in.in
-Copyright: 2010, José Aliste
- Aliste <jaliste@src.gnome.org>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/fr.po
-Copyright: Mauchin <zebob.m@pengzone.org>, 2006-2008. "
- phane Raimbault <stephane.raimbault@gmail.com>, 2007. "
- rard Baylard <gerard dot b at bbox dot fr>, 2010"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/gl/gl.po
-Copyright: Rivero Castillo <hab130@gmail.com>, 2020
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/gl.po
-Copyright: Rivero Castillo <hab130@gmail.com>, 2020
- YEAR MATE Desktop Environment team
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/smartspaces/smartspaces.plugin.desktop.in.in
-Copyright: 2006, Steve Frécinaux
- cinaux <steve@istique.net>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/pt_BR/pt_BR.po
-Copyright: Teodoro Moreira <jteodomo@gmail.com>, 2020
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/pt.gmo
-Copyright: Vieira <jvieira33@sapo.pt>, 2021
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ca@valencia.po
-Copyright: YEAR MATE Desktop Environment team
- s <joamuran@gmail.com>, 2021
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/pt_BR.gmo
-Copyright: a paleta, na forma de uma lista de nomes de cores separada por caracteres de dois pontos (:). Os nomes de cores devem estar em formato hexadecimal. Exemplo: "#FF00FF"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ga.gmo
-Copyright: amhshocraithe chúlra an teirminéil
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/bracketcompletion/bracketcompletion.plugin.desktop.in.in
-Copyright: cinaux
- cinaux <steve@istique.net>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/AUTHORS
-Copyright: cinaux <steve@istique.net>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/pluma-plugins.doap
-Copyright: cinaux</foaf:name>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/codecomment.page
-Copyright: commenter un bloc de code.</desc>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/es_CL/es_CL.po
-Copyright: ditos de los traductores"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/oc/oc.po
-Copyright: dric Valmary "
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/oc.gmo
-Copyright: dric Valmary <cvalmary@yahoo.fr>, 2021
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/fr.gmo
-Copyright: es par l'utilisateur).
- es pour les boîtes de texte seront employées pour le terminal (Ã
- faut de l'arrière-plan du terminal
- moire pour le défilement
- parées par des deux-points ":".
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/Makevars
-Copyright: for their translations to this person
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/sk.gmo
-Copyright: ho miesta, ak bude terminál produkovať veľa výstupu.
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ar/ar.po
-Copyright: http:www.arabeyes.org : "
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/bookmarks.page
-Copyright: ment référencés avec des signets.</desc>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ca@valencia.gmo
-Copyright: mer una tecla es desplaça al final.
- s aquesta paleta, en forma d'una llista de noms de colors separats per dos punts. Els colors han d'estar en format hexadecimal, p. ex. «#FF00FF».
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/wa.gmo
-Copyright: metowe coleur di fond pol terminå
- taire li xhuflet do terminå
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/gl/bookmarks.page
-Copyright: n pode desprazarse cara arriba ou abaixo entre os marcadores, o que fai que a navegación por documentos sexa un pouco máis rápida.</p>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/gl/terminal.page
-Copyright: n, pode premer <keyseq><key>Ctrl</key><key>F9</key></keyseq>.</p>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/es/bookmarks.page
-Copyright: ndolas más fáciles de encontrar. También puede moverse hacia arriba o hacia abajo entre los marcadores, haciendo que la navegación del documento sea un poco más rápida.</p>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-table.png
-Copyright: p8Œã8T*,Ûƶ,lËÆr®òáá!‹‹3µš™ðÜ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/hu.gmo
-Copyright: r alapértelmezett színe
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/nb/bookmarks.page
-Copyright: r til linja der bokmerket skal settes inn eller fjernes.</p>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/terminal.page
-Copyright: rieur.</desc>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ca@valencia/ca@valencia.po
-Copyright: s <joamuran@gmail.com>, 2020
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/es_CO/es_CO.po
-Copyright: s Borrero<julborre@gmail.com>"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/fr/legal-plugins.xml
-Copyright: sous la license Creative Commons Attribution-ShareAlike 3.0 Unported. Pour visionner une copie de cette license, visitez <link xref="http:creativecommons.org/licenses/by-sa/3.0/">http:creativecommons.org/licenses/by-sa/3.0/</link> ou envoyez un courrier Ã
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ast.gmo
-Copyright: u quede ensin espaciu en casu d'esistir una gran cantidá de llinies na terminal.
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/gl.gmo
-Copyright: verdadeiro, ao premer unha tecla a barra de desprazamento vai ata o final.
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/es/es.po
-Copyright: vez <toni.estevez@gmail.com>, 2020
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/pa.gmo
-Copyright: € ਜਾਵੇਗੀ
- €à¨‚ ਕੀਤਾ ਜਾ ਸਕੇਗਾ। ਸਕਰੋਲਬੈਕ à¨
- €à¨¤ ਨੂੰ ਆਰਜ਼ੀ ਤੌਰ ਉੱਤੇ ਡਿਸਕ ਉੱਤੇ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ, ਇਸਕਰਕੇ ਇਹ ਸਿਸਟਮ ਉੱਤੇ ਥਾਂ ਖਤਮ ਹੋਣ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ, ਜੇ ਟਰਮੀਨਲ ਵਿੱਚ ਬਹੁਤ ਆਉਟਪੁੱਟ ਮਿਲੇ।
- à©±à¨•à¨®à¨¾à¨°à¨•
- °à¨¤ ਲਾਈਨਾਂ ਦੀ ਗਿਣਤੀ ਰੱਖਣੀ ਹੈ
- °à¨¦à¨°à¨²à©‡ ਕਾਰਜ ਵਰਤ ਸਕਦੇ ਹਨ। ਇਹ ਉਹ ਰੰਗ-ਪੱਟੀ ਹੈ, ਰੰਗਾਂ ਦੇ ਨਾਂ ਸੂਚੀ ਵਿੱਚ ਕਾਲਨ ਨਾਲ ਵੱਖਰੇ ਕੀਤੇ ਗਏ ਹਨਰੰਗ ਦਾ ਨਾਂ ਹੈਕਸਾ ਫਾਰਮੈਟ ਵਿੱਚ ਜਿਵੇ ਕਿ "#FF00FF" ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
- ±à¨
- ±à¨² ਜਾਣਾ ਹੈ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/pa/pa.po
-Copyright: €à¨¤ ਸਿੰਘ ਆਲਮਵਾਲਾ ੨੦੦੪-੨੦੧੦ "
- °à¨œà¨¾à¨¬à©€ ਓਪਨ ਸੋਰਸ ਟੀਮ (POST) "
- °à¨¦à¨° ਸਿੰਘ ਫੂਲੇਵਾਲਾ ੨੦੦੪ "
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/pa/bookmarks.page
-Copyright: à©±à¨•à¨®à¨¾à¨°à¨•</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-namespace.png
-Copyright: þTïÏíқã·ÇéÜ;¤„ð„Ð
- Æû Erâê¿
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-struct.png
-Copyright: „có#Ÿ u7Õ
- «¡v
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/plugins/sourcecodebrowser/sourcecodebrowser/icons/source-variable.png
-Copyright: ûOÝîÚÚv(»ÏÔ'çK`
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/zh_TW/zh_TW.po
-Copyright: Ÿ"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/zh_TW/terminal.page
-Copyright: Ÿ</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ko.gmo
-Copyright: ´ í
- ´, 키를 눌ë
- 니다.
- 니다.
- 니다.
- 니다. 그러므로 터미널의 출ë
- 니다. 예를 들어 "#FF00FF"
- 된 색 í
- 여부
- 여부
- 이 많으면 이 기능 때문에 디스크 빈 공간을 모두 사용í•
- 합니다. 사용자가 지ì
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/zh_CN.gmo
-Copyright: ºé—´è€—尽。
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/mn/mn.po
-Copyright: лмандаÑ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/kk.gmo
-Copyright: менге дейін айналдыру керек пе
- менге өтеді.
- п шығыс бар болса, онда диск орны бітіп қалуы мүмкін.
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/mn.gmo
-Copyright: нгө
- рийн тоо
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/uk.gmo
-Copyright: онайменший розмір слова
- онайменший розмір слова для заповнення.
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ky.gmo
-Copyright: п каттар
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ky/bookmarks.page
-Copyright: п каттар</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/hy/hy.po
-Copyright: արգմանչի երախտիք"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ur.gmo
-Copyright: ا طے شُدہ رنگ
- ا طے شُدہ رنگ
- ا فونٹ استعÙ
- رسر کی ظاہری شکل
- یا جائے
- ے لیے پلیٹ
- ے پس Ù
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/fa.gmo
-Copyright: ار رفته برای جعبه‌های ورود Ù
- اربر، تÙ
- ان‌نÙ
- بزند یا نه
- تخته‌رنگ Û±Û¶ رنگی دارند که برناÙ
- نند. این هÙ
- ه از قلÙ
- ه با نقطه‌ویرگول از هÙ
- ه به شکلی فهرستی از ناÙ
- ه در حافظه‌ی لغزش نگهداری شود
- ه Ù
- کلید تا ته صفحه پایین بلغزد یا نه
- کلید نوار لغزش را به ته صفحه Ù
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ps.gmo
-Copyright: نښې
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ps/bookmarks.page
-Copyright: نښې</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ur_PK/ur_PK.po
-Copyright: وڈر لینکس فورÙ
- ی "
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ur/ur.po
-Copyright: وڈر لینکس فورÙ
- ی "
- ی کا بلاگ "
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/th.gmo
-Copyright: ร
- าบรรทัดสำหรับการเลื่อนกลับอย่างไม่มีขีดจำกัดหรือไม่
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/dz.gmo
-Copyright: ་སྒྲིག་ དཔེར་ན་"#FF00FF"ནང་à½
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/po/ja.gmo
-Copyright: うか
- うか
- ルト色
- ントを使用するかどうか
- ーマットにしてくã
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/wordcompletion.page
-Copyright: されたキーワードに基づいて表示されます。</p>
- グイン</gui></guiseq>を選択します。</p>
- グインは、既にå
- グインを使用すると、å
- グインを有効にします。</p>
- グインを有効にするには</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/legal-plugins.xml
-Copyright: はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植ライセンスの下で利用許諾されています。このライセンスの写しを表示するには<link xref="http:creativecommons.org/licenses/by-sa/3.0/">http:creativecommons.org/licenses/by-sa/3.0/</link>にアクセスするか、または Creative Commons,444Castro Street,Sui te900,Mountain View,California,94041,USA へç
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/ja.po
-Copyright: グイン"
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/bracketcompletion.page
-Copyright: グイン</gui></guiseq>へ移動します。</p>
- グインは、HTML または XML の終了タグを自動的に挿å
- グインは、中括弧、丸括弧、および角括弧等の閉じ括弧を自動的に補完します。</p>
- グインを有効にします。</p>
- グインを有効にするには</title>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/index.page
-Copyright: グイン</title>
- グインを利用すると、Pluma の操作方法をユーザー向けにカスタマイズできます。</desc>
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/codecomment.page
-Copyright: グインを使用すると、コードコメントを簡単にすばやく作成または削除できます。このプラグインを有効にするには、<guiseq><gui style="menu">編集</gui><gui style="menuitem">設定</gui><gui>プラグイン</gui><gui>コードコメント</gui></guiseq>を選択します。</p>
- ãƒ
-License: UNKNOWN
- FIXME
-
-Files: src/pluma-plugins-1.26.0/help/ja/bookmarks.page
-Copyright: グインを有効にするには、<guiseq><gui style="menu">編集</gui><gui style="menuitem">設定</gui><gui>プラグイン</gui><gui>ブックマーク</gui></guiseq>を選択します。</p>
- ãƒ
-License: UNKNOWN
- FIXME
-
diff --git a/user/polkit/fix-parallel-make.patch b/user/polkit/fix-parallel-make.patch
deleted file mode 100644
index b693a34dd..000000000
--- a/user/polkit/fix-parallel-make.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7bd30764a5230684c7c979a08a83dfa6e327f719 Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <desrt@velocity.(none)>
-Date: Tue, 13 Nov 2012 16:50:14 +0000
-Subject: build: Fix .gir generation for parallel make
-
-As per the intructions in the introspection Makefile, we should have a
-line declaring a dependency between the .gir and .la files.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=57077
-
-Signed-off-by: David Zeuthen <zeuthen@gmail.com>
----
-diff --git a/src/polkit/Makefile.am b/src/polkit/Makefile.am
-index 39d6d84..d648d29 100644
---- a/src/polkit/Makefile.am
-+++ b/src/polkit/Makefile.am
-@@ -106,6 +106,8 @@ if HAVE_INTROSPECTION
-
- INTROSPECTION_GIRS = Polkit-1.0.gir
-
-+Polkit-1.0.gir: libpolkit-gobject-1.la
-+
- girdir = $(INTROSPECTION_GIRDIR)
- gir_DATA = Polkit-1.0.gir
-
-diff --git a/src/polkitagent/Makefile.am b/src/polkitagent/Makefile.am
-index 1cfb73c..5b7d4c7 100644
---- a/src/polkitagent/Makefile.am
-+++ b/src/polkitagent/Makefile.am
-@@ -108,6 +108,8 @@ if HAVE_INTROSPECTION
- girdir = $(INTROSPECTION_GIRDIR)
- gir_DATA = PolkitAgent-1.0.gir
-
-+PolkitAgent-1.0.gir: libpolkit-agent-1.la
-+
- typelibsdir = $(INTROSPECTION_TYPELIBDIR)
- typelibs_DATA = PolkitAgent-1.0.typelib
-
---
-cgit v0.9.0.2-2-gbebe
diff --git a/user/prosody/luasec-0.6-fix.patch b/user/prosody/luasec-0.6-fix.patch
deleted file mode 100644
index c8e37d091..000000000
--- a/user/prosody/luasec-0.6-fix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/util/dependencies.lua b/util/dependencies.lua
-index 4d50cf6..9ea211d 100644
---- a/util/dependencies.lua
-+++ b/util/dependencies.lua
-@@ -99,6 +99,9 @@ function check_dependencies()
- ["luarocks"] = "luarocks install luasec";
- ["Source"] = "http://www.inf.puc-rio.br/~brunoos/luasec/";
- }, "SSL/TLS support will not be available");
-+ elseif not _G.ssl then
-+ _G.ssl = ssl;
-+ _G.ssl.context = require "ssl.context";
- end
-
- local encodings, err = softreq "util.encodings"
diff --git a/user/prosody/mallinfo.patch b/user/prosody/mallinfo.patch
deleted file mode 100644
index 4f9247c9b..000000000
--- a/user/prosody/mallinfo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/util-src/pposix.c b/util-src/pposix.c
-index e70a9d7..b9729ab 100644
---- a/util-src/pposix.c
-+++ b/util-src/pposix.c
-@@ -52,7 +52,7 @@
- #include <linux/falloc.h>
- #endif
-
--#if !defined(WITHOUT_MALLINFO) && defined(__linux__)
-+#ifdef __GLIBC__
- #include <malloc.h>
- #define WITH_MALLINFO
- #endif
diff --git a/user/prosody/prosodyctl.patch b/user/prosody/prosodyctl.patch
deleted file mode 100644
index 18333dd52..000000000
--- a/user/prosody/prosodyctl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- prosody-0.9.10.q/prosodyctl
-+++ prosody-0.9.10/prosodyctl
-@@ -244,7 +244,7 @@
- local modulemanager = require "core.modulemanager"
-
- local prosodyctl = require "util.prosodyctl"
--require "socket"
-+local socket = require "socket"
- -----------------------
-
- -- FIXME: Duplicate code waiting for util.startup
diff --git a/user/qt5-qtdeclarative/broken-bgra-be.patch b/user/qt5-qtdeclarative/broken-bgra-be.patch
deleted file mode 100644
index 68cd17d77..000000000
--- a/user/qt5-qtdeclarative/broken-bgra-be.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qtdeclarative-opensource-src-5.9.3/src/quick/scenegraph/util/qsgatlastexture.cpp.old 2017-11-17 12:15:09.000000000 -0600
-+++ qtdeclarative-opensource-src-5.9.3/src/quick/scenegraph/util/qsgatlastexture.cpp 2018-07-02 21:00:34.620000000 -0500
-@@ -147,6 +147,8 @@
- && (deviceName->compare(QLatin1String("samsung SM-T211"), Qt::CaseInsensitive) == 0
- || deviceName->compare(QLatin1String("samsung SM-T210"), Qt::CaseInsensitive) == 0
- || deviceName->compare(QLatin1String("samsung SM-T215"), Qt::CaseInsensitive) == 0);
-+#elif Q_BYTE_ORDER == Q_BIG_ENDIAN
-+ static bool wrongfullyReportsBgra8888Support = true;
- #else
- static bool wrongfullyReportsBgra8888Support = false;
- // The Raspberry Pi (both 1 and 2) GPU refuses framebuffers with BGRA color attachments.
diff --git a/user/qt5-qtwebkit/new-bison.patch b/user/qt5-qtwebkit/new-bison.patch
deleted file mode 100644
index 57855f12e..000000000
--- a/user/qt5-qtwebkit/new-bison.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Source/WebCore/css/makegrammar.pl 2020-04-14 00:51:51.000000000 +0200
-+++ b/Source/WebCore/css/makegrammar.pl 2020-10-25 14:59:39.879927464 +0100
-@@ -73,7 +73,6 @@
- }
-
- my $fileBase = File::Spec->join($outputDir, $filename);
--my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
-+my @bisonCommand = ($bison, "--no-lines", "--defines=$fileBase.cpp.h", "-p", $symbolsPrefix, $grammarFilePath, "--output=$fileBase.cpp");
--push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
- system(@bisonCommand) == 0 or die;
-
-@@ -91,6 +91,5 @@
- print HEADER "#endif\n";
- close HEADER;
-
--unlink("$fileBase.cpp.h");
- unlink("$fileBase.hpp");
-
diff --git a/user/quassel/unterminated-mIRC-codes.patch b/user/quassel/unterminated-mIRC-codes.patch
deleted file mode 100644
index 8cedeb461..000000000
--- a/user/quassel/unterminated-mIRC-codes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 391cdf6c2595060ff3b2adb54f5b2fc8ebd7cc04 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Mon, 3 Jun 2019 00:16:30 -0500
-Subject: [PATCH] multilineedit: handle unterminated mIRC codes
-
-Currently, if an unterminated mIRC code is pasted into Quassel, trying to
-go through input line history will cause a deadlock. This breaks the loop
-at the cost of possibly mangling the formatting of the line somewhat.
-This is seen as more acceptable than locking up, and the line is invalid
-anyway.
-
-Reproducer:
-
-```sh
-printf '\00303,08HONK' | xclip -selection clipboard
-```
-
-Paste into Quassel, send, press Up arrow key.
----
- src/uisupport/multilineedit.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/uisupport/multilineedit.cpp b/src/uisupport/multilineedit.cpp
-index 133a2433..b13834c5 100644
---- a/src/uisupport/multilineedit.cpp
-+++ b/src/uisupport/multilineedit.cpp
-@@ -645,6 +645,10 @@ QString MultiLineEdit::convertMircCodesToHtml(const QString &text)
- }
-
- posRight = text.indexOf(mircCode.cap(), posRight + 1);
-+ if (posRight == -1) {
-+ words << text.mid(posLeft);
-+ break; // unclosed color code; can't process
-+ }
- words << text.mid(posLeft, posRight + 1 - posLeft);
- posLeft = posRight + 1;
- }
---
-2.21.0
-
diff --git a/user/ruby-diff-lcs/gemspec.patch b/user/ruby-diff-lcs/gemspec.patch
deleted file mode 100644
index 9c0b69ecd..000000000
--- a/user/ruby-diff-lcs/gemspec.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/rspec-core.gemspec
-+++ b/rspec-core.gemspec
-@@ -13,11 +13,10 @@
- s.summary = "rspec-core-#{RSpec::Core::Version::STRING}"
- s.description = "BDD for Ruby. RSpec runner and example groups."
-
-- s.files = `git ls-files -- lib/*`.split("\n")
-- s.files += %w[README.md LICENSE.md Changelog.md .yardopts .document]
-+ s.files = Dir['lib/**/*']
- s.test_files = []
- s.bindir = 'exe'
-- s.executables = `git ls-files -- exe/*`.split("\n").map{ |f| File.basename(f) }
-+ s.executables = Dir['exe/*'].map{ |f| File.basename(f) }
- s.rdoc_options = ["--charset=UTF-8"]
- s.require_path = "lib"
-
diff --git a/user/thunderbird/stab.h b/user/thunderbird/stab.h
deleted file mode 100644
index 6f70af398..000000000
--- a/user/thunderbird/stab.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
-/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */
-
-/*-
- * Copyright (c) 1991 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)stab.h 5.2 (Berkeley) 4/4/91
- */
-
-#ifndef _STAB_H_
-#define _STAB_H_
-
-/*
- * The following are symbols used by various debuggers and by the Pascal
- * compiler. Each of them must have one (or more) of the bits defined by
- * the N_STAB mask set.
- */
-
-#define N_GSYM 0x20 /* global symbol */
-#define N_FNAME 0x22 /* F77 function name */
-#define N_FUN 0x24 /* procedure name */
-#define N_STSYM 0x26 /* data segment variable */
-#define N_LCSYM 0x28 /* bss segment variable */
-#define N_MAIN 0x2a /* main function name */
-#define N_PC 0x30 /* global Pascal symbol */
-#define N_RSYM 0x40 /* register variable */
-#define N_SLINE 0x44 /* text segment line number */
-#define N_DSLINE 0x46 /* data segment line number */
-#define N_BSLINE 0x48 /* bss segment line number */
-#define N_SSYM 0x60 /* structure/union element */
-#define N_SO 0x64 /* main source file name */
-#define N_LSYM 0x80 /* stack variable */
-#define N_BINCL 0x82 /* include file beginning */
-#define N_SOL 0x84 /* included source file name */
-#define N_PSYM 0xa0 /* parameter variable */
-#define N_EINCL 0xa2 /* include file end */
-#define N_ENTRY 0xa4 /* alternate entry point */
-#define N_LBRAC 0xc0 /* left bracket */
-#define N_EXCL 0xc2 /* deleted include file */
-#define N_RBRAC 0xe0 /* right bracket */
-#define N_BCOMM 0xe2 /* begin common */
-#define N_ECOMM 0xe4 /* end common */
-#define N_ECOML 0xe8 /* end common (local name) */
-#define N_LENG 0xfe /* length of preceding entry */
-
-#endif /* !_STAB_H_ */
diff --git a/user/tinyfugue/0001-Add-DESTDIR-support.patch b/user/tinyfugue/0001-Add-DESTDIR-support.patch
deleted file mode 100644
index 5495a82f2..000000000
--- a/user/tinyfugue/0001-Add-DESTDIR-support.patch
+++ /dev/null
@@ -1,143 +0,0 @@
---- tinyfugue-5.1.0/unix/unix.mak
-+++ tinyfugue-5.1.0.new/unix/unix.mak
-@@ -81,62 +81,71 @@
- -test -z "$(STRIP)" || $(STRIP) tf$(X) || true
-
- PREFIXDIRS:
-- test -d "$(bindir)" || mkdir $(bindir)
-- test -d "$(datadir)" || mkdir $(datadir)
-
- install_TF $(TF): tf$(X) $(BUILDERS)
-- -@rm -f $(TF)
-- cp tf$(X) $(TF)
-- chmod $(MODE) $(TF)
-+ install -Dm755 tf${X} ${DESTDIR}${bindir}/tf
-
- SYMLINK $(SYMLINK): $(TF)
-- test -z "$(SYMLINK)" || { rm -f $(SYMLINK) && ln -s $(TF) $(SYMLINK); }
-
- LIBRARY $(TF_LIBDIR): ../lib/tf/tf-help ../lib/tf/tf-help.idx
-- @echo '## Creating library directory...'
--# @# Overly simplified shell commands, to avoid problems on ultrix
-- -@test -n "$(TF_LIBDIR)" || echo "TF_LIBDIR is undefined."
-- test -n "$(TF_LIBDIR)"
-- test -d "$(TF_LIBDIR)" || mkdir $(TF_LIBDIR)
-- -@test -d "$(TF_LIBDIR)" || echo "Can't make $(TF_LIBDIR) directory. See if"
-- -@test -d "$(TF_LIBDIR)" || echo "there is already a file with that name."
-- test -d "$(TF_LIBDIR)"
--#
--# @#rm -f $(TF_LIBDIR)/*; # wrong: this would remove local.tf, etc.
-- @echo '## Copying library files...'
-- cd ../lib/tf; \
-- for f in *; do test -f $$f && files="$$files $$f"; done; \
-- ( cd $(TF_LIBDIR); rm -f $$files tf.help tf.help.index; ); \
-- cp $$files $(TF_LIBDIR); \
-- cd ../../lib/py; \
-- for f in *; do test -f $$f && pyfiles="$$pyfiles $$f"; done; \
-- ( cd $(TF_LIBDIR); rm -f $$pyfiles tf.help tf.help.index; ); \
-- cp $$pyfiles $(TF_LIBDIR); \
-- cd $(TF_LIBDIR); \
-- chmod $(MODE) $$files; chmod ugo-wx $$files ;\
-- chmod $(MODE) $$pyfiles; chmod ugo-wx $$pyfiles
-- -rm -f $(TF_LIBDIR)/CHANGES
-- cp ../CHANGES $(TF_LIBDIR)
-- chmod $(MODE) $(TF_LIBDIR)/CHANGES; chmod ugo-wx $(TF_LIBDIR)/CHANGES
-- chmod $(MODE) $(TF_LIBDIR)
-- -@cd $(TF_LIBDIR); old=`ls replace.tf 2>/dev/null`; \
-- if [ -n "$$old" ]; then \
-- echo "## WARNING: Obsolete files found in $(TF_LIBDIR): $$old"; \
-- fi
-- @echo '## Creating links so old library names still work...'
--# @# note: ln -sf isn't portable.
-- @cd $(TF_LIBDIR); \
-- rm -f bind-bash.tf; ln -s kb-bash.tf bind-bash.tf; \
-- rm -f bind-emacs.tf; ln -s kb-emacs.tf bind-emacs.tf; \
-- rm -f completion.tf; ln -s complete.tf completion.tf; \
-- rm -f factorial.tf; ln -s factoral.tf factorial.tf; \
-- rm -f file-xfer.tf; ln -s filexfer.tf file-xfer.tf; \
-- rm -f local.tf.sample; ln -s local-eg.tf local.tf.sample; \
-- rm -f pref-shell.tf; ln -s psh.tf pref-shell.tf; \
-- rm -f space_page.tf; ln -s spc-page.tf space_page.tf; \
-- rm -f speedwalk.tf; ln -s spedwalk.tf speedwalk.tf; \
-- rm -f stack_queue.tf; ln -s stack-q.tf stack_queue.tf; \
-- rm -f worldqueue.tf; ln -s world-q.tf worldqueue.tf;
-+ install -Dm644 ../lib/tf/lisp.tf ${DESTDIR}${datadir}/tf-lib/lisp.tf
-+ install -Dm644 ../lib/tf/hanoi.tf ${DESTDIR}${datadir}/tf-lib/hanoi.tf
-+ install -Dm644 ../lib/tf/spell.tf ${DESTDIR}${datadir}/tf-lib/spell.tf
-+ install -Dm644 ../lib/tf/spedwalk.tf ${DESTDIR}${datadir}/tf-lib/spedwalk.tf
-+ install -Dm644 ../lib/tf/kb-emacs.tf ${DESTDIR}${datadir}/tf-lib/kb-emacs.tf
-+ install -Dm644 ../lib/tf/tf-help.idx ${DESTDIR}${datadir}/tf-lib/tf-help.idx
-+ install -Dm644 ../lib/tf/tools.tf ${DESTDIR}${datadir}/tf-lib/tools.tf
-+ install -Dm644 ../lib/tf/watch.tf ${DESTDIR}${datadir}/tf-lib/watch.tf
-+ install -Dm644 ../lib/tf/kb_badterm.tf ${DESTDIR}${datadir}/tf-lib/kb_badterm.tf
-+ install -Dm644 ../lib/tf/world-q.tf ${DESTDIR}${datadir}/tf-lib/world-q.tf
-+ install -Dm644 ../lib/tf/changes.tf ${DESTDIR}${datadir}/tf-lib/changes.tf
-+ install -Dm644 ../lib/tf/stack-q.tf ${DESTDIR}${datadir}/tf-lib/stack-q.tf
-+ install -Dm644 ../lib/tf/factoral.tf ${DESTDIR}${datadir}/tf-lib/factoral.tf
-+ install -Dm644 ../lib/tf/cylon.tf ${DESTDIR}${datadir}/tf-lib/cylon.tf
-+ install -Dm644 ../lib/tf/quoter.tf ${DESTDIR}${datadir}/tf-lib/quoter.tf
-+ install -Dm644 ../lib/tf/psh.tf ${DESTDIR}${datadir}/tf-lib/psh.tf
-+ install -Dm644 ../lib/tf/textutil.tf ${DESTDIR}${datadir}/tf-lib/textutil.tf
-+ install -Dm644 ../lib/tf/finger.tf ${DESTDIR}${datadir}/tf-lib/finger.tf
-+ install -Dm644 ../lib/tf/savehist.tf ${DESTDIR}${datadir}/tf-lib/savehist.tf
-+ install -Dm644 ../lib/tf/textencode.tf ${DESTDIR}${datadir}/tf-lib/textencode.tf
-+ install -Dm644 ../lib/tf/spc-page.tf ${DESTDIR}${datadir}/tf-lib/spc-page.tf
-+ install -Dm644 ../lib/tf/teraterm.keyboard.cnf ${DESTDIR}${datadir}/tf-lib/teraterm.keyboard.cnf
-+ install -Dm644 ../lib/tf/testcolor.tf ${DESTDIR}${datadir}/tf-lib/testcolor.tf
-+ install -Dm644 ../lib/tf/tintin.tf ${DESTDIR}${datadir}/tf-lib/tintin.tf
-+ install -Dm644 ../lib/tf/grep.tf ${DESTDIR}${datadir}/tf-lib/grep.tf
-+ install -Dm644 ../lib/tf/tfrc ${DESTDIR}${datadir}/tf-lib/tfrc
-+ install -Dm644 ../lib/tf/rwho.tf ${DESTDIR}${datadir}/tf-lib/rwho.tf
-+ install -Dm644 ../lib/tf/alias.tf ${DESTDIR}${datadir}/tf-lib/alias.tf
-+ install -Dm644 ../lib/tf/kbbind.tf ${DESTDIR}${datadir}/tf-lib/kbbind.tf
-+ install -Dm644 ../lib/tf/complete.tf ${DESTDIR}${datadir}/tf-lib/complete.tf
-+ install -Dm644 ../lib/tf/kbregion.tf ${DESTDIR}${datadir}/tf-lib/kbregion.tf
-+ install -Dm644 ../lib/tf/color.tf ${DESTDIR}${datadir}/tf-lib/color.tf
-+ install -Dm644 ../lib/tf/kb-bash.tf ${DESTDIR}${datadir}/tf-lib/kb-bash.tf
-+ install -Dm644 ../lib/tf/kbstack.tf ${DESTDIR}${datadir}/tf-lib/kbstack.tf
-+ install -Dm644 ../lib/tf/filexfer.tf ${DESTDIR}${datadir}/tf-lib/filexfer.tf
-+ install -Dm644 ../lib/tf/activity_status.tf ${DESTDIR}${datadir}/tf-lib/activity_status.tf
-+ install -Dm644 ../lib/tf/tfstatus.tf ${DESTDIR}${datadir}/tf-lib/tfstatus.tf
-+ install -Dm644 ../lib/tf/relog.tf ${DESTDIR}${datadir}/tf-lib/relog.tf
-+ install -Dm644 ../lib/tf/local-eg.tf ${DESTDIR}${datadir}/tf-lib/local-eg.tf
-+ install -Dm644 ../lib/tf/stdlib.tf ${DESTDIR}${datadir}/tf-lib/stdlib.tf
-+ install -Dm644 ../lib/tf/at.tf ${DESTDIR}${datadir}/tf-lib/at.tf
-+ install -Dm644 ../lib/tf/tick.tf ${DESTDIR}${datadir}/tf-lib/tick.tf
-+ install -Dm644 ../lib/tf/kb-os2.tf ${DESTDIR}${datadir}/tf-lib/kb-os2.tf
-+ install -Dm644 ../lib/tf/kbfunc.tf ${DESTDIR}${datadir}/tf-lib/kbfunc.tf
-+ install -Dm644 ../lib/tf/pcmd.tf ${DESTDIR}${datadir}/tf-lib/pcmd.tf
-+ install -Dm644 ../lib/tf/map.tf ${DESTDIR}${datadir}/tf-lib/map.tf
-+ install -Dm644 ../lib/tf/activity_status2.tf ${DESTDIR}${datadir}/tf-lib/activity_status2.tf
-+ install -Dm644 ../lib/tf/kb-old.tf ${DESTDIR}${datadir}/tf-lib/kb-old.tf
-+ install -Dm644 ../lib/tf/tr.tf ${DESTDIR}${datadir}/tf-lib/tr.tf
-+ install -Dm644 ../CHANGES ${DESTDIR}${datadir}/tf-lib/CHANGES
-+ install -Dm644 ../README.md ${DESTDIR}${datadir}/tf-lib/README
-+ install -Dm644 ../lib/tf/examples.old ${DESTDIR}${datadir}/tf-lib/examples.old
-+ install -Dm644 ../lib/py/config.py ${DESTDIR}${datadir}/tf-lib/config.py
-+ install -Dm644 ../lib/py/diffedit.py ${DESTDIR}${datadir}/tf-lib/diffedit.py
-+ install -Dm644 ../lib/py/tf.py ${DESTDIR}${datadir}/tf-lib/tf.py
-+ install -Dm644 ../lib/py/tf4.py ${DESTDIR}${datadir}/tf-lib/tf4.py
-+ install -Dm644 ../lib/py/tfutil.py ${DESTDIR}${datadir}/tf-lib/tfutil.py
-+ install -Dm644 ../lib/py/urlwatch.py ${DESTDIR}${datadir}/tf-lib/urlwatch.py
-
- makehelp: makehelp.c
- $(CC) $(CFLAGS) -o makehelp makehelp.c
---- tinyfugue-5.1.0/unix/vars.mak.in
-+++ tinyfugue-5.1.0.new/unix/vars.mak.in
-@@ -12,11 +12,11 @@
-
- # @configure_input@
-
--prefix = ${DESTDIR}@prefix@
--exec_prefix= ${DESTDIR}@exec_prefix@
--bindir = ${DESTDIR}@bindir@
--datadir = ${DESTDIR}@datadir@
--mandir = ${DESTDIR}@mandir@
-+prefix = @prefix@
-+exec_prefix= @exec_prefix@
-+bindir = @bindir@
-+datadir = @datadir@
-+mandir = @mandir@
-
- TFVERSION = @TFVERSION@
- X = @EXEEXT@
diff --git a/user/tinyfugue/0003-Minor-man-page-fixes.patch b/user/tinyfugue/0003-Minor-man-page-fixes.patch
deleted file mode 100644
index 9611744a5..000000000
--- a/user/tinyfugue/0003-Minor-man-page-fixes.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From: Russ Allbery <rra@debian.org>
-Date: Sun, 17 Feb 2008 22:17:59 -0800
-Subject: Minor man page fixes
-
-Escape hyphens properly, add a better man page header, fix the
-placement of punctuation around font changes, and fix a spelling
-error.
----
- src/tf.1.nroffman | 34 +++++++++++++++++-----------------
- 1 file changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/src/tf.1.nroffman b/src/tf.1.nroffman
-index e8daaca..90691db 100644
---- a/src/tf.1.nroffman
-+++ b/src/tf.1.nroffman
-@@ -1,11 +1,11 @@
- .\" $Id: tf.1.nroffman,v 34000.8 2007/01/13 23:12:39 kkeys Exp $
--.TH TF 1 LOCAL
-+.TH TF 1 "2007-01-13" "TinyFugue 5.0" "TinyFugue"
- .SH NAME
- tf \- TinyFugue, a MUD client
- .SH SYNOPSIS
--.B "tf [-f\fIfile\fB] [-lnq] [\fIworld\fB]"
-+.B "tf [\-f\fIfile\fB] [\-lnq] [\fIworld\fB]"
- .br
--.B "tf [-f\fIfile\fB] \fIhost\fB \fIport\fB"
-+.B "tf [\-f\fIfile\fB] \fIhost\fB \fIport\fB"
- .SH DESCRIPTION
- \fITinyFugue\fR (also known as "Fugue" or "TF") is a line-based client
- designed for connecting to MUD servers (note: LP, DIKU, and other servers
-@@ -48,15 +48,15 @@ world and try to connect to it.
- The \fBhost\fR may be an IP number or regular name format.
- .PP
- OPTIONS
--.IP "-f\fIfile\fR"
-+.IP "\-f\fIfile\fR"
- Load \fIfile\fR instead of $HOME/.tfrc at startup.
--.IP "-f"
-+.IP "\-f"
- Do not load any personal configuration file. The library will still be loaded.
--.IP "-l"
-+.IP "\-l"
- Disable automatic login.
--.IP "-n"
-+.IP "\-n"
- Do not connect to any world at startup.
--.IP "-q"
-+.IP "\-q"
- Quiet login (overrides %{quiet} flag).
-
- .SH FEATURES
-@@ -109,7 +109,7 @@ Log a session to a file.
- .sp
- Separate LP and Diku style prompts from normal output.
- .sp
--Page output using a --More-- prompt.
-+Page output using a \-\-More\-\- prompt.
- .sp
- Recall previously received text.
-
-@@ -120,14 +120,14 @@ configuration file "stdlib.tf", located in TFLIBDIR.
- TFLIBDIR is defined when \fITF\fR is installed, and is often
- /usr/local/lib/tf.lib, or under the home directory of the installer.
- This library contains many macros
--and definitions essential to the correct operation of \fITF.\fR
-+and definitions essential to the correct operation of \fITF\fR.
-
- Next, \fITF\fR will attempt to read your personal configuration
- file, $HOME/.tfrc, in which you can put any \fITF\fR commands you
- want executed automatically at startup. Two of the most useful
- commands to use in a \fITF\fR configuration file are /addworld and /load.
-
--For backward compatability, \fITF\fR will also try
-+For backward compatibility, \fITF\fR will also try
- to read the \fITinyTalk\fR configuration file.
- Its name defautls to $HOME/.tinytalk, or can be defined by the TINYTALK
- environment variable.
-@@ -140,19 +140,19 @@ the first Tinyclient with any great number of features, including
- hiliting and suppression of text, simple triggers, and separating input and
- output on the screen.
- Leo Plotkin (Grod) made rather extensive modifications to \fITinytalk\fR
--to produce \fITinywar,\fR which was plagued with some
-+to produce \fITinywar\fR, which was plagued with some
- serious bugs and was never officially released (the phrase "Tinywar
- doesn't exist" is often quoted), and is now an unsupported client.
- \fITF\fR began when Greg Hudson (Explorer_Bob) merged many of the new
--features of \fITinywar\fR back into \fITinyTalk,\fR
-+features of \fITinywar\fR back into \fITinyTalk\fR,
- and added many new features of his own, most notably the split screen.
- Some of the code in Greg's releases was contributed by Leo Plotkin.
--After Greg moved on to \fIVaporTalk,\fR Ken Keys (Hawkeye) took over design
-+After Greg moved on to \fIVaporTalk\fR, Ken Keys (Hawkeye) took over design
- and maintenance of \fITF\fR in July 1991, and continues to make improvements
- in features and performance.
- .PP
- The code size of \fITF\fR has surpassed 300K (unstripped),
--and is signifigantly larger than \fITinytalk.\fR
-+and is signifigantly larger than \fITinytalk\fR.
- It is, in fact, more than three times the size of a number of existing servers.
- As of version 3.0, it has 66 builtin commands and 57 library commands,
- each documented in the helpfile.
-@@ -225,8 +225,8 @@ default macro library.
- .PP
- The .tinytalk file may not be supported in the future; use .tfrc instead.
- .PP
--The '-' command line option in versions prior to 2.0 is no longer supported,
--and has been replaced with '-l'.
-+The '\-' command line option in versions prior to 2.0 is no longer supported,
-+and has been replaced with '\-l'.
-
- .SH BUGS
- .PP
diff --git a/user/tinyfugue/0006-Fix-library-install-path.patch b/user/tinyfugue/0006-Fix-library-install-path.patch
deleted file mode 100644
index c43b3873e..000000000
--- a/user/tinyfugue/0006-Fix-library-install-path.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Russ Allbery <rra@debian.org>
-Date: Sun, 14 Aug 2016 14:14:47 -0700
-Subject: Fix library install path
-
-The upstream top-level configure script doesn't correctly handle
---program-suffix without this tweak.
----
- configure.ac | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index e783564..c938531 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -599,13 +599,13 @@ fi
- dnl The "right" way of using program_transform_name, program_prefix, and
- dnl program_suffix expects you to use AC_ARG_PROGRAM here and do transformation
- dnl in the Makefile, but we want the values now, so we do it ourselves.
--EXENAME="tf"
-+EXENAME="tf" PROGNAME="tf"
- test "${program_prefix}" != "NONE" && EXENAME="${program_prefix}${EXENAME}"
- test "${program_suffix}" != "NONE" && EXENAME="${EXENAME}${program_suffix}"
- if test "${program_transform_name}" != "NONE"; then
- EXENAME=`echo "${EXENAME}" | sed "${program_transform_name}"`
- fi
--LIBNAME="${EXENAME}-lib"
-+LIBNAME="${PROGNAME}-lib"
-
- if test "$enable_symlink" = "no"; then
- SYMLINK=""
-@@ -616,6 +616,7 @@ else
- fi
-
- AC_SUBST(EXENAME)
-+AC_SUBST(PROGNAME)
- AC_SUBST(LIBNAME)
- AC_SUBST(SYMLINK)
-
diff --git a/user/tinyfugue/0007-Fix-spelling-errors.patch b/user/tinyfugue/0007-Fix-spelling-errors.patch
deleted file mode 100644
index 8e78721b7..000000000
--- a/user/tinyfugue/0007-Fix-spelling-errors.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Russ Allbery <rra@debian.org>
-Date: Sun, 14 Aug 2016 14:22:52 -0700
-Subject: Fix spelling errors
-
-occured -> occurred everywhere
----
- CHANGES | 4 ++--
- src/command.c | 2 +-
- src/signals.c | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/CHANGES b/CHANGES
-index 037c766..dfc5029 100644
---- a/CHANGES
-+++ b/CHANGES
-@@ -316,7 +316,7 @@ Renamed BACKGROUND hook to BGTRIG (but old name still works).
- Added BGTEXT hook.
- Fixed activity_status.tf to update for lines generated by /echo -w.
- Fixed: ACTIVITY and PREACTIVITY hooks didn't run in the world in which the
-- activity occured when caused by /echo -w.
-+ activity occurred when caused by /echo -w.
- Fixed order of /dc message relative to text already queued on socket.
- Fixed: under certain conditions, a dead socket would not go away and could
- not be foregrounded.
-@@ -972,7 +972,7 @@ Fixed compilation error involving conditional and hstrerror under some
- lame compilers (socket.c:788).
- Fixed output misdirection during a read() inside a command sub.
- Fixed rare bug causing command line to execute in wrong world when a
-- simultaneous background trigger occured.
-+ simultaneous background trigger occurred.
- Fixed /world with no arguments.
- Fixed fatal input bug after /histsize -i. (35a21)
- Fixed bug which disabled history recording after /recall on an empty history.
-diff --git a/src/command.c b/src/command.c
-index 0409787..624d03b 100644
---- a/src/command.c
-+++ b/src/command.c
-@@ -605,7 +605,7 @@ int do_file_load(const char *args, int tinytalk)
- !user_result->u.ival && !warned)
- {
- eprintf("(This line was implicitly treated as an /addworld "
-- "because it occured before the first '/' line and did not "
-+ "because it occurred before the first '/' line and did not "
- "start with a '/', ';', or '#'.)");
- warned = 1;
- }
-diff --git a/src/signals.c b/src/signals.c
-index bd96b87..a00c70e 100644
---- a/src/signals.c
-+++ b/src/signals.c
-@@ -410,7 +410,7 @@ static char initial_dir[PATH_MAX+1] = "."; /* default: many users never chdir */
- static void coremsg(FILE *dumpfile)
- {
- fputs("Also describe what you were doing in tf when this\r\n", stderr);
-- fputs("occured, and whether you can repeat it.\r\n\n", stderr);
-+ fputs("occurred, and whether you can repeat it.\r\n\n", stderr);
- fprintf(dumpfile, "> %.512s\r\n", version);
- if (*sysname) fprintf(dumpfile, "> %.256s\r\n", sysname);
- fprintf(dumpfile, "> %.256s\r\n", featurestr->data);
diff --git a/user/upower/daemon-fix-get_critical_action.patch b/user/upower/daemon-fix-get_critical_action.patch
deleted file mode 100644
index 6afe9b7a9..000000000
--- a/user/upower/daemon-fix-get_critical_action.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 28cee8e2845b094488c337c4ecfa84ada0b6be60 Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martin.pitt@ubuntu.com>
-Date: Tue, 23 Feb 2016 09:51:07 +0100
-Subject: daemon: fix get_critical_action()
-
-Fix copy&paste error from e7e9156f that called the wrong _complete_ function
-for up_daemon_get_critical_action().
-
-https://bugs.freedesktop.org/show_bug.cgi?id=94262
-
-diff --git a/src/up-daemon.c b/src/up-daemon.c
-index be14cbe..e95f904 100644
---- a/src/up-daemon.c
-+++ b/src/up-daemon.c
-@@ -435,8 +435,8 @@ up_daemon_get_critical_action (UpExportedDaemon *skeleton,
- GDBusMethodInvocation *invocation,
- UpDaemon *daemon)
- {
-- up_exported_daemon_complete_get_display_device (skeleton, invocation,
-- up_backend_get_critical_action (daemon->priv->backend));
-+ up_exported_daemon_complete_get_critical_action (skeleton, invocation,
-+ up_backend_get_critical_action (daemon->priv->backend));
- return TRUE;
- }
-
---
-cgit v0.10.2
-
diff --git a/user/upower/lib-add-propererror-and-cancellable-handling-to-UpClient.patch b/user/upower/lib-add-propererror-and-cancellable-handling-to-UpClient.patch
deleted file mode 100644
index 47e2f4799..000000000
--- a/user/upower/lib-add-propererror-and-cancellable-handling-to-UpClient.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 932a6a39e35754be571e1274aec4730fd42dba13 Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martin.pitt@ubuntu.com>
-Date: Wed, 18 May 2016 09:22:43 +0200
-Subject: lib: Add proper error and cancellable handling to UpClient
- constructor
-
-A GObject's _init() should never fail or block, but this is currently the case
-as up_client_init() connects to upowerd on D-Bus. Convert this to the GInitable
-interface and provide a new constructor up_client_new_full() which accepts a
-GCancellable and GError, so that clients can do proper error handling
-and reporting.
-
-This changes up_client_new() to return NULL when connecting to upowerd fails.
-This provides a more well-defined behaviour in this case as clients can check
-for this and our methods stop segfaulting as they have checks like
-
- g_return_val_if_fail (UP_IS_CLIENT (client), ...)
-
-Previously we returned a valid object, but trying to call any method on it
-segfaulted due to the NULL D-Bus proxy, so client code had no chance to check
-whether the UpClient object was really valid.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=95350
-
-diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
-index 5b2218f..adc0b9b 100644
---- a/libupower-glib/up-client.c
-+++ b/libupower-glib/up-client.c
-@@ -39,9 +39,10 @@
- #include "up-daemon-generated.h"
- #include "up-device.h"
-
--static void up_client_class_init (UpClientClass *klass);
--static void up_client_init (UpClient *client);
--static void up_client_finalize (GObject *object);
-+static void up_client_class_init (UpClientClass *klass);
-+static void up_client_initable_iface_init (GInitableIface *iface);
-+static void up_client_init (UpClient *client);
-+static void up_client_finalize (GObject *object);
-
- #define UP_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UP_TYPE_CLIENT, UpClientPrivate))
-
-@@ -73,7 +74,8 @@ enum {
- static guint signals [UP_CLIENT_LAST_SIGNAL] = { 0 };
- static gpointer up_client_object = NULL;
-
--G_DEFINE_TYPE (UpClient, up_client, G_TYPE_OBJECT)
-+G_DEFINE_TYPE_WITH_CODE (UpClient, up_client, G_TYPE_OBJECT,
-+ G_IMPLEMENT_INTERFACE(G_TYPE_INITABLE, up_client_initable_iface_init))
-
- /**
- * up_client_get_devices:
-@@ -434,11 +436,10 @@ up_client_class_init (UpClientClass *klass)
- * up_client_init:
- * @client: This class instance
- */
--static void
--up_client_init (UpClient *client)
-+static gboolean
-+up_client_initable_init (GInitable *initable, GCancellable *cancellable, GError **error)
- {
-- GError *error = NULL;
--
-+ UpClient *client = UP_CLIENT (initable);
- client->priv = UP_CLIENT_GET_PRIVATE (client);
-
- /* connect to main interface */
-@@ -446,13 +447,10 @@ up_client_init (UpClient *client)
- G_DBUS_PROXY_FLAGS_NONE,
- "org.freedesktop.UPower",
- "/org/freedesktop/UPower",
-- NULL,
-- &error);
-- if (client->priv->proxy == NULL) {
-- g_warning ("Couldn't connect to proxy: %s", error->message);
-- g_error_free (error);
-- return;
-- }
-+ cancellable,
-+ error);
-+ if (client->priv->proxy == NULL)
-+ return FALSE;
-
- /* all callbacks */
- g_signal_connect (client->priv->proxy, "device-added",
-@@ -461,6 +459,23 @@ up_client_init (UpClient *client)
- G_CALLBACK (up_device_removed_cb), client);
- g_signal_connect (client->priv->proxy, "notify",
- G_CALLBACK (up_client_notify_cb), client);
-+
-+ return TRUE;
-+}
-+
-+static void
-+up_client_initable_iface_init (GInitableIface *iface)
-+{
-+ iface->init = up_client_initable_init;
-+}
-+
-+/*
-+ * up_client_init:
-+ * @client: This class instance
-+ */
-+static void
-+up_client_init (UpClient *client)
-+{
- }
-
- /*
-@@ -482,23 +497,52 @@ up_client_finalize (GObject *object)
- }
-
- /**
-- * up_client_new:
-+ * up_client_new_full:
-+ * @cancellable: (allow-none): A #GCancellable or %NULL.
-+ * @error: Return location for error or %NULL.
- *
-- * Creates a new #UpClient object.
-+ * Creates a new #UpClient object. If connecting to upowerd on D-Bus fails,
-+ % this returns %NULL and sets @error.
- *
-- * Return value: a new UpClient object.
-+ * Return value: a new UpClient object, or %NULL on failure.
- *
-- * Since: 0.9.0
-+ * Since: 0.99.5
- **/
- UpClient *
--up_client_new (void)
-+up_client_new_full (GCancellable *cancellable, GError **error)
- {
- if (up_client_object != NULL) {
- g_object_ref (up_client_object);
- } else {
-- up_client_object = g_object_new (UP_TYPE_CLIENT, NULL);
-- g_object_add_weak_pointer (up_client_object, &up_client_object);
-+ up_client_object = g_initable_new (UP_TYPE_CLIENT, cancellable, error, NULL);
-+ if (up_client_object)
-+ g_object_add_weak_pointer (up_client_object, &up_client_object);
- }
- return UP_CLIENT (up_client_object);
- }
-
-+/**
-+ * up_client_new:
-+ *
-+ * Creates a new #UpClient object. If connecting to upowerd on D-Bus fails,
-+ * this returns %NULL and prints out a warning with the error message.
-+ * Consider using up_client_new_full() instead which allows you to handle errors
-+ * and cancelling long operations yourself.
-+ *
-+ * Return value: a new UpClient object, or %NULL on failure.
-+ *
-+ * Since: 0.9.0
-+ **/
-+UpClient *
-+up_client_new (void)
-+{
-+ GError *error = NULL;
-+ UpClient *client;
-+ client = up_client_new_full (NULL, &error);
-+ if (client == NULL) {
-+ g_warning ("Couldn't connect to proxy: %s", error->message);
-+ g_error_free (error);
-+ }
-+ return client;
-+}
-+
-diff --git a/libupower-glib/up-client.h b/libupower-glib/up-client.h
-index 79c2d9e..5b9af3c 100644
---- a/libupower-glib/up-client.h
-+++ b/libupower-glib/up-client.h
-@@ -72,6 +72,7 @@ typedef struct
- /* general */
- GType up_client_get_type (void);
- UpClient *up_client_new (void);
-+UpClient *up_client_new_full (GCancellable *cancellable, GError **error);
-
- /* sync versions */
- UpDevice * up_client_get_display_device (UpClient *client);
---
-cgit v0.10.2
-
diff --git a/user/valgrind/uclibc.patch b/user/valgrind/uclibc.patch
deleted file mode 100644
index 69281ab2c..000000000
--- a/user/valgrind/uclibc.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./coregrind/vg_preloaded.c.orig
-+++ ./coregrind/vg_preloaded.c
-@@ -42,6 +42,7 @@
- originates from Valgrind.
- ------------------------------------------------------------------ */
-
-+#include <features.h>
- #include "pub_core_basics.h"
- #include "pub_core_clreq.h"
- #include "pub_core_debuginfo.h" // Needed for pub_core_redir.h
diff --git a/user/xorg-server/20-modules.conf b/user/xorg-server/20-modules.conf
deleted file mode 100644
index 4ddcdd461..000000000
--- a/user/xorg-server/20-modules.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-Section "Module"
- Load "exa"
-# Load "wfb"
-
- Load "dri"
- Load "dri2"
- Load "glx"
-
- Load "int10"
- Load "vbe"
- Load "fb"
- Load "shadowfb"
- Load "shadow"
- Load "vgahw"
- Load "evdev"
- Load "fbdevhw"
- Load "glamoregl"
-EndSection