summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openembedded/classes/base.bbclass15
-rw-r--r--openembedded/classes/kernel.bbclass29
-rw-r--r--openembedded/classes/package.bbclass2
3 files changed, 34 insertions, 12 deletions
diff --git a/openembedded/classes/base.bbclass b/openembedded/classes/base.bbclass
index 18d51a02ed..c5359b20f8 100644
--- a/openembedded/classes/base.bbclass
+++ b/openembedded/classes/base.bbclass
@@ -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
diff --git a/openembedded/classes/kernel.bbclass b/openembedded/classes/kernel.bbclass
index 463ff5f6b5..8416b8acb3 100644
--- a/openembedded/classes/kernel.bbclass
+++ b/openembedded/classes/kernel.bbclass
@@ -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:
diff --git a/openembedded/classes/package.bbclass b/openembedded/classes/package.bbclass
index 90dfec9fa7..db479d5847 100644
--- a/openembedded/classes/package.bbclass
+++ b/openembedded/classes/package.bbclass
@@ -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)
}