Exemplo n.º 1
0
    def build_module(self, module, module_file, package):
        orig_content = None
        if (module == 'build_info' and package == 'netperf_wrapper'
                and 'install' in self.distribution.command_obj):
            iobj = self.distribution.command_obj['install']
            with open(module_file, 'rb') as module_fp:
                orig_content = module_fp.read()

            if iobj.fake_root:
                prefix = iobj.prefix
            else:
                prefix = iobj.install_data

            with open(module_file, 'w') as module_fp:
                module_fp.write('# -*- coding: UTF-8 -*-\n\n')
                module_fp.write("VERSION='%s'\n" % (version_string))
                module_fp.write(
                    "DATA_DIR='%s'\n" %
                    (os.path.join(prefix, 'share', 'netperf-wrapper')))

        _build_py.build_module(self, module, module_file, package)

        if orig_content is not None:
            with open(module_file, 'wb') as module_fp:
                module_fp.write(orig_content)
Exemplo n.º 2
0
    def build_module (self, module, module_file, package):
        _build_py.build_module(self, module, module_file, package)

        if type(package) is StringType:
            package = string.split(package, '.')
        elif type(package) not in (ListType, TupleType):
            raise TypeError, \
                  "'package' must be a string (dot-separated), list, or tuple"

        if ( module == 'settings' and len(package) == 1
             and package[0] == 'gourmet'
             and 'install' in self.distribution.command_obj):
            outfile = self.get_module_outfile(self.build_lib, package, module)

            iobj = self.distribution.command_obj['install']
            data_dir = iobj.install_data
            if (iobj.root):
                data_dir = data_dir[len(iobj.root):]
            data_dir = os.path.join(data_dir, 'share')

            # abuse fileinput to replace two lines in bin/gourmet
            for line in fileinput.input(outfile, inplace = 1):
                if "data_dir = " in line:
                    line = "data_dir = '%s'\n" % data_dir
                elif "icon_base = " in line:
                    line = "icon_base = '%s'\n" % \
                        os.path.join(data_dir, 'icons', 'hicolor')
                elif "locale_base = " in line:
                    line = "locale_base = '%s'\n" % \
                        os.path.join(data_dir, 'locale')
                elif "plugin_base = " in line:
                    line = "plugin_base = ''\n"

                print line,
Exemplo n.º 3
0
    def build_module (self, module, module_file, package):
        orig_content = None
        if ( module == 'build_info' and package == 'netperf_wrapper'
             and 'install' in self.distribution.command_obj):
            iobj = self.distribution.command_obj['install']
            with open(module_file, 'rb') as module_fp:
                orig_content = module_fp.read()

            if iobj.fake_root:
                prefix = iobj.prefix
                print(prefix)
            else:
                prefix = iobj.install_data

            with open(module_file, 'w') as module_fp:
                module_fp.write('# -*- coding: UTF-8 -*-\n\n')
                module_fp.write("VERSION='%s'\n"%(version_string))
                module_fp.write("DATA_DIR='%s'\n"%(
                    os.path.join(prefix, 'share', 'netperf-wrapper')))

        _build_py.build_module(self, module, module_file, package)

        if orig_content is not None:
            with open(module_file, 'wb') as module_fp:
                module_fp.write(orig_content)
Exemplo n.º 4
0
 def build_module(self, module, module_file, package):
     cobj = self.distribution.command_obj.get('install')
     if cobj and package == 'pympler' and module == '__init__':
         # Modify DATA_PATH to point to the location where distutils
         # installs the data files. Note: easy_install will place the data
         # files alongside the code instead (see pympler/__init__.py).
         data_path = cobj.install_data
         for line in fileinput.FileInput(module_file, inplace=True):
             if line.startswith("DATA_PATH = "):
                 line = "DATA_PATH = '%s'\n" % data_path
             sys.stdout.write(line)
     build_py.build_module(self, module, module_file, package)
