Fix bug where a use flag was partially matching a masked use flag.
[gentoolkit.git] / setup.py
index dc840377b1c4f4a6d35b45424ddd65e6f5d7c62f..91f9e9c10817c5aeca5fe7bc8f662c35774835b6 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -10,6 +10,7 @@ from distutils import core, log
 from glob import glob
 
 import os
+import io
 
 sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'pym'))
 
@@ -17,6 +18,13 @@ __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',
@@ -30,7 +38,8 @@ python_scripts = [os.path.join(cwd, path) for path in (
        'bin/glsa-check',
        'pym/gentoolkit/eclean/cli.py',
        'pym/gentoolkit/analyse/__init__.py',
-       'pym/gentoolkit/equery/__init__.py'
+       'pym/gentoolkit/equery/__init__.py',
+       'pym/gentoolkit/eshowkw/__init__.py'
 )]
 
 
@@ -51,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
@@ -87,13 +96,20 @@ def load_test():
 
        return test
 
-
 packages = [
        str('.'.join(root.split(os.sep)[1:]))
        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__,
@@ -107,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(),