]> code.ossystems Code Review - openembedded-core.git/commitdiff
oe/classes updates from Openembedded
authorRichard Purdie <richard@openedhand.com>
Mon, 12 Dec 2005 14:41:23 +0000 (14:41 +0000)
committerRichard Purdie <richard@openedhand.com>
Mon, 12 Dec 2005 14:41:23 +0000 (14:41 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky@187 311d38ba-8fff-0310-9ca6-ca027cbcb966

openembedded/classes/base.bbclass
openembedded/classes/kernel.bbclass
openembedded/classes/package.bbclass

index 18d51a02edfbbb4287d9c72fc6dccc1b68bac436..c5359b20f85628440b0e63176dc1ef633ab41a5d 100644 (file)
@@ -124,6 +124,7 @@ oe_libinstall() {
        silent=""
        require_static=""
        require_shared=""
+       staging_install=""
        while [ "$#" -gt 0 ]; do
                case "$1" in
                -C)
@@ -155,6 +156,10 @@ oe_libinstall() {
        if [ -z "$destpath" ]; then
                oefatal "oe_libinstall: no destination path specified"
        fi
+       if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null
+       then
+               staging_install=1
+       fi
 
        __runcmd () {
                if [ -z "$silent" ]; then
@@ -188,7 +193,15 @@ oe_libinstall() {
        fi
        dotlai=$libname.lai
        if [ -f "$dotlai" -a -n "$libtool" ]; then
-               __runcmd install -m 0644 $dotlai $destpath/$libname.la
+               if test -n "$staging_install"
+               then
+                       # stop libtool using the final directory name for libraries
+                       # in staging:
+                       __runcmd rm -f $destpath/$libname.la
+                       __runcmd sed -e 's/^installed=yes$/installed=no/' $dotlai >$destpath/$libname.la
+               else
+                       __runcmd install -m 0644 $dotlai $destpath/$libname.la
+               fi
        fi
 
        for name in $library_names; do
index 463ff5f6b54272cf9c6ceed81e53f3fdd1b8c398..8416b8acb3104832b0604075a499efa35720ae6f 100644 (file)
@@ -11,6 +11,13 @@ KERNEL_IMAGETYPE = "zImage"
 
 KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
 
+# [jbowler 20051109] ${PV}${KERNEL_LOCALVERSION} is used throughout this
+# .bbclass to (apparently) find the full 'uname -r' kernel version, this
+# should be the same as UTS_RELEASE or (in this file) KERNEL_VERSION:
+#  KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION)
+# but since this is not certain this overridable setting is used here:
+KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}"
+
 KERNEL_CCSUFFIX ?= ""
 KERNEL_LDSUFFIX ?= ""
 
@@ -96,9 +103,9 @@ kernel_do_stage() {
                cp -fR drivers/sound/*.h ${STAGING_KERNEL_DIR}/include/drivers/sound/
        fi
 
-       install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${PV}${KERNEL_LOCALVERSION}
-       ln -sf config-${PV}${KERNEL_LOCALVERSION} ${STAGING_KERNEL_DIR}/.config
-       ln -sf config-${PV}${KERNEL_LOCALVERSION} ${STAGING_KERNEL_DIR}/kernel-config
+       install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${KERNEL_RELEASE}
+       ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/.config
+       ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/kernel-config
        echo "${KERNEL_VERSION}" >${STAGING_KERNEL_DIR}/kernel-abiversion
        echo "${S}" >${STAGING_KERNEL_DIR}/kernel-source
        echo "${KERNEL_CCSUFFIX}" >${STAGING_KERNEL_DIR}/kernel-ccsuffix
@@ -113,7 +120,7 @@ kernel_do_stage() {
        fi
        cp -fR include/config* ${STAGING_KERNEL_DIR}/include/   
        install -m 0644 ${KERNEL_OUTPUT} ${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}
-       install -m 0644 System.map ${STAGING_KERNEL_DIR}/System.map-${PV}${KERNEL_LOCALVERSION}
+       install -m 0644 System.map ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE}
        [ -e Module.symvers ] && install -m 0644 Module.symvers ${STAGING_KERNEL_DIR}/
 
        cp -fR scripts ${STAGING_KERNEL_DIR}/
@@ -129,9 +136,9 @@ kernel_do_install() {
        
        install -d ${D}/${KERNEL_IMAGEDEST}
        install -d ${D}/boot
-       install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION}
-       install -m 0644 System.map ${D}/boot/System.map-${PV}${KERNEL_LOCALVERSION}
-       install -m 0644 .config ${D}/boot/config-${PV}${KERNEL_LOCALVERSION}
+       install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE}
+       install -m 0644 System.map ${D}/boot/System.map-${KERNEL_RELEASE}
+       install -m 0644 .config ${D}/boot/config-${KERNEL_RELEASE}
        install -d ${D}/etc/modutils
 
         # Check if scripts/genksyms exists and if so, build it
@@ -147,11 +154,11 @@ kernel_do_configure() {
 }
 
 pkg_postinst_kernel () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} ${KERNEL_PRIORITY} || true
 }
 
 pkg_postrm_kernel () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} || true
 }
 
 inherit cml1
@@ -169,7 +176,7 @@ ALLOW_EMPTY_kernel-image = "1"
 
 pkg_postinst_modules () {
 if [ -n "$D" ]; then
-       ${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${PV}${KERNEL_LOCALVERSION} ${KERNEL_VERSION}
+       ${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE} ${KERNEL_VERSION}
 else
        depmod -A
        update-modules || true
@@ -230,7 +237,7 @@ python populate_packages_prepend () {
                        bb.error("D not defined")
                        return
 
-               kernelver = bb.data.getVar('PV', d, 1) + bb.data.getVar('KERNEL_LOCALVERSION', d, 1)
+               kernelver = bb.data.getVar('KERNEL_RELEASE', d, 1)
                kernelver_stripped = kernelver
                m = re.match('^(.*-hh.*)[\.\+].*$', kernelver)
                if m:
index 90dfec9fa72ee75dfabdaa6ed42f8aa5e13635a1..db479d5847e2e35a6ac342b17beadab71000f5b2 100644 (file)
@@ -259,6 +259,8 @@ python populate_packages () {
                write_if_exists(f, pkg, 'FILES')
                write_if_exists(f, pkg, 'pkg_postinst')
                write_if_exists(f, pkg, 'pkg_postrm')
+               write_if_exists(f, pkg, 'pkg_preinst')
+               write_if_exists(f, pkg, 'pkg_prerm')
        f.close()
        bb.build.exec_func("read_subpackage_metadata", d)
 }