[oe] [PATCHv2] kernel/module-base: Append PR to MACHINE_KERNEL_PR

Andreas Oberritter obi at opendreambox.org
Mon Apr 4 13:00:26 UTC 2011


Ping. Any votes for or against this patch with either appended or
prepended PR?

On 03/24/2011 05:14 PM, Andreas Oberritter wrote:
> Based on http://comments.gmane.org/gmane.comp.handhelds.openembedded/42905
> 
> Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
> CC: Denis Dydychkin <nyrl at mail.ru>
> CC: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
> ---
> v2: Move code to machine-kernel-pr.bbclass, to avoid duplication and to
>     allow other recipes to inherit it. This is useful for tasks which
>     depend on different kernel modules for different kernel versions,
>     e.g. madwifi-ng for old kernels, but ath5k for new kernels.
> 
>  classes/kernel.bbclass            |    7 ++-----
>  classes/machine-kernel-pr.bbclass |   15 +++++++++++++++
>  classes/module-base.bbclass       |   11 ++---------
>  3 files changed, 19 insertions(+), 14 deletions(-)
>  create mode 100644 classes/machine-kernel-pr.bbclass
> 
> diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
> index 0109ce6..0187fb3 100644
> --- a/classes/kernel.bbclass
> +++ b/classes/kernel.bbclass
> @@ -20,13 +20,10 @@ python __anonymous () {
>      image = bb.data.getVar('INITRAMFS_IMAGE', d, True)
>      if image:
>          bb.data.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs', d)
> -
> -    machine_kernel_pr = bb.data.getVar('MACHINE_KERNEL_PR', d, True)
> -
> -    if machine_kernel_pr:
> -       bb.data.setVar('PR', machine_kernel_pr, d)
>  }
>  
> +inherit machine-kernel-pr
> +
>  INITRAMFS_IMAGE ?= ""
>  INITRAMFS_TASK ?= ""
>  
> diff --git a/classes/machine-kernel-pr.bbclass b/classes/machine-kernel-pr.bbclass
> new file mode 100644
> index 0000000..a72a0c0
> --- /dev/null
> +++ b/classes/machine-kernel-pr.bbclass
> @@ -0,0 +1,15 @@
> +# A machine.conf or local.conf can increase MACHINE_KERNEL_PR to force
> +# rebuilds for kernel and external modules
> +python __anonymous () {
> +    machine_kernel_pr = bb.data.getVar('MACHINE_KERNEL_PR', d, True)
> +    if machine_kernel_pr:
> +       # Append
> +       # a) .X, if the recipe's PR is rX, or
> +       # b) +${PR}, if the recipe's PR doesn't begin with r
> +       pr = bb.data.getVar('PR', d, True)
> +       if pr.startswith('r'):
> +               suffix = '.' + pr[1:]
> +       else:
> +               suffix = '+' + pr
> +       bb.data.setVar('PR', machine_kernel_pr + suffix, d)
> +}
> diff --git a/classes/module-base.bbclass b/classes/module-base.bbclass
> index 9aaaa4e..1a97955 100644
> --- a/classes/module-base.bbclass
> +++ b/classes/module-base.bbclass
> @@ -2,18 +2,11 @@ inherit module_strip
>  
>  inherit kernel-arch
>  
> +inherit machine-kernel-pr
> +
>  export OS = "${TARGET_OS}"
>  export CROSS_COMPILE = "${TARGET_PREFIX}"
>  
> -# A machine.conf or local.conf can increase MACHINE_KERNEL_PR to force
> -# rebuilds for kernel and external modules
> -python __anonymous () {
> -    machine_kernel_pr = bb.data.getVar('MACHINE_KERNEL_PR', d, True)
> -
> -    if machine_kernel_pr:
> -       bb.data.setVar('PR', machine_kernel_pr, d)
> -}
> -
>  export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
>  export KERNEL_SOURCE = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')}"
>  KERNEL_OBJECT_SUFFIX = "${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') > "2.6.0"]}"





More information about the Openembedded-devel mailing list