def parse_package(names, toolchain=False, naoki=None):
packages = parse_package_info(names, toolchain)
- return [Package(package.name, naoki=naoki) for package in packages]
+ return [Package(package.name, naoki=naoki, toolchain=toolchain) \
+ for package in packages]
def get_package_names(toolchain=False):
if not __cache["package_names"]:
class Package(object):
- def __init__(self, name, naoki):
- self.info = find_package_info(name)
+ def __init__(self, name, naoki, toolchain=False):
+ self.info = find_package_info(name, toolchain)
self.naoki = naoki
#self.log.debug("Initialized package object %s" % name)
def get_repositories(toolchain=False):
if toolchain:
- return Repository("toolchain")
+ return [Repository("toolchain")]
repos = []
for repo in os.listdir(PKGSDIR):
import random
import stat
+import backend
import util
from constants import *
from exception import *
"PKG_ARCH" : self.arch["name"],
})
- if os.path.exists(self.chrootPath("usr", "ccache")):
+ ccache_path = os.path.join("tools_%s" % self.arch["name"],
+ "usr", "ccache", "bin")
+ if os.path.exists(self.chrootPath(ccache_path)):
env.update({
- "PATH" : "/usr/ccache/bin:%s" % env["PATH"],
+ "PATH" : "/%s:%s" % (ccache_path, env["PATH"]),
"CCACHE_DIR" : "/usr/src/ccache",
})
def build(self):
self.log.info("Building toolchain...")
- packages = package.depsort(package.list(toolchain=True))
+ packages = backend.get_package_names(toolchain=True)
+ packages = backend.parse_package(packages, toolchain=True)
+ packages = backend.depsort(packages)
for pkg in packages:
- if pkg.isBuilt:
+ if os.path.exists(os.path.join(self.path, pkg.name)):
continue
self.build_package(pkg)
self.compress()