Commit Graph

97 Commits

Author SHA1 Message Date
Richard Purdie 4712cc5da0 kernel.bbclass: convert tab indentation in python functions into four-space
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-19 12:11:34 +02:00
Denis Carikli b3a8b70fdd kernel.bbclass: fix external module building
Without that fix we have the following while compiling compat-wireless.
  include/linux/mmzone.h:18:30: fatal error: generated/bounds.h: No such file or directory

Note that the compat-wireless recipe will be added in another commit.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-19 11:09:45 +02:00
Robert Yang 778f8b62c5 kernel.bbclass: replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:08 +02:00
Christopher Larson c1952180fe kernel.bbclass: add deploy link to KERNEL_IMAGETYPE
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so
let's be consistent and do so here as well.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Khem Raj 9972fff420 kernel.bbclass: Dont package kxgettext.o
kxgettext.o is generated when building ppc kernels
so we end up with packaging errors like

> ERROR: QA Issue: Architecture did not match (20 to 62) on
> /work/virtex5-poky-linux/linux-xilinx-2.6.38-r00/packages-split/kernel-dev/usr/src/kernel/scripts/kconfig/kxgettext.o

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Bruce Ashfield 3f45ebc886 kernel.bbclass: add non-santized kernel provides
If the kernel version string uses characters or symbols that
need to be santized for the package name, we can end up with a
mismatch between module requirements and what the kernel
provides.

The kernel version is pulled from utsrelease.h, which contains
the exact string that was passed to the kernel build, not
one that is santized, this can result in:

 echo "CONFIG_LOCALVERSION="\"MYVER+snapshot_standard\" >> ${B}/.config

 <build>

 % rpm -qp kernel-module-uvesafb-3.4-r0.qemux86.rpm --requires
update-modules
kernel-3.4.3-MYVER+snapshot_standard
 % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
kernel-3.4.3-myver+snapshot-standard = 3.4-r0

At rootfs assembly time, we'll have a dependency issue with the kernel
providing the santizied string and the modules requiring the utsrelease.h
string.

To not break existing use cases, we can add a second provides to the
kernel packaging with the unsantized version string, and allowing the
kernel module packaging to be unchanged.

   RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}"

 % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
kernel-3.4.3-MYVER+snapshot_standard
kernel-3.4.3-myver+snapshot-standard = 3.4-r0

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Darren Hart 8c724c4ab8 kernel: Add kernel headers to kernel-dev package
[YOCTO #1614]

Add the kernel headers to the kernel-dev package. This packages what was
already built and kept in sysroots for building modules with bitbake.
Making this available on the target requires removing some additional
host binaries.

Move the location to /usr/src/kernel

Before use on the target, the user will need to:

    # cd /usr/src/kernel
    # make scripts

This renders the kernel-misc recipe empty, so remove it.

As we use /usr/src/kernel in several places (and I missed one in the
previous version), add a KERNEL_SRC_DIR variable and use that throughout
the class to avoid update errors in the future.

Now that we package the kernel headers, drop the
kernel_package_preprocess function which removed them from PKGD.

All *-sdk image recipes include dev-pkgs, so the kernel-dev package will
be installed by default on all such images.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Liang Li 9ab875fbea recipes-kernel: make perf a standalone package
perf has been coupled to the kernel packages via kernel.bbclass.
While maintaining the build of perf out of the kernel source tree
is desired the package coupling has proved to be awkward in
several situations such as:

  - when a kernel recipe doesn't want to build/provide perf
  - when licensing of dependencies would prohibit perf and hence
    the kernel from being built.

To solve some of these problems, this recipe is the extraction of
the linux-tools.inc provided perf compilation into a standalone
perf recipe that builds out of the kernel source, but is otherwise
independent.

No new functionality is provided above what the linux-tools.inc
variant provided, but the separate recipe provides baseline for
adding new functionality.

Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Bruce Ashfield 72c4d30de5 kernel: save $kerndir/tools and $kerndir/lib from pruning
The kernel source tree in the sysroot has all unecessary source
code removed. The existing use case is to support module building
out of the sysroot, but as more toolsa are moved into the kernel
tree itself there are new use cases for the kernel sysroot source.

To avoid putting dependencies on the kernel, and to be able to
individually build and package these tools out of the source tree,
we can save $kerndir/tools and $kernddir/lib from being removed.
This enables tools like perf to be built our of the kernel source
in the sysroot, without significantly increasing the amount of
source in the sysroot.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-07-18 09:23:07 +02:00
Andreas Müller 5ed19733f5 systemd.bbclass: move to meta-systemd 2012-07-16 09:39:05 +02:00
Martin Jansa 5e47c1c48f kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinst
* without this, kernel upgrades where KERNEL_VERSION is changed
  e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends
  up without any module loaded to make it worse after reboot nothing is upgraded
  to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-20 13:33:25 +02:00
Andreas Müller b52a74b7a2 systemd.bbclass: extract SYSTEMD_SERVICE properly
To set service files the following syntax is allowed:

SYSTEMD_SERVICE = <service_file>
or
SYSTEMD_SERVICE_{<systemd_package_name>} = <service_file>

A function get_package_var was introduced to handle all use-cases [1]
properly.

Build tested / buildhistory checks

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-May/039870.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-05 10:46:50 +02:00
Andreas Müller 27e2e32869 systemd.bbclass: remove unused code
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-05 10:46:49 +02:00
Koen Kooi f6330ed09c Revert "systemd.bbclass: drop postrm, use prerm instead"
This removed the $D check, which should stay

This reverts commit 637cb7e3d2.
2012-05-21 14:07:25 +02:00
Andreas Oberritter 637cb7e3d2 systemd.bbclass: drop postrm, use prerm instead
* Calling "systemctl disable" from postrm is too late and
  causes the following error:

| Failed to issue method call: No such file or directory

* Messing with $D is not needed in *rm scripts.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-05-17 09:37:57 +02:00
Khem Raj 5c22d88fe2 kernel.bbclass: Use kmod-native instead of module-init-tools-cross
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-05-07 21:14:29 +02:00
Christopher Larson 675fd0d492 kernel.bbclass: move kernel-vmlinux up in PACKAGES
If KERNEL_IMAGETYPE is vmlinux, the expectation is most likely that there will
be no kernel image package, but we still want a vmlinux package for debugging,
so move kernel-vmlinux in front of kernel-image in PACKAGES.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-05-07 21:14:29 +02:00
Koen Kooi 8f9b2e3a10 kernel bbclass: recreate uImage unless KEEPUIMAGE is set
The intent of the uImage code in this class includes the following

1) be able to specify custom load addresses without needing to patch the kernel
2) add better information to the uImage description field

