Commit Graph

72 Commits

Author SHA1 Message Date
Dan McGregor
71677b7435 kmod: bump alternative priority
toybox by default has a priority of 60, and busybox of 50. Bump kmod's
priority so that it beats both toybox and busybox.

(From OE-Core rev: b17ae3e13dea4b12f1720170237142e04d5ab578)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 23:26:35 +01:00
Alexander Kanavin
ff9f07b8a4 kmod: do not reset $bindir/sbindir, use EXTRA_OECONF instead
This was causing issues with classes that use $bindir to find
already installed binaries in rootfs (manpages class in particular).

$bindir needs to be the same for all recipes.

(From OE-Core rev: 3d92bce5a8e021c03e509e8ee6ead064e97bfcec)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 10:42:48 +01:00
Haris Okanovic
d83a3f9a3f depmodwrapper-cross: Add kmod-native to DEPENDS
Add `DEPENDS += "kmod-native"` to ensure depmod utility is added to
recipe-sysroot-native during image build.

Without this dependency, image builds where BUILD_IMAGES_FROM_FEEDS=1
have depmodwrapper in recipe-sysroot-native but are missing depmod.
Kernel postinst scripts rely on depmod (via depmodwrapper) to index
newly installed modules.

(From OE-Core rev: d693457f9de92e4e8b61881638787e831f0ca197)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Ross Burton
0728b89b56 kmod: don't call gtkdocize twice
The gtk-doc class already calls gtkdocize, so we don't need to do it again

(From OE-Core rev: 14c6e4fd793e037d801a81c6581e0642ef61ab0c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
0275093054 kmod: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: c94152fee766297b355fec7f6d3d4d8ba7ae5f86)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-09 09:17:02 -08:00
Huang Qiyu
9620a1edb0 kmod: 24 -> 25
Upgrade kmod from 24 to 25.

(From OE-Core rev: df525efab1cefa3e05e50544b1fbc790cc4cf850)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:49:50 +00:00
Haris Okanovic
5b4aab6b40 kernel: Add support for multiple kernel packages
Some distros may want to provide alternate kernel "flavors" via feeds or
within bootable images. For example, readily available builds which
provide certain diagnostic features can enable developers and testers to
more quickly resolve issues by avoiding lengthy kernel builds.

This change allows for building multiple flavors of the kernel and
module packages by templatizing kernel package names via a new
KERNEL_PACKAGE_NAME variable in kernel.bbclass. It defaults to the old
name of "kernel", but can be overridden by certain recipes providing
alternate kernel flavors.

To maintain compatibility, recipes providing alternate kernel flavors
cannot be the "preferred provider" for virtual/kernel. This is because
OE puts the preferred provider's build and source at
"tmp-glibc/work-shared/$MACHINE/kernel-build-artifacts/" and
"tmp-glibc/work-shared/$MACHINE/kernel-source/" instead of
"tmp-glibc/work/*/$PN/" like other recipes. Therefore, recipes using the
default KERNEL_PACKAGE_NAME="kernel" follows the old semantics -- build
in the old location and may be preferred provider -- while recipes using
all other KERNEL_PACKAGE_NAME's build from the normal WORKDIR and don't
provide "virtual/kernel".

Testing:
 1. Add `KERNEL_PACKAGE_NAME_pn-linux-yocto-tiny = "tiny-linux"`
    to local.conf so that linux-yocto-tiny may build alongside
    the main kernel (linux-yocto).
 2. `bitbake linux-yocto linux-yocto-tiny` to build both kernel flavors.
 3. Verified image and modules IPKs exist for both:
    tmp-glibc/deploy/ipk/qemux86/kernel-* for linux-yocto
    tmp-glibc/deploy/ipk/qemux86/tiny-linux* for linux-yocto-tiny
 4. Verified linux-yocto is the "preferred provider", and was built in
    shared directory: tmp-glibc/work-shared/qemux86/kernel-*
 5. Add `CORE_IMAGE_BASE_INSTALL_append_pn-core-image-base = "tiny-linux"`
    to local.conf to install both kernel flavors in core-image-base.
 6. `bitbake core-image-base` to build an image.
 7. Verified image contains two bzImage's under /boot/, with
    "yocto-standard" (linux-yocto recipe) selected to boot via symlink.

