diff options
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 11 | ||||
-rw-r--r-- | meta/classes/insane.bbclass | 20 | ||||
-rw-r--r-- | meta/classes/kernel.bbclass | 26 | ||||
-rw-r--r-- | meta/packages/chrpath/chrpath_0.13.bb | 12 | ||||
-rw-r--r-- | meta/packages/console-tools/console-tools_0.3.2.bb | 1 | ||||
-rwxr-xr-x | scripts/poky-env-internal | 2 |
6 files changed, 61 insertions, 11 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index c93aea7fef3..988d5c3578f 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -171,14 +171,15 @@ class DataSmart: Rename the variable key to newkey """ val = self.getVar(key, 0) - if val is None: - return - - self.setVar(newkey, val) + if val is not None: + self.setVar(newkey, val) for i in ('_append', '_prepend'): + src = self.getVarFlag(key, i) + if src is None: + continue + dest = self.getVarFlag(newkey, i) or [] - src = self.getVarFlag(key, i) or [] dest.extend(src) self.setVarFlag(newkey, i, dest) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 31d28ca6d48..538cc140ee3 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -439,6 +439,19 @@ def package_qa_check_rdepends(pkg, workdir, d): return sane +def configure_qa_check_gettext(d): + # Check to see if gettext is required and if so whether it's in DEPENDS + # Returning False means we need gettext but don't have it in DEPENDS + deps = bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or "") + if "gettext" in deps: + return True + + check = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" $CONFIGURE_AC >/dev/null" + if os.system(check) == 0: + return True + else: + return False + # The PACKAGE FUNC to scan each package python do_package_qa () { bb.note("DO PACKAGE QA") @@ -481,9 +494,14 @@ python do_qa_staging() { bb.fatal("QA staging was broken by the package built above") } -# Check broken config.log files +# Check broken config.log files & for packages requiring Gettext which don't +# have it in DEPENDS addtask qa_configure after do_configure before do_compile python do_qa_configure() { + bb.note("Checking for gettext requirement") + if not configure_qa_check_gettext(d): + bb.fatal("Gettext required by configure but not in DEPENDS") + bb.note("Checking sanity of the config.log file") for root, dirs, files in os.walk(bb.data.getVar('WORKDIR', d, True)): statement = "grep 'CROSS COMPILE Badness:' %s > /dev/null" % \ diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 0907a48fb25..f902b7e9cec 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -43,7 +43,7 @@ KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH} KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" # Where built kernel lies in the kernel tree -KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" +KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" KERNEL_IMAGEDEST = "boot" # @@ -63,6 +63,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" UBOOT_ENTRYPOINT ?= "20008000" UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}" +# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE. +# We don't want to override kernel Makefile variables from the environment +EXTRA_OEMAKE = "" + kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" @@ -91,6 +95,7 @@ kernel_do_install() { install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} + [ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION} install -d ${D}/etc/modutils if [ "${KERNEL_MAJOR_VERSION}" = "2.6" ]; then install -d ${D}/etc/modprobe.d @@ -106,7 +111,20 @@ kernel_do_install() { mkdir -p $kerneldir/include/$ASMDIR cp -fR include/$ASMDIR/* $kerneldir/include/$ASMDIR/ - rm -f $ASMDIR $kerneldir/include/asm + # 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/* $kerneldir/include/$ASMDIR/ + install -d $kerneldir/arch/${ARCH}/include + cp -fR arch/${ARCH}/* $kerneldir/arch/${ARCH}/ + + # Check for arch/x86 on i386 + elif [ -d arch/x86/include/asm/ ]; then + cp -fR arch/x86/include/asm/* $kerneldir/include/asm-x86/ + install -d $kerneldir/arch/x86/include + cp -fR arch/x86/* $kerneldir/arch/x86/ + fi + + rm -f $kerneldir/include/asm ln -sf $ASMDIR $kerneldir/include/asm mkdir -p $kerneldir/include/asm-generic @@ -121,7 +139,7 @@ kernel_do_install() { mkdir -p $kerneldir/include/pcmcia cp -fR include/pcmcia/* $kerneldir/include/pcmcia/ - for entry in drivers/crypto include/media include/acpi include/sound include/video; do + for entry in drivers/crypto drivers/media include/media include/acpi include/sound include/video include/scsi include/trace; do if [ -d $entry ]; then mkdir -p $kerneldir/$entry cp -fR $entry/* $kerneldir/$entry/ @@ -201,7 +219,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure PACKAGES = "kernel kernel-base kernel-image kernel-dev kernel-vmlinux" FILES = "" FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" -FILES_kernel-dev = "/boot/System.map* /boot/config*" +FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*" FILES_kernel-vmlinux = "/boot/vmlinux*" RDEPENDS_kernel = "kernel-base" # Allow machines to override this dependency if kernel image files are diff --git a/meta/packages/chrpath/chrpath_0.13.bb b/meta/packages/chrpath/chrpath_0.13.bb new file mode 100644 index 00000000000..e843de6872a --- /dev/null +++ b/meta/packages/chrpath/chrpath_0.13.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "chrpath allows you to change the rpath (where the application \ +looks for libraries) in an application. It does not (yet) allow you to add an \ +rpath if there isn't one already." +LICENSE = "GPL" + +SRC_URI = "${DEBIAN_MIRROR}/main/c/chrpath/chrpath_${PV}.orig.tar.gz" + +inherit autotools + +S = "${WORKDIR}/chrpath-${PV}" + +BBCLASSEXTEND = "native" diff --git a/meta/packages/console-tools/console-tools_0.3.2.bb b/meta/packages/console-tools/console-tools_0.3.2.bb index cd8021d9ef1..3c5067f1023 100644 --- a/meta/packages/console-tools/console-tools_0.3.2.bb +++ b/meta/packages/console-tools/console-tools_0.3.2.bb @@ -1,6 +1,7 @@ SECTION = "base" LICENSE = "GPL" DESCRIPTION = "Allows you to set-up and manipulate the Linux console." +DEPENDS = "gettext" PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/lct/console-tools-${PV}.tar.gz \ diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal index edcc259c2c3..4bfcf63c595 100755 --- a/scripts/poky-env-internal +++ b/scripts/poky-env-internal @@ -119,4 +119,4 @@ echo echo "### Shell environment set up for Poky builds. ###" echo -export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy ftp_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE" +export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy ftp_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS" |