summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2009-06-10 20:14:50 +0200
committerKoen Kooi <koen@openembedded.org>2009-06-10 20:14:50 +0200
commit760bd999661cb210addb26eb56d4178cedc6a229 (patch)
treecb38a06e9c2dc1276900199c2b73cb3d88f0214a
parentf2f60923cae4f73c0ce879a2d8cd3bb705f61735 (diff)
parentcc21365c2f40c402905d2e39074c9db291635458 (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.org:openembedded into org.openembedded.dev
-rw-r--r--classes/recipe_sanity.bbclass111
-rw-r--r--recipes/linux/linux-powerpc-fsl_git.bb4
-rw-r--r--recipes/sysklogd/sysklogd.inc3
-rw-r--r--recipes/sysklogd/sysklogd_1.5.bb3
4 files changed, 117 insertions, 4 deletions
diff --git a/classes/recipe_sanity.bbclass b/classes/recipe_sanity.bbclass
new file mode 100644
index 0000000000..a10755cf47
--- /dev/null
+++ b/classes/recipe_sanity.bbclass
@@ -0,0 +1,111 @@
+def can_use_autotools_base(cfgdata, d):
+ import bb
+ cfg = d.getVar("do_configure", 1)
+ if not bb.data.inherits_class("autotools", d):
+ return False
+
+ for i in ["autoreconf"] + ["%s_do_configure" % cls for cls in ["gnome", "e", "autotools", "autotools_stage", "efl", "gpephone", "openmoko", "openmoko2", "xfce", "xlibs"]]:
+ if cfg.find(i) != -1:
+ return False
+
+ import os
+ for clsfile in d.getVar("__inherit_cache", 0):
+ (base, _) = os.path.splitext(os.path.basename(clsfile))
+ if cfg.find("%s_do_configure" % base) != -1:
+ bb.note("%s: recipe_sanity: autotools_base usage needs verification, spotted %s" % (d.getVar("P", 1), "%s_do_configure" % base))
+
+ return True
+
+def can_remove_FILESPATH(cfgdata, d):
+ import os
+ import bb
+ expected = cfgdata.get("FILESPATH")
+ #expected = "${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for fp in d.getVar('FILESPATHBASE', 1).split(':') for p in d.getVar('FILESPATHPKG', 1).split(':') for o in (d.getVar('OVERRIDES', 1) + ':').split(':') if os.path.exists(os.path.join(fp, p, o))])}:${FILESDIR}"
+ expectedpaths = bb.data.expand(expected, d)
+ unexpanded = d.getVar("FILESPATH", 0)
+ filespath = d.getVar("FILESPATH", 1).split(":")
+ filespath = [os.path.normpath(f) for f in filespath if os.path.exists(f)]
+ for fp in filespath:
+ if not fp in expectedpaths:
+ # bb.note("Path %s in FILESPATH not in the expected paths %s" % (fp, expectedpaths))
+ return False
+ return expected != unexpanded
+
+def can_remove_FILESDIR(cfgdata, d):
+ import os
+ import bb
+ expected = cfgdata.get("FILESDIR")
+ #expected = "${@bb.which(d.getVar('FILESPATH', 1), '.')}"
+ unexpanded = d.getVar("FILESDIR", 0)
+ if unexpanded is None:
+ return False
+
+ expanded = os.path.normpath(d.getVar("FILESDIR", 1))
+ filespath = d.getVar("FILESPATH", 1).split(":")
+ filespath = [os.path.normpath(f) for f in filespath if os.path.exists(f)]
+
+ return unexpanded != expected and \
+ os.path.exists(expanded) and \
+ (expanded in filespath or
+ expanded == bb.data.expand(expected, d))
+
+def can_remove_others(p, cfgdata, d):
+ import bb
+ for k in ["S", "PV", "PN", "DESCRIPTION", "LICENSE", "DEPENDS",
+ "SECTION", "PACKAGES", "EXTRA_OECONF", "EXTRA_OEMAKE"]:
+ #for k in cfgdata:
+ unexpanded = d.getVar(k, 0)
+ cfgunexpanded = cfgdata.get(k)
+ if not cfgunexpanded:
+ continue
+
+ try:
+ expanded = d.getVar(k, 1)
+ cfgexpanded = bb.data.expand(cfgunexpanded, d)
+ except bb.fetch.ParameterError:
+ continue
+
+ if unexpanded != cfgunexpanded and \
+ cfgexpanded == expanded:
+ bb.note("%s: recipe_sanity: candidate for removal of %s" % (p, k))
+ bb.debug(1, "%s: recipe_sanity: cfg's '%s' and d's '%s' both expand to %s" %
+ (p, cfgunexpanded, unexpanded, expanded))
+
+python do_recipe_sanity () {
+ p = d.getVar("P", 1)
+ p = "%s %s %s" % (d.getVar("PN", 1), d.getVar("PV", 1), d.getVar("PR", 1))
+
+ sanitychecks = [
+ (can_remove_FILESDIR, "removal of FILESDIR"),
+ (can_remove_FILESPATH, "removal of FILESPATH"),
+ #(can_use_autotools_base, "use of autotools_base"),
+ ]
+ cfgdata = d.getVar("__recipe_sanity_cfgdata", 0)
+
+ for (func, msg) in sanitychecks:
+ if func(cfgdata, d):
+ bb.note("%s: recipe_sanity: candidate for %s" % (p, msg))
+
+ can_remove_others(p, cfgdata, d)
+}
+do_recipe_sanity[nostamp] = "1"
+do_recipe_sanity[recrdeptask] = "do_recipe_sanity"
+addtask recipe_sanity
+
+python recipe_sanity_eh () {
+ from bb.event import getName
+
+ if getName(e) != "ConfigParsed":
+ return NotHandled
+
+ d = e.data
+
+ cfgdata = {}
+ for k in d.keys():
+ #for k in ["S", "PR", "PV", "PN", "DESCRIPTION", "LICENSE", "DEPENDS",
+ # "SECTION"]:
+ cfgdata[k] = d.getVar(k, 0)
+
+ d.setVar("__recipe_sanity_cfgdata", cfgdata)
+}
+addhandler recipe_sanity_eh
diff --git a/recipes/linux/linux-powerpc-fsl_git.bb b/recipes/linux/linux-powerpc-fsl_git.bb
index 6d9ab5bbb5..60b7b0e5d5 100644
--- a/recipes/linux/linux-powerpc-fsl_git.bb
+++ b/recipes/linux/linux-powerpc-fsl_git.bb
@@ -3,12 +3,12 @@
require linux.inc
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-powerpc-fsl-git/${MACHINE}"
+FILESPATHPKG =. "linux-powerpc-fsl-git/${MACHINE}:"
SRCREV = "1406de8e11eb043681297adf86d6892ff8efc27a"
PV = "2.6.30"
-PR = "r3"
+PR = "r4"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git;protocol=git \
file://defconfig"
diff --git a/recipes/sysklogd/sysklogd.inc b/recipes/sysklogd/sysklogd.inc
index da05c0e02e..2fdc49c543 100644
--- a/recipes/sysklogd/sysklogd.inc
+++ b/recipes/sysklogd/sysklogd.inc
@@ -1,7 +1,6 @@
LICENSE = "GPL"
SECTION = "base"
-DESCRIPTION = "The sysklogd package implements \
-two system log daemons."
+DESCRIPTION = "The sysklogd package implements two system log daemons."
SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-${PV}.tar.gz \
file://nonrootinstall.patch;patch=1"
diff --git a/recipes/sysklogd/sysklogd_1.5.bb b/recipes/sysklogd/sysklogd_1.5.bb
index 31843d603f..37cfd7f28d 100644
--- a/recipes/sysklogd/sysklogd_1.5.bb
+++ b/recipes/sysklogd/sysklogd_1.5.bb
@@ -1 +1,4 @@
require sysklogd.inc
+PR = "r1"
+
+SRC_URI += "file://no-strip-install.patch;patch=1"