Add a new packages module to analyse
[gentoolkit.git] / setup.py
index 179c3e4dff007b4ceae02aae61d5d033a74dda83..91f9e9c10817c5aeca5fe7bc8f662c35774835b6 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -9,15 +9,22 @@ import distutils
 from distutils import core, log
 from glob import glob
 
-from portage import os
+import os
+import io
 
 sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'pym'))
-from gentoolkit.helpers import walk
 
 __version__ = os.getenv('VERSION', default='9999')
 
 cwd = os.getcwd()
 
+# Load EPREFIX from Portage, fall back to the empty string if it fails 
+try: 
+       from portage.const import EPREFIX 
+except ImportError: 
+       EPREFIX='/' 
+
+
 # Bash files that need `VERSION=""` subbed, relative to this dir:
 bash_scripts = [os.path.join(cwd, path) for path in (
        'bin/euse',
@@ -29,7 +36,10 @@ python_scripts = [os.path.join(cwd, path) for path in (
        'bin/eclean',
        'bin/epkginfo',
        'bin/glsa-check',
-       'pym/gentoolkit/equery/__init__.py'
+       'pym/gentoolkit/eclean/cli.py',
+       'pym/gentoolkit/analyse/__init__.py',
+       'pym/gentoolkit/equery/__init__.py',
+       'pym/gentoolkit/eshowkw/__init__.py'
 )]
 
 
@@ -50,13 +60,13 @@ class set_version(core.Command):
                def sub(files, pattern):
                        for f in files:
                                updated_file = []
-                               with open(f) as s:
+                               with io.open(f, 'r', 1, 'utf_8') as s:
                                        for line in s:
                                                newline = re.sub(pattern, '"%s"' % ver, line, 1)
                                                if newline != line:
                                                        log.info("%s: %s" % (f, newline))
                                                updated_file.append(newline)
-                               with open(f, 'w') as s:
+                               with io.open(f, 'w', 1, 'utf_8') as s:
                                        s.writelines(updated_file)
                quote = r'[\'"]{1}'
                bash_re = r'(?<=VERSION=)' + quote + '[^\'"]*' + quote
@@ -86,13 +96,20 @@ def load_test():
 
        return test
 
-
 packages = [
        str('.'.join(root.split(os.sep)[1:]))
-       for root, dirs, files in walk('pym/gentoolkit')
+       for root, dirs, files in os.walk('pym/gentoolkit')
        if '__init__.py' in files
 ]
 
+test_data = {
+       'gentoolkit': [
+               'test/eclean/Packages',
+               'test/eclean/testdistfiles.tar.gz',
+               'test/eclean/distfiles.exclude'
+       ]
+}
+
 core.setup(
        name='gentoolkit',
        version=__version__,
@@ -106,12 +123,13 @@ core.setup(
                % __version__,
        package_dir={'': 'pym'},
        packages=packages,
+       package_data = test_data,
        scripts=(glob('bin/*')),
        data_files=(
-               ('/etc/env.d', ['data/99gentoolkit-env']),
-               ('/etc/revdep-rebuild', ['data/revdep-rebuild/99revdep-rebuild']),
-               ('/etc/eclean', glob('data/eclean/*')),
-               ('/usr/share/man/man1', glob('man/*'))
+               (os.path.join(EPREFIX, 'etc/env.d'), ['data/99gentoolkit-env']),
+               (os.path.join(EPREFIX, 'etc/revdep-rebuild'), ['data/revdep-rebuild/99revdep-rebuild']),
+               (os.path.join(EPREFIX, 'etc/eclean'), glob('data/eclean/*')),
+               (os.path.join(EPREFIX, 'usr/share/man/man1'), glob('man/*')),
        ),
        cmdclass={
                'test': load_test(),