Skip to content

Fix two regressions with RPM introduced with Pyro

Peter Kjellerstedt openembedded-core 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest13 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13package_manager.py: Generate correct RPM package names againmeta/lib/oe/package_manager.py+3 -30 replies
2/13libxml2: Make ptest run the Python tests if Python support is enabledmeta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch meta/recipes-core/libxml/libxml2_2.9.4.bb+108 -20 replies
3/13insane.bbclass: Report all file-rdeps errors, not just the firstmeta/classes/insane.bbclass+1 -10 replies
4/13insane.bbclass: Improve the handling of runtime file dependenciesmeta/classes/insane.bbclass+10 -60 replies
5/13buildhistory.bbclass: Improve the generated depends.dot filemeta/classes/buildhistory.bbclass+11 -40 replies
6/13toaster.bbclass: Simplify parsing of depends.dotmeta/classes/toaster.bbclass+13 -150 replies
7/13toaster.bbclass: Ignore some dependencies in toaster_buildhistory_dump()meta/classes/toaster.bbclass+8 -00 replies
8/13rpm: Simplify the creation of wrappers for the native toolsmeta/recipes-devtools/rpm/rpm_git.bb+19 -540 replies
9/13rpm: Create a wrapper for the native rpmdeps toolmeta/recipes-devtools/rpm/rpm_git.bb+1 -00 replies
10/13rpm: Do not require that ELF binaries are executable to be identifiablemeta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch meta/recipes-devtools/rpm/rpm_git.bb+33 -00 replies
11/13rpm: Use conditional to access %{_docdir} in macros.inmeta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch meta/recipes-devtools/rpm/rpm_git.bb+37 -02 replies
12/13rpm: Add a new option --alldeps to rpmdepsmeta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch meta/recipes-devtools/rpm/rpm_git.bb+153 -00 replies
13/13package.bbclass: Restore functionality to detect RPM dependenciesmeta/classes/package.bbclass meta/lib/oe/package.py+29 -231 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/13] Fix two regressions with RPM introduced with Pyro

Right before the release of Pyro (about a month ago), we noticed a problem with missing automatically determined runtime file dependencies after the transition to rpm4 and dnf. Unfortunately it has taken me quite a while to work out all the details, but here is the result finally.

During the search for the missing dependencies, I also stumbled on another regression where the installed-packages.txt file that is generated by buildhistory turned out to no longer contain the actual package names that were used to create the image, but rather some fictitious source RPM names... The first patch in the series addresses that.

The following patches to the libxml2 recipe, insane.bbclass, buildhistory.bbclass and toaster.bbclass prepare the stage for the changes to rpm and package.bbclass so that they will not break once the automatically generated dependencies are restored.

Then rpm is updated to make it possible to yet again access the runtime dependencies we need, and finally package.bbclass is updated to make use of them.

See the patches, especially the last one, for more in depth information on what went wrong during the transition to rpm4 and dnf, and how to solve it.

I would also like to thank Mark Hatle and Martin Jansa who set me on the right track to find the problem.

//Peter

The following changes since commit b1d5267f0e31605b346af40778da0ac1ff298b78:

README.hardware: update flashing instructions for MPC8315 (2017-06-09 17:13:45 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib pkj/rpm_regressions
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/rpm_regressions

Peter Kjellerstedt (13):
package_manager.py: Generate correct RPM package names again
libxml2: Make ptest run the Python tests if Python support is enabled insane.bbclass: Report all file-rdeps errors, not just the first insane.bbclass: Improve the handling of runtime file dependencies buildhistory.bbclass: Improve the generated depends.dot file toaster.bbclass: Simplify parsing of depends.dot toaster.bbclass: Ignore some dependencies in
toaster_buildhistory_dump()
rpm: Simplify the creation of wrappers for the native tools
rpm: Create a wrapper for the native rpmdeps tool
rpm: Do not require that ELF binaries are executable to be
identifiable
rpm: Use conditional to access %{_docdir} in macros.in
rpm: Add a new option --alldeps to rpmdeps package.bbclass: Restore functionality to detect RPM dependencies

 meta/classes/buildhistory.bbclass                  |  15 +-
 meta/classes/insane.bbclass                        |  18 ++-
 meta/classes/package.bbclass                       |   5 +-
 meta/classes/toaster.bbclass                       |  36 +++--
 meta/lib/oe/package.py                             |  47 ++++---
 meta/lib/oe/package_manager.py                     |   6 +-
 ...run-the-python-tests-if-python-is-enabled.patch |  99 ++++++++++++++
 meta/recipes-core/libxml/libxml2_2.9.4.bb          |  11 +-
 ...ire-that-ELF-binaries-are-executable-to-b.patch |  32 +++++
 ...onditional-to-access-_docdir-in-macros.in.patch |  36 +++++
 .../0013-Add-a-new-option-alldeps-to-rpmdeps.patch | 152 +++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_git.bb               |  77 ++++-------
 12 files changed, 426 insertions(+), 108 deletions(-)
 create mode 100644 meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
 create mode 100644 meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
 create mode 100644 meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
 create mode 100644 meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
Signature · 1 line
2.12.0