[OE-core] [PATCH 00/13] Fix two regressions with RPM introduced with Pyro

Peter Kjellerstedt peter.kjellerstedt at axis.com
Fri Jun 9 19:34:22 UTC 2017


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

-- 
2.12.0



More information about the Openembedded-core mailing list