72 lines
2.4 KiB
Python
Executable File
72 lines
2.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
sys.path.append("debian/lib/python")
|
|
|
|
from debian_linux.debian import *
|
|
from debian_linux.gencontrol import PackagesList, Makefile, MakeFlags, Gencontrol
|
|
from debian_linux.utils import *
|
|
|
|
class gencontrol(Gencontrol):
|
|
makefile_targets = ('binary-arch', 'binary-indep', 'build-arch', 'build-indep')
|
|
|
|
def __init__(self, underlay = None):
|
|
self.templates = Templates(['debian/templates'])
|
|
self.process_changelog()
|
|
|
|
def __call__(self):
|
|
packages = PackagesList()
|
|
makefile = Makefile()
|
|
|
|
self.do_source(packages)
|
|
self.do_main(packages, makefile)
|
|
|
|
self.write_control(packages.values())
|
|
self.write_makefile(makefile)
|
|
|
|
def do_source(self, packages):
|
|
source = self.templates["control.source"]
|
|
packages['source'] = self.process_package(source[0], self.vars)
|
|
|
|
def do_main(self, packages, makefile):
|
|
vars = self.vars.copy()
|
|
makeflags = MakeFlags()
|
|
|
|
self.do_main_setup(vars, makeflags)
|
|
self.do_main_packages(packages)
|
|
self.do_main_makefile(makefile, makeflags)
|
|
|
|
def do_main_setup(self, vars, makeflags):
|
|
makeflags.update({
|
|
'VERSION': self.version.linux_version,
|
|
'VERSION_DEBIAN': self.version.complete,
|
|
'UPSTREAMVERSION': self.version.linux_upstream,
|
|
})
|
|
|
|
def do_main_makefile(self, makefile, makeflags):
|
|
for i in self.makefile_targets:
|
|
makefile.add(i, cmds = ["$(MAKE) -f debian/rules.real %s %s" % (i, makeflags)])
|
|
|
|
def do_main_packages(self, packages):
|
|
main = self.templates["control.main"]
|
|
packages.extend(self.process_packages(main, self.vars))
|
|
|
|
def substitute_file(template, target):
|
|
with codecs.open(target, 'w', 'utf-8') as f:
|
|
f.write(self.substitute(self.templates[template], self.vars))
|
|
substitute_file('lintian-overrides.perf',
|
|
'debian/linux-perf-%s.lintian-overrides' %
|
|
self.vars['version'])
|
|
|
|
def process_changelog(self):
|
|
changelog = Changelog(version = VersionLinux)
|
|
self.version = version = changelog[0].version
|
|
self.vars = {
|
|
'upstreamversion': version.linux_upstream,
|
|
'version': version.linux_version,
|
|
'source_upstream': version.upstream,
|
|
}
|
|
|
|
if __name__ == '__main__':
|
|
gencontrol()()
|