Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/elfix:master commit in: scripts/
Date: Sun, 04 Dec 2011 21:44:03
Message-Id: 6398268cd1a5949cc019711e89dd7c1d81ef29d3.blueness@gentoo
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():