Esempio n. 1
0
def make_src_silvercity(maker, log):
    METHOD = "komodo"  # one of "komodo" or "tarball"
    if METHOD == "komodo":
        ko_silvercity_dir = join(cfg.komodo_src, "src", "silvercity")
        if not isdir(ko_silvercity_dir):
            raise MakeError("cannot find Komodo silvercity source dir: '%s'" %
                            ko_silvercity_dir)
        assert ' ' not in ko_silvercity_dir
        dest = join("src", "SilverCity")
        _cp(ko_silvercity_dir, dest, logstream=log.info)

        if sys.platform == "win32":
            for dirpath, dirnames, filenames in os.walk(dest):
                for filename in filenames:
                    _run("attrib -R %s" % join(dirpath, filename),
                         logstream=log.info)
        else:
            _run("chmod -R ug+w %s" % dest, logstream=log.info)
    elif METHOD == "tarball":
        pattern = "SilverCity-*.tar.gz"
        candidates = []
        for src_repo in cfg.src_repositories:
            candidates += glob(join(src_repo, pattern))
        if not candidates:
            raise MakeError("cannot find SilverCity source (%s) in source "
                            "repositories: '%s'" %
                            (pattern, "', '".join(cfg.src_repositories)))
        candidates.sort()
        pkg_path = abspath(candidates[-1])
        pkg_name = basename(pkg_path)[:-len(".tar.gz")]
        _run_in_dir("tar xzf %s" % pkg_path, "src", logstream=log.info)
        _mv(xpath("src", pkg_name),
            xpath("src/SilverCity"),
            logstream=log.info)

        for dirname, dirs, files in os.walk("src/SilverCity"):
            for file in files:
                eol.convert_path_eol(join(dirname, file), eol.NATIVE, log=log)

        # Patch it.
        #XXX Use my patchtool thing.
        for patchfile in glob("src/patches/silvercity-*.patch"):
            _run_in_dir("patch -p0 < %s" % abspath(patchfile),
                        "src",
                        logstream=log.info)
Esempio n. 2
0
def make_src_silvercity(maker, log):
    METHOD = "komodo" # one of "komodo" or "tarball"
    if METHOD == "komodo":
        ko_silvercity_dir = join(cfg.komodo_src, "src", "silvercity")
        if not isdir(ko_silvercity_dir):
            raise MakeError("cannot find Komodo silvercity source dir: '%s'"
                            % ko_silvercity_dir)
        assert ' ' not in ko_silvercity_dir
        dest = join("src", "SilverCity")
        _cp(ko_silvercity_dir, dest, logstream=log.info)

        if sys.platform == "win32":
            for dirpath, dirnames, filenames in os.walk(dest):
                for filename in filenames:
                    _run("attrib -R %s" % join(dirpath, filename),
                         logstream=log.info)
        else:
            _run("chmod -R ug+w %s" % dest, logstream=log.info)
    elif METHOD == "tarball":
        pattern = "SilverCity-*.tar.gz"
        candidates = []
        for src_repo in cfg.src_repositories:
            candidates += glob(join(src_repo, pattern))
        if not candidates:
            raise MakeError("cannot find SilverCity source (%s) in source "
                            "repositories: '%s'"
                            % (pattern, "', '".join(cfg.src_repositories)))
        candidates.sort()
        pkg_path = abspath(candidates[-1])
        pkg_name = basename(pkg_path)[:-len(".tar.gz")]
        _run_in_dir("tar xzf %s" % pkg_path, "src", logstream=log.info)
        _mv(xpath("src", pkg_name), xpath("src/SilverCity"), logstream=log.info)

        for dirname, dirs, files in os.walk("src/SilverCity"):
            for file in files:
                eol.convert_path_eol(join(dirname, file), eol.NATIVE,
                                     log=log)

        # Patch it.
        #XXX Use my patchtool thing.
        for patchfile in glob("src/patches/silvercity-*.patch"):
            _run_in_dir("patch -p0 < %s" % abspath(patchfile), "src",
                        logstream=log.info)