Discussion threads:
http://lists.openembedded.org/pipermail/openembedded-core/2015-December/thread.html#114122
http://lists.openembedded.org/pipermail/openembedded-core/2017-July/thread.html#139130

[YOCTO #11363]

(From OE-Core rev: 6c8c899849d101fd1b86aad0b8eed05c7c785924)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Coauthored-by: Gratian Crisan <gratian.crisan@ni.com>
Coauthored-by: Haris Okanovic <haris.okanovic@ni.com>
Coauthored-by: Josh Hernstrom <josh.hernstrom@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-02 17:24:37 +00:00
Richard Purdie
246dc1b5eb depmodwrapper-cross: Set PACKAGES=''
This recipe inherits nopackages but has a non-empty PACKAGES which confuses
the archiver class when:

INHERIT += "archiver"
ARCHIVER_MODE[srpm] = "1"

Ensuring PACKAGES is empty removes the errors that occur in this configuration.

[YOCTO #11121]

(From OE-Core rev: b8a603d3f1d3adac41d042e42a2283b7fdf2ae7c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-21 10:21:00 +00:00
Chen Qi
b4337a8cc1 kmod: upgrade to 24
Drop kcmdline_quotes.patch as it has been integrated.

(From OE-Core rev: 68880e7dc48df4707e2c67f7434603e516c335c6)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-09 17:12:14 +01:00
Peter Kjellerstedt
1d57ca352f sstate.bbclass, staging.bbclass: Handle HOSTTOOLS_DIR when restoring state
Paths to host tools that have been copied to ${HOSTTOOLS_DIR} may end
up in the sstate cache. They thus need to be corrected when restoring
from the sstate cache.

(From OE-Core rev: f8671aecf05a286dd2b34b07bb5fbbe0c31e26d0)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-01 08:56:35 +01:00
Robert Yang
2752d71e8d kmod: set ac_cv_path_DOLT_BASH to /usr/bin/env bash
The shebang's length is usually 128 as defined in /usr/include/linux/binfmts.h:
  #define BINPRM_BUF_SIZE 128

So there would be errors when /path/to/hosttools/bash is longer than 128:

/bin/sh: ./doltcompile: [snip]: bad interpreter: No such file or directory

Set ac_cv_path_DOLT_BASH to "/usr/bin/env bash" to fix the problem.

(From OE-Core rev: fd2758ed26e8ed6d76c66af0275c4aafbec758ac)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:43 +01:00
Richard Purdie
f14fb8d124 depmodwrapper-cross/qemuwrapper-cross: Drop unneeded binutils dependency
By default these pull in binutils-cross since they're a cross tool
and pull in any native tool requirements. In reality they don't
need such tools at build time or runtime since they're scripts.

Therefore clear the dependency and save on some processing time.

(From OE-Core rev: 63796765122e2eee2b78930797d571acb5c244d1)

(From OE-Core rev: 50feffd0917b0ab408b34ded9c2f741a9c4e5b74)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-23 12:49:49 -08:00
James Minor
1f7c9094f7 kmod: Fix handling of quotes in kernel command line
If a module parameter on the command line contains quotes, any
spaces inside those quotes should be included as part of the
parameter.

Upstream-Status: Accepted

(From OE-Core rev: a54be23887cdc24a9b128be0913029fc8e63973d)

Signed-off-by: James Minor <james.minor@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Richard Purdie
9107d6ca14 Switch to Recipe Specific Sysroots
This patch is comparatively large and invasive. It does only do one thing, switching the
system to build using recipe specific sysroots and where changes could be isolated from it,
that has been done.

With the current single sysroot approach, its possible for software to find things which
aren't in their dependencies. This leads to a determinism problem and is a growing issue in
several of the market segments where OE makes sense. The way to solve this problem for OE is
to have seperate sysroots for each recipe and these will only contain the dependencies for
that recipe.

Its worth noting that this is not task specific sysroots and that OE's dependencies do vary
enormously by task. This did result in some implementation challenges. There is nothing stopping
the implementation of task specific sysroots at some later point based on this work but
that as deemed a bridge too far right now.

Implementation details:

* Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in
  TMPDIR/sysroot-components/PACKAGE_ARCH/PN.

* WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files
  from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and
  RECIPE_SYSROOT_NATIVE.

* This construction is primarily done by a new do_prepare_recipe_sysroot task which runs
  before do_configure and consists of a call to the extend_recipe_sysroot function.

* Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native
  and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies
  for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot
  dependencies.

* We have to do a search/replace 'fixme' operation on the files installed into the sysroot to
  change hardcoded paths into the correct ones. We create a fixmepath file in the component
  directory which lists the files which need this operation.

* Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each
  time a new loader is added. These are handled by adding files in bindir with the name
  prefixed by "postinst-" and are run in each sysroot as its created if they're present.
  This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them.

* Since a recipe can have multiple tasks and these tasks can run against each other at the same
  time we have to have a lock when we perform write operations against the sysroot. We also have
  to maintain manifests of what we install against a task checksum of the dependency. If the
  checksum changes, we remove its files and then add the new ones.

* The autotools logic for filtering the view of m4 files is no longer needed (and was the model
  for the way extend_recipe_sysroot works).

* For autotools, we used to build a combined m4 macros directory which had both the native and
  target m4 files. We can no longer do this so we use the target sysroot as the default and add
  the native sysroot as an extra backup include path. If we don't do this, we'd have to build
  target pkg-config before we could built anything using pkg-config for example (ditto gettext).
  Such dependencies would be painful so we haven't required that.

* PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy
  for each machine. The paths therefore changed, the behaviour did not.

* The ccache class had to be reworked to function with rss.

* The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data
  does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal
  recipe name therefore remains a bad idea.

* The logic in insane needed tweaks to deal with the new path layout, as did the debug source
  file extraction code in package.bbclass.

* The logic in sstate.bbclass had to be rewritten since it previously only performed search and
  replace on extracted sstate and we now need this to happen even if the compiled path was
  "correct". This in theory could cause a mild performance issue but since the sysroot data
  was the main data that needed this and we'd have to do it there regardless with rss, I've opted
  just to change the way the class for everything. The built output used to build the sstate output
  is now retained and installed rather than deleted.

* The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold
  up against testing. This has been rewritten too. There are some assumptions made about paths, we
  save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is
  here works but is a little hardcoded and an area for future improvement.

* In order to work with eSDK we need a way to build something that looks like the old style sysroot.
  "bitbake build-sysroots" will construct such a sysroot based on everything in the components
  directory that matches the current MACHINE. It will allow transition of external tools and can
  built target or native variants or both. It also supports a clean task. I'd suggest not relying on
  this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have
  to have built that in a previous bitbake invocation.

* pseudo is run out of its components directory. This is fine as its statically linked.

* The hacks for wayland to see allarch dependencies in the multilib case are no longer needed
  and can be dropped.

* wic needed more extensive changes to work with rss and the fixes are in a separate commit series

* Various oe-selftest tweaks were needed since tests did assume the location to binaries and the
  combined sysroot in several cases.

* Most missing dependencies this work found have been sent out as separate patches as they were found
  but a few tweaks are still included here.

* A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib
  sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my
  hand. That implementation can probably be neater but this is on the list of things to cleanup later
  at this point.

In summary, the impact people will likely see after this change:

* Recipes may fail with missing dependencies, particularly native tools like gettext-native,
  glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors

* Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst

* There was a separate patch series dealing with roots postinst native dependency issues. Any postinst
  which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS.

There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest
and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean
we've found all the issues.

Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the
task logfiles, not the console so I've intentionally left this like that for now. We can turn it down
easily enough in due course.

(From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Olaf Mandel
6e36cc9c40 Remove LIC_FILES_CHKSUM from recipes without SRC_URI
LICENSE and LIC_FILES_CHKSUM apply to the sources specified by SRC_URI,
not to the recipe itself. As such a license declaration for a source-less
recipe makes little sense. The LICENSE declaration is mandatory, but
LIC_FILES_CHKSUM can be removed in such cases.

Remove the LIC_FILES_CHKSUM declarations from all recipes that do not
need it.

CC: Paul Eggleton <paul.eggleton@linux.intel.com>
(From OE-Core rev: b18fa5f2f2f46afc6fdc58f4d29679dea9c36c43)

Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28 16:15:21 +01:00
Alexander Kanavin
8342a25aa5 kmod: enable optional building of manpages
(From OE-Core rev: e7150ee8adabaa4c68d3b4016f3fff2253d77dd7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28 16:15:20 +01:00
Alexander Kanavin
6d266010dc kmod: do not let gtkdocize fail
(From OE-Core rev: 1e68a6b24b88c897de18e84245bf7b3e15254bef)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:12:22 +01:00
Maxin B. John
04554443e4 kmod: inherit pkgconfig
Instead of DEPENDS += "pkgconfig-native", inherit pkgconfig class which does
the same.

(From OE-Core rev: dbaa536c569d728f47f949fedbab165b73c9985d)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 11:53:36 +01:00
Chen Qi
1e211f371c kmod: upgrade to 23
(From OE-Core rev: 651a08c9eda35edc31e637268be45cda0a439b6d)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-20 16:06:03 +01:00
Peter Kjellerstedt
138d161fd4 depmodwrapper-cross: Use SYSROOT_DIRS to add dirs to stage in sysroot
(From OE-Core rev: 1d308b0f12a80ed8ede548980987c925b3149a81)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:27 +01:00
Hongxu Jia
1f00fb2eb6 depmodwrapper-cross: nopackages to avoid QA [buildpaths] issue
This depmodwrapper is a wrapper script to support install-corss,
which is invoked at do_rootfs time. So the depmodwrapper-cross
should not generate packages. The fix could avoids QA buildpaths
issue.

[YOCTO #7058]

(From OE-Core rev: e469717d324b3aa29f165c7dc242c9d634be168f)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:58 +00:00
George McCollister
d88ed5d3a0 kmod: use bash-completion.bbclass
Use bash-completion.bbclass to package bash completions.

(From OE-Core rev: 4f0716690ff4c7169b07e352df2301e77a3abc03)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:02 +00:00
Chen Qi
21efab7b2f kmod: upgrade to 22
(From OE-Core rev: ef0b5521c1d292ca0e5be2408ea85fc8d999a459)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:49 +00:00
Aníbal Limón
66dca4b0cc kmod: Change SRCREV to fix return code in error path
Systemd is failing trying to load kdbus [1] because kmod have
an error in return code when try to insert module [2].

This change of SRCREV is a MINOR one only include the fix
described.

[YOCTO #8377]

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8377#c0
[2] http://lists.freedesktop.org/archives/systemd-devel/2015-July/033549.html

(From OE-Core rev: 24d1ba834e79fa5d625e6fd0890cebfb548dce81)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-24 17:54:26 +01:00
Joshua Lock
17f5a5a415 kmod: fix link creation when base_bindir != /bin
If base_bindir is not a direct child of / the link creation in
do_install_append creates incorrect relative links.

Instead pass a full path to the link source too the lnr script
to create a relative link.

(From OE-Core rev: dc184ace9d72a2d4f8eeec831942663cd3b1fd47)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 09:05:22 +01:00
Ross Burton
5352e6573e depmodwrapper-cross: set S correctly
This recipe doesn't unpack any source, so set S to ${WORKDIR}.

(From OE-Core rev: b82d60aa19ecbe1e4fed6a1ce7077b3d6c620ef4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16 15:09:23 +01:00
Chen Qi
c8042fdefb kmod: upgrade to 21
Upgrade kmod to 21.
Fix cross compilation problem.

(From OE-Core rev: 120983cea780b04a40320b810746ce102cb4cedf)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-27 22:42:55 +01:00
Robert Yang
2be3398005 kmod: remove 0001-Makefile.am-fix-parallel-build-problem.patch
Confirmed with the author Qi, it isn't needed.

(From OE-Core rev: 6ee6c39df4dea2dcd99cccad771e1326465e96dd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-30 23:04:13 +01:00
Chen Qi
7ad628e0ef kmod: upgrade to 20
The following patches are rebased.
-- Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch
-- avoid_parallel_tests.patch

The ptest part of kmod is removed because new version of kmod port all tests to
use modules from module-playground instead of copying prebuilt modules to the
repository. So, we cannot use ptest as before. Remove it so that kmod can build
successfully.

(From OE-Core rev: f80d136bdd578468035a88125fa1b84973fd912b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-15 14:19:44 +01:00
Richard Purdie
3f15d8a807 kernel: Fix depmod for multilib
Using populate_sysroot for this data was a nice idea but flawed as it
doesn't work in multilib builds. Instead we can use PKGDATA_DIR since
this is consistent over multilib builds. It also turns out to be
slightly neater code too. Hopefully this resolves the problem once and
for all.

(From OE-Core rev: 6cccae3ca54c1177a1d91d23c3e151d74e735ee9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:52 +00:00
Gustavo Sverzut Barbieri
579aa720a4 kmod: new PACKAGECONFIG debug and logging to help reduce binary size.
debug and logging will make kmod and its library bigger than expected
due many strings in the resulting binaries. While these are useful for
development, they are of no use for deployment.

With them enabled kmod is 154Kb, libkmod is 99Kb. Disabling reduces to
kmod 139Kb (10%) and libkmod 83Kb (19%) on i586 stripped.

(From OE-Core rev: 907514c1b2d07231eb6ec63d21ad5dc25e731b29)

Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:47 +00:00
Richard Purdie
11ef55a93b kernel/image/depmodwrapper: Fixups for depmod
With the rpm package backend enabled, running:

bitbake <image>
bitbake virtual/kernel -c clean
bitbake <image> -c rootfs -f

results in an image with incorrect kernel module dependency information.
The problem is that the System.map and kernel-abiversion files are needed
for depmod and after the recent kernel changes, these are no longer in
sstate.

Its reasonable to require the kernel to unpack/build if you're
about to build a module against it. It is not reasonable to require this
just to build a rootfs.

Therefore stash the needed files specifically for depmod.

Also fix some STAGING_KERNEL_DIR references which were incorrect, found
whilst sorting through his change.

(From OE-Core rev: b851504dcf5e147c9efb1c7b6a4d22c1a1a87cd7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 14:32:02 +00:00
Richard Purdie
d9d5b8b499 depmodwrapper-cross: Update to use STAGING_KERNEL_BUILDDIR
(From OE-Core rev: eaea05c88661a88a89fa6b139f7e6b243155d492)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-17 17:05:45 +00:00
Chen Qi
09c1c79611 kmod: upgrade to 19
0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch is dropped
as it's in the new version.

Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch is modified
to match the new version.

License chesum is changed but it is confirmed that the license information
is not chagned.

(From OE-Core rev: 234d61aa89deecf909938bfba39601f79bdcfaee)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:37 +00:00
Chong Lu
9adfa08360 kmod: fix debuginfo is missing in shared library
INHIBIT_PACKAGE_STRIP variable will make debuginfo lose in shared library.
The test cases of kmod contain kernel modules for many different architectures,
strip and arch gets confused and throws errors. Pack kernel modules in test
cases to avoid strip command failed.

(From OE-Core rev: 3576399ed163cb3136ee1a2077622035d2033158)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:11 +00:00
Saul Wold
5effba2788 kmod: Upgrade to latest git
Update to version 18 with an additional patch from
the git repo to address an issue.

(From OE-Core rev: 5a16da19eda60992e094b38ebb185875529b3b4c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:28:51 +01:00
Cristiana Voicu
e846e0fb09 kmod: update Upstream-Status for one patch
I will mark Inappropriate because the patch replaces some functions
unavailable in older versions of glibc.

(From OE-Core rev: fe19e4d13a645efccd778cfd3a7b55fe74498d60)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 13:00:34 +01:00
Otavio Salvador
4c14b09498 Globally replace 'base_contains' calls with 'bb.utils.contains'
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.

(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:19 +01:00
Cristiana Voicu
8dd299b5a9 kmod: upgrade to v17 via git
Just one patch has some small changes because the new code
has another fix for unaligned access.

(From OE-Core rev: 1d82fb4f1980bbe3c9cf0fffb45702bddda73307)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Robert Yang
ae7a07976f kmod: fix O_CLOEXEC not supported on old kernel
O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have
it, we need check before use.

This patch is much more like a workaround, since it may need fcntl() use
FD_CLOEXEC to replace.

(From OE-Core rev: 44c441222002ee0177100be0431adf91984e90d5)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 23:37:01 +01:00
Cristiana Voicu
2acd6174de kmod: Update to Rev 16 via git
Two patches are not needed anymore, because the changes are
already upstream.

(From OE-Core rev: d0e52b125a58c0556087fcdf1673920e63573e7b)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06 22:17:29 +00:00
Martin Jansa
7774bdf778 kmod: fix zlib dependency
* unlike BBCLASSEXTENDed native support, dependencies in kmod-native doesn't get
  automatic -native suffix, so kmod-native was depending on target zlib.
* move the dependency from .inc and apply it with right suffix

(From OE-Core rev: ef0a1812cd79a68f30da5b2770cd5c566d6ecf0b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:56:28 +00:00
Paul Eggleton
e792f5470b Add missing SUMMARY values
These recipes all had a long DESCRIPTION but no SUMMARY; since the
SUMMARY is often displayed alone by package managers and the default
value ("${PN} version ${PV}") isn't particularly useful, we should
always try to set SUMMARY.

(From OE-Core rev: db02edd2e9d7645592933cbb25ea0ca4d6561392)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:18 +00:00
Paul Eggleton
cec8b230cf Replace one-line DESCRIPTION with SUMMARY
A lot of our recipes had short one-line DESCRIPTION values and no
SUMMARY value set. In this case it's much better to just set SUMMARY
since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY
is at least useful. I also took the opportunity to fix up a lot of the
new SUMMARY values, making them concisely explain the function of the
recipe / package where possible.

(From OE-Core rev: b8feee3cf21f70ba4ec3b822d2f596d4fc02a292)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:18 +00:00
Chong Lu
511997535f meta/*: remove unnecessary patches
The following patches are found, but not used by any recipe, so we should
remove them.

	meta/recipes-connectivity/avahi/files/fix_for_automake_1.11.2.patch
	meta/recipes-connectivity/dhcp/dhcp/fix-client-path.patch
	meta/recipes-connectivity/libnss-mdns/files/alignment-fix.patch
	meta/recipes-core/dbus/dbus-1.6.10/test-run-path.patch
	meta/recipes-core/gettext/gettext-0.16.1/fixchicken.patch
	meta/recipes-core/gettext/gettext-0.16.1/getline.m4.patch
	meta/recipes-core/systemd/systemd/use-rootlibdir.patch
	meta/recipes-core/util-linux/util-linux/remove-lscpu.patch
	meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch
	meta/recipes-core/util-linux/util-linux/uclibc-compile.patch
	meta/recipes-devtools/autoconf/autoconf/autoconf-x.patch
	meta/recipes-devtools/btrfs-tools/btrfs-tools/btrfs-progs-fix-parallel-build.patch
	meta/recipes-devtools/btrfs-tools/btrfs-tools/btrfs-progs-fix-parallel-build2.patch
	meta/recipes-devtools/cdrtools/cdrtools-native/no_usr_src.patch
	meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-robustify.patch
	meta/recipes-devtools/gdb/gdb/libiberty-cross.patch
	meta/recipes-devtools/perl/perl-5.14.3/asm-pageh-fix.patch
	meta/recipes-devtools/python/python-native/sys_platform_is_now_always_linux2.patch
	meta/recipes-devtools/python/python-pygobject/generate-constants.patch
	meta/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch
	meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
	meta/recipes-devtools/qemu/files/init-info.patch
	meta/recipes-devtools/rpm/rpm/rpm_fix_for_automake-1.12.patch
	meta/recipes-devtools/tcf-agent/tcf-agent/fix_tcf-agent.init.patch
	meta/recipes-extended/iputils/files/arping-break-libsysfs-dependency.patch
	meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch
	meta/recipes-extended/procps/procps-3.2.8/pagesz-not-constant.patch
	meta/recipes-gnome/gtk+/gtk+-2.24.22/no-demos.patch
	meta/recipes-gnome/libglade/libglade-2.6.4/no-deprecation.patch
	meta/recipes-graphics/mesa/mesa/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
	meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.3_fix_for_x32.patch
	meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch
	meta/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch
	meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch
	meta/recipes-support/gnutls/gnutls/gnutls-texinfo-euro.patch
	meta/recipes-support/nspr/nspr/fix-build-on-aarch64.patch

[YOCTO #5180]

(From OE-Core rev: e5d81f757de4bd1bfd37a96300edd50b77b0d21c)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-10 17:42:43 +00:00
Tudor Florea
fd2d16519d kmod: avoid parallel-tests
buildtest-TESTS and runtest-TESTS targets are required by ptest.
In order to have those targets in automake 1.13.4, serial-tests
should be specified since parallel test is assumed by default
and serial-tests is optional.

(From OE-Core rev: b7a0e1c351e396af6470e59c428128789295bd96)

Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-03 17:45:51 +00:00
Richard Purdie
5e42796675 recipes: Remove PR = r0 from all recipes
Remove all PR = "r0" from all .bb files in oe-core. This was done
with the command sed -e '/^PR.*=.*r0\"/d' recipes*/*/*.bb -i

We've switching to the PR server, PR bumps are no longer needed and
this saves people either accidentally bumping them or forgetting to
remove the lines (r0 is the default anyway).

(From OE-Core rev: 58ae94f1b06d0e6234413dbf9869bde85f154c85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-30 14:52:04 +00:00
Saul Wold
cd414c0d1c kmod: Update to Rev 15 via git
Also nail down a previously floating dependancy on zlib, which is required for ptest

(From OE-Core rev: e76181535fce8bd4bb63f55106de4d074cae4e06)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-18 15:49:56 +01:00
Saul Wold
e83640d9dc kmod: Add patch to fix seperate build dir of ptest
(From OE-Core rev: 68322eadd1d9456e606b375c2f4181725784c292)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-18 15:49:56 +01:00
Ting Liu
0f431a3123 kmod-native: use bswap to work on older Linux hosts
We can't use htobe* and be*toh functions because they are not
available on older versions of glibc, For example, shipped on Centos 5.5.

Change to directly calling bswap_* as defined in byteswap.h.

(From OE-Core rev: 63edb6b9a8bdf2f5541edd618f2f598185e37223)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-14 16:55:24 +01:00