merge head, fix conflicts, more pylint cleanup
authordol-sen <brian.dolbec@gmail.com>
Wed, 13 Jul 2011 22:51:24 +0000 (15:51 -0700)
committerdol-sen <brian.dolbec@gmail.com>
Wed, 13 Jul 2011 22:51:24 +0000 (15:51 -0700)
bin/revdep-rebuild
bin/revdep-rebuild.sh
pym/gentoolkit/revdep_rebuild/analyse.py
pym/gentoolkit/revdep_rebuild/assign.py
pym/gentoolkit/revdep_rebuild/cache.py
pym/gentoolkit/revdep_rebuild/collect.py
pym/gentoolkit/revdep_rebuild/rebuild.py
pym/gentoolkit/revdep_rebuild/settings.py
pym/gentoolkit/revdep_rebuild/stuff.py

index a4c8e11404a47f7731f8875324315c5bd9f26da0..cd7be0b017678e2c7b3cbf067eba0540eb4c410f 100755 (executable)
@@ -6,10 +6,9 @@
 #
 # $Header$
 
-"""'analyse' is a flexible utility for Gentoo linux which can display various
-information about installed packages, such as the USE flags used and the
-packages that use them.  It can also be used to help rebuild /etc/portage/package.*
-files in the event of corruption, and possibly more.
+"""'revdep-rebuild' scans libraries and binaries for missing shared library dependencies and attempts to fix them by re-emerging
+those broken binaries and shared libraries. It is useful when an upgraded package breaks other software packages that are
+dependent upon the upgraded package.
 """
 
 from __future__ import print_function
index f00b7914fad0188d041bcfd0a88532d8a5a54f3a..abeed6b0ef99c206f2e3804a11be1c4543ec7b0c 100755 (executable)
@@ -17,7 +17,7 @@
 unset GREP_OPTIONS
 
 # Readonly variables:
-declare -r APP_NAME="${0##*/}" # The name of this application
+declare -r APP_NAME="revdep-rebuild" # # The name of this application
 declare -r VERSION="svn"
 declare -r OIFS="$IFS"         # Save the IFS
 declare -r     ENV_FILE=0_env.rr     # Contains environment variables
index 69651ca0754ba6c5f5e9ac6798ef4765f7110e77..549427047be0bcdc7c9aecdb2df32f82f94d39f6 100644 (file)
@@ -1,5 +1,9 @@
 #!/usr/bin/python
 
+"""Analysis module"""
+
+from __future__ import print_function
+
 import os
 import re
 import platform
@@ -7,10 +11,10 @@ import glob
 
 from portage.output import bold, red, blue, yellow, green, nocolor
 
-from stuff import scan
-from collect import prepare_search_dirs, parse_revdep_config, collect_libraries_from_dir, collect_binaries_from_dir
-from assign import assign_packages
-from cache import save_cache
+from .stuff import scan
+from .collect import prepare_search_dirs, parse_revdep_config, collect_libraries_from_dir, collect_binaries_from_dir
+from .assign import assign_packages
+from .cache import save_cache
 
 
 def prepare_checks(files_to_check, libraries, bits, cmd_max_args):
index 5ed938e888de40456d2a27c461271b3667b4a00b..bbe409bd144e30f349c4b4da958a29c38c0cde26 100644 (file)
@@ -1,5 +1,11 @@
 #!/usr/bin/python
 
+"""Assign module
+Functions used for determining the package the broken lib belongs to.
+"""
+
+from __future__ import print_function
+
 import os
 import re
 
index ef46314e4f46a3615a0834e8a191dee563832459..7dc9a8dd62db603f9a2be7dba648f39d6546dd1f 100644 (file)
@@ -1,10 +1,16 @@
 #!/bin/bash
 
+"""Caching module
+Functions for reading, saving and verifying the data caches
+"""
+
+from __future__ import print_function
+
 import os
 import time
 
 from portage.output import red
-from settings import DEFAULTS
+from .settings import DEFAULTS
 
 
 def read_cache(temp_path=DEFAULTS['DEFAULT_TMP_DIR']):
@@ -17,7 +23,7 @@ def read_cache(temp_path=DEFAULTS['DEFAULT_TMP_DIR']):
 
        ret = {'libraries':[], 'la_libraries':[], 'libraries_links':[], 'binaries':[]}
        try:
-               for key,val in ret.iteritems():
+               for key,val in list(ret.items()):
                        f = open(os.path.join(temp_path, key))
                        for line in f.readlines():
                                val.append(line.strip())
@@ -43,7 +49,7 @@ def save_cache(logger, to_save={}, temp_path=DEFAULTS['DEFAULT_TMP_DIR']):
                f.write(str(int(time.time())))
                f.close()
 
-               for key,val in to_save.iteritems():
+               for key,val in list(to_save.items()):
                        f = open(os.path.join(temp_path, key), 'w')
                        for line in val:
                                f.write(line + '\n')
@@ -86,7 +92,7 @@ def check_temp_files(temp_path=DEFAULTS['DEFAULT_TMP_DIR'], max_delay=3600):
 if __name__ == '__main__':
        print('Preparing cache ... ')
 
-       from collect import *
+       from .collect import *
        import logging
 
        bin_dirs, lib_dirs = prepare_search_dirs()
index d1b23c0fb257c38265f7f1cf8e3cc56123c42201..8239feb85d812d345d232f624a617fa83af5b944 100644 (file)
@@ -2,6 +2,8 @@
 
 """Data collection module"""
 
+from __future__ import print_function
+
 import re
 import os
 import glob
@@ -19,7 +21,7 @@ def parse_conf(conf_file, visited=None, logger=None):
        lib_dirs = set()
        to_parse = set()
 
-       if isinstance(conf_file, basestring):
+       if isinstance(conf_file, str):
                conf_file = [conf_file]
 
        for conf in conf_file:
index 04fb96cd6cb4bd102951beab3a5b4415a093d8dc..b529f378c812bbff9de40c032076dd5281784257 100644 (file)
@@ -2,26 +2,33 @@
 # -*- coding: utf-8 -*-
 
 
-# Author: SÅ‚awomir Lis <lis.slawek@gmail.com>
-# revdep-rebuild original author: Stanislav Brabec
-# revdep-rebuild original rewrite Author: Michael A. Smith
-# Current Maintainer: Paul Varner <fuzzyray@gentoo.org>
+""" Rebuild module
 