The current state is a NOP anyway, the kernel will always build a uImage when you tell it to 'make uImage'.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-04-27 21:57:32 +02:00
Martin Jansa 154d0bb399 systemd.bbclass: allow recipe to inherit systemd with empty SYSTEMD_SERVICE
* I have use case where common recipe does inherit systemd and only some BSP's are bbappending some SERVICEs to it
* install was moved intentionaly, so that /lib/systemd/system is not
  created if there is no .service file (causing QA Warning about
  unpackaged dir)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26 13:47:32 +02:00
Saul Wold 21d048aecf kernel: Fix packaging issue
Remove /etc since it is empty, when creating a machine that does not
deliver any module config files, the /etc is empty and is then warned
about not being shipped, so we remove it.

This occurs in the routerstationpro with the following warning:
WARNING: For recipe linux-yocto, the following files/directories were installed but not shipped in any package:
WARNING:   /etc

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26 09:17:27 +02:00
Andreas Oberritter c557b72f6c {kernel, module}.bbclass: don't run depmod for module packages during do_rootfs
* depmod already gets executed by pkg_postinst_kernel-image.

* If you build a module using module.bbclass, pkg_postinst returns 1 in
  do_rootfs, causing pkg_postinst to run again on first boot. To improve
  this situation, I copied pkg_postinst from kernel.bbclass to module.bbclass.
  This was rejected by Koen, because he doesn't like the code from
  kernel.bblcass, which uses ${STAGING_DIR_KERNEL}. Richard then suggested
  that calling depmod during do_rootfs wasn't necessary at all, because
  it already gets done by kernel-image.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26 09:17:27 +02:00