Exemplo n.º 5
0
    def build_module(self, module, module_file, package):
        if ('%s/%s' % (package, module) == 'gg/build_info'):
            try:
                iobj = self.distribution.command_obj['install']
                with open(module_file, 'w') as module_fp:
                    module_fp.write(
                        build_info_template %
                        (iobj.prefix, join(iobj.prefix, 'share', PACKAGE),
                         Popen(['git', 'describe'],
                               stdout=PIPE).communicate()[0].strip()))
            except KeyError:
                pass

        _build_py.build_module(self, module, module_file, package)
Exemplo n.º 6
0
 def build_module (self, module, module_file, package):
     if ('%s/%s' % (package, module) == 'gg/build_info'):
         try:
             iobj = self.distribution.command_obj['install']
             with open(module_file, 'w') as module_fp:
                 module_fp.write(build_info_template % (
                     iobj.prefix,
                     join(iobj.prefix, 'share', PACKAGE),
                     Popen(['git', 'describe'],
                         stdout=PIPE).communicate()[0].strip()
                 ))
         except KeyError:
             pass
     
     _build_py.build_module(self, module, module_file, package)
Exemplo n.º 7
0
    def build_module(self, module, module_file, package):
        if (module_file == 'gg/build_info.py'):
            try:
                iobj = self.distribution.command_obj['install']
                with open(module_file, 'w') as module_fp:
                    module_fp.write(build_info_template.format(
                        prefix=iobj.prefix,
                        datadir=join(iobj.prefix, 'share', PACKAGE),
                        version=(VERSION if root else Popen(('git', 'describe'),
                            stdout=PIPE).communicate()[0].strip())
                    ))
            except KeyError:
                pass

        _build_py.build_module(self, module, module_file, package)
Exemplo n.º 8
0
    def build_module(self, module, module_file, package):
        if (module_file == 'gg/build_info.py'):
            try:
                iobj = self.distribution.command_obj['install']
                with open(module_file, 'w') as module_fp:
                    module_fp.write(
                        build_info_template.format(
                            prefix=iobj.prefix,
                            datadir=join(iobj.prefix, 'share', PACKAGE),
                            version=(VERSION if root else Popen(
                                ('git', 'describe'),
                                stdout=PIPE).communicate()[0].strip())))
            except KeyError:
                pass

        _build_py.build_module(self, module, module_file, package)
Exemplo n.º 9
0
    def build_module(self, module, module_file, package):
        if package == 'lsd.config' and 'install' in self.distribution.command_obj:
            iobj = self.distribution.command_obj['install']
            outfile = self.get_module_outfile(self.build_lib,
                                              package.split('.'), module)
            dir = os.path.dirname(outfile)
            self.mkpath(dir)
            with file(outfile, 'w') as fp:
                import textwrap
                fp.write(
                    textwrap.dedent("""\
				# Do not edit. This file is regenerated by LSD's setup.py.
				data_dir = '{datadir}'
				bin_dir  = '{bindir}'
				""").format(datadir=os.path.join(iobj.install_data, 'share', 'lsd',
                                     'data'),
                bindir=iobj.install_scripts))
            return (outfile, 1)
        elif module == 'version' and module_file == 'src/lsd/version.py':
            # Load the version information from developer module (which gets it
            # from git), and write out the install module that is git independent.

            # Store it to a generated file
            outfile = self.get_module_outfile(self.build_lib,
                                              package.split('.'), module)
            dir = os.path.dirname(outfile)
            self.mkpath(dir)
            write_version_file(outfile)
            return (outfile, 1)
        else:
            return _build_py.build_module(self, module, module_file, package)
Exemplo n.º 10
0
 def build_module(self, module, module_file, package):
     res = build_py.build_module(self, module, module_file, package)
     if module == 'git' and package == 'PyInstaller.utils':
         filename = self.get_module_outfile(self.build_lib,
                                            package.split('.'), module)
         _write_git_version_file(filename)
     return res
