1 |
commit: ade3a26d6ac1003bd221cb3611567d175de5cf8b |
2 |
Author: Slawek <lis.slawek <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Apr 27 04:21:03 2011 +0000 |
4 |
Commit: Sławek Lis <lis.slawek <AT> gmail <DOT> com> |
5 |
CommitDate: Wed Apr 27 04:21:03 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoolkit.git;a=commit;h=ade3a26d |
7 |
|
8 |
Added support for file path in -L option |
9 |
|
10 |
--- |
11 |
pym/gentoolkit/revdep_rebuild/analyse.py | 16 +++++++++++++--- |
12 |
pym/gentoolkit/revdep_rebuild/rebuild.py | 9 ++++++--- |
13 |
2 files changed, 19 insertions(+), 6 deletions(-) |
14 |
|
15 |
diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py b/pym/gentoolkit/revdep_rebuild/analyse.py |
16 |
index be696d1..d94365e 100644 |
17 |
--- a/pym/gentoolkit/revdep_rebuild/analyse.py |
18 |
+++ b/pym/gentoolkit/revdep_rebuild/analyse.py |
19 |
@@ -35,6 +35,7 @@ def prepare_checks(files_to_check, libraries, bits, cmd_max_args): |
20 |
else: |
21 |
libs.append(d) |
22 |
dependencies.append([r[0],]) |
23 |
+ |
24 |
return (libs, dependencies) |
25 |
|
26 |
|
27 |
@@ -176,6 +177,13 @@ def analyse(settings, logger, libraries=None, la_libraries=None, |
28 |
found_libs = [] |
29 |
dependencies = [] |
30 |
|
31 |
+ if _libs_to_check: |
32 |
+ nltc = [] |
33 |
+ for ltc in _libs_to_check: |
34 |
+ if os.path.isfile(ltc): |
35 |
+ ltc = scan(['-nBSF', '%S'], [ltc,], settings['CMD_MAX_ARGS'])[0].split()[0] |
36 |
+ nltc += [ltc,] |
37 |
+ _libs_to_check = nltc |
38 |
|
39 |
_bits, linkg = platform.architecture() |
40 |
if _bits.startswith('32'): |
41 |
@@ -183,13 +191,15 @@ def analyse(settings, logger, libraries=None, la_libraries=None, |
42 |
elif _bits.startswith('64'): |
43 |
bits = 64 |
44 |
|
45 |
+ import time |
46 |
+ broken = [] |
47 |
for av_bits in glob.glob('/lib[0-9]*') or ('/lib32',): |
48 |
bits = int(av_bits[4:]) |
49 |
- _libraries = scan(['-M', str(bits), '-BF', '%F'], libraries+libraries_links, settings['CMD_MAX_ARGS']) |
50 |
- #call_program(['scanelf', '-M', str(bits), '-BF', '%F',] + libraries+libraries_links).strip().split('\n') |
51 |
+ |
52 |
+ #_libraries = scan(['-M', str(bits), '-BF', '%F'], libraries+libraries_links, settings['CMD_MAX_ARGS']) |
53 |
+ _libraries = libraries+libraries_links |
54 |
|
55 |
found_libs, dependencies = prepare_checks(libs_and_bins, _libraries, bits, settings['CMD_MAX_ARGS']) |
56 |
- #print dependencies |
57 |
broken = find_broken(found_libs, _libraries, _libs_to_check) |
58 |
|
59 |
bits /= 2 |
60 |
|
61 |
diff --git a/pym/gentoolkit/revdep_rebuild/rebuild.py b/pym/gentoolkit/revdep_rebuild/rebuild.py |
62 |
index f77d98c..5385b0e 100644 |
63 |
--- a/pym/gentoolkit/revdep_rebuild/rebuild.py |
64 |
+++ b/pym/gentoolkit/revdep_rebuild/rebuild.py |
65 |
@@ -92,6 +92,9 @@ def init_logger(settings): |
66 |
def parse_options(): |
67 |
"""Parses the command line options an sets settings accordingly""" |
68 |
|
69 |
+ # @TODO: Verify: options: no-ld-path, no-order, no-progress are not appliable |
70 |
+ # for revdep-ng |
71 |
+ |
72 |
settings = DEFAULTS.copy() |
73 |
try: |
74 |
opts, args = getopt.getopt(sys.argv[1:], |
75 |
@@ -155,11 +158,11 @@ def rebuild(logger, assigned, settings): |
76 |
logger.warn(bold('\nThere is nothing to emerge. Exiting.')) |
77 |
return 0 |
78 |
|
79 |
- emerge_command = args + ' --oneshot ' + emerge_command |
80 |
+ emerge_command = emerge_command |
81 |
|
82 |
- logger.warn(yellow('\nemerge') + bold(emerge_command)) |
83 |
+ logger.warn(yellow('\nemerge') + args + ' --oneshot ' + bold(emerge_command)) |
84 |
|
85 |
- success = os.system('emerge ' + emerge_command) |
86 |
+ success = os.system('emerge ' + args + ' --oneshot ' + emerge_command) |
87 |
return success |