mirror of
				https://aur.archlinux.org/firedragon.git
				synced 2025-11-03 23:46:59 +00:00 
			
		
		
		
	chore: update firedragon
This commit was automatically generated to reflect changes to this package in another repository. The changelog for this package can be found at https://gitlab.com/garuda-linux/pkgbuilds/-/commits/main/firedragon. Logs of the corresponding pipeline run can be found here: https://gitlab.com/garuda-linux/pkgbuilds/-/pipelines/1418848072.
This commit is contained in:
		
							
								
								
									
										27
									
								
								.SRCINFO
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								.SRCINFO
									
									
									
									
									
								
							@@ -1,13 +1,13 @@
 | 
				
			|||||||
pkgbase = firedragon
 | 
					pkgbase = firedragon
 | 
				
			||||||
	pkgdesc = Floorp fork build using custom branding and settings
 | 
						pkgdesc = Floorp fork build using custom branding and settings
 | 
				
			||||||
	pkgver = 11.16.0
 | 
						pkgver = 11.17.4
 | 
				
			||||||
	pkgrel = 1.1
 | 
						pkgrel = 1.1
 | 
				
			||||||
	epoch = 1
 | 
						epoch = 1
 | 
				
			||||||
	url = https://garudalinux.org
 | 
						url = https://garudalinux.org
 | 
				
			||||||
	arch = x86_64
 | 
						arch = x86_64
 | 
				
			||||||
	license = MPL2
 | 
						license = MPL2
 | 
				
			||||||
	makedepends = cbindgen
 | 
						makedepends = cbindgen
 | 
				
			||||||
	makedepends = clang17
 | 
						makedepends = clang
 | 
				
			||||||
	makedepends = diffutils
 | 
						makedepends = diffutils
 | 
				
			||||||
	makedepends = dump_syms
 | 
						makedepends = dump_syms
 | 
				
			||||||
	makedepends = imagemagick
 | 
						makedepends = imagemagick
 | 
				
			||||||
@@ -15,15 +15,16 @@ pkgbase = firedragon
 | 
				
			|||||||
	makedepends = inetutils
 | 
						makedepends = inetutils
 | 
				
			||||||
	makedepends = git
 | 
						makedepends = git
 | 
				
			||||||
	makedepends = jack
 | 
						makedepends = jack
 | 
				
			||||||
	makedepends = lld17
 | 
						makedepends = lld
 | 
				
			||||||
	makedepends = llvm17
 | 
						makedepends = llvm
 | 
				
			||||||
	makedepends = mesa
 | 
						makedepends = mesa
 | 
				
			||||||
	makedepends = mold
 | 
						makedepends = mold
 | 
				
			||||||
	makedepends = nasm
 | 
						makedepends = nasm
 | 
				
			||||||
	makedepends = nodejs
 | 
						makedepends = nodejs
 | 
				
			||||||
	makedepends = python
 | 
						makedepends = python
 | 
				
			||||||
 | 
						makedepends = rust
 | 
				
			||||||
	makedepends = unzip
 | 
						makedepends = unzip
 | 
				
			||||||
	makedepends = wasi-compiler-rt17
 | 
						makedepends = wasi-compiler-rt
 | 
				
			||||||
	makedepends = wasi-libc
 | 
						makedepends = wasi-libc
 | 
				
			||||||
	makedepends = wasi-libc++
 | 
						makedepends = wasi-libc++
 | 
				
			||||||
	makedepends = wasi-libc++abi
 | 
						makedepends = wasi-libc++abi
 | 
				
			||||||
@@ -65,22 +66,10 @@ pkgbase = firedragon
 | 
				
			|||||||
	options = !strip
 | 
						options = !strip
 | 
				
			||||||
	backup = usr/lib/firedragon/firedragon.cfg
 | 
						backup = usr/lib/firedragon/firedragon.cfg
 | 
				
			||||||
	backup = usr/lib/firedragon/distribution/policies.json
 | 
						backup = usr/lib/firedragon/distribution/policies.json
 | 
				
			||||||
	source = https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v11.16.0-1/downloads/firedragon-v11.16.0-1.source.tar.zst
 | 
						source = https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v11.17.4-1/downloads/firedragon-v11.17.4-1.source.tar.zst
 | 
				
			||||||
	source = patch-python3.12-bug1831512.patch
 | 
					 | 
				
			||||||
	source = patch-python3.12-bug1860051.patch
 | 
					 | 
				
			||||||
	source = patch-python3.12-bug1866829.patch
 | 
					 | 
				
			||||||
	source = patch-python3.12-bug1874280.patch
 | 
					 | 
				
			||||||
	source = 0036-bmo-1912663-cbindgen-0.27.0-fixes.patch
 | 
					 | 
				
			||||||
	source = rustup.sh::https://sh.rustup.rs
 | 
					 | 
				
			||||||
	source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd
 | 
						source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd
 | 
				
			||||||
	source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop
 | 
						source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop
 | 
				
			||||||
	sha256sums = 5f5e6a2cf2e6faa53f9e1a1707374941a10cfcaffb7e695c9f6cd376e6c406b1
 | 
						sha256sums = c86d77a7e6ffadb4303c04601aac886af3573cc90a82d34e59b86e941f4a94ff
 | 
				
			||||||
	sha256sums = 9516c36c145d365c3b65153d83a5b3b0dd8a319b5c30d47a390070892bd431b3
 | 
					 | 
				
			||||||
	sha256sums = 168d16a027a81c311c58f9302858244dfa5517f0a95a8d3df1abbf9b93b9d455
 | 
					 | 
				
			||||||
	sha256sums = df27ed1e0da5b192224978dc2a593a97e18e6e22062c611fc32b277500324e62
 | 
					 | 
				
			||||||
	sha256sums = cf1c69fd3338fd8f5e482f55b669160b08dfb021f2348b620f0a85dd9dee8150
 | 
					 | 
				
			||||||
	sha256sums = 2a4585f6b7060b1a73affd51f6d7b8fefbc4e5d7b760294c23d638e7b3bfcef4
 | 
					 | 
				
			||||||
	sha256sums = 32a680a84cf76014915b3f8aa44e3e40731f3af92cd45eb0fcc6264fd257c428
 | 
					 | 
				
			||||||
	sha256sums = 61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0
 | 
						sha256sums = 61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0
 | 
				
			||||||
	sha256sums = 53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560
 | 
						sha256sums = 53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,62 +0,0 @@
 | 
				
			|||||||
diff --git a/servo/components/style_traits/values.rs b/servo/components/style_traits/values.rs
 | 
					 | 
				
			||||||
--- a/servo/components/style_traits/values.rs
 | 
					 | 
				
			||||||
+++ b/servo/components/style_traits/values.rs
 | 
					 | 
				
			||||||
@@ -387,15 +387,15 @@
 | 
					 | 
				
			||||||
         mut parse_one: F,
 | 
					 | 
				
			||||||
     ) -> Result<Vec<T>, ParseError<'i, E>>
 | 
					 | 
				
			||||||
     where
 | 
					 | 
				
			||||||
         F: for<'tt> FnMut(&mut Parser<'i, 'tt>) -> Result<T, ParseError<'i, E>>,
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
-        input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
 | 
					 | 
				
			||||||
+        input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
 | 
					 | 
				
			||||||
         let mut results = vec![parse_one(input)?];
 | 
					 | 
				
			||||||
         loop {
 | 
					 | 
				
			||||||
-            input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
 | 
					 | 
				
			||||||
-            if let Ok(item) = input.try(&mut parse_one) {
 | 
					 | 
				
			||||||
+            input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
 | 
					 | 
				
			||||||
+            if let Ok(item) = input.try_parse(&mut parse_one) {
 | 
					 | 
				
			||||||
                 results.push(item);
 | 
					 | 
				
			||||||
             } else {
 | 
					 | 
				
			||||||
                 return Ok(results);
 | 
					 | 
				
			||||||
             }
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
@@ -412,18 +412,18 @@
 | 
					 | 
				
			||||||
         mut parse_one: F,
 | 
					 | 
				
			||||||
     ) -> Result<Vec<T>, ParseError<'i, E>>
 | 
					 | 
				
			||||||
     where
 | 
					 | 
				
			||||||
         F: for<'tt> FnMut(&mut Parser<'i, 'tt>) -> Result<T, ParseError<'i, E>>,
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
-        input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
 | 
					 | 
				
			||||||
+        input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
 | 
					 | 
				
			||||||
         let mut results = vec![parse_one(input)?];
 | 
					 | 
				
			||||||
         loop {
 | 
					 | 
				
			||||||
-            input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
 | 
					 | 
				
			||||||
+            input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
 | 
					 | 
				
			||||||
             let comma_location = input.current_source_location();
 | 
					 | 
				
			||||||
-            let comma = input.try(|i| i.expect_comma()).is_ok();
 | 
					 | 
				
			||||||
-            input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
 | 
					 | 
				
			||||||
-            if let Ok(item) = input.try(&mut parse_one) {
 | 
					 | 
				
			||||||
+            let comma = input.try_parse(|i| i.expect_comma()).is_ok();
 | 
					 | 
				
			||||||
+            input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
 | 
					 | 
				
			||||||
+            if let Ok(item) = input.try_parse(&mut parse_one) {
 | 
					 | 
				
			||||||
                 results.push(item);
 | 
					 | 
				
			||||||
             } else if comma {
 | 
					 | 
				
			||||||
                 return Err(comma_location.new_unexpected_token_error(Token::Comma));
 | 
					 | 
				
			||||||
             } else {
 | 
					 | 
				
			||||||
                 break;
 | 
					 | 
				
			||||||
diff --git a/servo/ports/geckolib/cbindgen.toml b/servo/ports/geckolib/cbindgen.toml
 | 
					 | 
				
			||||||
--- a/servo/ports/geckolib/cbindgen.toml
 | 
					 | 
				
			||||||
+++ b/servo/ports/geckolib/cbindgen.toml
 | 
					 | 
				
			||||||
@@ -360,11 +360,10 @@
 | 
					 | 
				
			||||||
 "gfxFontVariation" = "gfxFontVariation"
 | 
					 | 
				
			||||||
 "URLExtraData" = "URLExtraData"
 | 
					 | 
				
			||||||
 "Keyframe" = "Keyframe"
 | 
					 | 
				
			||||||
 "nsChangeHint" = "nsChangeHint"
 | 
					 | 
				
			||||||
 "ServoElementSnapshotTable" = "ServoElementSnapshotTable"
 | 
					 | 
				
			||||||
-"Keyframe" = "Keyframe"
 | 
					 | 
				
			||||||
 "ComputedKeyframeValues" = "ComputedKeyframeValues"
 | 
					 | 
				
			||||||
 "OriginFlags" = "OriginFlags"
 | 
					 | 
				
			||||||
 "ServoTraversalFlags" = "ServoTraversalFlags"
 | 
					 | 
				
			||||||
 "ServoStyleSetSizes" = "ServoStyleSetSizes"
 | 
					 | 
				
			||||||
 "BeforeFlag" = "StyleEasingBeforeFlag"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										58
									
								
								PKGBUILD
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								PKGBUILD
									
									
									
									
									
								
							@@ -8,7 +8,7 @@
 | 
				
			|||||||
# Profile with xvfb-run, if possible
 | 
					# Profile with xvfb-run, if possible
 | 
				
			||||||
: ${_build_pgo_xvfb:=false}
 | 
					: ${_build_pgo_xvfb:=false}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_pkgver=11.16.0-1
 | 
					_pkgver=11.17.4-1
 | 
				
			||||||
_pkgrel=1
 | 
					_pkgrel=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pkgname=firedragon
 | 
					pkgname=firedragon
 | 
				
			||||||
@@ -37,7 +37,7 @@ depends=(dbus
 | 
				
			|||||||
  ttf-font
 | 
					  ttf-font
 | 
				
			||||||
  zlib)
 | 
					  zlib)
 | 
				
			||||||
makedepends=(cbindgen
 | 
					makedepends=(cbindgen
 | 
				
			||||||
  clang17
 | 
					  clang
 | 
				
			||||||
  diffutils
 | 
					  diffutils
 | 
				
			||||||
  dump_syms
 | 
					  dump_syms
 | 
				
			||||||
  imagemagick
 | 
					  imagemagick
 | 
				
			||||||
@@ -45,15 +45,16 @@ makedepends=(cbindgen
 | 
				
			|||||||
  inetutils
 | 
					  inetutils
 | 
				
			||||||
  git
 | 
					  git
 | 
				
			||||||
  jack
 | 
					  jack
 | 
				
			||||||
  lld17
 | 
					  lld
 | 
				
			||||||
  llvm17
 | 
					  llvm
 | 
				
			||||||
  mesa
 | 
					  mesa
 | 
				
			||||||
  mold
 | 
					  mold
 | 
				
			||||||
  nasm
 | 
					  nasm
 | 
				
			||||||
  nodejs
 | 
					  nodejs
 | 
				
			||||||
  python
 | 
					  python
 | 
				
			||||||
 | 
					  rust
 | 
				
			||||||
  unzip
 | 
					  unzip
 | 
				
			||||||
  wasi-compiler-rt17
 | 
					  wasi-compiler-rt
 | 
				
			||||||
  wasi-libc
 | 
					  wasi-libc
 | 
				
			||||||
  wasi-libc++
 | 
					  wasi-libc++
 | 
				
			||||||
  wasi-libc++abi
 | 
					  wasi-libc++abi
 | 
				
			||||||
@@ -78,21 +79,9 @@ options=(!debug
 | 
				
			|||||||
backup=("usr/lib/${pkgname}/${pkgname}.cfg"
 | 
					backup=("usr/lib/${pkgname}/${pkgname}.cfg"
 | 
				
			||||||
  "usr/lib/${pkgname}/distribution/policies.json")
 | 
					  "usr/lib/${pkgname}/distribution/policies.json")
 | 
				
			||||||
source=(https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v${_pkgver}/downloads/firedragon-v${_pkgver}.source.tar.zst
 | 
					source=(https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v${_pkgver}/downloads/firedragon-v${_pkgver}.source.tar.zst
 | 
				
			||||||
  patch-python3.12-bug1831512.patch
 | 
					 | 
				
			||||||
  patch-python3.12-bug1860051.patch
 | 
					 | 
				
			||||||
  patch-python3.12-bug1866829.patch
 | 
					 | 
				
			||||||
  patch-python3.12-bug1874280.patch
 | 
					 | 
				
			||||||
  0036-bmo-1912663-cbindgen-0.27.0-fixes.patch
 | 
					 | 
				
			||||||
  rustup.sh::https://sh.rustup.rs
 | 
					 | 
				
			||||||
  https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd
 | 
					  https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd
 | 
				
			||||||
  https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop)
 | 
					  https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop)
 | 
				
			||||||
sha256sums=('5f5e6a2cf2e6faa53f9e1a1707374941a10cfcaffb7e695c9f6cd376e6c406b1'
 | 
					sha256sums=('c86d77a7e6ffadb4303c04601aac886af3573cc90a82d34e59b86e941f4a94ff'
 | 
				
			||||||
            '9516c36c145d365c3b65153d83a5b3b0dd8a319b5c30d47a390070892bd431b3'
 | 
					 | 
				
			||||||
            '168d16a027a81c311c58f9302858244dfa5517f0a95a8d3df1abbf9b93b9d455'
 | 
					 | 
				
			||||||
            'df27ed1e0da5b192224978dc2a593a97e18e6e22062c611fc32b277500324e62'
 | 
					 | 
				
			||||||
            'cf1c69fd3338fd8f5e482f55b669160b08dfb021f2348b620f0a85dd9dee8150'
 | 
					 | 
				
			||||||
            '2a4585f6b7060b1a73affd51f6d7b8fefbc4e5d7b760294c23d638e7b3bfcef4'
 | 
					 | 
				
			||||||
            '32a680a84cf76014915b3f8aa44e3e40731f3af92cd45eb0fcc6264fd257c428'
 | 
					 | 
				
			||||||
            '61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0'
 | 
					            '61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0'
 | 
				
			||||||
            '53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560')
 | 
					            '53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -109,31 +98,14 @@ prepare() {
 | 
				
			|||||||
  rm -rf "${srcdir}/mozbuild"
 | 
					  rm -rf "${srcdir}/mozbuild"
 | 
				
			||||||
  mkdir "${srcdir}/mozbuild"
 | 
					  mkdir "${srcdir}/mozbuild"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Install rust 1.77 in $srcdir and preprend to path
 | 
					 | 
				
			||||||
  export RUSTUP_HOME="${srcdir}/rustup"
 | 
					 | 
				
			||||||
  export CARGO_HOME="${srcdir}/cargo"
 | 
					 | 
				
			||||||
  export RUSTUP_INIT_SKIP_PATH_CHECK=yes
 | 
					 | 
				
			||||||
  sh "${srcdir}/rustup.sh" -q -y --no-modify-path --default-toolchain 1.77
 | 
					 | 
				
			||||||
  export PATH="${srcdir}/cargo/bin:$PATH"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  cd firedragon-v"${_pkgver}" || exit
 | 
					  cd firedragon-v"${_pkgver}" || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  patch -Nsp1 -i "${srcdir}/patch-python3.12-bug1831512.patch"
 | 
					 | 
				
			||||||
  patch -Nsp1 -i "${srcdir}/patch-python3.12-bug1860051.patch"
 | 
					 | 
				
			||||||
  patch -Nsp1 -i "${srcdir}/patch-python3.12-bug1866829.patch"
 | 
					 | 
				
			||||||
  patch -Nsp1 -i "${srcdir}/patch-python3.12-bug1874280.patch"
 | 
					 | 
				
			||||||
  patch -Nsp1 -i "${srcdir}/0036-bmo-1912663-cbindgen-0.27.0-fixes.patch"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  export PATH="/usr/lib/llvm17/bin:$PATH"
 | 
					 | 
				
			||||||
  export LD_LIBRARY_PATH=/usr/lib/llvm17/lib
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  cat > ../mozconfig << END
 | 
					  cat > ../mozconfig << END
 | 
				
			||||||
ac_add_options --with-app-basename=${_pkgname}
 | 
					ac_add_options --with-app-basename=${_pkgname}
 | 
				
			||||||
ac_add_options --with-app-name=${pkgname}
 | 
					ac_add_options --with-app-name=${pkgname}
 | 
				
			||||||
ac_add_options --with-branding=browser/branding/firedragon
 | 
					ac_add_options --with-branding=browser/branding/firedragon
 | 
				
			||||||
ac_add_options --with-l10n-base=${PWD@Q}/floorp/browser/locales/l10n-central
 | 
					ac_add_options --with-l10n-base=${PWD@Q}/floorp/browser/locales/l10n-central
 | 
				
			||||||
ac_add_options --enable-application=browser
 | 
					ac_add_options --enable-application=browser
 | 
				
			||||||
ac_add_options --enable-private-components
 | 
					 | 
				
			||||||
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
 | 
					mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build options
 | 
					# Build options
 | 
				
			||||||
@@ -160,7 +132,7 @@ export MOZ_APP_REMOTINGNAME=${pkgname}
 | 
				
			|||||||
export MOZ_CRASHREPORTER=
 | 
					export MOZ_CRASHREPORTER=
 | 
				
			||||||
export MOZ_DATA_REPORTING=
 | 
					export MOZ_DATA_REPORTING=
 | 
				
			||||||
export MOZ_REQUIRE_SIGNING=
 | 
					export MOZ_REQUIRE_SIGNING=
 | 
				
			||||||
export MOZ_SERVICES_HEALTHREPORT=
 | 
					mk_add_options MOZ_SERVICES_HEALTHREPORT=0
 | 
				
			||||||
export MOZ_TELEMETRY_REPORTING=
 | 
					export MOZ_TELEMETRY_REPORTING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# System libraries
 | 
					# System libraries
 | 
				
			||||||
@@ -206,11 +178,11 @@ ac_add_options OPT_LEVEL="3"
 | 
				
			|||||||
ac_add_options RUSTC_OPT_LEVEL="3"
 | 
					ac_add_options RUSTC_OPT_LEVEL="3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Other
 | 
					# Other
 | 
				
			||||||
export AR=/usr/lib/llvm17/bin/llvm-ar
 | 
					export AR=/usr/bin/llvm-ar
 | 
				
			||||||
export CC=/usr/lib/llvm17/bin/clang
 | 
					export CC=/usr/bin/clang
 | 
				
			||||||
export CXX=/usr/lib/llvm17/bin/clang++
 | 
					export CXX=/usr/bin/clang++
 | 
				
			||||||
export NM=/usr/lib/llvm17/bin/llvm-nm
 | 
					export NM=/usr/bin/llvm-nm
 | 
				
			||||||
export RANLIB=/usr/lib/llvm17/bin/llvm-ranlib
 | 
					export RANLIB=/usr/bin/llvm-ranlib
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -230,6 +202,10 @@ build() {
 | 
				
			|||||||
  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | 
					  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | 
				
			||||||
  CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | 
					  CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Breaks compilation since https://bugzilla.mozilla.org/show_bug.cgi?id=1896066
 | 
				
			||||||
 | 
					  CFLAGS="${CFLAGS/-fexceptions/}"
 | 
				
			||||||
 | 
					  CXXFLAGS="${CXXFLAGS/-fexceptions/}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # LTO needs more open files
 | 
					  # LTO needs more open files
 | 
				
			||||||
  ulimit -n 4096
 | 
					  ulimit -n 4096
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,47 +0,0 @@
 | 
				
			|||||||
Bug 1831512 [wpt PR 39861] - Remove use of deprecated imp module, a=testonly
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Automatic update from web-platform-tests
 | 
					 | 
				
			||||||
Remove use of deprecated imp module
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This was being used to load browser modules from a path specified in a
 | 
					 | 
				
			||||||
config file. That would presumably allow vendors to define an
 | 
					 | 
				
			||||||
out-of-tree browser module. But in practice vendors are defining the
 | 
					 | 
				
			||||||
browser modules in-tree (and it would be very difficult to define a
 | 
					 | 
				
			||||||
browser out of tree without suffering frequent breakage). So since imp
 | 
					 | 
				
			||||||
is deprecated just remove the entire feature.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wpt-commits: 67699587804dfd8b77b77eb528f155a42e14906b
 | 
					 | 
				
			||||||
wpt-pr: 39861
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/testing/web-platform/tests/tools/wptrunner/wptrunner/products.py b/testing/web-platform/tests/tools/wptrunner/wptrunner/products.py
 | 
					 | 
				
			||||||
--- a/testing/web-platform/tests/tools/wptrunner/wptrunner/products.py
 | 
					 | 
				
			||||||
+++ b/testing/web-platform/tests/tools/wptrunner/wptrunner/products.py
 | 
					 | 
				
			||||||
@@ -1,26 +1,19 @@
 | 
					 | 
				
			||||||
 # mypy: allow-untyped-defs
 | 
					 | 
				
			||||||
-
 | 
					 | 
				
			||||||
 import importlib
 | 
					 | 
				
			||||||
-import imp
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 from .browsers import product_list
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 def product_module(config, product):
 | 
					 | 
				
			||||||
     if product not in product_list:
 | 
					 | 
				
			||||||
         raise ValueError("Unknown product %s" % product)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    path = config.get("products", {}).get(product, None)
 | 
					 | 
				
			||||||
-    if path:
 | 
					 | 
				
			||||||
-        module = imp.load_source('wptrunner.browsers.' + product, path)
 | 
					 | 
				
			||||||
-    else:
 | 
					 | 
				
			||||||
-        module = importlib.import_module("wptrunner.browsers." + product)
 | 
					 | 
				
			||||||
-
 | 
					 | 
				
			||||||
+    module = importlib.import_module("wptrunner.browsers." + product)
 | 
					 | 
				
			||||||
     if not hasattr(module, "__wptrunner__"):
 | 
					 | 
				
			||||||
         raise ValueError("Product module does not define __wptrunner__ variable")
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     return module
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 class Product:
 | 
					 | 
				
			||||||
     def __init__(self, config, product):
 | 
					 | 
				
			||||||
@@ -1,91 +0,0 @@
 | 
				
			|||||||
Bug 1860051 - Remove use of six in mainfestupdate, r=Sasha
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Differential Revision: https://phabricator.services.mozilla.com/D191624
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/testing/web-platform/manifestupdate.py b/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
--- a/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
+++ b/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
@@ -1,24 +1,23 @@
 | 
					 | 
				
			||||||
 # 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/.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 import argparse
 | 
					 | 
				
			||||||
+import configparser
 | 
					 | 
				
			||||||
 import errno
 | 
					 | 
				
			||||||
 import hashlib
 | 
					 | 
				
			||||||
 import os
 | 
					 | 
				
			||||||
 import sys
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 import manifestdownload
 | 
					 | 
				
			||||||
-import six
 | 
					 | 
				
			||||||
 from mach.util import get_state_dir
 | 
					 | 
				
			||||||
 from mozfile import load_source
 | 
					 | 
				
			||||||
 from mozlog.structured import commandline
 | 
					 | 
				
			||||||
-from six.moves import configparser
 | 
					 | 
				
			||||||
 from wptrunner import wptcommandline
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 manifest = None
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 def do_delayed_imports(wpt_dir):
 | 
					 | 
				
			||||||
     global manifest
 | 
					 | 
				
			||||||
     load_source("localpaths", os.path.join(wpt_dir, "tests", "tools", "localpaths.py"))
 | 
					 | 
				
			||||||
@@ -108,17 +107,17 @@ def run(src_root, obj_root, logger=None,
 | 
					 | 
				
			||||||
     if not os.path.exists(config_path):
 | 
					 | 
				
			||||||
         logger.critical("Config file %s does not exist" % config_path)
 | 
					 | 
				
			||||||
         return None
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     logger.debug("Using config path %s" % config_path)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     test_paths = wptcommandline.get_test_paths(wptcommandline.config.read(config_path))
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    for paths in six.itervalues(test_paths):
 | 
					 | 
				
			||||||
+    for paths in test_paths.values():
 | 
					 | 
				
			||||||
         if "manifest_path" not in paths:
 | 
					 | 
				
			||||||
             paths["manifest_path"] = os.path.join(
 | 
					 | 
				
			||||||
                 paths["metadata_path"], "MANIFEST.json"
 | 
					 | 
				
			||||||
             )
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     ensure_manifest_directories(logger, test_paths)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     local_config = read_local_config(src_wpt_dir)
 | 
					 | 
				
			||||||
@@ -146,17 +145,17 @@ def run(src_root, obj_root, logger=None,
 | 
					 | 
				
			||||||
         rebuild=kwargs["rebuild"],
 | 
					 | 
				
			||||||
         cache_root=kwargs["cache_root"],
 | 
					 | 
				
			||||||
     )
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     return manifests
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 def ensure_manifest_directories(logger, test_paths):
 | 
					 | 
				
			||||||
-    for paths in six.itervalues(test_paths):
 | 
					 | 
				
			||||||
+    for paths in test_paths.values():
 | 
					 | 
				
			||||||
         manifest_dir = os.path.dirname(paths["manifest_path"])
 | 
					 | 
				
			||||||
         if not os.path.exists(manifest_dir):
 | 
					 | 
				
			||||||
             logger.info("Creating directory %s" % manifest_dir)
 | 
					 | 
				
			||||||
             # Even though we just checked the path doesn't exist, there's a chance
 | 
					 | 
				
			||||||
             # of race condition with another process or thread having created it in
 | 
					 | 
				
			||||||
             # between. This happens during tests.
 | 
					 | 
				
			||||||
             try:
 | 
					 | 
				
			||||||
                 os.makedirs(manifest_dir)
 | 
					 | 
				
			||||||
@@ -226,17 +225,17 @@ def load_and_update(
 | 
					 | 
				
			||||||
     test_paths,
 | 
					 | 
				
			||||||
     rebuild=False,
 | 
					 | 
				
			||||||
     config_dir=None,
 | 
					 | 
				
			||||||
     cache_root=None,
 | 
					 | 
				
			||||||
     update=True,
 | 
					 | 
				
			||||||
 ):
 | 
					 | 
				
			||||||
     rv = {}
 | 
					 | 
				
			||||||
     wptdir_hash = hashlib.sha256(os.path.abspath(wpt_dir).encode()).hexdigest()
 | 
					 | 
				
			||||||
-    for url_base, paths in six.iteritems(test_paths):
 | 
					 | 
				
			||||||
+    for url_base, paths in test_paths.items():
 | 
					 | 
				
			||||||
         manifest_path = paths["manifest_path"]
 | 
					 | 
				
			||||||
         this_cache_root = os.path.join(
 | 
					 | 
				
			||||||
             cache_root, wptdir_hash, os.path.dirname(paths["manifest_rel_path"])
 | 
					 | 
				
			||||||
         )
 | 
					 | 
				
			||||||
         m = manifest.manifest.load_and_update(
 | 
					 | 
				
			||||||
             paths["tests_path"],
 | 
					 | 
				
			||||||
             manifest_path,
 | 
					 | 
				
			||||||
             url_base,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,151 +0,0 @@
 | 
				
			|||||||
Bug 1866829 - Replace obsolete distutils reference by portable alternatives r=ahochheiden
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
distutils.dir_util.copy_tree -> shutil.copytree
 | 
					 | 
				
			||||||
distutils.spawn.find_executable -> shutil.which
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Also fix a warning about escape sequence in the process.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Differential Revision: https://phabricator.services.mozilla.com/D194781
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/testing/mozbase/mozdevice/mozdevice/adb.py b/testing/mozbase/mozdevice/mozdevice/adb.py
 | 
					 | 
				
			||||||
--- a/testing/mozbase/mozdevice/mozdevice/adb.py
 | 
					 | 
				
			||||||
+++ b/testing/mozbase/mozdevice/mozdevice/adb.py
 | 
					 | 
				
			||||||
@@ -10,17 +10,17 @@ import re
 | 
					 | 
				
			||||||
 import shlex
 | 
					 | 
				
			||||||
 import shutil
 | 
					 | 
				
			||||||
 import signal
 | 
					 | 
				
			||||||
 import subprocess
 | 
					 | 
				
			||||||
 import sys
 | 
					 | 
				
			||||||
 import tempfile
 | 
					 | 
				
			||||||
 import time
 | 
					 | 
				
			||||||
 import traceback
 | 
					 | 
				
			||||||
-from distutils import dir_util
 | 
					 | 
				
			||||||
+from shutil import copytree
 | 
					 | 
				
			||||||
 from threading import Thread
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 import six
 | 
					 | 
				
			||||||
 from six.moves import range
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 from . import version_codes
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 _TEST_ROOT = None
 | 
					 | 
				
			||||||
@@ -2978,17 +2978,17 @@ class ADBDevice(ADBCommand):
 | 
					 | 
				
			||||||
         if os.path.isfile(local) and self.is_dir(remote):
 | 
					 | 
				
			||||||
             # force push to use the correct filename in the remote directory
 | 
					 | 
				
			||||||
             remote = posixpath.join(remote, os.path.basename(local))
 | 
					 | 
				
			||||||
         elif os.path.isdir(local):
 | 
					 | 
				
			||||||
             copy_required = True
 | 
					 | 
				
			||||||
             temp_parent = tempfile.mkdtemp()
 | 
					 | 
				
			||||||
             remote_name = os.path.basename(remote)
 | 
					 | 
				
			||||||
             new_local = os.path.join(temp_parent, remote_name)
 | 
					 | 
				
			||||||
-            dir_util.copy_tree(local, new_local)
 | 
					 | 
				
			||||||
+            copytree(local, new_local)
 | 
					 | 
				
			||||||
             local = new_local
 | 
					 | 
				
			||||||
             # See do_sync_push in
 | 
					 | 
				
			||||||
             # https://android.googlesource.com/platform/system/core/+/master/adb/file_sync_client.cpp
 | 
					 | 
				
			||||||
             # Work around change in behavior in adb 1.0.36 where if
 | 
					 | 
				
			||||||
             # the remote destination directory exists, adb push will
 | 
					 | 
				
			||||||
             # copy the source directory *into* the destination
 | 
					 | 
				
			||||||
             # directory otherwise it will copy the source directory
 | 
					 | 
				
			||||||
             # *onto* the destination directory.
 | 
					 | 
				
			||||||
@@ -3131,17 +3131,17 @@ class ADBDevice(ADBCommand):
 | 
					 | 
				
			||||||
                     self.cp(remote, intermediate, recursive=True, timeout=timeout)
 | 
					 | 
				
			||||||
                     self.command_output(["pull", intermediate, local], timeout=timeout)
 | 
					 | 
				
			||||||
                 except ADBError as e:
 | 
					 | 
				
			||||||
                     self._logger.error("pull %s %s: %s" % (intermediate, local, str(e)))
 | 
					 | 
				
			||||||
                 finally:
 | 
					 | 
				
			||||||
                     self.rm(intermediate, recursive=True, force=True, timeout=timeout)
 | 
					 | 
				
			||||||
         finally:
 | 
					 | 
				
			||||||
             if copy_required:
 | 
					 | 
				
			||||||
-                dir_util.copy_tree(local, original_local)
 | 
					 | 
				
			||||||
+                copytree(local, original_local, dirs_exist_ok=True)
 | 
					 | 
				
			||||||
                 shutil.rmtree(temp_parent)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     def get_file(self, remote, offset=None, length=None, timeout=None):
 | 
					 | 
				
			||||||
         """Pull file from device and return the file's content
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         :param str remote: The path of the remote file.
 | 
					 | 
				
			||||||
         :param offset: If specified, return only content beyond this offset.
 | 
					 | 
				
			||||||
         :param length: If specified, limit content length accordingly.
 | 
					 | 
				
			||||||
diff --git a/testing/mozbase/mozdevice/mozdevice/remote_process_monitor.py b/testing/mozbase/mozdevice/mozdevice/remote_process_monitor.py
 | 
					 | 
				
			||||||
--- a/testing/mozbase/mozdevice/mozdevice/remote_process_monitor.py
 | 
					 | 
				
			||||||
+++ b/testing/mozbase/mozdevice/mozdevice/remote_process_monitor.py
 | 
					 | 
				
			||||||
@@ -130,17 +130,17 @@ class RemoteProcessMonitor:
 | 
					 | 
				
			||||||
                     if message.get("action") == "test_start":
 | 
					 | 
				
			||||||
                         self.last_test_seen = message["test"]
 | 
					 | 
				
			||||||
                     elif message.get("action") == "test_end":
 | 
					 | 
				
			||||||
                         self.last_test_seen = "{} (finished)".format(message["test"])
 | 
					 | 
				
			||||||
                     elif message.get("action") == "suite_end":
 | 
					 | 
				
			||||||
                         self.last_test_seen = "Last test finished"
 | 
					 | 
				
			||||||
                     elif message.get("action") == "log":
 | 
					 | 
				
			||||||
                         line = message["message"].strip()
 | 
					 | 
				
			||||||
-                        m = re.match(".*:\s*(\d*)", line)
 | 
					 | 
				
			||||||
+                        m = re.match(r".*:\s*(\d*)", line)
 | 
					 | 
				
			||||||
                         if m:
 | 
					 | 
				
			||||||
                             try:
 | 
					 | 
				
			||||||
                                 val = int(m.group(1))
 | 
					 | 
				
			||||||
                                 if "Passed:" in line:
 | 
					 | 
				
			||||||
                                     self.counts["pass"] += val
 | 
					 | 
				
			||||||
                                     self.last_test_seen = "Last test finished"
 | 
					 | 
				
			||||||
                                 elif "Failed:" in line:
 | 
					 | 
				
			||||||
                                     self.counts["fail"] += val
 | 
					 | 
				
			||||||
diff --git a/testing/mozbase/mozrunner/mozrunner/application.py b/testing/mozbase/mozrunner/mozrunner/application.py
 | 
					 | 
				
			||||||
--- a/testing/mozbase/mozrunner/mozrunner/application.py
 | 
					 | 
				
			||||||
+++ b/testing/mozbase/mozrunner/mozrunner/application.py
 | 
					 | 
				
			||||||
@@ -1,16 +1,16 @@
 | 
					 | 
				
			||||||
 # 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/.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 import os
 | 
					 | 
				
			||||||
 import posixpath
 | 
					 | 
				
			||||||
 from abc import ABCMeta, abstractmethod
 | 
					 | 
				
			||||||
-from distutils.spawn import find_executable
 | 
					 | 
				
			||||||
+from shutil import which
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 import six
 | 
					 | 
				
			||||||
 from mozdevice import ADBDeviceFactory
 | 
					 | 
				
			||||||
 from mozprofile import (
 | 
					 | 
				
			||||||
     ChromeProfile,
 | 
					 | 
				
			||||||
     ChromiumProfile,
 | 
					 | 
				
			||||||
     FirefoxProfile,
 | 
					 | 
				
			||||||
     Profile,
 | 
					 | 
				
			||||||
@@ -46,17 +46,17 @@ class RemoteContext(object):
 | 
					 | 
				
			||||||
     profile_class = Profile
 | 
					 | 
				
			||||||
     _bindir = None
 | 
					 | 
				
			||||||
     remote_test_root = ""
 | 
					 | 
				
			||||||
     remote_process = None
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     @property
 | 
					 | 
				
			||||||
     def bindir(self):
 | 
					 | 
				
			||||||
         if self._bindir is None:
 | 
					 | 
				
			||||||
-            paths = [find_executable("emulator")]
 | 
					 | 
				
			||||||
+            paths = [which("emulator")]
 | 
					 | 
				
			||||||
             paths = [p for p in paths if p is not None if os.path.isfile(p)]
 | 
					 | 
				
			||||||
             if not paths:
 | 
					 | 
				
			||||||
                 self._bindir = ""
 | 
					 | 
				
			||||||
             else:
 | 
					 | 
				
			||||||
                 self._bindir = os.path.dirname(paths[0])
 | 
					 | 
				
			||||||
         return self._bindir
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     @property
 | 
					 | 
				
			||||||
@@ -83,17 +83,17 @@ class RemoteContext(object):
 | 
					 | 
				
			||||||
         return self._remote_profile
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     def which(self, binary):
 | 
					 | 
				
			||||||
         paths = os.environ.get("PATH", {}).split(os.pathsep)
 | 
					 | 
				
			||||||
         if self.bindir is not None and os.path.abspath(self.bindir) not in paths:
 | 
					 | 
				
			||||||
             paths.insert(0, os.path.abspath(self.bindir))
 | 
					 | 
				
			||||||
             os.environ["PATH"] = os.pathsep.join(paths)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-        return find_executable(binary)
 | 
					 | 
				
			||||||
+        return which(binary)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     @abstractmethod
 | 
					 | 
				
			||||||
     def stop_application(self):
 | 
					 | 
				
			||||||
         """Run (device manager) command to stop application."""
 | 
					 | 
				
			||||||
         pass
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 devices = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,30 +0,0 @@
 | 
				
			|||||||
Bug 1874280 - use ConfigParser instead of SafeConfigParser for manifestupdate.py r=jgraham
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Since our minimum supported Python version is 3.7, we can unconditionally
 | 
					 | 
				
			||||||
change to ConfigParser here.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Differential Revision: https://phabricator.services.mozilla.com/D198327
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/testing/web-platform/manifestupdate.py b/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
--- a/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
+++ b/testing/web-platform/manifestupdate.py
 | 
					 | 
				
			||||||
@@ -170,17 +170,17 @@ def ensure_manifest_directories(logger, 
 | 
					 | 
				
			||||||
                     raise
 | 
					 | 
				
			||||||
         elif not os.path.isdir(manifest_dir):
 | 
					 | 
				
			||||||
             raise IOError("Manifest directory is a file")
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 def read_local_config(wpt_dir):
 | 
					 | 
				
			||||||
     src_config_path = os.path.join(wpt_dir, "wptrunner.ini")
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    parser = configparser.SafeConfigParser()
 | 
					 | 
				
			||||||
+    parser = configparser.ConfigParser()
 | 
					 | 
				
			||||||
     success = parser.read(src_config_path)
 | 
					 | 
				
			||||||
     assert src_config_path in success
 | 
					 | 
				
			||||||
     return parser
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 def generate_config(logger, repo_root, wpt_dir, dest_path, force_rewrite=False):
 | 
					 | 
				
			||||||
     """Generate the local wptrunner.ini file to use locally"""
 | 
					 | 
				
			||||||
     if not os.path.exists(dest_path):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user