-# Creation date: 2010/10/17
-# License: BSD
+Main program, cli parsing and api program control and operation
 
+Author: SÅ‚awomir Lis <lis.slawek@gmail.com>
+       revdep-rebuild original author: Stanislav Brabec
+       revdep-rebuild original rewrite Author: Michael A. Smith
+Current Maintainer: Paul Varner <fuzzyray@gentoo.org>
+Creation date: 2010/10/17
+License: BSD
+"""
+
+from __future__ import print_function
+
+import subprocess
 import os
 import sys
 import getopt
 import logging
 from portage.output import bold, red, blue, yellow, green, nocolor
 
-from analyse import analyse
-from stuff import exithandler, get_masking_status
-from cache import check_temp_files, read_cache
-from assign import get_slotted_cps
-from settings import DEFAULTS
-from gentoolkit.revdep_rebuild import __version__
+from .analyse import analyse
+from .stuff import exithandler, get_masking_status
+from .cache import check_temp_files, read_cache
+from .assign import get_slotted_cps
+from .settings import DEFAULTS
+from . import __version__
 
 
 APP_NAME = sys.argv[0]
@@ -35,13 +42,13 @@ __productname__ = "revdep-ng"
 def print_usage():
        """Outputs the help message"""
        print( APP_NAME + ': (' + VERSION +')')
-       print
+       print()
        print('This is free software; see the source for copying conditions.')
-       print
+       print()
        print('Usage: ' + APP_NAME + ' [OPTIONS] [--] [EMERGE_OPTIONS]')
-       print
+       print()
        print('Broken reverse dependency rebuilder, python implementation.')
-       print
+       print()
        print('Available options:')
        print('''
   -C, --nocolor         Turn off colored output
index b56f8127c4cf541f76135c6b01e55c122b710df3..c0e5aa79be526344c0b3759ffddfba9f2f279916 100644 (file)
@@ -2,6 +2,8 @@
 
 """Default settings"""
 
+from __future__ import print_function
+
 import os
 import sys
 
index 163cc7d154fcae252d45386fc46ccdca11ade2a1..bffb936e8afd2db6388a34327181b4b1f5c827f7 100644 (file)
@@ -3,6 +3,8 @@
 """Utilities submodule"""
 
 
+from __future__ import print_function
+
 import subprocess
 
 import portage
@@ -10,11 +12,11 @@ import portage
 
 # util. functions
 def call_program(args):
-       ''' Calls program with specified parameters and returns stdout '''
+       ''' Calls program with specified parameters and returns stdout as a str object '''
        subp = subprocess.Popen(args, stdout=subprocess.PIPE, \
                                                                stderr=subprocess.PIPE)
        stdout, stderr = subp.communicate()
-       return stdout
+       return str(stdout)
 
 
 def scan(params, files, max_args):