package_manager.py: Generate correct RPM package names again

During the transition to RPM4, the package names returned by
RpmPM.list_installed() changed from the expected names of the packages
that were installed into the image to some fictitious source RPM
names.

This restores the original functionality so that the
installed-packages.txt files produced by inheriting buildhistory yet
again contains a list of the names of the installed packages.

(From OE-Core rev: 25a36bcea4c02002d4895ba17f49ced09ae821c2)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Kjellerstedt
2017-06-09 21:34:23 +02:00
committed by Richard Purdie
parent ba0098e0d1
commit 3a9a5e85e8

View File

@@ -647,7 +647,7 @@ class RpmPM(PackageManager):
symlinks=True)
def list_installed(self):
output = self._invoke_dnf(["repoquery", "--installed", "--queryformat", "Package: %{name} %{arch} %{version} %{sourcerpm}\nDependencies:\n%{requires}\nRecommendations:\n%{recommends}\nDependenciesEndHere:\n"],
output = self._invoke_dnf(["repoquery", "--installed", "--queryformat", "Package: %{name} %{arch} %{version} %{name}-%{version}-%{release}.%{arch}.rpm\nDependencies:\n%{requires}\nRecommendations:\n%{recommends}\nDependenciesEndHere:\n"],
print_output = False)
packages = {}
current_package = None
@@ -659,8 +659,8 @@ class RpmPM(PackageManager):
current_package = package_info[0]
package_arch = package_info[1]
package_version = package_info[2]
package_srpm = package_info[3]
packages[current_package] = {"arch":package_arch, "ver":package_version, "filename":package_srpm}
package_rpm = package_info[3]
packages[current_package] = {"arch":package_arch, "ver":package_version, "filename":package_rpm}
current_deps = []
elif line.startswith("Dependencies:"):
current_state = "dependencies"