Exemplo n.º 11
0
 def build_module(self, module, module_file, package):
     build_py.build_module(self, module, module_file, package)
     if module == '__init__' and '.' not in package:
         version_line = "__version__ = '{0}'\n".format(__version__)
         old_init_name = self.get_module_outfile(self.build_lib, (package,),
                                                 module)
         new_init_name = old_init_name + '.new'
         with open(new_init_name, 'w') as new_init:
             with open(old_init_name) as old_init:
                 for line in old_init:
                     if line.startswith('__version__ ='):
                         new_init.write(version_line)
                     else:
                         new_init.write(line)
             new_init.flush()
         os.rename(new_init_name, old_init_name)
Exemplo n.º 12
0
 def build_module(self, module, module_file, package):
     build_py.build_module(self, module, module_file, package)
     print module, module_file, package
     if module == "__init__" and "." not in package:
         version_line = "__version__ = '{0}'\n".format(__version__)
         old_init_name = self.get_module_outfile(self.build_lib, (package,), module)
         new_init_name = old_init_name + ".new"
         with open(new_init_name, "w") as new_init:
             with open(old_init_name) as old_init:
                 for line in old_init:
                     if line.startswith("__version__ ="):
                         new_init.write(version_line)
                     else:
                         new_init.write(line)
             new_init.flush()
         os.rename(new_init_name, old_init_name)
Exemplo n.º 13
0
Arquivo: setup.py Projeto: mjuric/lsd
	def build_module (self, module, module_file, package):
		if package == 'lsd.config' and 'install' in self.distribution.command_obj:
			iobj = self.distribution.command_obj['install']
			outfile = self.get_module_outfile(self.build_lib, package.split('.'), module)
			dir = os.path.dirname(outfile)
			self.mkpath(dir)
			with file(outfile, 'w') as fp:
				import textwrap
				fp.write(textwrap.dedent(
				"""\
				# Do not edit. This file is regenerated by LSD's setup.py.
				data_dir = '{datadir}'
				bin_dir  = '{bindir}'
				""").format(datadir=os.path.join(iobj.install_data, 'share', 'lsd', 'data'), bindir=iobj.install_scripts))
			return (outfile, 1)
		elif module == 'version' and module_file == 'src/lsd/version.py':
			# Load the version information from developer module (which gets it
			# from git), and write out the install module that is git independent.

			# Store it to a generated file
			outfile = self.get_module_outfile(self.build_lib, package.split('.'), module)
			dir = os.path.dirname(outfile)
			self.mkpath(dir)
			write_version_file(outfile)
			return (outfile, 1)
		else:
			return _build_py.build_module(self, module, module_file, package)
Exemplo n.º 14
0
 def build_module(self, module, module_file, package):
     res = build_py.build_module(self, module, module_file, package)
     if module == 'git' and package == 'PyInstaller.utils':
         filename = self.get_module_outfile(
             self.build_lib, package.split('.'), module)
         _write_git_version_file(filename)
     return res
Exemplo n.º 15
0
 def build_module(self, module, module_file, package):
     build_py.build_module(self, module, module_file, package)
     print module, module_file, package
     if module == 'version' and '.' not in package:
         version_line = "__version__ = '{0}'\n".format(__version__)
         old_ver_name = self.get_module_outfile(self.build_lib, (package,), module)
         new_ver_name = old_ver_name + '.new'
         with open(new_ver_name, 'w') as new_ver:
             with open(old_ver_name) as old_ver:
                 for line in old_ver:
                     if line.startswith('__version__ ='):
                         new_ver.write(version_line)
                     else:
                         new_ver.write(line)
             new_ver.flush()
         os.rename(new_ver_name, old_ver_name)
Exemplo n.º 16
0
 def build_module(self, module, module_file, package):
     python3 = sys.version_info >= (3,)
     exclude_pattern = re.compile(
         'wsgiserver2|ssl_pyopenssl' if python3 else 'wsgiserver3'
     )
     if exclude_pattern.match(module):
         return # skip it
     return build_py.build_module(self, module, module_file, package)
