From a90c73d1c0f133ae4e0b32ec9c290597be03b876 Mon Sep 17 00:00:00 2001 From: John Bowler Date: Fri, 11 Nov 2005 07:07:34 +0000 Subject: nslu2-kernel: cleanup openslug, ucslugc and slugos kernels, ALL - remove old kernel versions - remove openslug-kernel - move patches from openslug-kernel - fix kernel UTS_RELEASE handling (requires change in kernel.bbclass) - fix nslu2-kernel MM build - move to 2.6.14.1 (important security fix) --- classes/kernel.bbclass | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 463ff5f6b5..8416b8acb3 100644 --- a/classes/kernel.bbclass +++ b/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: -- cgit v1.2.3 From dffaf46c3411406edc8244e91ccd705913090d63 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Fri, 18 Nov 2005 11:32:29 +0000 Subject: package.bbclass: added support for preinst/prerm actions - patch by Jamie Lenehan - this close #456 --- classes/package.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'classes') diff --git a/classes/package.bbclass b/classes/package.bbclass index 90dfec9fa7..db479d5847 100644 --- a/classes/package.bbclass +++ b/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) } -- cgit v1.2.3 From c3036f11360cf4992c635dcdc43f1d703b004cac Mon Sep 17 00:00:00 2001 From: John Bowler Date: Wed, 23 Nov 2005 07:35:46 +0000 Subject: base.bbclass: attempt to fix the staging .la problem - when using oe_libinstall to install a libtool library (.la file - present) into the staging directory (${STAGING_LIBDIR}) fix up the - installed .lai file so that it contains 'installed=no' - this - prevents libtool from subsequently using a copy of the build system - library if it exists in the final (target) installation directory - on the build machine (typically /usr/lib). Remove the patches from - pcre_4.4.bb to match (it now seems to work without them), add - cherokee to the openslug (etc) build (it was failing because of this - problem.) --- classes/base.bbclass | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 18d51a02ed..c5359b20f8 100644 --- a/classes/base.bbclass +++ b/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 -- cgit v1.2.3