Пример #1
0
    def checkout(self, revision=None):
        if revision is None:
            revision = self.tag
            if revision is None:
                revision = self._branch

        command.run(["git", "checkout", revision])
Пример #2
0
    def clean(self):
        try:
            os.chdir(self.local)
        except OSError:
            return False

        command.run(["git", "clean", "-fdx"])

        return True
Пример #3
0
def run(cmd):
    args = [cmd, "--home-dir", config.home_dir]

    resolution = config.get_pref("RESOLUTION")
    if resolution:
        args.extend(["--resolution", resolution])

    output = config.get_pref("OUTPUT")
    if output:
        args.extend(["--output", output])

    command.run(args)
Пример #4
0
    def update(self, revision=None):
        if not os.path.exists(os.path.join(self.local, ".git")):
            self._clone()
            return

        orig_cwd = os.getcwd()
        os.chdir(self.local)

        if revision is None:
            if self.tag and self._head_has_tag(self.tag):
                os.chdir(orig_cwd)
                return

            revision = self.tag

        if revision == self._get_commit_id():
            os.chdir(orig_cwd)
            return

        command.run(["git", "remote", "set-url", "origin", self.remote])
        command.run(["git", "fetch"], retry=self._retry)

        if revision:
            command.run(["git", "checkout", revision])
        else:
            command.run(["git", "merge", "--ff-only",
                         "origin/%s" % self._branch])

        os.chdir(orig_cwd)
Пример #5
0
def run(cmd):
    args = [cmd, "--home-dir", config.home_dir]

    resolution = config.get_pref("RESOLUTION")
    if resolution:
        args.extend(["--resolution", resolution])

    output = config.get_pref("OUTPUT")
    if output:
        args.extend(["--output", output])

    signal.signal(signal.SIGINT, signal.SIG_IGN)

    os.environ["SUGAR_DEVELOPER"] = "1"

    print "Type Shift-Alt-Q inside sugar to close."
    command.run(args)
Пример #6
0
def _check_module(module):
    result = True

    if module.has_checks:
        print("* Checking %s" % module.name)

        os.chdir(module.get_build_dir())

        xvfb_proc, orig_display = xvfb.start()

        try:
            command.run(["dbus-launch", "make", "check"])
        except subprocess.CalledProcessError:
            result = False

        xvfb.stop(xvfb_proc, orig_display)

    return result
Пример #7
0
def _build_autotools(module, log):
    # Workaround for aclocal 1.11 (fixed in 1.12)
    aclocal_path = os.path.join(config.share_dir, "aclocal")
    utils.ensure_dir(aclocal_path)

    makefile_path = os.path.join(module.get_build_dir(), "Makefile")

    if not os.path.exists(makefile_path):
        configure = os.path.join(module.get_source_dir(), "autogen.sh")
        if not os.path.exists(configure):
            configure = os.path.join(module.get_source_dir(), "configure")

        args = [configure, "--prefix", config.install_dir]

        if not module.no_libdir:
            args.extend(["--libdir", config.lib_dir])

        args.extend(module.options)

        for option in module.options_evaluated:
            args.append(_eval_option(option))

        command.run(args, log)

    jobs = multiprocessing.cpu_count() * 2

    command.run(["make", "-j", "%d" % jobs], log)
    command.run(["make", "install"], log)

    _unlink_libtool_files()
Пример #8
0
    def _clone(self):
        os.chdir(self._path)

        command.run(["git", "clone", "--progress", self.remote, self._name],
                    retry=self._retry)

        os.chdir(self.local)

        if self.tag:
            command.run(["git", "checkout", self.tag])
        else:
            command.run(["git", "checkout", self._branch])
Пример #9
0
def _distribute_autotools(module):
    makefile = parse_makefile("Makefile")
    filename = makefile["DIST_ARCHIVES"]
    version = makefile["VERSION"]

    git_module = git.get_module(module)

    version_revision = None
    description = git_module.describe()
    if description != "v%s" % version:
        match = re.match(r"(v[\d\.]+)", description)
        if match is None:
            print("No version tag was found")
            return False
        else:
            version_revision = match.groups()[0]

    if version_revision is not None:
        git_module.checkout(version_revision)

    return command.run(["make", "distcheck"])
Пример #10
0
def _build_npm(module, log):
    command.run(["npm", "install", "-g", "--prefix", config.install_dir], log)
Пример #11
0
def _build_distutils(module, log):
    setup = os.path.join(module.get_source_dir(), "setup.py")
    command.run(["python", setup, "install", "--prefix",
                 config.install_dir], log)
Пример #12
0
def _build_activity(module, log):
    setup = os.path.join(module.get_source_dir(), "setup.py")
    command.run([setup, "install", "--prefix", config.prefix_dir], log)