summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorRobert Schuster <thebohemian@gmx.net>2008-08-27 15:37:19 +0000
committerRobert Schuster <thebohemian@gmx.net>2008-08-27 15:37:19 +0000
commita11270972338aa07727da3a8624adf0ec4289816 (patch)
tree3a2aa4cc3f5b3f8efb969fe3111ebda5919cc266 /classes
parent7a527a494ce316a373361024b9e86a779e4a49e8 (diff)
parentf05854e89327463f009e47cad7ed61bd228fb7e9 (diff)
merge of '4dc83fb2fe7f6a2d1912363f0f5d575ef277a6b7'
and '6db51d8148c7ab6620fa15c71ccbfc4ec1db4fc0'
Diffstat (limited to 'classes')
-rw-r--r--classes/e.bbclass2
-rw-r--r--classes/efl.bbclass2
-rw-r--r--classes/icecc.bbclass17
-rw-r--r--classes/package.bbclass51
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