public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-04 21:50 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-04 21:50 UTC (permalink / raw
  To: gentoo-commits

commit:     69f42c987748e0dd0a979be5503554b6b00c3d27
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  4 21:43:46 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Dec  4 21:49:56 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=69f42c98

scripts/revdep-pax: add exception handling when doing pax.setflags

---
 scripts/revdep-pax |   45 +++++++++++++++++++++------------------------
 1 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index 42a71fd..1fe28ab 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -114,14 +114,12 @@ def print_forward_linkings( forward_linkings, so2library_mappings, verbose ):
 	missing_binaries = set(missing_binaries)
 	print '\n**** Missing binaries ****\n'
 	for m in missing_binaries:
-		print '\t%s' % m
-	print
+		print '\t%s\n' % m
 
 	missing_links = set(missing_links)
 	print '\n**** Missing forward linkings ****\n'
 	for m in missing_links:
-		print '\t%s' % m
-	print
+		print '\t%s\n' % m
 
 
 def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, executable_only ):
@@ -170,14 +168,12 @@ def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, exec
 	missing_sonames = set(missing_sonames)
 	print '\n**** Missing sonames ****\n'
 	for m in missing_sonames:
-		print '\t%s' % m
-	print
+		print '\t%s\n' % m
 
 	missing_links = set(missing_links)
 	print '\n**** Missing reverse linkings ****\n'
 	for m in missing_links:
-		print '\t%s' % m
-	print
+		print '\t%s\n' % m
 
 
 def run_forward(verbose):
@@ -194,8 +190,7 @@ def run_reverse(verbose, executable_only):
 def run_binary(binary, verbose, mark):
 	( linkings, mappings ) = get_ldd_linkings(binary)
 	( binary_flags, binary_pax_flags ) = pax.getflags(binary)
-	print '%s (%s)' % ( binary, binary_flags )
-	print
+	print '%s (%s)\n' % ( binary, binary_flags )
 
 	mismatched_libraries = []
 
@@ -214,8 +209,7 @@ def run_binary(binary, verbose, mark):
 
 	if len(mismatched_libraries) == 0:
 		if not verbose:
-			print '\tNo mismatches'
-		print
+			print '\tNo mismatches\n'
 	else:
 		print
 		if mark:
@@ -235,10 +229,13 @@ def run_binary(binary, verbose, mark):
 						print '\t\tPlease enter y or n'
 
 				if do_marking:
-					pax.setflags(library, binary_pax_flags)
+					try:
+						pax.setflags(library, binary_pax_flags)
+					except:
+						print "\n\tCould not set pax flags on %s, file is probably busy" % library
+						print "\tShut down all processes that use it and try again"
 					( library_flags, library_pax_flags ) = pax.getflags(library)
-					print '\t%s ( %s )' % ( library, library_flags )
-					print
+					print '\n\t\t%s ( %s )\n' % ( library, library_flags )
 
 
 def invert_so2library_mappings( so2library_mappings ):
@@ -264,8 +261,7 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 	library = so2library_mappings[soname]
 
 	( library_flags, library_pax_flags ) = pax.getflags(library)
-	print '%s\t%s (%s)' % ( soname, library, library_flags )
-	print
+	print '%s\t%s (%s)\n' % ( soname, library, library_flags )
 
 	mismatched_binaries = []
 	for binary in linkings:
@@ -292,13 +288,11 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 
 	if len(mismatched_binaries) == 0:
 		if not verbose:
-			print '\tNo mismatches'
-		print
+			print '\tNo mismatches\n'
 	else:
 		print
 		if mark:
-			print '\tWill mark binaries with %s' % library_flags
-			print
+			print '\tWill mark binaries with %s\n' % library_flags
 			for binary in mismatched_binaries:
 				if executable_only:
 					if not os.path.dirname(binary) in shell_path:
@@ -315,10 +309,13 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 					else:
 						print '\t\tPlease enter y or n'
 				if do_marking:
-					pax.setflags(binary, library_pax_flags)
+					try:
+						pax.setflags(binary, library_pax_flags)
+					except:
+						print "\n\tCould not set pax flags on %s, file is probably busy" % binary
+						print "\tShut down all processes that use it and try again"
 					( binary_flags, binary_pax_flags ) = pax.getflags(binary)
-					print '\t%s ( %s )' % ( binary, binary_flags )
-					print
+					print '\n\t\t%s ( %s )\n' % ( binary, binary_flags )
 
 
 def run_usage():



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  0:57 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  0:57 UTC (permalink / raw
  To: gentoo-commits

commit:     2e53a653ff63fc9e4acd82e9581915c811f6e562
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 26 20:11:06 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:57:04 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=2e53a653

scripts/revdep-pax: die elegantly if binary/library/soname is not found

---
 scripts/revdep-pax |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index 1fe28ab..3d8e213 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -400,12 +400,21 @@ def main():
 	elif do_reverse:
 		run_reverse(verbose, executable_only)
 	elif binary != None:
-		run_binary(binary, verbose, mark)
+		try:
+			run_binary(binary, verbose, mark)
+		except:
+			print 'Please check that %s exists!' % binary
 	elif soname != None:
-		run_soname(soname, verbose, True, mark, executable_only)
+		try:
+			run_soname(soname, verbose, True, mark, executable_only)
+		except:
+			print 'Please check that %s exists!' % soname
 	elif library != None:
-		library = os.path.realpath(library)
-		run_soname(library, verbose, False, mark, executable_only)
+		try:
+			library = os.path.realpath(library)
+			run_soname(library, verbose, False, mark, executable_only)
+		except:
+			print 'Please check that %s exists!' % library
 
 if __name__ == '__main__':
     main()



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  1:00 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     417fd4081462912c5549f10f6760ea601310dee1
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 28 15:31:22 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:58:12 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=417fd408

scripts/revdep-pax: cleaned up namespace

---
 scripts/revdep-pax |   74 ++++++++++++++++++++++++++--------------------------
 1 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index a4e9396..de1fb66 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -82,8 +82,8 @@ def print_forward_linkings( forward_linkings, so2library_mappings, verbose ):
 	for binary in forward_linkings:
 
 		try:
-			( binary_flags, binary_pax_flags ) = pax.getflags(binary)
-			sv = '%s ( %s )\n' % ( binary, binary_flags )
+			( binary_str_flags, binary_bin_flags ) = pax.getflags(binary)
+			sv = '%s ( %s )\n' % ( binary, binary_str_flags )
 			s = sv
 		except:
 			missing_binaries.append(binary)
@@ -93,10 +93,10 @@ def print_forward_linkings( forward_linkings, so2library_mappings, verbose ):
 		for soname in forward_linkings[binary]:
 			try:
 				library = so2library_mappings[soname]
-				( library_flags, library_pax_flags ) = pax.getflags(library)
-				sv = '%s\n\t%s\t%s ( %s )' % ( sv, soname, library, library_flags )
-				if binary_flags != library_flags:
-					s = '%s\n\t%s\t%s ( %s )' % ( s, soname, library, library_flags )
+				( library_str_flags, library_bin_flags ) = pax.getflags(library)
+				sv = '%s\n\t%s\t%s ( %s )' % ( sv, soname, library, library_str_flags )
+				if binary_str_flags != library_str_flags:
+					s = '%s\n\t%s\t%s ( %s )' % ( s, soname, library, library_str_flags )
 					count = count + 1
 			except:
 				missing_links.append(soname)
@@ -130,8 +130,8 @@ def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, exec
 	for soname in reverse_linkings:
 		try:
 			library = so2library_mappings[soname]
-			( library_flags, library_pax_flags ) = pax.getflags(library)
-			sv = '%s\t%s ( %s )\n' % ( soname, library, library_flags )
+			( library_str_flags, library_bin_flags ) = pax.getflags(library)
+			sv = '%s\t%s ( %s )\n' % ( soname, library, library_str_flags )
 			s = sv
 		except:
 			missing_sonames.append(soname)
@@ -140,17 +140,17 @@ def print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, exec
 		count = 0
 		for binary in reverse_linkings[soname]:
 			try:
-				( binary_flags, binary_pax_flags ) = pax.getflags(binary)
+				( binary_str_flags, binary_bin_flags ) = pax.getflags(binary)
 				if executable_only:
 					if os.path.dirname(binary) in shell_path:	
-						sv = '%s\n\t%s ( %s )' % ( sv, binary, binary_flags )
-						if library_flags != binary_flags:
-							s = '%s\n\t%s ( %s )' % ( s, binary, binary_flags )
+						sv = '%s\n\t%s ( %s )' % ( sv, binary, binary_str_flags )
+						if library_str_flags != binary_str_flags:
+							s = '%s\n\t%s ( %s )' % ( s, binary, binary_str_flags )
 							count = count + 1
 				else:
-					sv = '%s\n\t%s ( %s )' % ( sv, binary, binary_flags )
-					if library_flags != binary_flags:
-						s = '%s\n\t%s ( %s )' % ( s, binary, binary_flags )
+					sv = '%s\n\t%s ( %s )' % ( sv, binary, binary_str_flags )
+					if library_str_flags != binary_str_flags:
+						s = '%s\n\t%s ( %s )' % ( s, binary, binary_str_flags )
 						count = count + 1
 			except:
 				missing_links.append(binary)
@@ -205,21 +205,21 @@ def migrate_flags(elf, pax_flags)
 
 def run_binary(binary, verbose, mark):
 	( linkings, mappings ) = get_ldd_linkings(binary)
-	( binary_flags, binary_pax_flags ) = pax.getflags(binary)
-	print '%s (%s)\n' % ( binary, binary_flags )
+	( binary_str_flags, binary_bin_flags ) = pax.getflags(binary)
+	print '%s (%s)\n' % ( binary, binary_str_flags )
 
 	mismatched_libraries = []
 
 	for soname in linkings:
 		try:
 			library = mappings[soname]
-			( library_flags, library_pax_flags ) = pax.getflags(library)
+			( library_str_flags, library_bin_flags ) = pax.getflags(library)
 			if verbose:
-				print '\t%s\t%s ( %s )' % ( soname, library, library_flags )
-			if binary_flags != library_flags:
+				print '\t%s\t%s ( %s )' % ( soname, library, library_str_flags )
+			if binary_str_flags != library_str_flags:
 				mismatched_libraries.append(library)
 				if not verbose:
-					print '\t%s\t%s ( %s )' % ( soname, library, library_flags )
+					print '\t%s\t%s ( %s )' % ( soname, library, library_str_flags )
 		except:
 			print 'file for soname %s not found' % soname
 
@@ -229,7 +229,7 @@ def run_binary(binary, verbose, mark):
 	else:
 		print
 		if mark:
-			print '\tWill mark libraries with %s' % binary_flags
+			print '\tWill mark libraries with %s' % binary_str_flags
 			print
 			for library in mismatched_libraries:
 				do_marking = False
@@ -246,12 +246,12 @@ def run_binary(binary, verbose, mark):
 
 				if do_marking:
 					try:
-						migrate_flags(library, binary_pax_flags)
+						migrate_flags(library, binary_bin_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % library
 						print "\tShut down all processes that use it and try again"
-					( library_flags, library_pax_flags ) = pax.getflags(library)
-					print '\n\t\t%s ( %s )\n' % ( library, library_flags )
+					( library_str_flags, library_bin_flags ) = pax.getflags(library)
+					print '\n\t\t%s ( %s )\n' % ( library, library_str_flags )
 
 
 def invert_so2library_mappings( so2library_mappings ):
@@ -276,29 +276,29 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 	linkings = reverse_linkings[soname]
 	library = so2library_mappings[soname]
 
-	( library_flags, library_pax_flags ) = pax.getflags(library)
-	print '%s\t%s (%s)\n' % ( soname, library, library_flags )
+	( library_str_flags, library_bin_flags ) = pax.getflags(library)
+	print '%s\t%s (%s)\n' % ( soname, library, library_str_flags )
 
 	mismatched_binaries = []
 	for binary in linkings:
 		try:
-			( binary_flags, binary_pax_flags ) = pax.getflags(binary)
+			( binary_str_flags, binary_bin_flags ) = pax.getflags(binary)
 			if verbose:
 				if executable_only:
 					if os.path.dirname(binary) in shell_path:	
-						print '\t%s ( %s )' % ( binary, binary_flags )
+						print '\t%s ( %s )' % ( binary, binary_str_flags )
 				else:
-					print '\t%s ( %s )' % ( binary, binary_flags )
-			if library_flags != binary_flags:
+					print '\t%s ( %s )' % ( binary, binary_str_flags )
+			if library_str_flags != binary_str_flags:
 				if executable_only:
 					if os.path.dirname(binary) in shell_path:	
 						mismatched_binaries.append(binary)
 						if not verbose:
-							print '\t%s ( %s )' % ( binary, binary_flags )
+							print '\t%s ( %s )' % ( binary, binary_str_flags )
 				else:
 					mismatched_binaries.append(binary)
 					if not verbose:
-						print '\t%s ( %s )' % ( binary, binary_flags )
+						print '\t%s ( %s )' % ( binary, binary_str_flags )
 		except:
 			print 'cannot obtain pax flags for %s' % binary
 
@@ -308,7 +308,7 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 	else:
 		print
 		if mark:
-			print '\tWill mark binaries with %s\n' % library_flags
+			print '\tWill mark binaries with %s\n' % library_str_flags
 			for binary in mismatched_binaries:
 				if executable_only:
 					if not os.path.dirname(binary) in shell_path:
@@ -326,12 +326,12 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 						print '\t\tPlease enter y or n'
 				if do_marking:
 					try:
-						migrate_flags(binary, library_pax_flags)
+						migrate_flags(binary, library_bin_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % binary
 						print "\tShut down all processes that use it and try again"
-					( binary_flags, binary_pax_flags ) = pax.getflags(binary)
-					print '\n\t\t%s ( %s )\n' % ( binary, binary_flags )
+					( binary_str_flags, binary_bin_flags ) = pax.getflags(binary)
+					print '\n\t\t%s ( %s )\n' % ( binary, binary_str_flags )
 
 
 def run_usage():



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  1:00 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     7a66e8beb9c31896aa3596aed741e4eada2966de
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 28 15:39:08 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:58:25 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=7a66e8be

scripts/revdep-pax: fix missing colon

---
 scripts/revdep-pax |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index de1fb66..e2073da 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -187,7 +187,7 @@ def run_reverse(verbose, executable_only):
 	print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, executable_only)
 
 
-def migrate_flags(elf, pax_flags)
+def migrate_flags(elf, pax_flags):
 	"""
 	Importer	Exporter	Result
 	Force On	Force On	Force On



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  1:00 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     5d63784b7d6348ccf041ef18b2340936a7924d18
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 28 16:37:17 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:58:33 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=5d63784b

scripts/revdep-pax: warn only for complex markings

---
 scripts/revdep-pax |   57 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index e2073da..be6a387 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -187,20 +187,45 @@ def run_reverse(verbose, executable_only):
 	print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, executable_only)
 
 
-def migrate_flags(elf, pax_flags):
-	"""
-	Importer	Exporter	Result
-	Force On	Force On	Force On
-	Force On	Force Off	Warn Only
-	Force On	Nothing		Force On
-	Force Off	Force On	Warn Only
-	Force Off	Force Off	Force Off
-	Force Off	Nothing		Force Off
-	Nothing		Force On	Force On
-	Nothing		Force Off	Force Off
-	Nothing		Nothing		Nothing
-	"""
-	pax.setflags(elf, pax_flags)
+def migrate_flags(importer, exporter_str_flags, exporter_bin_flags):
+	# We implement the following logic for setting the pax flags
+	# on the target elf object, the 'importer', given that the
+	# flags from the elf object we want it to match to, the exporter.
+	#
+	#	Importer	Exporter	Result
+	#	Force On	Force On	Force On
+	#	Force On	Force Off	Force On + Warn
+	#	Force On	Nothing		Force On
+	#	Force Off	Force On	Force Off + Warn
+	#	Force Off	Force Off	Force Off
+	#	Force Off	Nothing		Force Off
+	#	Nothing		Force On	Force On
+	#	Nothing		Force Off	Force Off
+	#	Nothing		Nothing		Nothing
+	#
+	# The algorithm proceeds by assuming the resulting flags = the exporter
+	# flags and then changes them in cases where that's not what we want, ie
+	#
+	#	Force On        Force Off       Force On + Warn
+	#	Force On        Nothing         Force On
+	#	Force Off       Force On        Force Off + Warn
+	#	Force Off       Nothing         Force Off
+
+	( importer_str_flags, importer_bin_flags ) = pax.getflags(importer)
+
+	result_bin_flags = exporter_bin_flags
+
+	for i in range(len(importer_str_flags)):
+		if importer_str_flags[i].isupper() and exporter_str_flags[i].islower():
+			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+		if importer_str_flags[i].isupper() and exporter_str_flags[i] == '-':
+			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+		if importer_str_flags[i].islower() and exporter_str_flags[i].isupper():
+			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+		if importer_str_flags[i].islower() and exporter_str_flags[i] == '-':
+			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+
+	pax.setflags(importer, result_bin_flags)
 
 
 def run_binary(binary, verbose, mark):
@@ -246,7 +271,7 @@ def run_binary(binary, verbose, mark):
 
 				if do_marking:
 					try:
-						migrate_flags(library, binary_bin_flags)
+						migrate_flags(library, binary_str_flags, binary_bin_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % library
 						print "\tShut down all processes that use it and try again"
@@ -326,7 +351,7 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 						print '\t\tPlease enter y or n'
 				if do_marking:
 					try:
-						migrate_flags(binary, library_bin_flags)
+						migrate_flags(binary, library_str_flags, library_bin_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % binary
 						print "\tShut down all processes that use it and try again"



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  1:00 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     6ec2ef8bcc3eedc70d0186f76588842c85c79408
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 26 22:23:57 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:57:57 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=6ec2ef8b

scripts/revdep-pax: wrap pax.setflags() to allow complex logic

---
 scripts/revdep-pax |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index 3d8e213..a4e9396 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -187,6 +187,22 @@ def run_reverse(verbose, executable_only):
 	print_reverse_linkings( reverse_linkings, so2library_mappings, verbose, executable_only)
 
 
+def migrate_flags(elf, pax_flags)
+	"""
+	Importer	Exporter	Result
+	Force On	Force On	Force On
+	Force On	Force Off	Warn Only
+	Force On	Nothing		Force On
+	Force Off	Force On	Warn Only
+	Force Off	Force Off	Force Off
+	Force Off	Nothing		Force Off
+	Nothing		Force On	Force On
+	Nothing		Force Off	Force Off
+	Nothing		Nothing		Nothing
+	"""
+	pax.setflags(elf, pax_flags)
+
+
 def run_binary(binary, verbose, mark):
 	( linkings, mappings ) = get_ldd_linkings(binary)
 	( binary_flags, binary_pax_flags ) = pax.getflags(binary)
@@ -230,7 +246,7 @@ def run_binary(binary, verbose, mark):
 
 				if do_marking:
 					try:
-						pax.setflags(library, binary_pax_flags)
+						migrate_flags(library, binary_pax_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % library
 						print "\tShut down all processes that use it and try again"
@@ -310,7 +326,7 @@ def run_soname(name, verbose, use_soname, mark, executable_only):
 						print '\t\tPlease enter y or n'
 				if do_marking:
 					try:
-						pax.setflags(binary, library_pax_flags)
+						migrate_flags(binary, library_pax_flags)
 					except:
 						print "\n\tCould not set pax flags on %s, file is probably busy" % binary
 						print "\tShut down all processes that use it and try again"



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/
@ 2011-12-29  1:00 Anthony G. Basile
  0 siblings, 0 replies; 7+ messages in thread
From: Anthony G. Basile @ 2011-12-29  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     fbcad85ef135af4e767f4d8ea90925592656719b
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 28 23:18:28 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 00:59:32 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=fbcad85e

scripts/revdep-pax: cleanup output

---
 scripts/revdep-pax |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/scripts/revdep-pax b/scripts/revdep-pax
index e22d3a7..b0d8bcc 100755
--- a/scripts/revdep-pax
+++ b/scripts/revdep-pax
@@ -217,13 +217,17 @@ def migrate_flags(importer, exporter_str_flags, exporter_bin_flags):
 
 	for i in range(len(importer_str_flags)):
 		if importer_str_flags[i].isupper() and exporter_str_flags[i].islower():
-			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+			print '\t\tWarning: %s has %s, trying to set to %s' % (
+				importer, importer_str_flags[i], exporter_str_flags[i] ),
 		if importer_str_flags[i].isupper() and exporter_str_flags[i] == '-':
-			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+			print '\t\tWarning: %s has %s, trying to set to %s' % (
+				importer, importer_str_flags[i], exporter_str_flags[i] ),
 		if importer_str_flags[i].islower() and exporter_str_flags[i].isupper():
-			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+			print '\t\tWarning: %s has %s, trying to set to %s' % (
+				importer, importer_str_flags[i], exporter_str_flags[i] ),
 		if importer_str_flags[i].islower() and exporter_str_flags[i] == '-':
-			print 'Warning: importer = %s exporter = %s' %  ( importer_str_flags[i], exporter_str_flags[i] )
+			print '\t\tWarning: %s has %s, trying to set to %s' % (
+				importer, importer_str_flags[i], exporter_str_flags[i] ),
 
 	pax.setflags(importer, result_bin_flags)
 



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-12-29  1:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-29  1:00 [gentoo-commits] proj/elfix:elfix-0.4.x commit in: scripts/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2011-12-29  1:00 Anthony G. Basile
2011-12-29  1:00 Anthony G. Basile
2011-12-29  1:00 Anthony G. Basile
2011-12-29  1:00 Anthony G. Basile
2011-12-29  0:57 Anthony G. Basile
2011-12-04 21:50 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox