From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-412455-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1RfIxq-0006RT-RK
	for garchives@archives.gentoo.org; Mon, 26 Dec 2011 22:24:21 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 3B97E21C0AE;
	Mon, 26 Dec 2011 22:24:07 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 0608121C0AE
	for <gentoo-commits@lists.gentoo.org>; Mon, 26 Dec 2011 22:24:06 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 838BD1B4022
	for <gentoo-commits@lists.gentoo.org>; Mon, 26 Dec 2011 22:24:06 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id E168E80043
	for <gentoo-commits@lists.gentoo.org>; Mon, 26 Dec 2011 22:24:05 +0000 (UTC)
From: "Anthony G. Basile" <blueness@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" <blueness@gentoo.org>
Message-ID: <dc3ff5d76ec1dafbbd1b5068d888c6c042310366.blueness@gentoo>
Subject: [gentoo-commits] proj/elfix:master commit in: scripts/
X-VCS-Repository: proj/elfix
X-VCS-Files: scripts/revdep-pax
X-VCS-Directories: scripts/
X-VCS-Committer: blueness
X-VCS-Committer-Name: Anthony G. Basile
X-VCS-Revision: dc3ff5d76ec1dafbbd1b5068d888c6c042310366
Date: Mon, 26 Dec 2011 22:24:05 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: a110a713-16b2-4431-9f51-dcc5f170aee2
X-Archives-Hash: 0b9fdb4fcbdf2c7dd8a00e4d5b099297

commit:     dc3ff5d76ec1dafbbd1b5068d888c6c042310366
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: Mon Dec 26 22:23:57 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/elfix.git;a=3D=
commit;h=3Ddc3ff5d7

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)
=20
=20
+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 ) =3D get_ldd_linkings(binary)
 	( binary_flags, binary_pax_flags ) =3D pax.getflags(binary)
@@ -230,7 +246,7 @@ def run_binary(binary, verbose, mark):
=20
 				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, execu=
table_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"