summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-02-10 13:08:59 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-11 11:53:44 +0000
commitb2c7cc7fe54a55706f2b0d22b5102c75db3c5f92 (patch)
treeeb93e4e213c1a1954908c6cac61a0b606aed5cc7 /meta/lib
parent12f47c23df8c109676f66d580d666a3147f3b046 (diff)
downloadpoky-b2c7cc7fe54a55706f2b0d22b5102c75db3c5f92.tar.gz
image.py, package_manager.py, rootfs.py: dump command output on error
Print the entire command output in case of errors. (From OE-Core rev: 2253c9ac2caa61dee0bd4fea04d4d77b79be7b36) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/image.py4
-rw-r--r--meta/lib/oe/package_manager.py81
-rw-r--r--meta/lib/oe/rootfs.py2
3 files changed, 44 insertions, 43 deletions
diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py
index ccc849da29..54f7c84cf7 100644
--- a/meta/lib/oe/image.py
+++ b/meta/lib/oe/image.py
@@ -13,8 +13,8 @@ def generate_image(arg):
13 try: 13 try:
14 subprocess.check_output(create_img_cmd) 14 subprocess.check_output(create_img_cmd)
15 except subprocess.CalledProcessError as e: 15 except subprocess.CalledProcessError as e:
16 return("Error: The image creation script %s returned %d!" % 16 return("Error: The image creation script '%s' returned %d:\n%s" %
17 (e.cmd, e.returncode)) 17 (e.cmd, e.returncode, e.output))
18 18
19 return None 19 return None
20 20
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 49b5ac8e75..9884c3a712 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -16,8 +16,8 @@ def create_index(arg):
16 bb.note("Executing '%s' ..." % index_cmd) 16 bb.note("Executing '%s' ..." % index_cmd)
17 subprocess.check_output(index_cmd, shell=True) 17 subprocess.check_output(index_cmd, shell=True)
18 except subprocess.CalledProcessError as e: 18 except subprocess.CalledProcessError as e:
19 return("Index creation command %s failed with return code %d!" % 19 return("Index creation command '%s' failed with return code %d:\n%s" %
20 (e.cmd, e.returncode)) 20 (e.cmd, e.returncode, e.output))
21 21
22 return None 22 return None
23 23
@@ -110,7 +110,8 @@ class PackageManager(object):
110 complementary_pkgs = subprocess.check_output(cmd) 110 complementary_pkgs = subprocess.check_output(cmd)
111 except subprocess.CalledProcessError as e: 111 except subprocess.CalledProcessError as e:
112 bb.fatal("Could not compute complementary packages list. Command " 112 bb.fatal("Could not compute complementary packages list. Command "
113 "%s returned %d!" % (' '.join(cmd), e.returncode)) 113 "'%s' returned %d:\n%s" %
114 (' '.join(cmd), e.returncode, e.output))
114 115
115 self.install(complementary_pkgs.split(), attempt_only=True) 116 self.install(complementary_pkgs.split(), attempt_only=True)
116 117
@@ -211,7 +212,7 @@ class RpmPM(PackageManager):
211 return complementary_pkgs 212 return complementary_pkgs
212 except subprocess.CalledProcessError as e: 213 except subprocess.CalledProcessError as e:
213 bb.fatal("Could not invoke smart. Command " 214 bb.fatal("Could not invoke smart. Command "
214 "%s returned %d!" % (cmd, e.returncode)) 215 "'%s' returned %d:\n%s" % (cmd, e.returncode, e.output))
215 216
216 ''' 217 '''
217 Translate the RPM/Smart format names to the OE multilib format names 218 Translate the RPM/Smart format names to the OE multilib format names
@@ -390,8 +391,8 @@ class RpmPM(PackageManager):
390 try: 391 try:
391 subprocess.check_output(cmd, shell=True) 392 subprocess.check_output(cmd, shell=True)
392 except subprocess.CalledProcessError as e: 393 except subprocess.CalledProcessError as e:
393 bb.fatal("Create rpm database failed. Command %s " 394 bb.fatal("Create rpm database failed. Command '%s' "
394 "returned %d" % (cmd, e.returncode)) 395 "returned %d:\n%s" % (cmd, e.returncode, e.output))
395 396
396 # Configure smart 397 # Configure smart
397 bb.note("configuring Smart settings") 398 bb.note("configuring Smart settings")
@@ -513,8 +514,8 @@ class RpmPM(PackageManager):
513 output = subprocess.check_output(cmd.split()) 514 output = subprocess.check_output(cmd.split())
514 bb.note(output) 515 bb.note(output)
515 except subprocess.CalledProcessError as e: 516 except subprocess.CalledProcessError as e:
516 bb.fatal("Unable to install packages. Command %s " 517 bb.fatal("Unable to install packages. Command '%s' "
517 "returned %d" % (cmd, e.returncode)) 518 "returned %d:\n%s" % (cmd, e.returncode, e.output))
518 519
519 ''' 520 '''
520 Remove pkgs with smart, the pkg name is smart/rpm format 521 Remove pkgs with smart, the pkg name is smart/rpm format
@@ -543,8 +544,8 @@ class RpmPM(PackageManager):
543 output = subprocess.check_output(cmd, shell=True) 544 output = subprocess.check_output(cmd, shell=True)
544 bb.note(output) 545 bb.note(output)
545 except subprocess.CalledProcessError as e: 546 except subprocess.CalledProcessError as e:
546 bb.note("Unable to remove packages. Command %s " 547 bb.note("Unable to remove packages. Command '%s' "
547 "returned %d" % (cmd, e.returncode)) 548 "returned %d:\n%s" % (cmd, e.returncode, e.output))
548 549
549 def upgrade(self): 550 def upgrade(self):
550 bb.note('smart upgrade') 551 bb.note('smart upgrade')
@@ -623,8 +624,8 @@ class RpmPM(PackageManager):
623 tmp_output = subprocess.check_output(cmd, shell=True).strip() 624 tmp_output = subprocess.check_output(cmd, shell=True).strip()
624 self._unlock_rpm_db() 625 self._unlock_rpm_db()
625 except subprocess.CalledProcessError as e: 626 except subprocess.CalledProcessError as e:
626 bb.fatal("Cannot get the installed packages list. Command %s " 627 bb.fatal("Cannot get the installed packages list. Command '%s' "
627 "returned %d" % (cmd, e.returncode)) 628 "returned %d:\n%s" % (cmd, e.returncode, e.output))
628 629
629 output = list() 630 output = list()
630 for line in tmp_output.split('\n'): 631 for line in tmp_output.split('\n'):
@@ -678,8 +679,8 @@ class RpmPM(PackageManager):
678 if '@' in pkg: 679 if '@' in pkg:
679 install_pkgs.append(pkg) 680 install_pkgs.append(pkg)
680 except subprocess.CalledProcessError as e: 681 except subprocess.CalledProcessError as e:
681 bb.note("Unable to dump install packages. Command %s " 682 bb.note("Unable to dump install packages. Command '%s' "
682 "returned %d" % (cmd, e.returncode)) 683 "returned %d:\n%s" % (cmd, e.returncode, e.output))
683 # Recovery rpmsys channel 684 # Recovery rpmsys channel
684 self._invoke_smart('channel --enable rpmsys') 685 self._invoke_smart('channel --enable rpmsys')
685 return install_pkgs 686 return install_pkgs
@@ -720,8 +721,8 @@ class RpmPM(PackageManager):
720 if '@' in pkg: 721 if '@' in pkg:
721 available_pkgs.append(pkg.strip()) 722 available_pkgs.append(pkg.strip())
722 except subprocess.CalledProcessError as e: 723 except subprocess.CalledProcessError as e:
723 bb.note("Unable to list all available packages. Command %s " 724 bb.note("Unable to list all available packages. Command '%s' "
724 "returned %d" % (cmd, e.returncode)) 725 "returned %d:\n%s" % (cmd, e.returncode, e.output))
725 726
726 self.fullpkglist = available_pkgs 727 self.fullpkglist = available_pkgs
727 728
@@ -753,8 +754,8 @@ class RpmPM(PackageManager):
753 os.chmod(saved_dir, 0755) 754 os.chmod(saved_dir, 0755)
754 self._unlock_rpm_db() 755 self._unlock_rpm_db()
755 except subprocess.CalledProcessError as e: 756 except subprocess.CalledProcessError as e:
756 bb.fatal("Invoke save_rpmpostinst failed. Command %s " 757 bb.fatal("Invoke save_rpmpostinst failed. Command '%s' "
757 "returned %d" % (cmd, e.returncode)) 758 "returned %d:\n%s" % (cmd, e.returncode, e.output))
758 759
759 '''Write common configuration for target usage''' 760 '''Write common configuration for target usage'''
760 def rpm_setup_smart_target_config(self): 761 def rpm_setup_smart_target_config(self):
@@ -900,8 +901,8 @@ class OpkgPM(PackageManager):
900 subprocess.check_output(cmd.split()) 901 subprocess.check_output(cmd.split())
901 except subprocess.CalledProcessError as e: 902 except subprocess.CalledProcessError as e:
902 self.deploy_dir_unlock() 903 self.deploy_dir_unlock()
903 bb.fatal("Unable to update the package index files. Command %s " 904 bb.fatal("Unable to update the package index files. Command '%s' "
904 "returned %d" % (cmd, e.returncode)) 905 "returned %d:\n%s" % (cmd, e.returncode, e.output))
905 906
906 self.deploy_dir_unlock() 907 self.deploy_dir_unlock()
907 908
@@ -924,8 +925,8 @@ class OpkgPM(PackageManager):
924 subprocess.check_output(cmd.split()) 925 subprocess.check_output(cmd.split())
925 except subprocess.CalledProcessError as e: 926 except subprocess.CalledProcessError as e:
926 (bb.fatal, bb.note)[attempt_only]("Unable to install packages. " 927 (bb.fatal, bb.note)[attempt_only]("Unable to install packages. "
927 "Command %s returned %d" % 928 "Command '%s' returned %d:\n%s" %
928 (cmd, e.returncode)) 929 (cmd, e.returncode, e.output))
929 930
930 def remove(self, pkgs, with_dependencies=True): 931 def remove(self, pkgs, with_dependencies=True):
931 if with_dependencies: 932 if with_dependencies:
@@ -938,8 +939,8 @@ class OpkgPM(PackageManager):
938 try: 939 try:
939 subprocess.check_output(cmd.split()) 940 subprocess.check_output(cmd.split())
940 except subprocess.CalledProcessError as e: 941 except subprocess.CalledProcessError as e:
941 bb.fatal("Unable to remove packages. Command %s " 942 bb.fatal("Unable to remove packages. Command '%s' "
942 "returned %d" % (e.cmd, e.returncode)) 943 "returned %d:\n%s" % (e.cmd, e.returncode, e.output))
943 944
944 def write_index(self): 945 def write_index(self):
945 arch_vars = ["ALL_MULTILIB_PACKAGE_ARCHS", 946 arch_vars = ["ALL_MULTILIB_PACKAGE_ARCHS",
@@ -1014,8 +1015,8 @@ class OpkgPM(PackageManager):
1014 try: 1015 try:
1015 output = subprocess.check_output(cmd, shell=True).strip() 1016 output = subprocess.check_output(cmd, shell=True).strip()
1016 except subprocess.CalledProcessError as e: 1017 except subprocess.CalledProcessError as e:
1017 bb.fatal("Cannot get the installed packages list. Command %s " 1018 bb.fatal("Cannot get the installed packages list. Command '%s' "
1018 "returned %d" % (cmd, e.returncode)) 1019 "returned %d:\n%s" % (cmd, e.returncode, e.output))
1019 1020
1020 if format == "file": 1021 if format == "file":
1021 tmp_output = "" 1022 tmp_output = ""
@@ -1046,8 +1047,8 @@ class OpkgPM(PackageManager):
1046 try: 1047 try:
1047 output = subprocess.check_output(pkg_info.split()).strip() 1048 output = subprocess.check_output(pkg_info.split()).strip()
1048 except subprocess.CalledProcessError as e: 1049 except subprocess.CalledProcessError as e:
1049 bb.fatal("Cannot get package info. Command %s " 1050 bb.fatal("Cannot get package info. Command '%s' "
1050 "returned %d" % (pkg_info, e.returncode)) 1051 "returned %d:\n%s" % (pkg_info, e.returncode, e.output))
1051 1052
1052 if output == "": 1053 if output == "":
1053 bb.note("Requested ignored recommendation $i is " 1054 bb.note("Requested ignored recommendation $i is "
@@ -1142,8 +1143,8 @@ class DpkgPM(PackageManager):
1142 (suffix[1].lower(), pkg_name)) 1143 (suffix[1].lower(), pkg_name))
1143 subprocess.check_output(p_full) 1144 subprocess.check_output(p_full)
1144 except subprocess.CalledProcessError as e: 1145 except subprocess.CalledProcessError as e:
1145 bb.note("%s for package %s failed with %d" % 1146 bb.note("%s for package %s failed with %d:\n%s" %
1146 (suffix[1], pkg_name, e.returncode)) 1147 (suffix[1], pkg_name, e.returncode, e.output))
1147 failed_pkgs.append(pkg_name) 1148 failed_pkgs.append(pkg_name)
1148 break 1149 break
1149 1150
@@ -1160,8 +1161,8 @@ class DpkgPM(PackageManager):
1160 try: 1161 try:
1161 subprocess.check_output(cmd.split()) 1162 subprocess.check_output(cmd.split())
1162 except subprocess.CalledProcessError as e: 1163 except subprocess.CalledProcessError as e:
1163 bb.fatal("Unable to update the package index files. Command %s " 1164 bb.fatal("Unable to update the package index files. Command '%s' "
1164 "returned %d" % (e.cmd, e.returncode)) 1165 "returned %d:\n%s" % (e.cmd, e.returncode, e.output))
1165 1166
1166 self.deploy_dir_unlock() 1167 self.deploy_dir_unlock()
1167 1168
@@ -1179,8 +1180,8 @@ class DpkgPM(PackageManager):
1179 subprocess.check_output(cmd.split()) 1180 subprocess.check_output(cmd.split())
1180 except subprocess.CalledProcessError as e: 1181 except subprocess.CalledProcessError as e:
1181 (bb.fatal, bb.note)[attempt_only]("Unable to install packages. " 1182 (bb.fatal, bb.note)[attempt_only]("Unable to install packages. "
1182 "Command %s returned %d" % 1183 "Command '%s' returned %d:\n%s" %
1183 (cmd, e.returncode)) 1184 (cmd, e.returncode, e.output))
1184 1185
1185 # rename *.dpkg-new files/dirs 1186 # rename *.dpkg-new files/dirs
1186 for root, dirs, files in os.walk(self.target_rootfs): 1187 for root, dirs, files in os.walk(self.target_rootfs):
@@ -1210,8 +1211,8 @@ class DpkgPM(PackageManager):
1210 try: 1211 try:
1211 subprocess.check_output(cmd.split()) 1212 subprocess.check_output(cmd.split())
1212 except subprocess.CalledProcessError as e: 1213 except subprocess.CalledProcessError as e:
1213 bb.fatal("Unable to remove packages. Command %s " 1214 bb.fatal("Unable to remove packages. Command '%s' "
1214 "returned %d" % (e.cmd, e.returncode)) 1215 "returned %d:\n%s" % (e.cmd, e.returncode, e.output))
1215 1216
1216 def write_index(self): 1217 def write_index(self):
1217 tmpdir = self.d.getVar('TMPDIR', True) 1218 tmpdir = self.d.getVar('TMPDIR', True)
@@ -1328,8 +1329,8 @@ class DpkgPM(PackageManager):
1328 try: 1329 try:
1329 subprocess.check_output(cmd.split()) 1330 subprocess.check_output(cmd.split())
1330 except subprocess.CalledProcessError as e: 1331 except subprocess.CalledProcessError as e:
1331 bb.fatal("Cannot fix broken dependencies. Command %s " 1332 bb.fatal("Cannot fix broken dependencies. Command '%s' "
1332 "returned %d" % (cmd, e.returncode)) 1333 "returned %d:\n%s" % (cmd, e.returncode, e.output))
1333 1334
1334 def list_installed(self, format=None): 1335 def list_installed(self, format=None):
1335 cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"), 1336 cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"),
@@ -1348,8 +1349,8 @@ class DpkgPM(PackageManager):
1348 try: 1349 try:
1349 output = subprocess.check_output(cmd).strip() 1350 output = subprocess.check_output(cmd).strip()
1350 except subprocess.CalledProcessError as e: 1351 except subprocess.CalledProcessError as e:
1351 bb.fatal("Cannot get the installed packages list. Command %s " 1352 bb.fatal("Cannot get the installed packages list. Command '%s' "
1352 "returned %d" % (' '.join(cmd), e.returncode)) 1353 "returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output))
1353 1354
1354 if format == "file": 1355 if format == "file":
1355 tmp_output = "" 1356 tmp_output = ""
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 7455a865a4..b6baf7780d 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -57,7 +57,7 @@ class Rootfs(object):
57 try: 57 try:
58 subprocess.check_output(exec_cmd) 58 subprocess.check_output(exec_cmd)
59 except subprocess.CalledProcessError as e: 59 except subprocess.CalledProcessError as e:
60 return("Command %s returned %d!" % (e.cmd, e.returncode)) 60 return("Command '%s' returned %d:\n%s" % (e.cmd, e.returncode, e.output))
61 61
62 return None 62 return None
63 63