* [PATCH] insane.bbclass: Warning for so file version mismatch @ 2020-04-14 18:08 mwillard 2020-04-14 18:08 ` [PATCH 1/1] " Mike Willard 0 siblings, 1 reply; 3+ messages in thread From: mwillard @ 2020-04-14 18:08 UTC (permalink / raw) To: openembedded-core; +Cc: Mike Willard Adds a warning if a package produces a .so file with a version that doesn't match the package PV. This will catch issues like the one in a recent lua version where the .so file was getting the wrong version number. The following changes since commit 5d47cdf448b6cff5bb7cc5b0ba0426b8235ec478: build-appliance-image: Update to master head revision (2020-04-07 22:15:35 +0100) are available in the Git repository at: git://push.yoctoproject.org/poky-contrib mwillard/so-version-warning Mike Willard (1): insane.bbclass: Warning for so file version mismatch meta/classes/insane.bbclass | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/1] insane.bbclass: Warning for so file version mismatch 2020-04-14 18:08 [PATCH] insane.bbclass: Warning for so file version mismatch mwillard @ 2020-04-14 18:08 ` Mike Willard 2020-04-14 18:54 ` [OE-core] " Andre McCurdy 0 siblings, 1 reply; 3+ messages in thread From: Mike Willard @ 2020-04-14 18:08 UTC (permalink / raw) To: openembedded-core; +Cc: Mike Willard Adds a warning if a package produces a .so file with a version that doesn't match the package PV. Signed-off-by: Mike Willard <mwillard@izotope.com> --- meta/classes/insane.bbclass | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 478240fa57..bb7f625667 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -28,7 +28,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ pn-overrides infodir build-deps src-uri-bad \ unknown-configure-option symlink-to-sysroot multilib \ invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ - mime mime-xdg \ + mime mime-xdg so-file-version \ " ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ @@ -488,6 +488,24 @@ def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages): trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "") package_qa_add_message(messages, "symlink-to-sysroot", "Symlink %s in %s points to TMPDIR" % (trimmed, name)) +QAPATHTEST[so-file-version] = "package_qa_check_so_file_version" +def package_qa_check_so_file_version(path, name, d, elf, messages): + """ + Check for ".so" files that do not match the package version + """ + import re + + pv = d.getVar('PV') + # Search for .so file with version number following + prog = re.compile(r'.*\.so\.(\d+\.\d+\.\d+)') + matches = prog.findall(path) + if len(matches) > 0: + so_file_version = matches[0] + if so_file_version != pv: + package_qa_add_message(messages, "so-file-version", + ".so file version does not match package version:\nFile: {}\nFile version:\t{}\nPV:\t\t{}\n".format( + path, so_file_version, pv)) + # Check license variables do_populate_lic[postfuncs] += "populate_lic_qa_checksum" python populate_lic_qa_checksum() { -- 2.17.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH 1/1] insane.bbclass: Warning for so file version mismatch 2020-04-14 18:08 ` [PATCH 1/1] " Mike Willard @ 2020-04-14 18:54 ` Andre McCurdy 0 siblings, 0 replies; 3+ messages in thread From: Andre McCurdy @ 2020-04-14 18:54 UTC (permalink / raw) To: Mike Willard; +Cc: OE Core mailing list On Tue, Apr 14, 2020 at 11:08 AM Mike Willard <mwillard@izotope.com> wrote: > > Adds a warning if a package produces a .so file with a > version that doesn't match the package PV. These versions are not expected to match and it's easy to find examples where they do not, e.g. curl 7.69.1 creates libcurl.so.4.6.0. > Signed-off-by: Mike Willard <mwillard@izotope.com> > --- > meta/classes/insane.bbclass | 20 +++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass > index 478240fa57..bb7f625667 100644 > --- a/meta/classes/insane.bbclass > +++ b/meta/classes/insane.bbclass > @@ -28,7 +28,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ > pn-overrides infodir build-deps src-uri-bad \ > unknown-configure-option symlink-to-sysroot multilib \ > invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ > - mime mime-xdg \ > + mime mime-xdg so-file-version \ > " > ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ > perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ > @@ -488,6 +488,24 @@ def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages): > trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "") > package_qa_add_message(messages, "symlink-to-sysroot", "Symlink %s in %s points to TMPDIR" % (trimmed, name)) > > +QAPATHTEST[so-file-version] = "package_qa_check_so_file_version" > +def package_qa_check_so_file_version(path, name, d, elf, messages): > + """ > + Check for ".so" files that do not match the package version > + """ > + import re > + > + pv = d.getVar('PV') > + # Search for .so file with version number following > + prog = re.compile(r'.*\.so\.(\d+\.\d+\.\d+)') > + matches = prog.findall(path) > + if len(matches) > 0: > + so_file_version = matches[0] > + if so_file_version != pv: > + package_qa_add_message(messages, "so-file-version", > + ".so file version does not match package version:\nFile: {}\nFile version:\t{}\nPV:\t\t{}\n".format( > + path, so_file_version, pv)) > + > # Check license variables > do_populate_lic[postfuncs] += "populate_lic_qa_checksum" > python populate_lic_qa_checksum() { > -- > 2.17.1 > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-14 18:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-04-14 18:08 [PATCH] insane.bbclass: Warning for so file version mismatch mwillard 2020-04-14 18:08 ` [PATCH 1/1] " Mike Willard 2020-04-14 18:54 ` [OE-core] " Andre McCurdy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox