diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2011-10-16 14:25:54 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2011-10-16 14:26:52 -0400 |
commit | fa4a83ff1bbde9fabd9250b9e5bbe99d4caaab65 (patch) | |
tree | c99d1d60e2ed3d26f22c7f28931fed8fca3cbcb6 | |
parent | scripts/paxmodule.c: add pax_setflags (diff) | |
download | elfix-fa4a83ff1bbde9fabd9250b9e5bbe99d4caaab65.tar.gz elfix-fa4a83ff1bbde9fabd9250b9e5bbe99d4caaab65.tar.bz2 elfix-fa4a83ff1bbde9fabd9250b9e5bbe99d4caaab65.zip |
scripts/revdep-pax: make only one of -f -r -b -s -l allowed
-rwxr-xr-x | scripts/revdep-pax | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/scripts/revdep-pax b/scripts/revdep-pax index e43db27..326007e 100755 --- a/scripts/revdep-pax +++ b/scripts/revdep-pax @@ -203,14 +203,12 @@ def run_usage(): print 'Program Name : revdep-pax' print 'Description : Get or set pax flags on an ELF object' print - print 'Usage : revdep-pax [-fv] | [-rv] | -v [-b BINARY] | -v [-s SONAME] | -h' - print - print 'Options : -f print out all the forward mappings for all system binaries' - print ' : -r print out all the reverse mappints for all system sonames' - print ' : -b BINARY print all the forward mappings only for BINARY' - print ' : -s SONAME print all the reverse mappings only for SONAME' - print ' : -v verbose, otherwise just print mismatched pax flags' - print ' : -h print out this help' + print 'Usage : revdep-pax -f [-v] print out all forward mappings for all system binaries' + print ' : revdep-pax -r [-v] print out all reverse mappints for all system sonames' + print ' : revdep-pax -b BINARY [-v] print all forward mappings only for BINARY' + print ' : revdep-pax -s SONAME [-v] print all reverse mappings only for SONAME' + print ' : revdep-pax [-h] print out this help' + print ' : -v verbose, otherwise just print mismatched flags' print @@ -327,19 +325,27 @@ def main(): verbose = False + opt_count = 0 + for o, a in opts: if o == '-h': do_usage = True + opt_count += 1 elif o == '-f': do_forward = True + opt_count += 1 elif o == '-r': do_reverse = True + opt_count += 1 elif o == '-b': binary = a + opt_count += 1 elif o == '-s': soname = a + opt_count += 1 elif o == '-l': library = a + opt_count += 1 elif o == '-v': verbose = True else: @@ -347,24 +353,18 @@ def main(): print 'Please file a bug' sys.exit(1) - #TODO: Add code to only allow one of -h, -f -r -b -s - - if do_usage: + # Only allow one of -h, -f -r -b -s + if opt_count > 1 or do_usage: run_usage() - - if do_forward: + elif do_forward: run_forward(verbose) - - if do_reverse: + elif do_reverse: run_reverse(verbose) - - if binary != None: + elif binary != None: run_binary(binary, verbose) - - if soname != None: + elif soname != None: run_soname(soname, verbose, True) - - if library != None: + elif library != None: library = os.path.realpath(library) run_soname(library, verbose, False) |