Hello community, here is the log from the commit of package meson for openSUSE:Factory checked in at 2018-10-17 08:21:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/meson (Old) and /work/SRC/openSUSE:Factory/.meson.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "meson" Wed Oct 17 08:21:41 2018 rev:36 rq:640541 version:0.47.2 Changes: -------- --- /work/SRC/openSUSE:Factory/meson/meson-testsuite.changes 2018-07-31 15:52:44.458871107 +0200 +++ /work/SRC/openSUSE:Factory/.meson.new/meson-testsuite.changes 2018-10-17 08:22:45.738792627 +0200 @@ -1,0 +2,22 @@ +Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru + +- Update to version 0.47.2: + * https://github.com/mesonbuild/meson/milestone/29?closed=1 +- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch. + +------------------------------------------------------------------- +Fri Aug 3 21:00:12 UTC 2018 - sor.alexei@meowr.ru + +- Update to version 0.47.1: + * See https://mesonbuild.com/Release-notes-for-0-47-0.html +- Remove Don-t-raise-StopIteration-in-generators-no-longer-al.patch. +- Add a new dependency for tests: + libqt5-qtbase-private-headers-devel. +- Set MESON_EXE for tests. +- Adjust meson-test-installed-bin.patch. +- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch. +- No longer test with OpenMPI: starting with this release + "-Wl,--no-undefined -Wl,--as-needed" appears in the gfortran + arguments, causing an error similiar to lp#1727474. + +------------------------------------------------------------------- meson.changes: same change Old: ---- Don-t-raise-StopIteration-in-generators-no-longer-al.patch meson-0.46.1.tar.gz meson-0.46.1.tar.gz.asc New: ---- meson-0.47.2.tar.gz meson-0.47.2.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ meson-testsuite.spec ++++++ --- /var/tmp/diff_new_pack.lphAhY/_old 2018-10-17 08:22:52.286787356 +0200 +++ /var/tmp/diff_new_pack.lphAhY/_new 2018-10-17 08:22:52.286787356 +0200 @@ -24,7 +24,7 @@ %endif %define _name mesonbuild Name: meson%{name_ext} -Version: 0.46.1 +Version: 0.47.2 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -38,13 +38,11 @@ # PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package. Patch1: meson-test-installed-bin.patch # PATCH-FIX-OPENSUSE meson-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. -Patch3: meson-suse-fix-llvm-3.8.patch +Patch2: meson-suse-fix-llvm-3.8.patch # PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). -Patch4: meson-restore-python3.4.patch +Patch3: meson-restore-python3.4.patch # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. -Patch5: meson-fix-gcc48.patch -# PATCH-FIX-UPSTREAM Don-t-raise-StopIteration-in-generators-no-longer-al.patch -- Don't raise StopIteration in generators, no longer allowed with Python 3.7. Fixes #3622 -Patch6: Don-t-raise-StopIteration-in-generators-no-longer-al.patch +Patch4: meson-fix-gcc48.patch BuildRequires: python3-base BuildArch: noarch %if %{testsuite} @@ -63,12 +61,12 @@ BuildRequires: itstool BuildRequires: libjpeg-devel BuildRequires: libpcap-devel +BuildRequires: libqt5-qtbase-private-headers-devel BuildRequires: libwmf-devel BuildRequires: llvm-devel BuildRequires: meson = %{version} BuildRequires: ncurses-devel BuildRequires: ninja -BuildRequires: openmpi-devel BuildRequires: pkgconfig BuildRequires: python3-devel >= 3.4 BuildRequires: python3-gobject @@ -132,11 +130,10 @@ %patch0 -p1 %patch1 -p1 %if 0%{?suse_version} < 1500 +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %endif -%patch6 -p1 # Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build @@ -180,18 +177,14 @@ %if %{testsuite} %check export LANG=C.UTF-8 +export MESON_EXE=%{_bindir}/meson export MESON_PRINT_TEST_OUTPUT=1 export SUSE_ASNEEDED=0 -source %{_libdir}/mpi/gcc/openmpi/bin/mpivars.sh python3 run_tests.py %endif %files -%if 0%{?suse_version} >= 1500 %license COPYING -%else -%doc COPYING -%endif %if !%{testsuite} %{_bindir}/meson %{_bindir}/mesonconf @@ -200,6 +193,9 @@ %{_bindir}/wraptool %{python3_sitelib}/%{_name}/ %{python3_sitelib}/meson-* +%dir %{_datadir}/polkit-1/ +%dir %{_datadir}/polkit-1/actions/ +%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_rpmconfigdir}/macros.d/macros.meson %{_mandir}/man1/meson.1%{?ext_man} %{_mandir}/man1/mesonconf.1%{?ext_man} ++++++ meson.spec ++++++ --- /var/tmp/diff_new_pack.lphAhY/_old 2018-10-17 08:22:52.318787330 +0200 +++ /var/tmp/diff_new_pack.lphAhY/_new 2018-10-17 08:22:52.318787330 +0200 @@ -24,7 +24,7 @@ %endif %define _name mesonbuild Name: meson%{name_ext} -Version: 0.46.1 +Version: 0.47.2 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -38,13 +38,11 @@ # PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package. Patch1: meson-test-installed-bin.patch # PATCH-FIX-OPENSUSE meson-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. -Patch3: meson-suse-fix-llvm-3.8.patch +Patch2: meson-suse-fix-llvm-3.8.patch # PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). -Patch4: meson-restore-python3.4.patch +Patch3: meson-restore-python3.4.patch # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. -Patch5: meson-fix-gcc48.patch -# PATCH-FIX-UPSTREAM Don-t-raise-StopIteration-in-generators-no-longer-al.patch -- Don't raise StopIteration in generators, no longer allowed with Python 3.7. Fixes #3622 -Patch6: Don-t-raise-StopIteration-in-generators-no-longer-al.patch +Patch4: meson-fix-gcc48.patch BuildRequires: python3-base BuildArch: noarch %if %{testsuite} @@ -63,12 +61,12 @@ BuildRequires: itstool BuildRequires: libjpeg-devel BuildRequires: libpcap-devel +BuildRequires: libqt5-qtbase-private-headers-devel BuildRequires: libwmf-devel BuildRequires: llvm-devel BuildRequires: meson = %{version} BuildRequires: ncurses-devel BuildRequires: ninja -BuildRequires: openmpi-devel BuildRequires: pkgconfig BuildRequires: python3-devel >= 3.4 BuildRequires: python3-gobject @@ -132,11 +130,10 @@ %patch0 -p1 %patch1 -p1 %if 0%{?suse_version} < 1500 +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %endif -%patch6 -p1 # Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build @@ -180,18 +177,14 @@ %if %{testsuite} %check export LANG=C.UTF-8 +export MESON_EXE=%{_bindir}/meson export MESON_PRINT_TEST_OUTPUT=1 export SUSE_ASNEEDED=0 -source %{_libdir}/mpi/gcc/openmpi/bin/mpivars.sh python3 run_tests.py %endif %files -%if 0%{?suse_version} >= 1500 %license COPYING -%else -%doc COPYING -%endif %if !%{testsuite} %{_bindir}/meson %{_bindir}/mesonconf @@ -200,6 +193,9 @@ %{_bindir}/wraptool %{python3_sitelib}/%{_name}/ %{python3_sitelib}/meson-* +%dir %{_datadir}/polkit-1/ +%dir %{_datadir}/polkit-1/actions/ +%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_rpmconfigdir}/macros.d/macros.meson %{_mandir}/man1/meson.1%{?ext_man} %{_mandir}/man1/mesonconf.1%{?ext_man} ++++++ meson-0.46.1.tar.gz -> meson-0.47.2.tar.gz ++++++ ++++ 18993 lines of diff (skipped) ++++++ meson-fix-gcc48.patch ++++++ --- /var/tmp/diff_new_pack.lphAhY/_old 2018-10-17 08:22:52.882786876 +0200 +++ /var/tmp/diff_new_pack.lphAhY/_new 2018-10-17 08:22:52.882786876 +0200 @@ -1,19 +1,51 @@ --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py -@@ -104,9 +104,11 @@ class GnuCPPCompiler(GnuCompiler, CPPCom +@@ -80,8 +80,8 @@ class ClangCPPCompiler(ClangCompiler, CP + def get_options(self): + opts = CPPCompiler.get_options(self) + opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', +- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', +- 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'], ++ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', 'c++1z', ++ 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17', 'gnu++1z'], + 'none')}) + return opts + +@@ -111,8 +111,8 @@ class ArmclangCPPCompiler(ArmclangCompil + def get_options(self): + opts = CPPCompiler.get_options(self) + opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', +- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', +- 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17'], ++ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', ++ 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17'], + 'none')}) + return opts + +@@ -137,10 +137,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom '3': default_warn_args + ['-Wextra', '-Wpedantic']} def get_options(self): -+ cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++03', 'gnu++11', 'gnu++1y'] ++ cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++11', 'gnu++1y'] + if version_compare(self.version, '>=5.0.0'): + cpp_stds += ['c++14', 'c++17', 'c++1z', 'gnu++14', 'gnu++17', 'gnu++1z'] - opts = {'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', -- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', -- 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'], -+ ['none'] + cpp_stds, - 'none'), - 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl', - 'STL debug mode', + opts = CPPCompiler.get_options(self) + opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', +- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', +- 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'], ++ ['none'] + cpp_stds, + 'none'), + 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl', + 'STL debug mode', +@@ -211,7 +213,7 @@ class IntelCPPCompiler(IntelCompiler, CP + c_stds = [] + g_stds = ['gnu++98'] + if version_compare(self.version, '>=15.0.0'): +- c_stds += ['c++11', 'c++14'] ++ c_stds += ['c++11', 'c++1y', 'c++14'] + g_stds += ['gnu++11'] + if version_compare(self.version, '>=16.0.0'): + c_stds += ['c++17'] --- a/mesonbuild/minit.py +++ b/mesonbuild/minit.py @@ -149,7 +149,7 @@ int main(int argc, char **argv) {{ ++++++ meson-restore-python3.4.patch ++++++ --- /var/tmp/diff_new_pack.lphAhY/_old 2018-10-17 08:22:52.890786870 +0200 +++ /var/tmp/diff_new_pack.lphAhY/_new 2018-10-17 08:22:52.890786870 +0200 @@ -1,15 +1,15 @@ --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py -@@ -27,7 +27,7 @@ from .. import compilers - from ..compilers import CompilerArgs +@@ -31,7 +31,7 @@ from .. import compilers + from ..compilers import CompilerArgs, CCompiler, get_macos_dylib_install_name from ..linkers import ArLinker from ..mesonlib import File, MesonException, OrderedSet -from ..mesonlib import get_compiler_for_source, has_path_sep +from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath - from .backends import CleanTrees, InstallData + from .backends import CleanTrees, InstallData, TargetInstallData from ..build import InvalidArguments -@@ -1157,8 +1157,8 @@ int dummy; +@@ -1209,8 +1209,8 @@ int dummy; # Check if the vala file is in a subdir of --basedir abs_srcbasedir = os.path.join(self.environment.get_source_dir(), target.get_subdir()) abs_vala_file = os.path.join(self.environment.get_build_dir(), vala_file) @@ -22,7 +22,7 @@ path_to_target = os.path.join(self.build_to_src, target.get_subdir()) --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py -@@ -17,7 +17,7 @@ import pickle, os, uuid +@@ -17,7 +17,7 @@ import pickle, os, uuid, shlex import sys from pathlib import PurePath from collections import OrderedDict @@ -31,7 +31,7 @@ from .mesonlib import default_libdir, default_libexecdir, default_prefix import ast import argparse -@@ -261,7 +261,7 @@ class CoreData: +@@ -300,7 +300,7 @@ class CoreData: # commonpath will always return a path in the native format, so we # must use pathlib.PurePath to do the same conversion before # comparing. @@ -42,9 +42,9 @@ 'relative path, it is assumed to be a subdir of prefix.' --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py -@@ -972,6 +972,30 @@ def detect_subprojects(spdir_name, curre - result[basename] = [trial] - return result +@@ -1069,6 +1069,30 @@ def detect_subprojects(spdir_name, curre + def get_error_location_string(fname, lineno): + return '{}:{}:'.format(fname, lineno) +def commonpath(paths): + ''' @@ -75,10 +75,10 @@ insertion. --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py -@@ -257,8 +257,8 @@ def run_script_command(args): - return cmdfunc(cmdargs) +@@ -245,8 +245,8 @@ def set_meson_command(mainfile): + mlog.log('meson_command is {!r}'.format(mesonlib.meson_command)) - def run(original_args, mainfile=None): + def run(original_args, mainfile): - if sys.version_info < (3, 5): - print('Meson works correctly only with python 3.5+.') + if sys.version_info < (3, 4): @@ -86,6 +86,94 @@ print('You have python %s.' % sys.version) print('Please update your environment') return 1 +--- a/mesonbuild/minstall.py ++++ b/mesonbuild/minstall.py +@@ -353,8 +353,8 @@ class Installer: + if shutil.which('pkexec') is not None and 'PKEXEC_UID' not in os.environ: + print('Installation failed due to insufficient permissions.') + print('Attempting to use polkit to gain elevated privileges...') +- os.execlp('pkexec', 'pkexec', sys.executable, main_file, *sys.argv[1:], +- '-C', os.getcwd()) ++ os.execvp('pkexec', ['pkexec', sys.executable, main_file] + sys.argv[1:] + ++ ['-C', os.getcwd()]) + else: + raise + +--- a/mesonbuild/mtest.py ++++ b/mesonbuild/mtest.py +@@ -115,7 +115,12 @@ def returncode_to_status(retcode): + if retcode < 0: + signum = -retcode + try: +- signame = signal.Signals(signum).name ++ if sys.version_info >= (3, 5): ++ signame = signal.Signals(signum).name ++ else: ++ try: signame = [next(n for n, i in signal.__dict__.items() ++ if i == signum)] ++ except StopIteration: raise ValueError + except ValueError: + signame = 'SIGinvalid' + return '(killed by signal %d %s)' % (signum, signame) +@@ -125,7 +130,12 @@ def returncode_to_status(retcode): + + signum = retcode - 128 + try: +- signame = signal.Signals(signum).name ++ if sys.version_info >= (3, 5): ++ signame = signal.Signals(signum).name ++ else: ++ try: signame = [next(n for n, i in signal.__dict__.items() ++ if i == signum)] ++ except StopIteration: raise ValueError + except ValueError: + signame = 'SIGinvalid' + return '(exit status %d or signal %d %s)' % (retcode, signum, signame) +--- a/run_meson_command_tests.py ++++ b/run_meson_command_tests.py +@@ -18,6 +18,7 @@ import os + import tempfile + import unittest + import subprocess ++import sys + import zipapp + from pathlib import Path + +@@ -73,13 +74,27 @@ class CommandTests(unittest.TestCase): + # If this call hangs CI will just abort. It is very hard to distinguish + # between CI issue and test bug in that case. Set timeout and fail loud + # instead. +- p = subprocess.run(command, stdout=subprocess.PIPE, +- stderr=subprocess.STDOUT, env=os.environ.copy(), +- universal_newlines=True, cwd=workdir, timeout=60 * 5) +- print(p.stdout) +- if p.returncode != 0: +- raise subprocess.CalledProcessError(p.returncode, command) +- return p.stdout ++ if sys.version_info >= (3, 5): ++ p = subprocess.run(command, stdout=subprocess.PIPE, ++ stderr=subprocess.STDOUT, env=os.environ.copy(), ++ universal_newlines=True, ++ cwd=workdir, timeout=60 * 5) ++ print(p.stdout) ++ if p.returncode != 0: ++ raise subprocess.CalledProcessError(p.returncode, command) ++ return p.stdout ++ else: ++ try: ++ po = subprocess.check_output(command, stderr=subprocess.STDOUT, ++ env=os.environ.copy(), ++ universal_newlines=True, ++ cwd=workdir, timeout=60 * 5) ++ except subprocess.CalledProcessError as e: ++ print(e.output) ++ raise subprocess.CalledProcessError(e.returncode, e.cmd) ++ else: ++ print(po) ++ return po + + def assertMesonCommandIs(self, line, cmd): + self.assertTrue(line.startswith('meson_command '), msg=line) --- a/run_unittests.py +++ b/run_unittests.py @@ -21,6 +21,7 @@ import tempfile @@ -96,9 +184,9 @@ import unittest from unittest import mock from configparser import ConfigParser -@@ -476,6 +477,24 @@ class InternalTests(unittest.TestCase): - deps.add_pub_reqs([mock]) - self.assertEqual(deps.format_reqs(deps.pub_reqs), "some_name") +@@ -689,6 +690,24 @@ class InternalTests(unittest.TestCase): + PkgConfigDependency.pkgbin_cache = {} + PkgConfigDependency.class_pkgbin = None + def test_commonpath(self): + from os.path import sep @@ -121,7 +209,7 @@ class BasePlatformTests(unittest.TestCase): def setUp(self): -@@ -556,9 +575,16 @@ class BasePlatformTests(unittest.TestCas +@@ -769,9 +788,16 @@ class BasePlatformTests(unittest.TestCas # If this call hangs CI will just abort. It is very hard to distinguish # between CI issue and test bug in that case. Set timeout and fail loud # instead. @@ -141,22 +229,46 @@ print(p.stdout) if p.returncode != 0: if 'MESON_SKIP_TEST' in p.stdout: -@@ -2940,8 +2966,13 @@ endian = 'little' - self.init(testdir) - myenv = os.environ.copy() - myenv['PKG_CONFIG_PATH'] = self.privatedir -- ro = subprocess.run(['pkg-config', '--libs', 'libsomething'], stdout=subprocess.PIPE, -- env=myenv) -+ if sys.version_info >= (3, 5): -+ ro = subprocess.run(['pkg-config', '--libs', 'libsomething'], -+ stdout=subprocess.PIPE, env=myenv) -+ else: -+ ro = subprocess.Popen(['pkg-config', '--libs', 'libsomething'], -+ stdout=subprocess.PIPE, env=myenv) -+ ro.stdout = ro.communicate()[0] - self.assertEqual(ro.returncode, 0) - self.assertIn(b'-lgobject-2.0', ro.stdout) - self.assertIn(b'-lgio-2.0', ro.stdout) +@@ -2497,17 +2523,30 @@ recommended as it is not supported on so + of = open(mfile, 'w') + of.write("project('foobar', 'c')\n") + of.close() +- pc = subprocess.run(self.setup_command, +- cwd=srcdir, +- stdout=subprocess.PIPE, +- stderr=subprocess.DEVNULL) ++ if sys.version_info >= (3, 5): ++ pc = subprocess.run(self.setup_command, ++ cwd=srcdir, ++ stdout=subprocess.PIPE, ++ stderr=subprocess.DEVNULL) ++ else: ++ pc = subprocess.Popen(self.setup_command, ++ cwd=srcdir, ++ stdout=subprocess.PIPE, ++ stderr=subprocess.DEVNULL) ++ pc.stdout = pc.communicate()[0] + self.assertIn(b'Must specify at least one directory name', pc.stdout) + with tempfile.TemporaryDirectory(dir=srcdir) as builddir: +- subprocess.run(self.setup_command, +- check=True, +- cwd=builddir, +- stdout=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL) ++ if sys.version_info >= (3, 5): ++ subprocess.run(self.setup_command, ++ check=True, ++ cwd=builddir, ++ stdout=subprocess.DEVNULL, ++ stderr=subprocess.DEVNULL) ++ else: ++ subprocess.check_call(self.setup_command, ++ cwd=builddir, ++ stdout=subprocess.DEVNULL, ++ stderr=subprocess.DEVNULL) + + class FailureTests(BasePlatformTests): + ''' --- a/setup.py +++ b/setup.py @@ -19,9 +19,9 @@ import sys @@ -197,3 +309,16 @@ + d = f.readline().split('\n')[0].strip() +with pathlib.Path(ofilename).open('w') as f: + f.write(ftempl % d) +--- "a/test cases/windows/14 test argument extra paths/test/test_run_exe.py" ++++ "b/test cases/windows/14 test argument extra paths/test/test_run_exe.py" +@@ -7,6 +7,9 @@ if __name__ == '__main__': + parser.add_argument('prog') + args = parser.parse_args() + +- res = subprocess.run(args.prog) ++ if sys.version_info >= (3, 5): ++ res = subprocess.run(args.prog) ++ else: ++ res = subprocess.call(args.prog) + + sys.exit(res.returncode - 42) ++++++ meson-test-installed-bin.patch ++++++ --- /var/tmp/diff_new_pack.lphAhY/_old 2018-10-17 08:22:52.910786854 +0200 +++ /var/tmp/diff_new_pack.lphAhY/_new 2018-10-17 08:22:52.910786854 +0200 @@ -1,22 +1,32 @@ ---- a/run_project_tests.py -+++ b/run_project_tests.py -@@ -80,7 +80,7 @@ no_meson_log_msg = 'No meson-log.txt fou +--- a/run_tests.py ++++ b/run_tests.py +@@ -54,18 +54,10 @@ def get_meson_script(): + Also used by run_unittests.py to determine what meson to run when not + running in-process (which is the default). + ''' +- # Is there a meson.py next to the mesonbuild currently in use? +- mesonbuild_dir = Path(mesonbuild.__file__).resolve().parent.parent +- meson_script = mesonbuild_dir / 'meson.py' +- if meson_script.is_file(): +- return str(meson_script) +- # Then if mesonbuild is in PYTHONPATH, meson must be in PATH +- mlog.warning('Could not find meson.py next to the mesonbuild module. ' +- 'Trying system meson...') + meson_cmd = shutil.which('meson') +- if meson_cmd: ++ if meson_cmd and os.path.isfile(meson_cmd): + return meson_cmd +- raise RuntimeError('Could not find {!r} or a meson in PATH'.format(meson_script)) ++ raise RuntimeError('Could not find a meson in PATH') - system_compiler = None - --meson_command = os.path.join(os.getcwd(), 'meson') -+meson_command = '/usr/bin/meson' - if not os.path.exists(meson_command): - meson_command += '.py' - if not os.path.exists(meson_command): ---- a/run_unittests.py -+++ b/run_unittests.py -@@ -506,7 +506,7 @@ class BasePlatformTests(unittest.TestCas - # Get the backend - # FIXME: Extract this from argv? - self.backend = getattr(Backend, os.environ.get('MESON_UNIT_TEST_BACKEND', 'ninja')) -- self.meson_mainfile = os.path.join(src_root, 'meson.py') -+ self.meson_mainfile = '/usr/bin/meson' - self.meson_args = ['--backend=' + self.backend.name] - self.meson_cross_file = None - self.meson_command = meson_command + self.meson_args + def get_backend_args_for_dir(backend, builddir): + ''' +@@ -244,7 +236,7 @@ if __name__ == '__main__': + env['COVERAGE_PROCESS_START'] = '.coveragerc' + env['PYTHONPATH'] = os.pathsep.join([td] + env.get('PYTHONPATH', [])) + if not cross: +- returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) ++ #returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) + returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env) + returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env) + else: