1 |
commit: 6398268cd1a5949cc019711e89dd7c1d81ef29d3 |
2 |
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Dec 4 21:43:46 2011 +0000 |
4 |
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Dec 4 21:43:46 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=6398268c |
7 |
|
8 |
scripts/revdep-pax: add exception handling when doing pax.setflags |
9 |
|
10 |
--- |
11 |
scripts/revdep-pax | 45 +++++++++++++++++++++------------------------ |
12 |
1 files changed, 21 insertions(+), 24 deletions(-) |
13 |
|
14 |
diff --git a/scripts/revdep-pax b/scripts/revdep-pax |
15 |
index 42a71fd..1fe28ab 100755 |
16 |
--- a/scripts/revdep-pax |
17 |
+++ b/scripts/revdep-pax |
18 |
@@ -114,14 +114,12 @@ def print_forward_linkings( forward_linkings, so2library_mappings, verbose ): |
19 |
missing_binaries = set(missing_binaries) |
20 |
print '\n**** Missing binaries ****\n' |
21 |
for m in missing_binaries: |
22 |
- print '\t%s' % m |
23 |
- print |
24 |
+ print '\t%s\n' % m |
25 |
|
26 |
missing_links = set(missing_links) |
27 |
print '\n**** Missing forward linkings ****\n' |
28 |
for m in missing_links: |
29 |
- print '\t%s' % m |
30 |
- print |
31 |
+ print '\t%s\n' % m |
32 |
|
33 |
|
34 |
def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, executable_only ): |
35 |
@@ -170,14 +168,12 @@ def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, exec |
36 |
missing_sonames = set(missing_sonames) |
37 |
print '\n**** Missing sonames ****\n' |
38 |
for m in missing_sonames: |
39 |
- print '\t%s' % m |
40 |
- print |
41 |
+ print '\t%s\n' % m |
42 |
|
43 |
missing_links = set(missing_links) |
44 |
print '\n**** Missing reverse linkings ****\n' |
45 |
for m in missing_links: |
46 |
- print '\t%s' % m |
47 |
- print |
48 |
+ print '\t%s\n' % m |
49 |
|
50 |
|
51 |
def run_forward(verbose): |
52 |
@@ -194,8 +190,7 @@ def run_reverse(verbose, executable_only): |
53 |
def run_binary(binary, verbose, mark): |
54 |
( linkings, mappings ) = get_ldd_linkings(binary) |
55 |
( binary_flags, binary_pax_flags ) = pax.getflags(binary) |
56 |
- print '%s (%s)' % ( binary, binary_flags ) |
57 |
- print |
58 |
+ print '%s (%s)\n' % ( binary, binary_flags ) |
59 |
|
60 |
mismatched_libraries = [] |
61 |
|
62 |
@@ -214,8 +209,7 @@ def run_binary(binary, verbose, mark): |
63 |
|
64 |
if len(mismatched_libraries) == 0: |
65 |
if not verbose: |
66 |
- print '\tNo mismatches' |
67 |
- print |
68 |
+ print '\tNo mismatches\n' |
69 |
else: |
70 |
print |
71 |
if mark: |
72 |
@@ -235,10 +229,13 @@ def run_binary(binary, verbose, mark): |
73 |
print '\t\tPlease enter y or n' |
74 |
|
75 |
if do_marking: |
76 |
- pax.setflags(library, binary_pax_flags) |
77 |
+ try: |
78 |
+ pax.setflags(library, binary_pax_flags) |
79 |
+ except: |
80 |
+ print "\n\tCould not set pax flags on %s, file is probably busy" % library |
81 |
+ print "\tShut down all processes that use it and try again" |
82 |
( library_flags, library_pax_flags ) = pax.getflags(library) |
83 |
- print '\t%s ( %s )' % ( library, library_flags ) |
84 |
- print |
85 |
+ print '\n\t\t%s ( %s )\n' % ( library, library_flags ) |
86 |
|
87 |
|
88 |
def invert_so2library_mappings( so2library_mappings ): |
89 |
@@ -264,8 +261,7 @@ def run_soname(name, verbose, use_soname, mark, executable_only): |
90 |
library = so2library_mappings[soname] |
91 |
|
92 |
( library_flags, library_pax_flags ) = pax.getflags(library) |
93 |
- print '%s\t%s (%s)' % ( soname, library, library_flags ) |
94 |
- print |
95 |
+ print '%s\t%s (%s)\n' % ( soname, library, library_flags ) |
96 |
|
97 |
mismatched_binaries = [] |
98 |
for binary in linkings: |
99 |
@@ -292,13 +288,11 @@ def run_soname(name, verbose, use_soname, mark, executable_only): |
100 |
|
101 |
if len(mismatched_binaries) == 0: |
102 |
if not verbose: |
103 |
- print '\tNo mismatches' |
104 |
- print |
105 |
+ print '\tNo mismatches\n' |
106 |
else: |
107 |
print |
108 |
if mark: |
109 |
- print '\tWill mark binaries with %s' % library_flags |
110 |
- print |
111 |
+ print '\tWill mark binaries with %s\n' % library_flags |
112 |
for binary in mismatched_binaries: |
113 |
if executable_only: |
114 |
if not os.path.dirname(binary) in shell_path: |
115 |
@@ -315,10 +309,13 @@ def run_soname(name, verbose, use_soname, mark, executable_only): |
116 |
else: |
117 |
print '\t\tPlease enter y or n' |
118 |
if do_marking: |
119 |
- pax.setflags(binary, library_pax_flags) |
120 |
+ try: |
121 |
+ pax.setflags(binary, library_pax_flags) |
122 |
+ except: |
123 |
+ print "\n\tCould not set pax flags on %s, file is probably busy" % binary |
124 |
+ print "\tShut down all processes that use it and try again" |
125 |
( binary_flags, binary_pax_flags ) = pax.getflags(binary) |
126 |
- print '\t%s ( %s )' % ( binary, binary_flags ) |
127 |
- print |
128 |
+ print '\n\t\t%s ( %s )\n' % ( binary, binary_flags ) |
129 |
|
130 |
|
131 |
def run_usage(): |