Exemplo n.º 17
0
 def build_module(self, module, module_file, package):
     cobj = self.distribution.command_obj.get('install')
     if cobj and package == 'pympler' and module == '__init__':
         # Modify DATA_PATH to point to the location where distutils
         # installs the data files. Note: easy_install will place the data
         # files alongside the code instead (see pympler/__init__.py).
         data_path = cobj.install_data
         for line in fileinput.FileInput(module_file, inplace=True):
             if line.startswith("DATA_PATH = "):
                 line = "DATA_PATH = '%s'\n" % data_path
             sys.stdout.write(line)
     # TODO: Cannot build bottle2 at Python3 and vice versa.
     if sys.hexversion >= 0x3000000 and module == 'bottle2':
         return
     elif sys.hexversion < 0x3000000 and module == 'bottle3':
         return
     build_py.build_module(self, module, module_file, package)
Exemplo n.º 18
0
 def build_module(self, module, module_file, package):
     python3 = sys.version_info >= (3, )
     if python3:
         exclude_pattern = re.compile('ssl_pyopenssl')
     else:
         exclude_pattern = re.compile('xxx')
     if exclude_pattern.match(module):
         return  # skip it
     return build_py.build_module(self, module, module_file, package)
Exemplo n.º 19
0
Arquivo: setup.py Projeto: rkabir/mwdb
    def build_module (self, module, module_file, package):
        if isinstance(package, str):
            package = package.split('.')
        elif not isinstance(package, (list, tuple)):
            raise TypeError(
                "'package' must be a string (dot-separated), list, or tuple")

        if ( module == 'build_info' and len(package) == 1 and package[0] == 'mwdb'):
            iobj = self.distribution.command_obj['install']

            with open(module_file, 'w') as module_fp:
                module_fp.write('# -*- coding: UTF-8 -*-\n\n')
                module_fp.write("DATA_DIR = '%s'\n"%(
                    os.path.join(iobj.install_data, 'share')))
                module_fp.write("LIB_DIR = '%s'\n"%(iobj.install_lib))
                module_fp.write("SCRIPT_DIR = '%s'\n"%(iobj.install_scripts))

        _build_py.build_module(self, module, module_file, package)
Exemplo n.º 20
0
    def build_module(self, module, module_file, package):
        _build_py.build_module(self, module, module_file, package)

        if type(package) is StringType:
            package = string.split(package, '.')
        elif type(package) not in (ListType, TupleType):
            raise TypeError, \
                  "'package' must be a string (dot-separated), list, or tuple"

        if (module == 'settings' and len(package) == 1
                and package[0] == 'gourmet'
                and 'install' in self.distribution.command_obj):
            outfile = self.get_module_outfile(self.build_lib, package, module)

            iobj = self.distribution.command_obj['install']
            lib_dir = iobj.install_lib
            base = iobj.install_data
            if (iobj.root):
                lib_dir = lib_dir[len(iobj.root):]
                base = base[len(iobj.root):]
            base = os.path.join(base, 'share')
            data_dir = os.path.join(base, 'gourmet')

            # abuse fileinput to replace two lines in bin/gourmet
            for line in fileinput.input(outfile, inplace=1):
                if "base_dir = " in line:
                    line = "base_dir = '%s'\n" % base
                elif "lib_dir = " in line:
                    line = "lib_dir = '%s'\n" % lib_dir
                elif "data_dir = " in line:
                    line = "data_dir = '%s'\n" % data_dir
                elif "doc_base = " in line:
                    line = "doc_base = '%s'\n" % \
                        os.path.join(base, 'doc', 'gourmet')
                elif "icon_base = " in line:
                    line = "icon_base = '%s'\n" % \
                        os.path.join(base, 'icons', 'hicolor')
                elif "locale_base = " in line:
                    line = "locale_base = '%s'\n" % \
                        os.path.join(base, 'locale')
                elif "plugin_base = " in line:
                    line = "plugin_base = data_dir\n"

                print line,
