diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2016-12-23 10:59:21 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-23 12:05:22 +0000 |
commit | 2a64701acf9ba86a4e0a5c89a77f984ce1cfc427 (patch) | |
tree | 1e2b73521cde37b2e2a2592cb586bd5647048b86 /meta/lib | |
parent | 83ec24789fd2897b1fcc43e73279899b998408fa (diff) | |
download | poky-2a64701acf9ba86a4e0a5c89a77f984ce1cfc427.tar.gz |
package_manager: default to have scriptlet output captured in log
We need to have scriptlet output captured in log. If we don't do so,
some useful information from scriptlets (especially postinstall script)
would be missing. In case a script has a warning message but it does not
necessarily have to fail, the message should be captured.
Opkg has already done that. Change for rpm and dpkg so that scriptlet
output is captured and no warning message is missing.
(From OE-Core rev: 0e52e0c619e02327602d83999a61d978d3a9240e)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/package_manager.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index a02bff4caf..f92f2b3304 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
@@ -667,11 +667,11 @@ class RpmPM(PackageManager): | |||
667 | self.install_dir_path = os.path.join(self.target_rootfs, self.install_dir_name) | 667 | self.install_dir_path = os.path.join(self.target_rootfs, self.install_dir_name) |
668 | self.rpm_cmd = bb.utils.which(os.getenv('PATH'), "rpm") | 668 | self.rpm_cmd = bb.utils.which(os.getenv('PATH'), "rpm") |
669 | self.smart_cmd = bb.utils.which(os.getenv('PATH'), "smart") | 669 | self.smart_cmd = bb.utils.which(os.getenv('PATH'), "smart") |
670 | # 0 = default, only warnings | 670 | # 0 = --log-level=warning, only warnings |
671 | # 1 = --log-level=info (includes information about executing scriptlets and their output) | 671 | # 1 = --log-level=info (includes information about executing scriptlets and their output), default |
672 | # 2 = --log-level=debug | 672 | # 2 = --log-level=debug |
673 | # 3 = --log-level=debug plus dumps of scriplet content and command invocation | 673 | # 3 = --log-level=debug plus dumps of scriplet content and command invocation |
674 | self.debug_level = int(d.getVar('ROOTFS_RPM_DEBUG') or "0") | 674 | self.debug_level = int(d.getVar('ROOTFS_RPM_DEBUG') or "1") |
675 | self.smart_opt = ["--log-level=%s" % | 675 | self.smart_opt = ["--log-level=%s" % |
676 | ("warning" if self.debug_level == 0 else | 676 | ("warning" if self.debug_level == 0 else |
677 | "info" if self.debug_level == 1 else | 677 | "info" if self.debug_level == 1 else |
@@ -2026,8 +2026,9 @@ class DpkgPM(OpkgDpkgPM): | |||
2026 | try: | 2026 | try: |
2027 | bb.note("Executing %s for package: %s ..." % | 2027 | bb.note("Executing %s for package: %s ..." % |
2028 | (control_script.name.lower(), pkg_name)) | 2028 | (control_script.name.lower(), pkg_name)) |
2029 | subprocess.check_output([p_full, control_script.argument], | 2029 | output = subprocess.check_output([p_full, control_script.argument], |
2030 | stderr=subprocess.STDOUT) | 2030 | stderr=subprocess.STDOUT).decode("utf-8") |
2031 | bb.note(output) | ||
2031 | except subprocess.CalledProcessError as e: | 2032 | except subprocess.CalledProcessError as e: |
2032 | bb.note("%s for package %s failed with %d:\n%s" % | 2033 | bb.note("%s for package %s failed with %d:\n%s" % |
2033 | (control_script.name, pkg_name, e.returncode, | 2034 | (control_script.name, pkg_name, e.returncode, |