Patchwork [RFC] insane.conf: add new libexec test

login
register
mail settings
Submitter Saul Wold
Date Sept. 13, 2012, 1:01 a.m.
Message ID <1347498112-22462-1-git-send-email-sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/36445/
State Accepted
Commit a6052d6e775553db9e5f17c649a52b923ef231bf
Headers show

Comments

Saul Wold - Sept. 13, 2012, 1:01 a.m.
This tests for /usr/libexec as we are moving things to /lib/.
the test is ignored if the distro defaults to /usr/libexec.

Currently this test will be disabled by default since the current
value of ${libexecdir} is "/usr/libexec".  Also this tests needs
to be enabled in the WARN_QA list.

[YOCTO #2915]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/classes/insane.bbclass |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
Saul Wold - Sept. 13, 2012, 1:25 a.m.
On 09/12/2012 06:01 PM, Saul Wold wrote:
> This tests for /usr/libexec as we are moving things to /lib/.
This got clobbered by the shell or something, should be ${prefix}/lib/${BPN}

> the test is ignored if the distro defaults to /usr/libexec.
>
> Currently this test will be disabled by default since the current
> value of ${libexecdir} is "/usr/libexec".  Also this tests needs
> to be enabled in the WARN_QA list.
>
> [YOCTO #2915]
>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>   meta/classes/insane.bbclass |   14 ++++++++++++++
>   1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index e74eb3f..8b2d536 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -137,6 +137,20 @@ def package_qa_handle_error(error_class, error_msg, d):
>           bb.warn("QA Issue: %s" % error_msg)
>           return True
>
> +QAPATHTEST[libexec] = "package_qa_check_libexec"
> +def package_qa_check_libexec(path,name, d, elf, messages):
> +
> +    # Skip the case where the default is explicitly /usr/libexec
> +    libexec = d.getVar('libexecdir', True)
> +    if libexec == "/usr/libexec":
> +        return True
> +
> +    if 'libexec' in path.split(os.path.sep):
> +        messages.append("%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
> +        return False
> +
> +    return True
> +
>   QAPATHTEST[rpaths] = "package_qa_check_rpath"
>   def package_qa_check_rpath(file,name, d, elf, messages):
>       """
>
Saul Wold - Sept. 13, 2012, 3:32 a.m.
On 09/12/2012 06:01 PM, Saul Wold wrote:
> This tests for /usr/libexec as we are moving things to /lib/.
> the test is ignored if the distro defaults to /usr/libexec.
>
> Currently this test will be disabled by default since the current
> value of ${libexecdir} is "/usr/libexec".  Also this tests needs
> to be enabled in the WARN_QA list.
>
An initial run of this against World showed the following packages had 
build time issues, I still need to determine runtime issues.

I set libexecdir=${prefix}/lib/${BPN} and enabled the test in WARN_QA

perf seems to hard code libexec someplace
lttng-tools (lttng-consumerd)
qemu (qemu-bridge-helper)


Not bad for the first pass

Sau!


> [YOCTO #2915]
>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>   meta/classes/insane.bbclass |   14 ++++++++++++++
>   1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index e74eb3f..8b2d536 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -137,6 +137,20 @@ def package_qa_handle_error(error_class, error_msg, d):
>           bb.warn("QA Issue: %s" % error_msg)
>           return True
>
> +QAPATHTEST[libexec] = "package_qa_check_libexec"
> +def package_qa_check_libexec(path,name, d, elf, messages):
> +
> +    # Skip the case where the default is explicitly /usr/libexec
> +    libexec = d.getVar('libexecdir', True)
> +    if libexec == "/usr/libexec":
> +        return True
> +
> +    if 'libexec' in path.split(os.path.sep):
> +        messages.append("%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
> +        return False
> +
> +    return True
> +
>   QAPATHTEST[rpaths] = "package_qa_check_rpath"
>   def package_qa_check_rpath(file,name, d, elf, messages):
>       """
>

Patch

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index e74eb3f..8b2d536 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -137,6 +137,20 @@  def package_qa_handle_error(error_class, error_msg, d):
         bb.warn("QA Issue: %s" % error_msg)
         return True
 
+QAPATHTEST[libexec] = "package_qa_check_libexec"
+def package_qa_check_libexec(path,name, d, elf, messages):
+
+    # Skip the case where the default is explicitly /usr/libexec
+    libexec = d.getVar('libexecdir', True)
+    if libexec == "/usr/libexec":
+        return True
+
+    if 'libexec' in path.split(os.path.sep):
+        messages.append("%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
+        return False
+
+    return True
+
 QAPATHTEST[rpaths] = "package_qa_check_rpath"
 def package_qa_check_rpath(file,name, d, elf, messages):
     """