Martin Jansa 56a34a9e60 kernel.bbclass: resync with oe-core version
* 4 spaces for anonymous python
* don't recreate uImage if it already exists

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26 09:17:27 +02:00
Koen Kooi 21c47cff7a systemd bbclass: allow recipes to silence WARNING during parsing when ${PN}-systemd is unwanted
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-04-18 10:49:50 +02:00
Martin Jansa d110784db8 kernel.bbclass: unify white spaces
* indentation was with spaces and tabs, unify to use tabs instead of
  spaces, because "python populate_packages" expects tabs (or 8 spaces)
  and we're doing populate_packages_preppend here

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29 16:14:38 +02:00
Richard Purdie 4e9eb33068 kernel.bbclass: Allow do_compile_kernelmodules to use PARALLEL_MAKE
Without this we don't take advantage of any configured multiple CPU
cores which seems a shame.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29 16:14:38 +02:00
Martin Jansa 2bbed5ec03 kernel.bbclass: touch .scmversion also in ${S}
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-29 16:14:37 +02:00
Martin Jansa 7aeea5345b kernel.bbclass: don't create /etc/modutils/*
* update-modules was updated to read /etc/modules-load.d/*.conf

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26 15:05:46 +02:00
Martin Jansa 7c6bca094b kernel.bbclass: use symlinks for modutils files
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26 15:05:46 +02:00
Martin Jansa ef29620a79 kernel.bbclass: fix extra + in kernelrelease
* see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014308.html

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26 15:05:46 +02:00
Martin Jansa 5d07b1429e kernel.bbclass: use better number for KERNEL_PRIORITY
* there is no upgrade from 2.6.X to 3.X.Y
  last part of PV is used as kernel priority for u-a, but X is usually higher then Y in 3.x.x
  so use all 3 parts in one bigger number
* and make it weak assignment if this scheme doesn't work for some
  recipe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-03-26 15:05:46 +02:00
Martin Jansa b020571752 kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries too
* /etc/modules-load.d/foo.conf is used by systemd like /etc/modutils/foo was with sysvinit

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23 07:56:21 +01:00
Martin Jansa efc1626c8e kernel.bbclass: import QA warning fix for unpackaged files from oe-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23 07:56:21 +01:00
Martin Jansa 3ec761eeb3 kernel.bbclass: import s/1/True/ changes from oe-core version
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23 07:56:20 +01:00
Andreas Müller ed8bbbc690 systemd.bbclass: remove systemd_unitdir it is set in oe-core
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23 07:55:11 +01:00
Otavio Salvador 504f2e084c systemd.bbclass: fix regression caused by c9f5703ade
The parsing condition was broken causing the packages not being
expanded to include <PN>-systemd packages automatically.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-25 09:51:54 +01:00
Otavio Salvador c9f5703ade systemd.bbclass: do not mangle PACKAGES variable in native, nativesdk and cross
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-24 23:42:16 +01:00
Andreas Müller 114cefffb9 systemd.bbclass: automatically extend RDEPENDS for *-systemd packages
* append systemd functionalty moved into systemd_add_rdepends
* append base-pgk in case receipe does not set RDEPENDS for *-systemd package

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 4c66cea579 systemd.bbclass: automatically extend FILES_* for systemd packages
* Add files found in SYSTEMD_SERVICE and add service files referenced by 'Also='
  (and 'Conflicts=' in case of one service for links to /dev/null) recursively.
* For *.socket files the corresponding '*.service' and '*@.service are packed
* In case a file set in SYSTEMD_SERVICE does not exist, build is aborted with an
   error message.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 916b26ef7d systemd.bbclass: run code in populate_packages_prepend only if ${D} exists
All further manipulations need to be performed only once. This modication
avoids unwanted behaviour when inheriting rm_work.bbclass [1]

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-February/038067.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 450417617a systemd.bbclass: automatically install all *.service and *.socket supplied in recipe's SRC_URI
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 71f61f799c systemd.bbclass: automatically create packages set in SYSTEMD_PACKAGES
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller eb6c7f77b7 systemd.bbclass: cosmetics
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 3502ef4afd systemd.bbclass: enhance checks for SYSTEMD_PACKAGES and SYSTEMD_SERVICE
after recipe parsing the following plausibilities are checked:
* ERROR if empty SYSTEMD_PACKAGES
* ERROR if SYSTEMD_PACKAGES entry does not contain '-systemd' AND
  package_name != ${PN}
* ERROR if SYSTEMD_PACKAGES entry contains '-systemd' but entry without
  '-systemd' (base pkg) does not exist
* WARNING if SYSTEMD_PACKAGES containing ${PN} to force package maintainers to
  split out systemd-specific files into *-systemd
* error if SYSTEMD_SERVICE(_<systemd-package>) is empty for one or more entries
  in SYSTEMD_PACKAGES

The code in populate_packages_prepend to set SYSTEMD_PACKAGES to ${PN} as
default was removed.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller 6143fd76a1 systemd.bbclass: introduce systemd_unitdir
Follow suggestion in [1]

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-February/038018.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:30 +01:00
Andrea Adami 25c2e973e0 meta-initramfs: import klibc recipe and bbclass from meta-oe
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-22 09:40:24 +01:00
Otavio Salvador b67977efbe Revert "systemd.bbclass: depends on systemd"
This reverts commit c029d4a268.
2012-02-20 22:22:02 +01:00
Otavio Salvador c029d4a268 systemd.bbclass: depends on systemd
Packages that uses the systemd class need to have systemd build
otherwise they might fail to detect systemd as available or fail to
generate rootfs.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-01 08:24:07 +01:00
Andrea Adami 2164e05e17 kernel.bbclass: fix pkg_postinst and pkg_postrm (from oe-core)
* Symptom: kernel symlink in /boot is not created.
* Rename in order to create the expected files:
* /var/lib/opkg/info/kernel-3.1.4.postinst
* /var/lib/opkg/info/kernel-3.1.4.postrm

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-01-09 10:31:00 +01:00
Koen Kooi c486dfa401 kernel bbclass: sync with OE-core
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-12-11 09:46:28 +01:00
Koen Kooi 084fc20cd5 testlab: only use basename for license info to avoid diff churn
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-12-06 08:41:58 +01:00