예제 #1
0
파일: classic.py 프로젝트: nud/novabuild
    def list_module_packages(self, module):
        debiandir = self.get_debian_dir(module)

        control = PackageControlParser()

        if os.path.exists(os.path.join(debiandir, "control")):
            control.read(os.path.join(debiandir, "control"))
        else:
            env = self.get_jinja_env()
            data = env.get_template(os.path.join(debiandir, "control.j2")).render(**self.args.vars)
            control.readfp(data.splitlines())

        version = self.get_version(module)

        # Imported package sometimes don't have the same "local tag" as ours.
        # FIXME: this code is mostly duplicated from changelog.py
        if changelog_is_up_to_date(os.path.join(debiandir, "changelog"), version):
            line = file(os.path.join(debiandir, "changelog"), "r").readline()
            version = re.match("^(\w[-+0-9a-z.]*) \(([^\(\) \t]+)\)", line, re.I).group(2)

        if ":" in version:
            version = version.split(":", 1)[1]
        if self.args.build_tag:
            version += self.args.build_tag

        packages = []
        for package in control.sections:
            name = package["Package"]
            arch = package["Architecture"]
            if arch == "any":
                arch = self.args.arch

            packages.append("%s_%s_%s.deb" % (name, version, arch))

        return packages
예제 #2
0
파일: classic.py 프로젝트: BeIP/novabuild
    def list_module_packages(self, module):
        debiandir = self.get_debian_dir(module)

        control = PackageControlParser()

        if os.path.exists(os.path.join(debiandir, 'control')):
            control.read(os.path.join(debiandir, 'control'))
        else:
            env = self.get_jinja_env()
            data = env.get_template(os.path.join(debiandir, 'control.j2')).render(**self.args.vars)
            control.readfp(data.splitlines())

        version = self.get_version(module)

        # Imported package sometimes don't have the same "local tag" as ours.
        # FIXME: this code is mostly duplicated from changelog.py
        if changelog_is_up_to_date(os.path.join(debiandir, 'changelog'), version):
            line = file(os.path.join(debiandir, 'changelog'), 'r').readline()
            version = re.match('^(\w[-+0-9a-z.]*) \(([^\(\) \t]+)\)', line, re.I).group(2)

        if ':' in version:
            version = version.split(':',1)[1]
        if self.args.build_tag:
            version += self.args.build_tag

        packages = []
        for package in control.sections:
            name = package['Package']
            arch = package['Architecture']
            if arch == 'any':
                arch = self.args.arch

            packages.append('%s_%s_%s.deb' % (name, version, arch))

        return packages