Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCHv2 1/2] meson: Split validate-cpu.patch in three
Date: Tue, 14 Aug 2018 21:06:23 +0200	[thread overview]
Message-ID: <20180814190624.7261-1-pkj@axis.com> (raw)

This makes it more suitable to work with, e.g., devtool. It also
prepares for the update to 0.47.0 when the first patch will no longer be
needed (as it is a backport).

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
Patch v2: Rebased on current master due to conflicts.

 meta/recipes-devtools/meson/meson.inc              |  4 +-
 ...u.patch => 0001-Validate-cpu_family-3753.patch} | 80 ++++++++++------------
 .../0002-Make-CPU-family-warnings-fatal.patch      | 36 ++++++++++
 ...r-to-our-wiki-instead-of-Meson-bug-system.patch | 40 +++++++++++
 4 files changed, 115 insertions(+), 45 deletions(-)
 rename meta/recipes-devtools/meson/meson/{validate-cpu.patch => 0001-Validate-cpu_family-3753.patch} (55%)
 create mode 100644 meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
 create mode 100644 meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch

diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index a650469e93..c9e1e051c6 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -11,7 +11,9 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://0003-native_bindir.patch \
            file://0004-Prettifying-some-output-with-pathlib.patch \
            file://0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch \
-           file://validate-cpu.patch \
+           file://0001-Validate-cpu_family-3753.patch \
+           file://0002-Make-CPU-family-warnings-fatal.patch \
+           file://0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch \
            file://0001-mesonbuild-Recognise-risc-v-architecture.patch \
            "
 
diff --git a/meta/recipes-devtools/meson/meson/validate-cpu.patch b/meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
similarity index 55%
rename from meta/recipes-devtools/meson/meson/validate-cpu.patch
rename to meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
index e7dad00d47..6b0d0ca588 100644
--- a/meta/recipes-devtools/meson/meson/validate-cpu.patch
+++ b/meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
@@ -1,13 +1,7 @@
-Validate the passed CPU family (US: backport) and turn the upstream warning to
-an error (US: inappropriate).
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 456f7ea48503731d50a2b7287a0f198b73b4fe61 Mon Sep 17 00:00:00 2001
+From 12fe95b1943eb832a54ba09274fa02c60d04f6b0 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross@burtonini.com>
 Date: Wed, 20 Jun 2018 13:45:44 +0100