Exemplo n.º 21
0
 def build_module(self, module, module_file, package):
     python3 = sys.version_info >= (3,)
     if python3:
         exclude_pattern = re.compile('ssl_pyopenssl|'
                                      '_cpcompat_subprocess')
     else:
         exclude_pattern = re.compile('xxx')
     if exclude_pattern.match(module):
         return  # skip it
     return build_py.build_module(self, module, module_file, package)
Exemplo n.º 22
0
 def build_module(self, module, module_file, package):
     python3 = sys.version_info >= (3,)
     if python3:
         exclude_pattern = re.compile('wsgiserver2|ssl_pyopenssl|'
             '_cpcompat_subprocess')
     else:
         exclude_pattern = re.compile('wsgiserver3')
     if exclude_pattern.match(module):
         return # skip it
     return build_py.build_module(self, module, module_file, package)
Exemplo n.º 23
0
 def build_module(self, module, module_file, package):
     "Extend build_module by modification files"
     # do original function
     retval = _build_py.build_module(self, module, module_file, package)
     # if type(package) is StringType:
     if isinstance(package, str):
         package = string.split(package, ".")
     outfile = self.get_module_outfile(self.build_lib, package, module)
     # extend by modify file if is defined
     self.modify_file("build_py", module_file, os.path.dirname(outfile))
     return retval
Exemplo n.º 24
0
 def build_module(self, module, module_file, package):
     "Extend build_module by modification files"
     # do original function
     retval = _build_py.build_module(self, module, module_file, package)
     #if type(package) is StringType:
     if isinstance(package, str):
         package = string.split(package, '.')
     outfile = self.get_module_outfile(self.build_lib, package, module)
     # extend by modify file if is defined
     self.modify_file("build_py", module_file, os.path.dirname(outfile))
     return retval
Exemplo n.º 25
0
    def build_module(self, module, module_file, package):
        if type(package) is StringType:
            package = package.split(".")
        elif type(package) not in (ListType, TupleType):
            raise TypeError, \
                "'package' must be a string (dot-separated), list, or tuple"

        if module_file.endswith(".g"):
            outfile = self.get_module_outfile(self.build_lib, package, module)
            novelwriting.yapps.generate(module_file, outfile)
            self.announce("building %s -> %s" % (module_file, outfile))
        else:
            return build_py.build_module(self, module, module_file, package)
Exemplo n.º 26
0
    def build_module(self, module, module_file, package):
        result = build_py.build_module(self, module, module_file, package)

        if module_file == os.path.join("src", "netzob", "NetzobResources.py"):
            # Re-compute the path to the output file
            if isinstance(package, str):
                package = package.split(".")
            elif not isinstance(package, (list, tuple)):
                raise TypeError("'package' must be a string (dot-separated), list, or tuple")
            outfile = self.get_module_outfile(self.build_lib, package, module)
            if self.getBID() is not None:
                self.updateFileWithBID(outfile, self.getBID())
        return result
Exemplo n.º 27
0
 def build_module(self, module, module_file, package):
     orig_outfile, _ = build_py.build_module(self, module, module_file, package)
     version_line = "__version__ = '{0}'\n".format(__version__)
     new_outfile = orig_outfile + ".new"
     with open(new_outfile, "w") as new_fh:
         with open(orig_outfile) as orig_fh:
             for line in orig_fh:
                 if line.startswith("__version__ ="):
                     new_fh.write(version_line)
                 else:
                     new_fh.write(line)
         new_fh.flush()
     os.rename(new_outfile, orig_outfile)
Exemplo n.º 28
0
    def build_module(self, module, module_file, package):
        real_build_py.build_module(self, module, module_file, package)

        # append version to every module
        package = package.split('.')
        outfile = self.get_module_outfile(self.build_lib, package, module)

        with open(outfile, 'r+U') as module:
            verstr = "__version__ = '%s'" % (ver)

            try_and_seek(module, -LOOK_BACK)

            # do we have a version string?
            line = module.read()
            idx = line.rfind('\n__version__')

            if idx != -1:
                # is it the right version string?
                idx = -len(line) + idx

                try_and_seek(module, idx)
                line = module.read().strip()

                if line == verstr:
                    # all good in the hood
                    return
                else:
                    try_and_seek(module, idx)
                    module.truncate()
            else:
                # no version string found
                pass

            # write the version string
            log.info('writing version: %s' % outfile)
            try_and_seek(module, 0)
            print >> module
            print >> module, verstr
Exemplo n.º 29
0
 def build_module(self, module, module_file, package):
     orig_outfile, _ = build_py.build_module(self, module, module_file,
                                             package)
     version_line = "__version__ = '{0}'\n".format(__version__)
     new_outfile = orig_outfile + '.new'
     with open(new_outfile, 'w') as new_fh:
         with open(orig_outfile) as orig_fh:
             for line in orig_fh:
                 if line.startswith('__version__ ='):
                     new_fh.write(version_line)
                 else:
                     new_fh.write(line)
         new_fh.flush()
     os.rename(new_outfile, orig_outfile)
 def build_module(self, module, module_file, package):
     orig_outfile, _ = build_py.build_module(self, module, module_file,
                                             package)
     if module == 'eucameta' and package == 'sos.plugins':
         version_line = "__version__ = '{0}'\n".format(__version__)
         new_outfile = orig_outfile + '.new'
         with open(new_outfile, 'w') as new_fh:
             with open(orig_outfile) as orig_fh:
                 for line in orig_fh:
                     if line.startswith('__version__ ='):
                         new_fh.write(version_line)
                     else:
                         new_fh.write(line)
             new_fh.flush()
         os.rename(new_outfile, orig_outfile)
Exemplo n.º 31
0
    def build_module(self, module, module_file, package):
        result = build_py.build_module(self, module, module_file, package)

        if module_file == os.path.join("src", "netzob", "NetzobResources.py"):
            # Re-compute the path to the output file
            if isinstance(package, str):
                package = package.split('.')
            elif not isinstance(package, (list, tuple)):
                raise TypeError(
                    "'package' must be a string (dot-separated), list, or tuple"
                )
            outfile = self.get_module_outfile(self.build_lib, package, module)
            if self.getBID() is not None:
                self.updateFileWithBID(outfile, self.getBID())
        return result
Exemplo n.º 32
0
 def build_module(self, module, module_file, package):
     outfile, copied = _build_py.build_module(self, module, module_file,
                                              package)
     if copied:
         self.__updated_files.append(outfile)
     return outfile, copied
Exemplo n.º 33
0
 def build_module(self, module, module_file, package):
     outfile, copied = _build_py.build_module(self, module, module_file, package)
     if copied:
         self.__updated_files.append(outfile)
     return outfile, copied
Exemplo n.º 34
0
 def build_module(self, module, module_file, package):
     res = build_py.build_module(self, module, module_file, package)
     if res[1]:
         # file was copied
         self.updated_files.append(res[0])
     return res
Exemplo n.º 35
0
 def build_module(self, module, module_file, package):
     if sys.version_info >= (3,) and module == '_compat2x':
         return
     return build_py.build_module(self, module, module_file, package)
Exemplo n.º 36
0
 def build_module(self, module, module_file, package):
     res = build_py.build_module(self, module, module_file, package)
     if res[1]:
         # file was copied
         self.updated_files.append(res[0])
     return res
Exemplo n.º 37
0
 def build_module(self, module, module_file, package):
     if sys.version_info >= (3, ) and module == '_compat2x':
         return
     return build_py.build_module(self, module, module_file, package)