diff options
author | Robert Schuster <thebohemian@gmx.net> | 2008-08-27 15:37:19 +0000 |
---|---|---|
committer | Robert Schuster <thebohemian@gmx.net> | 2008-08-27 15:37:19 +0000 |
commit | a11270972338aa07727da3a8624adf0ec4289816 (patch) | |
tree | 3a2aa4cc3f5b3f8efb969fe3111ebda5919cc266 /classes | |
parent | 7a527a494ce316a373361024b9e86a779e4a49e8 (diff) | |
parent | f05854e89327463f009e47cad7ed61bd228fb7e9 (diff) |
merge of '4dc83fb2fe7f6a2d1912363f0f5d575ef277a6b7'
and '6db51d8148c7ab6620fa15c71ccbfc4ec1db4fc0'
Diffstat (limited to 'classes')
-rw-r--r-- | classes/e.bbclass | 2 | ||||
-rw-r--r-- | classes/efl.bbclass | 2 | ||||
-rw-r--r-- | classes/icecc.bbclass | 17 | ||||
-rw-r--r-- | classes/package.bbclass | 51 |
4 files changed, 58 insertions, 14 deletions
diff --git a/classes/e.bbclass b/classes/e.bbclass index 3fb2355bc9..14199aaf0d 100644 --- a/classes/e.bbclass +++ b/classes/e.bbclass @@ -1,6 +1,6 @@ HOMEPAGE = "http://www.enlightenment.org" SECTION = "e/apps" -SRC_URI = "${E_CVS};module=e17/apps/${SRCNAME}" +SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk;module=${SRCNAME};proto=http" S = "${WORKDIR}/${SRCNAME}" inherit autotools pkgconfig binconfig diff --git a/classes/efl.bbclass b/classes/efl.bbclass index ab73a3cf01..bc4d9fe84b 100644 --- a/classes/efl.bbclass +++ b/classes/efl.bbclass @@ -2,7 +2,7 @@ SECTION = "e/libs" HOMEPAGE = "http://www.enlightenment.org" LICENSE = "MIT BSD" SRCNAME = "${@bb.data.getVar('PN', d, 1).replace('-native', '')}" -SRC_URI = "${E_CVS};module=e17/libs/${SRCNAME}" +SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk;module=${SRCNAME};proto=http" S = "${WORKDIR}/${SRCNAME}" DEPENDS += "pkgconfig-native" diff --git a/classes/icecc.bbclass b/classes/icecc.bbclass index 8c950b0281..b5a858bb1f 100644 --- a/classes/icecc.bbclass +++ b/classes/icecc.bbclass @@ -154,7 +154,7 @@ def create_cross_kernel_env(bb,d): try: os.stat(os.path.join(ice_dir, 'bin', kernel_cc)) except: # no cross compiler built yet - bb.error('no cross compiler built yet') + bb.error('no kernel cross compiler built yet') return "" VERSION = icc_determine_gcc_version( os.path.join(ice_dir,"bin",kernel_cc) ) @@ -251,23 +251,16 @@ def icc_path(bb,d): #"system" package blacklist contains a list of packages that can not distribute compile tasks #for one reason or the other - system_package_blacklist = [ "uclibc", "glibc-intermediate", "gcc", "qemu", "bind", "u-boot", "dhcp-forwarder", "enchant" ] + system_package_blacklist = [ "uclibc", "glibc", "gcc", "qemu", "bind", "u-boot", "dhcp-forwarder", "enchant" ] + user_package_blacklist = (bb.data.getVar('ICECC_USER_PACKAGE_BL', d) or "").split() + package_blacklist = system_package_blacklist + user_package_blacklist - for black in system_package_blacklist: + for black in package_blacklist: if black in package_tmp: bb.note(package_tmp, ' found in blacklist, disable icecc') bb.data.setVar("PARALLEL_MAKE" , "", d) return "" - #user defined exclusion list - user_package_blacklist = bb.data.getVar('ICECC_USER_PACKAGE_BL', d) or "" - user_package_blacklist = user_package_blacklist.split() - - for black in user_package_blacklist: - if black in package_tmp: - bb.data.setVar("PARALLEL_MAKE" , "", d) - return "" - prefix = bb.data.expand('${HOST_PREFIX}', d) if bb.data.inherits_class("cross", d): diff --git a/classes/package.bbclass b/classes/package.bbclass index 814715e1fa..e01479677f 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -117,6 +117,20 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst PACKAGE_DEPENDS += "file-native" +def package_stash_hook(func, name, d): + import bb, os.path + body = bb.data.getVar(func, d, True) + pn = bb.data.getVar('PN', d, True) + staging = bb.data.getVar('PKGDATA_DIR', d, True) + dirname = os.path.join(staging, 'hooks', name) + bb.mkdirhier(dirname) + fn = os.path.join(dirname, pn) + f = open(fn, 'w') + f.write("python () {\n"); + f.write(body); + f.write("}\n"); + f.close() + python () { import bb if bb.data.getVar('PACKAGES', d, True) != '': @@ -656,6 +670,7 @@ python package_do_shlibs() { dep_pkg = dep_pkg[0] shlib_provider[l] = (dep_pkg, lib_ver) + dep_packages = [] for pkg in packages.split(): bb.debug(2, "calculating shlib requirements for %s" % pkg) @@ -673,6 +688,9 @@ python package_do_shlibs() { dep = dep_pkg if not dep in deps: deps.append(dep) + if not dep_pkg in dep_packages: + dep_packages.append(dep_pkg) + else: bb.note("Couldn't find shared library provider for %s" % n) @@ -924,6 +942,38 @@ PACKAGEFUNCS ?= "package_do_split_locales \ package_depchains \ emit_pkgdata" +def package_run_hooks(f, d): + import bb, os + staging = bb.data.getVar('PKGDATA_DIR', d, True) + dn = os.path.join(staging, 'hooks', f) + if os.access(dn, os.R_OK): + for f in os.listdir(dn): + fn = os.path.join(dn, f) + fp = open(fn, 'r') + line = 0 + for l in fp.readlines(): + l = l.rstrip() + bb.parse.parse_py.BBHandler.feeder(line, l, fn, os.path.basename(fn), d) + line += 1 + fp.close() + anonqueue = bb.data.getVar("__anonqueue", d, 1) or [] + body = [x['content'] for x in anonqueue] + flag = { 'python' : 1, 'func' : 1 } + bb.data.setVar("__anonfunc", "\n".join(body), d) + bb.data.setVarFlags("__anonfunc", flag, d) + try: + t = bb.data.getVar('T', d) + bb.data.setVar('T', '${TMPDIR}/', d) + bb.build.exec_func("__anonfunc", d) + bb.data.delVar('T', d) + if t: + bb.data.setVar('T', t, d) + except Exception, e: + bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e) + raise + bb.data.delVar("__anonqueue", d) + bb.data.delVar("__anonfunc", d) + python package_do_package () { packages = (bb.data.getVar('PACKAGES', d, 1) or "").split() if len(packages) < 1: @@ -932,6 +982,7 @@ python package_do_package () { for f in (bb.data.getVar('PACKAGEFUNCS', d, 1) or '').split(): bb.build.exec_func(f, d) + package_run_hooks(f, d) } do_package[dirs] = "${D}" addtask package before do_build after do_install |