-Subject: [PATCH 1/2] Validate cpu_family (#3753)
+Subject: [PATCH 1/3] Validate cpu_family (#3753)
 
 * environment: validate cpu_family in cross file
 
@@ -25,12 +19,16 @@ $ python3
 import platform; platform.machine()
 
 Partial fix for #3751
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
 ---
  mesonbuild/environment.py | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
+ run_unittests.py          | 18 ++++++++++++++++++
+ 2 files changed, 42 insertions(+)
 
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 6920b8d6..091d92dc 100644
+index d02a837..678d009 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
 @@ -72,6 +72,22 @@ from .compilers import (
@@ -78,41 +76,35 @@ index 6920b8d6..091d92dc 100644
                  if self.ok_type(res):
                      self.config[s][entry] = res
                  elif isinstance(res, list):
--- 
-2.11.0
-
-
-From 202e0199d3ffd2637f4dbee08f8351520f7dde3b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 3 Jul 2018 13:59:09 +0100
-Subject: [PATCH 2/2] Make CPU family warnings fatal
-
----
- mesonbuild/environment.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 091d92dc..67177c1f 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -228,7 +228,7 @@ def detect_cpu_family(compilers):
-     # Add fixes here as bugs are reported.
- 
-     if trial not in known_cpu_families:
--        mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
-+        raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
+diff --git a/run_unittests.py b/run_unittests.py
+index 3c215db..7185008 100755
+--- a/run_unittests.py
++++ b/run_unittests.py
+@@ -2065,6 +2065,24 @@ recommended as it can lead to undefined behaviour on some platforms''')
+         self.wipe()
  
-     return trial
- 
-@@ -1043,7 +1043,7 @@ class CrossBuildInfo:
-                     raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
  
-                 if entry == 'cpu_family' and res not in known_cpu_families:
--                    mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
-+                    raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % value)
- 
-                 if self.ok_type(res):
-                     self.config[s][entry] = res
++    @unittest.skipIf(not os.path.isdir('docs'), 'Doc dir not found, presumably because this is a tarball release.')
++    def test_cpu_families_documented(self):
++        with open("docs/markdown/Reference-tables.md") as f:
++            md = f.read()
++        self.assertIsNotNone(md)
++
++        sections = list(re.finditer(r"^## (.+)$", md, re.MULTILINE))
++        for s1, s2 in zip(sections[::2], sections[1::2]):
++            if s1.group(1) == "CPU families":
++                # Extract the content for this section
++                content = md[s1.end():s2.start()]
++                # Find the list entries
++                arches = [m.group(1) for m in re.finditer(r"^\| (\w+) +\|", content, re.MULTILINE)]
++                # Drop the header
++                arches = set(arches[1:])
++                self.assertEqual(arches, set(mesonbuild.environment.known_cpu_families))
++
++
+ class FailureTests(BasePlatformTests):
+     '''
+     Tests that test failure conditions. Build files here should be dynamically
 -- 
-2.11.0
+2.12.0
 
diff --git a/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
new file mode 100644
index 0000000000..3b377351a2
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
@@ -0,0 +1,36 @@
+From 9681c5bdea6a67abf014d94a392ef42eea7df0cd Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 3 Jul 2018 13:59:09 +0100
+Subject: [PATCH 2/3] Make CPU family warnings fatal
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ mesonbuild/environment.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 678d009..8b32892 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -228,7 +228,7 @@ def detect_cpu_family(compilers):
+     # Add fixes here as bugs are reported.
+ 
+     if trial not in known_cpu_families:
+-        mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
++        raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
+ 
+     return trial
+ 
+@@ -1043,7 +1043,7 @@ class CrossBuildInfo:
+                     raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
+ 
+                 if entry == 'cpu_family' and res not in known_cpu_families:
+-                    mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
++                    raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
+ 
+                 if self.ok_type(res):
+                     self.config[s][entry] = res
+-- 
+2.12.0
+
diff --git a/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch b/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch
new file mode 100644
index 0000000000..8f4603e767
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch
@@ -0,0 +1,40 @@
+From 62f4702a1d5076d0c225f899fe65cd3badfdd022 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Fri, 6 Jul 2018 15:51:15 +0100
+Subject: [PATCH 3/3] Send user to our wiki instead of Meson bug system
+
+If a CPU family isn't recognised the first step should be to verify the
+mapping. Send the user to a wiki page explaining what to do, instead of
+directly to the Meson bug tracker.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ mesonbuild/environment.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 8b32892..a0580a2 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -228,7 +228,7 @@ def detect_cpu_family(compilers):
+     # Add fixes here as bugs are reported.
+ 
+     if trial not in known_cpu_families:
+-        raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
++        raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
+ 
+     return trial
+ 
+@@ -1043,7 +1043,7 @@ class CrossBuildInfo:
+                     raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
+ 
+                 if entry == 'cpu_family' and res not in known_cpu_families:
+-                    raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
++                    raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % value)
+ 
+                 if self.ok_type(res):
+                     self.config[s][entry] = res
+-- 
+2.12.0
+
-- 
2.12.0



             reply	other threads:[~2018-08-14 19:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-14 19:06 Peter Kjellerstedt [this message]
2018-08-14 19:06 ` [PATCHv2 2/2] meson: Support building allarch recipes again Peter Kjellerstedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180814190624.7261-1-pkj@axis.com \
    --to=peter.kjellerstedt@axis.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox