From ad5e128fb4d5902dc6acb666f5b9a797c0c75502 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sun, 22 Nov 2009 02:35:04 +0100 Subject: module_strip.bbclass: look for modules in right directory * After 29c7d3351f43678c6e93b707b301832009f64b31 modules are not in install directory but in package, packages-split * modules*.tgz is created BEFORE this, so it contains non stripped modules * for modules*.tgz with stripped modules see following patch Signed-off-by: Martin Jansa --- classes/module_strip.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'classes') diff --git a/classes/module_strip.bbclass b/classes/module_strip.bbclass index 3316e20c80..17409190ed 100644 --- a/classes/module_strip.bbclass +++ b/classes/module_strip.bbclass @@ -2,11 +2,11 @@ do_strip_modules () { for p in ${PACKAGES}; do - if test -e ${WORKDIR}/install/$p/lib/modules; then + if test -e ${PKGDEST}/$p/lib/modules; then if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then - modules="`find ${WORKDIR}/install/$p/lib/modules -name \*.ko`" + modules="`find ${PKGDEST}/${p}/lib/modules -name \*.ko`" else - modules="`find ${WORKDIR}/install/$p/lib/modules -name \*.o`" + modules="`find ${PKGDEST}/${p}/lib/modules -name \*.o`" fi if [ -n "$modules" ]; then for module in $modules ; do -- cgit v1.2.3 From 8581bc05f43d81179added7909e99d3afde1f447 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 23 Nov 2009 00:45:02 +0000 Subject: package.bbclass: Make sure PKGD is empty before populating fixing certain bugs (from Poky) Signed-off-by: Richard Purdie --- classes/package.bbclass | 1 + 1 file changed, 1 insertion(+) (limited to 'classes') diff --git a/classes/package.bbclass b/classes/package.bbclass index bb81f33b29..8892fa9084 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -334,6 +334,7 @@ python perform_packagecopy () { # Start by package population by taking a copy of the installed # files to operate on + os.system('rm -rf %s/*' % (dvar)) os.system('cp -pPR %s/* %s/' % (dest, dvar)) } -- cgit v1.2.3 From d35cf88e849ccad6fce5ab4bbf4cbe96f6e513b9 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 23 Nov 2009 01:18:03 +0000 Subject: kernel.bbclass: do_deploy modules.tgz should operating on PKGD Signed-off-by: Richard Purdie --- classes/kernel.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 637805e6e3..82719ac22c 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -527,8 +527,8 @@ do_deploy() { install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin - if [ -d "${D}/lib" ]; then - fakeroot tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}.tgz -C ${D} lib + if [ -d "${PKGD}/lib" ]; then + fakeroot tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}.tgz -C ${PKGD} lib fi cd ${DEPLOY_DIR_IMAGE} -- cgit v1.2.3 From 18a377dcf50c5c10ebc73a36963a6e83d1bbad5d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 23 Nov 2009 01:20:04 +0000 Subject: package.bbclass/module-strip.bbclass: Various strip fixes * Turn striping functionality into functions and call in the appropriate place * Removing various races and ordering issues * Should mean kernel modules are correctly stripped (and stripping can be disabled) * Addresses bug 1182 * kernel module stripping applied to ${PKGD} (the correct place) Signed-off-by: Richard Purdie --- classes/module_strip.bbclass | 36 +++++++++++++++--------------------- classes/package.bbclass | 37 ++++++++++++++++++++++++------------- 2 files changed, 39 insertions(+), 34 deletions(-) (limited to 'classes') diff --git a/classes/module_strip.bbclass b/classes/module_strip.bbclass index 17409190ed..ce36e213ff 100644 --- a/classes/module_strip.bbclass +++ b/classes/module_strip.bbclass @@ -1,26 +1,20 @@ -#DEPENDS_append = " module-strip" +PACKAGESTRIPFUNCS += "do_strip_modules" do_strip_modules () { - for p in ${PACKAGES}; do - if test -e ${PKGDEST}/$p/lib/modules; then - if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then - modules="`find ${PKGDEST}/${p}/lib/modules -name \*.ko`" - else - modules="`find ${PKGDEST}/${p}/lib/modules -name \*.o`" - fi - if [ -n "$modules" ]; then - for module in $modules ; do - if ! [ -d "$module" ] ; then - ${STRIP} -v -g $module - fi - done -# NM="${CROSS_DIR}/bin/${HOST_PREFIX}nm" OBJCOPY="${CROSS_DIR}/bin/${HOST_PREFIX}objcopy" strip_module $modules - fi + if test -e ${PKGDEST}/lib/modules; then + if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then + modules="`find ${PKGD}/lib/modules -name \*.ko`" + else + modules="`find ${PKGD}/lib/modules -name \*.o`" fi - done + if [ -n "$modules" ]; then + for module in $modules ; do + if ! [ -d "$module" ] ; then + ${STRIP} -v -g $module + fi + done + fi + fi } -python do_package_append () { - if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'): - bb.build.exec_func('do_strip_modules', d) -} + diff --git a/classes/package.bbclass b/classes/package.bbclass index 8892fa9084..4196135710 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -201,6 +201,26 @@ def runstrip(file, d): return 1 +PACKAGESTRIPFUNCS += "do_runstrip" +python do_runstrip() { + import stat + + dvar = bb.data.getVar('PKGD', d, True) + def isexec(path): + try: + s = os.stat(path) + except (os.error, AttributeError): + return 0 + return (s[stat.ST_MODE] & stat.S_IEXEC) + + for root, dirs, files in os.walk(dvar): + for f in files: + file = os.path.join(root, f) + if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): + runstrip(file, d) +} + + def write_package_md5sums (root, outfile, ignorepaths): # For each regular file under root, writes an md5sum to outfile. # With thanks to patch.bbclass. @@ -339,7 +359,7 @@ python perform_packagecopy () { } python populate_packages () { - import glob, stat, errno, re,os + import glob, errno, re,os workdir = bb.data.getVar('WORKDIR', d, True) outdir = bb.data.getVar('DEPLOY_DIR', d, True) @@ -350,13 +370,6 @@ python populate_packages () { bb.mkdirhier(outdir) os.chdir(dvar) - def isexec(path): - try: - s = os.stat(path) - except (os.error, AttributeError): - return 0 - return (s[stat.ST_MODE] & stat.S_IEXEC) - # Sanity check PACKAGES for duplicates - should be moved to # sanity.bbclass once we have the infrastucture package_list = [] @@ -369,12 +382,10 @@ python populate_packages () { else: package_list.append(pkg) + if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, True) != '1'): - for root, dirs, files in os.walk(dvar): - for f in files: - file = os.path.join(root, f) - if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): - runstrip(file, d) + for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split(): + bb.build.exec_func(f, d) pkgdest = bb.data.getVar('PKGDEST', d, True) os.system('rm -rf %s' % pkgdest) -- cgit v1.2.3 From 302420650446bc7b33723a1e1f10929e99bef0fa Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 23 Nov 2009 08:20:46 +0100 Subject: module-strip.bbclass: fix typo, last PKGDEST should be PKGD too --- classes/module_strip.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/module_strip.bbclass b/classes/module_strip.bbclass index ce36e213ff..2650f71d50 100644 --- a/classes/module_strip.bbclass +++ b/classes/module_strip.bbclass @@ -1,7 +1,7 @@ PACKAGESTRIPFUNCS += "do_strip_modules" do_strip_modules () { - if test -e ${PKGDEST}/lib/modules; then + if test -e ${PKGD}/lib/modules; then if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then modules="`find ${PKGD}/lib/modules -name \*.ko`" else -- cgit v1.2.3 From a55e9a527a8c9823044196d031f2da2783ff8f35 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 23 Nov 2009 11:29:05 +0100 Subject: kernel.bbclass, linux.inc: move do_deploy task after do_package * Move do_deploy after do_package in kernel.bbclass as RP said * Move devicetree_image before do_deploy in linux.inc, because it creates dependency loop if its between after do_package and before do_deploy. Signed-off-by: Martin Jansa --- classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 82719ac22c..dedd5a6962 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -540,4 +540,4 @@ do_deploy() { do_deploy[dirs] = "${S}" do_deploy[depends] += "fakeroot-native:do_populate_staging" -addtask deploy before do_package after do_install +addtask deploy after do_package -- cgit v1.2.3 From bc2bddb71d8c5db25b80aa6435392ec1c8df39f9 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 23 Nov 2009 13:53:04 +0100 Subject: kernel.bbclass: force do_deploy call before do_build Signed-off-by: Martin Jansa --- classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index dedd5a6962..edeaa660bb 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -540,4 +540,4 @@ do_deploy() { do_deploy[dirs] = "${S}" do_deploy[depends] += "fakeroot-native:do_populate_staging" -addtask deploy after do_package +addtask deploy before do_build after do_package -- cgit v1.2.3 From 32b754e45f81ec369258a0417271535770d12aa3 Mon Sep 17 00:00:00 2001 From: Mario Domenech Goulart Date: Tue, 24 Nov 2009 15:53:50 -0200 Subject: chicken: added support for cross compilation with chicken Added the chicken-cross recipe and a chicken class for translating architectures to the Chicken nomenclature. Signed-off-by: Mario Domenech Goulart Signed-off-by: Otavio Salvador --- classes/chicken.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 classes/chicken.bbclass (limited to 'classes') diff --git a/classes/chicken.bbclass b/classes/chicken.bbclass new file mode 100644 index 0000000000..5ebe1ff462 --- /dev/null +++ b/classes/chicken.bbclass @@ -0,0 +1,11 @@ +def chicken_arch(bb, d): + import re + arch_pattern = re.compile('^i.*86$') + target_arch = d.getVar("TARGET_ARCH", 1) + if arch_pattern.match(target_arch): + return 'x86' + else: + return target_arch + +CHICKEN_ARCH = "${@chicken_arch(bb, d)}" + -- cgit v1.2.3 From 2c8134baa56ad047f5c37069379c0e560dd6477e Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 25 Nov 2009 13:11:43 +0100 Subject: pkgconfig bbclass: also sed out bogus includes RP says: In theory the recipes themselves should be patched to stop this nonesense getting in there in the first place but that is appropriate for pkgconfig.bbclass --- classes/pkgconfig.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass index 5844461fb4..f3d93716d7 100644 --- a/classes/pkgconfig.bbclass +++ b/classes/pkgconfig.bbclass @@ -3,7 +3,7 @@ DEPENDS_prepend = "pkgconfig-native " do_install_prepend () { for i in `find ${S}/ -name "*.pc" -type f` ; do \ - sed -i -e 's:-L${STAGING_LIBDIR}::g' $i + sed -i -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' $i done } -- cgit v1.2.3 From 51f172ce530a7718c1cf628333ba0904120ea1e2 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 26 Nov 2009 14:20:22 +0100 Subject: e17: bump SRCREV and start adapting it to new-style staging --- classes/efl.bbclass | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/efl.bbclass b/classes/efl.bbclass index d4c3baa9cf..900d9c7f0d 100644 --- a/classes/efl.bbclass +++ b/classes/efl.bbclass @@ -11,16 +11,19 @@ PE = "2" ARM_INSTRUCTION_SET = "arm" -AUTOTOOLS_STAGE_PKGCONFIG = "1" -# do NOT inherit pkgconfig here, see note in autotools_stage_all inherit autotools +# evas-native looks at this var, so keep it +AUTOTOOLS_STAGE_PKGCONFIG = "1" + do_configure_prepend() { touch config.rpath } -do_stage() { - autotools_stage_all +do_install_prepend () { + for i in `find ${S}/ -name "*.pc" -type f` ; do \ + sed -i -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' $i + done } # This construction is stupid, someone with more E knowledge should change it to =+ or something -- cgit v1.2.3 From e6c9a9740bdbe3a86b3ef0c25cc37b3d9d844c0f Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Thu, 26 Nov 2009 19:11:11 +0100 Subject: Fix so package_tar yet again produces tar packages. This closes bug 5339. Thx to Pb for fix. Signed-off-by: Kristoffer Ericson --- classes/package_tar.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass index 9c9ae4ff0a..b905e170f4 100644 --- a/classes/package_tar.bbclass +++ b/classes/package_tar.bbclass @@ -56,7 +56,8 @@ python do_package_tar () { for pkg in packages.split(): localdata = bb.data.createCopy(d) - root = "%s/install/%s" % (workdir, pkg) + pkgdest = bb.data.getVar('PKGDEST', d, 1) + root = "%s/%s" % (pkgdest, pkg) bb.data.setVar('ROOT', '', localdata) bb.data.setVar('ROOT_%s' % pkg, root, localdata) -- cgit v1.2.3 From 2739ab7621e132854fc6103d982ceb2bed2769a3 Mon Sep 17 00:00:00 2001 From: Andrea Adami Date: Sun, 29 Nov 2009 13:52:39 +0100 Subject: Revert "palmtop.bbclass: fix QA of plugins wrt packaging of -dbg files" This reverts commit 38361a2cd9b962daccf5af7c85d54245e3711f9e. Unfortunately the fix need to be done in the specific recipes. Filtering .so at this stage breaks packaging for other plugins. --- classes/palmtop.bbclass | 4 ---- 1 file changed, 4 deletions(-) (limited to 'classes') diff --git a/classes/palmtop.bbclass b/classes/palmtop.bbclass index 1420089692..b4ee62c2a3 100644 --- a/classes/palmtop.bbclass +++ b/classes/palmtop.bbclass @@ -21,10 +21,6 @@ EXTRA_QMAKEVARS_POST += " DEFINES+=OPIE_BINDIR='\"${bindir}\"' DEFINES+=OPIE_LIB PACKAGES = "${PN}-dbg ${PN}-dev ${PN} ${PN}-doc ${PN}-locale" FILES_${PN} += " ${palmtopdir} " -FILES_${PN}-dev += " ${palmtopdir}/plugins/*/lib*.so \ - ${palmtopdir}/plugins/*/*.la \ - ${palmtopdir}/plugins/*/*.a \ - ${palmtopdir}/plugins/*/*.o " FILES_${PN}-dbg += " ${palmtopdir}/lib/.debug \ ${palmtopdir}/bin/.debug \ ${palmtopdir}/plugins/*/.debug " -- cgit v1.2.3 From eeb011aa1f93f8699041de4b8ed365883979ffb7 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Wed, 2 Dec 2009 16:14:08 +0100 Subject: cmake.bbclass: support for seperate building directory --- classes/cmake.bbclass | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index 4978421b63..d0a1844b21 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -25,4 +25,22 @@ cmake_do_configure() { -Wno-dev } -EXPORT_FUNCTIONS do_configure +cmake_do_compile() { + if [ ${OECMAKE_BUILDPATH} ] + then + cd ${OECMAKE_BUILDPATH} + fi + + base_do_compile +} + +cmake_do_install() { + if [ ${OECMAKE_BUILDPATH} ]; + then + cd ${OECMAKE_BUILDPATH} + fi + + autotools_do_install +} + +EXPORT_FUNCTIONS do_configure do_compile do_install -- cgit v1.2.3 From fe72eba9e72dd16dcb83aba98716765ea052b028 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Wed, 2 Dec 2009 22:57:08 +0100 Subject: cmake.bbclass: style fix for CMAKE_FIND_ROOT_PATH * this fixes the uninitalize message in CMakeCache.txt --- classes/cmake.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index d0a1844b21..f21c4d6545 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -20,7 +20,7 @@ cmake_do_configure() { cmake ${OECMAKE_SOURCEPATH} \ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ - -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \ + -DCMAKE_FIND_ROOT_PATH:PATH=${STAGING_DIR_HOST} \ ${EXTRA_OECMAKE} \ -Wno-dev } -- cgit v1.2.3 From fb775893cb35b709d20af1afaeb13bbeb5ee4abf Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Fri, 11 Dec 2009 23:22:42 +0000 Subject: package, package_ipk: add PKGV, to PV as PKG is to PN. --- classes/package.bbclass | 18 ++++++++++++++---- classes/package_ipk.bbclass | 4 ++-- 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'classes') diff --git a/classes/package.bbclass b/classes/package.bbclass index 4196135710..062f782129 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -5,6 +5,12 @@ PKGD = "${WORKDIR}/package" PKGDEST = "${WORKDIR}/packages-split" +PKGV ?= "${PV}" +PKGR ?= "${PR}${DISTRO_PR}" + +EXTENDPKGEVER = "${@['','${PKGE\x7d:'][bb.data.getVar('PKGE',d,1) > 0]}" +EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}" + def legitimize_package_name(s): """ Make sure package names are legitimate strings @@ -489,7 +495,7 @@ python populate_packages () { for pkg in package_list: rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "") - remstr = "${PN} (= ${EXTENDPV})" + remstr = "${PN} (= ${EXTENDPKGV})" if main_is_empty and remstr in rdepends: rdepends.remove(remstr) for l in dangling_links[pkg]: @@ -551,6 +557,8 @@ python emit_pkgdata() { write_if_exists(sf, pkg, 'PN') write_if_exists(sf, pkg, 'PV') write_if_exists(sf, pkg, 'PR') + write_if_exists(sf, pkg, 'PKGV') + write_if_exists(sf, pkg, 'PKGR') write_if_exists(sf, pkg, 'DESCRIPTION') write_if_exists(sf, pkg, 'RDEPENDS') write_if_exists(sf, pkg, 'RPROVIDES') @@ -611,9 +619,9 @@ python package_do_shlibs() { workdir = bb.data.getVar('WORKDIR', d, True) - ver = bb.data.getVar('PV', d, True) + ver = bb.data.getVar('PKGV', d, True) if not ver: - bb.error("PV not defined") + bb.error("PKGV not defined") return pkgdest = bb.data.getVar('PKGDEST', d, True) @@ -641,7 +649,9 @@ python package_do_shlibs() { needs_ldconfig = False bb.debug(2, "calculating shlib provides for %s" % pkg) - pkgver = bb.data.getVar('PV_' + pkg, d, True) + pkgver = bb.data.getVar('PKGV_' + pkg, d, True) + if not pkgver: + pkgver = bb.data.getVar('PV_' + pkg, d, True) if not pkgver: pkgver = ver diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass index 3582195393..420c892f10 100644 --- a/classes/package_ipk.bbclass +++ b/classes/package_ipk.bbclass @@ -208,9 +208,9 @@ python do_package_ipk () { fields = [] pe = bb.data.getVar('PE', d, 1) if pe and int(pe) > 0: - fields.append(["Version: %s:%s-%s%s\n", ['PE', 'PV', 'PR', 'DISTRO_PR']]) + fields.append(["Version: %s:%s-%s\n", ['PE', 'PKGV', 'PKGR']]) else: - fields.append(["Version: %s-%s%s\n", ['PV', 'PR', 'DISTRO_PR']]) + fields.append(["Version: %s-%s\n", ['PKGV', 'PKGR']]) fields.append(["Description: %s\n", ['DESCRIPTION']]) fields.append(["Section: %s\n", ['SECTION']]) fields.append(["Priority: %s\n", ['PRIORITY']]) -- cgit v1.2.3 From bedc7cb2e83bcfde2cf28ff5774d7f4829d8f0bd Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 16 Dec 2009 16:43:32 +0100 Subject: java.bbclass: stage all JAR files outside of ARCH related directories When Java things are build for more then one architecture strange things happen: - first architecture builds fine - next architectures fails to build Thats due to lack of JAR files as they were built as PACKAGE_ARCH="all" but staged as PACKAGE_ARCH="TARGET_ARCH" so BitBake do not build them again but Java classes are unable to find them. Solution is to stage JAR files to non-ARCH directory. I used staging/java for it and build tested with stable/2009 and org.openembedded.dev branches. Signed-off-by: Marcin Juszkiewicz --- classes/java.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/java.bbclass b/classes/java.bbclass index b68035c13e..d4cf5aa954 100644 --- a/classes/java.bbclass +++ b/classes/java.bbclass @@ -13,7 +13,7 @@ libdir_jni ?= ${libdir}/jni # JVM bundle location on target libdir_jvm ?= ${libdir}/jvm -STAGING_DATADIR_JAVA ?= ${STAGING_DATADIR}/java +STAGING_DATADIR_JAVA ?= ${STAGING_DIR_JAVA} STAGING_LIBDIR_JNI ?= ${STAGING_LIBDIR}/jni STAGING_LIBDIR_JVM ?= ${STAGING_LIBDIR}/jvm -- cgit v1.2.3 From c0a3e91845fad1cdda723bdcf962de8bc01f8a2d Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 22 Dec 2009 13:04:16 +0000 Subject: kernel, linux-kernel-base classes: update for 2.6.33-rc1 and newer * include/asm link was killed in http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f7f16b7799ed68654850ab340ef812895aebcf4c * utsrelease.h was moved in http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=273b281fa22c293963ee3e6eec418f5dda2dbc83 Signed-off-by: Martin Jansa Acked-by: Khem Raj --- classes/kernel.bbclass | 19 +++++++++++++------ classes/linux-kernel-base.bbclass | 3 +++ 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index edeaa660bb..069dcebf3d 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -95,13 +95,18 @@ kernel_do_compile() { kernel_do_compile[depends] = "${INITRAMFS_TASK}" kernel_do_stage() { - ASMDIR=`readlink include/asm` + if [ -e include/asm ] ; then + # This link is generated only in kernel before 2.6.33-rc1, don't stage it for newer kernels + ASMDIR=`readlink include/asm` - mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR - cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ + mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR + cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ + fi # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH}/include/asm if [ -e arch/${ARCH}/include/asm/ ] ; then - cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ + if [ -e include/asm ] ; then + cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ + fi install -d ${STAGING_KERNEL_DIR}/arch/${ARCH}/include cp -fR arch/${ARCH}/* ${STAGING_KERNEL_DIR}/arch/${ARCH}/ @@ -112,8 +117,10 @@ kernel_do_stage() { cp -fR arch/x86/* ${STAGING_KERNEL_DIR}/arch/x86/ fi - rm -f ${STAGING_KERNEL_DIR}/include/asm - ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm + if [ -e include/asm ] ; then + rm -f ${STAGING_KERNEL_DIR}/include/asm + ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm + fi mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic cp -fR include/asm-generic/* ${STAGING_KERNEL_DIR}/include/asm-generic/ diff --git a/classes/linux-kernel-base.bbclass b/classes/linux-kernel-base.bbclass index b3e0fdad7a..510951a620 100644 --- a/classes/linux-kernel-base.bbclass +++ b/classes/linux-kernel-base.bbclass @@ -3,6 +3,9 @@ def get_kernelversion(p): import re fn = p + '/include/linux/utsrelease.h' + if not os.path.isfile(fn): + # after 2.6.33-rc1 + fn = p + '/include/generated/utsrelease.h' if not os.path.isfile(fn): fn = p + '/include/linux/version.h' -- cgit v1.2.3 From a0bed236db2e2bc4beace697809eab8db9e51e01 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Thu, 24 Dec 2009 11:24:17 +0100 Subject: native.bbclass: Modify STAGING_DIR_JAVA when native build is in chosen. --- classes/native.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'classes') diff --git a/classes/native.bbclass b/classes/native.bbclass index 96f9cf1a96..6698b61cfc 100644 --- a/classes/native.bbclass +++ b/classes/native.bbclass @@ -36,6 +36,8 @@ LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE} " STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}" STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}" +STAGING_DIR_JAVA = "${STAGING_DATADIR_JAVA_NATIVE}" + # Don't use site files for native builds export CONFIG_SITE = "" -- cgit v1.2.3 From 572abc3fdd1076ca35d8c15d269cc9d862101805 Mon Sep 17 00:00:00 2001 From: Andrea Adami Date: Wed, 30 Dec 2009 23:29:53 +0100 Subject: kernel.bbclass: copy gz, lzo, lzma initramfs cpio images. - since 2.6.30 there is choice between gzip and lzma for the initramfs.cpio - in patchwork there are pending patches for lzo compressor, so we add lzo too - patch is only concerning initramfs images --- classes/kernel.bbclass | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 069dcebf3d..83530b5a5e 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -208,8 +208,12 @@ kernel_do_install() { kernel_do_configure() { yes '' | oe_runmake oldconfig if [ ! -z "${INITRAMFS_IMAGE}" ]; then - cp "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz" initramfs.cpio.gz - fi + for img in cpio.gz cpio.lzo cpio.lzma; do + if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then + cp "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" initramfs.$img + fi + done + fi } do_menuconfig() { -- cgit v1.2.3 From 876b2550d343bf0bcbb8f7c708b14fae5d4ae62d Mon Sep 17 00:00:00 2001 From: Guo Hongruan Date: Sat, 2 Jan 2010 17:28:37 +0800 Subject: Add mips entry for linux-uclibc into package_qa_get_machine_dict of insane.bbclass * Without it the insance check will fail due to key miss exception. Signed-off-by: Guo Hongruan --- classes/insane.bbclass | 1 + 1 file changed, 1 insertion(+) (limited to 'classes') diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 495c3a53aa..804caf06ee 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -61,6 +61,7 @@ def package_qa_get_machine_dict(): "i486": ( 3, 0, 0, True, True), "i586": ( 3, 0, 0, True, True), "i686": ( 3, 0, 0, True, True), + "mips": ( 8, 0, 0, False, True), "mipsel": ( 8, 0, 0, True, True), "avr32": (6317, 0, 0, False, True), "sh4": (42, 0, 0, True, True), -- cgit v1.2.3 From d27fb2aec799ec77bb645541d7bd3fc9aa63529d Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 6 Jan 2010 12:22:16 +0800 Subject: qt4x11: Cease out the qt4x11 PROVIDER * The LGPL and Commercial edition are actually the same tarball. * If someone sees the need he can take qt qt4-recipes and specify -commercial in the compilation. --- classes/qt4x11.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/qt4x11.bbclass b/classes/qt4x11.bbclass index aa2e2a174e..2d56b7e95b 100644 --- a/classes/qt4x11.bbclass +++ b/classes/qt4x11.bbclass @@ -1,4 +1,4 @@ -DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-x11-free')]}" +DEPENDS_prepend = "${@["qt4-x11-free ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-x11-free')]}" inherit qmake2 -- cgit v1.2.3 From 2e3f7f97267390bd0c70a41a9f58948f860bc66b Mon Sep 17 00:00:00 2001 From: Rolf Leggewie Date: Thu, 14 Jan 2010 15:20:13 +0100 Subject: images: set SPLASH to "" as sane default Acked-By: Michael 'Mickey' Lauer Acked-by: Koen Kooi --- classes/image.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'classes') diff --git a/classes/image.bbclass b/classes/image.bbclass index ab580312bb..9dce609733 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -17,6 +17,9 @@ IMAGE_INITSCRIPTS ?= "initscripts" # IMAGE_LOGIN_MANAGER ?= "tinylogin" +# set sane default for the SPLASH variable +SPLASH ?= "" + IMAGE_KEEPROOTFS ?= "" IMAGE_KEEPROOTFS[doc] = "Set to non-empty to keep ${IMAGE_ROOTFS} around after image creation." -- cgit v1.2.3 From 08fe78fa32569155d6ca8f1023a419911d7202ca Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 11 Jan 2010 13:56:15 +0100 Subject: qmake_base.bbclass: Unexport STRIP from the environment The Makefile's generated by Qt are using this variable and the assignment of STRIP = $(OE_QMAKE_STRIP) will be overturned by this export. One option would be to set STRIP = $OE_QMAKE_STRIP in the bb file but this would break striping in package.bbclass. With the unset STRIP we are able to generate proper -dbg packages for Qt and other qmake based utilities. --- classes/qmake_base.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'classes') diff --git a/classes/qmake_base.bbclass b/classes/qmake_base.bbclass index 50d8bb53da..4fbe21f2e1 100644 --- a/classes/qmake_base.bbclass +++ b/classes/qmake_base.bbclass @@ -13,6 +13,9 @@ export OE_QMAKE_AR="${AR}" export OE_QMAKE_STRIP="echo" export OE_QMAKE_RPATH="-Wl,-rpath-link," +# do not export STRIP to the environment +STRIP[unexport] = "1" + # default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11 oe_qmake_mkspecs () { -- cgit v1.2.3 From 96db6269a564ab2c04993b7ea3eff52d0971f01a Mon Sep 17 00:00:00 2001 From: Rolf Leggewie Date: Sat, 16 Jan 2010 15:18:40 +0100 Subject: classes/xfce.bbclass: fix SRC_URI --- classes/xfce.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/xfce.bbclass b/classes/xfce.bbclass index b18313fa2a..db6329c4ad 100644 --- a/classes/xfce.bbclass +++ b/classes/xfce.bbclass @@ -9,7 +9,7 @@ LICENSE = "LGPLv2" DEPENDS += "startup-notification" XFCE_VERSION = ${PV} -SRC_URI = "http://www.us.xfce.org/archive/xfce-${XFCE_VERSION}/src/${PN}-${PV}.tar.bz2" +SRC_URI = "http://www.us.xfce.org/archive/xfce/${XFCE_VERSION}/src/${PN}-${PV}.tar.bz2" inherit autotools -- cgit v1.2.3 From 0788436f2de5446fd78213d8d88f612ce49f1b3d Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Tue, 19 Jan 2010 13:01:41 -0700 Subject: package_dbg.bbclass: add current incarnation from MVL6 This optional bbclass implements per-subpackage debug packages. Among other things, this makes it much easier to automate creation of debug images (where you have the debug files for all installed packages). Signed-off-by: Chris Larson --- classes/package_dbg.bbclass | 125 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 classes/package_dbg.bbclass (limited to 'classes') diff --git a/classes/package_dbg.bbclass b/classes/package_dbg.bbclass new file mode 100644 index 0000000000..39dceaf9b3 --- /dev/null +++ b/classes/package_dbg.bbclass @@ -0,0 +1,125 @@ +# package_dbg.bbclass: populate -dbg versions for each package in PACKAGES +# +# Copyright (c) 2009 MontaVista Software, Inc. All rights reserved. +# +# Released under the MIT license (see LICENSE.MIT for the terms) + + +inherit package + + +PACKAGE_DBG_DIRS = "${bindir} ${sbindir} \ + ${libexecdir} ${libdir} \ + ${base_bindir} ${base_sbindir} \ + ${base_libdir}" +PACKAGE_DBG_DESC = "Debugging files for %s" +PACKAGE_DBG_EXCLUDE = "${PN}-locale* ${PN}-doc ${PN}-dev *-dbg" + + +def __find(dir): + """ Given a directory, recurses into that directory, + returning all files. """ + + from os import walk + from os.path import join + + for root, dirs, files in walk(dir): + for file in files: + yield join(root, file) + +def __package_get_files(pkg, d): + """ Obtains a list of files to be included in a package. + + Starting from the FILES_ variable, it expands any globs in the list, + which removes missing files, and traverses any directories in the list. + + It does *not* remove files which are also in other packages, it's left + to the user's discretion whether to allow overlap. """ + + from glob import glob + from os.path import join, isdir, islink + + installdir = d.getVar("D", True) + installdirlen = len(installdir) + + files = (d.getVar("FILES_%s" % pkg, True) or "").split() + for globbed in (glob(join(installdir, file[1:])) for file in files): + for path in globbed: + if isdir(path) and not islink(path): + for file in __find(path): + yield file[installdirlen:] + else: + yield path[installdirlen:] + +def add_dbg_packages(d): + from fnmatch import fnmatch + + packages = d.getVar("PACKAGES", True).split() + excludes = d.getVar("PACKAGE_DBG_EXCLUDE", True).split() + + for pkg in tuple(packages): + if any(fnmatch(pkg, excluded) for excluded in excludes): + continue + + dbgpkg = "%s-dbg" % pkg + if not dbgpkg in packages: + packages.insert(0, dbgpkg) + + d.setVar("PACKAGES", " ".join(packages)) + + +# Add the -dbg packages to PACKAGES +python () { + from bb.data import inherits_class as inherits + + # Task handles its own -dbg versions of its packages at the moment + if not inherits("task", d): + dynpkgs = d.getVar("PACKAGES_DYNAMIC", True).split() + dynpkgs += ["%s-dbg" % dyn for dyn in dynpkgs] + d.setVar("PACKAGES_DYNAMIC", " ".join(dynpkgs)) + + add_dbg_packages(d) +} + +python populate_packages_prepend () { + from bb.data import inherits_class as inherits + + if not inherits("task", d): + bb.build.exec_func("package_do_dbg", d) +} + +# Populate the -dbg subpackage metadata +python package_do_dbg() { + """ Populate the -dbg subpackage metadata. """ + + from os.path import join, basename, dirname + + def setVar(key, val): + if d.getVar(key, val) is None: + d.setVar(key, val) + + add_dbg_packages(d) + packages = d.getVar("PACKAGES", True).split() + desc = d.getVar("PACKAGE_DBG_DESC", True) + debug_dirs = d.getVar("PACKAGE_DBG_DIRS", True).split() + + done = [] + for pkgname in tuple(packages): + files = tuple(__package_get_files(pkgname, d)) + dbg = [join(dirname(file), ".debug", basename(file)) + for file in files + if not file in done and + any(file.startswith(dir) for dir in debug_dirs)] + done.extend(files) + + if dbg: + setVar("FILES_%s-dbg" % pkgname, " ".join(dbg)) + setVar("DESCRIPTION_%s-dbg" % pkgname, desc % pkgname) + setVar("RDEPENDS_%s-dbg" % pkgname, pkgname) + else: + try: + packages.remove("%s-dbg" % pkgname) + except ValueError: + pass + d.setVar("PACKAGES", " ".join(packages)) +} -- cgit v1.2.3 From c4408fc35e6ce5fa3f08a5f8635471a6bb346dd3 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Fri, 15 Jan 2010 18:14:38 +0100 Subject: qt3e.bbclass: fix paths for staging Without that patch uicmoc3-native fails to build. --- classes/qt3e.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/qt3e.bbclass b/classes/qt3e.bbclass index 35958b34ab..d3d4a14e8a 100644 --- a/classes/qt3e.bbclass +++ b/classes/qt3e.bbclass @@ -6,6 +6,6 @@ export QTEDIR="${STAGING_DIR_HOST}/qte3" export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3" export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3" export OE_QMAKE_CXXFLAGS="${CXXFLAGS} " -export OE_QMAKE_INCDIR_QT="${QTEDIR}/include" -export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib" +export OE_QMAKE_INCDIR_QT="${STAGING_INCDIR}/qte3/include" +export OE_QMAKE_LIBDIR_QT="${STAGING_LIBDIR}/qte3/lib" export OE_QMAKE_LIBS_QT="qte" -- cgit v1.2.3 From 1b426b8382d2a7864b63051b0707e577f2c0ce69 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 15 Jan 2010 18:10:29 +0100 Subject: sanity.bbclass: handle lack of permission to read /proc/sys/vm/mmap_min_addr * With 2.6.33-rc2-00252-ge9e5521 on my host I noticed that "cat /proc/sys/vm/mmap_min_addr" returns now "cat: /proc/sys/vm/mmap_min_addr: Operation not permitted" Its probably becuse of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e1a6ef2dea88101b056b6d9984f3325c5efced3 But I'm not sure if checking CAP_SYS_RAWIO even for reading this value is intentional or just bug which should be fixed in kernel. This patch makes bitbake ignore reading error. Possible QEmu failure is not handled yet. Acked-by: Marcin Juszkiewicz --- classes/sanity.bbclass | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'classes') diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass index f65df61c1d..f57d8e47d0 100644 --- a/classes/sanity.bbclass +++ b/classes/sanity.bbclass @@ -96,11 +96,14 @@ def check_sanity(e): if not check_app_exists("qemu-arm", e.data): messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH" - if os.path.exists("/proc/sys/vm/mmap_min_addr"): - f = file("/proc/sys/vm/mmap_min_addr", "r") - if (f.read().strip() != "0"): - messages = messages + "/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.\n" - f.close() + try: + if os.path.exists("/proc/sys/vm/mmap_min_addr"): + f = file("/proc/sys/vm/mmap_min_addr", "r") + if (f.read().strip() != "0"): + messages = messages + "/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.\n" + f.close() + except: + pass for util in required_utilities.split(): if not check_app_exists( util, e.data ): -- cgit v1.2.3 From eaf451fc3ef576c3332edfa9ee64bc5cba8d3f72 Mon Sep 17 00:00:00 2001 From: Aleksey Makarov Date: Mon, 18 Jan 2010 11:06:23 +0000 Subject: kernel.bbclass: fix kernel build, version >= 2.6.33-rc1, arch x86 * Apply the same change as c0a3e91845fad1cdda723bdcf962de8bc01f8a2d for x86 path * A check was missed in the x86 path of the stage method. Signed-off-by: Martin Jansa --- classes/kernel.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 83530b5a5e..53ea252b0e 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -112,7 +112,9 @@ kernel_do_stage() { # Check for arch/x86 on i386 elif [ -d arch/x86/include/asm/ ]; then - cp -fR arch/x86/include/asm/* ${STAGING_KERNEL_DIR}/include/asm-x86/ + if [ -e include/asm ] ; then + cp -fR arch/x86/include/asm/* ${STAGING_KERNEL_DIR}/include/asm-x86/ + fi install -d ${STAGING_KERNEL_DIR}/arch/x86/include cp -fR arch/x86/* ${STAGING_KERNEL_DIR}/arch/x86/ fi -- cgit v1.2.3