commit: 1fbd7ec8a46c359c5ef98168156a91ba05cf6a6f
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 20 02:03:43 2015 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 02:03:43 2015 +0000
URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=1fbd7ec8
revdep-rebuild/analyse.py: Account for more than 5 parts to report the error
bug 586752
As suggested by Zac Medico, the %F output does have the possibility of
containing spaces, breaking a space separated output.
Change the format string to delimit on a semicolon to split it on.
Traceback:
File "/usr/lib64/python3.4/site-packages/gentoolkit/revdep_rebuild/analyse.py",
line 47, in scan_files
filename, sfilename, soname, needed, bits = parts
ValueError: too many values to unpack (expected 5)
pym/gentoolkit/revdep_rebuild/analyse.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py
b/pym/gentoolkit/revdep_rebuild/analyse.py
index 056e421..92233ab 100644
--- a/pym/gentoolkit/revdep_rebuild/analyse.py
+++ b/pym/gentoolkit/revdep_rebuild/analyse.py
@@ -31,7 +31,7 @@ def scan_files(libs_and_bins, cmd_max_args, logger,
searchbits):
'''
stime = current_milli_time()
scanned_files = {} # {bits: {soname: (filename, needed), ...}, ...}
- lines = scan(['-BF', '%F %f %S %n %M'],
+ lines = scan(['-BF', '%F;%f;%S;%n;%M'],
libs_and_bins, cmd_max_args, logger)
ftime = current_milli_time()
logger.debug("\tscan_files(); total time to get scanelf data is "
@@ -39,8 +39,8 @@ def scan_files(libs_and_bins, cmd_max_args, logger,
searchbits):
stime = current_milli_time()
count = 0
for line in lines:
- parts = line.split(' ')
- if len(parts) < 5:
+ parts = line.split(';')
+ if len(parts) != 5:
logger.error("\tscan_files(); error processing lib: %s"
% line)
logger.error("\tscan_files(); parts = %s" % str(parts))
continue
@@ -205,7 +205,7 @@ class LibCheck(object):
try:
scanned = scanned_files[bits]
except KeyError:
- self.logger.debug('There are no %s-bit
libraries'%bits)
+ self.logger.debug('There are no %s-bit
libraries'%bits)
continue
self.logger.debug(self.smsg % bits)
self.setlibs(sorted(scanned), bits)