Commit graph

751 commits

Author SHA1 Message Date
Joshua Lock
b8e16403fa cross-canadian: ensure package dependencies are generated correctly
cross-canadian packages need to look for their SOLIBS in the nativesdk
sysroot so that dependencies are correctly picked up and meta-toolchains are
correctly built.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:20 +01:00
Scott Garman
698dab0109 kernel.bbclass: Remove additional binaries from staging
* Remove additonal binaries known to cause "strip command failed"
  errors during do_package on cross platforms.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-06-23 18:43:45 +01:00
Joshua Lock
c350927b22 sanity.bbclass: Fix test for i686 SDKMACHINE
The 'is' keyword tests for object identity, returning True if the variables are
both referencing the same object. Changed the test to use the equality
operator, which compares the values of the objects.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:53:48 +01:00
Joshua Lock
c7f6eab8b1 packaged-staging.bbclass: fix typo in scan_cmd
it's PSTAGE_TMPDIR_STAGE, not PSTAGE_TMDPDIR_STAGE spotted by Chris Larson
<chris_larson@mentor.com>

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-11 14:43:58 +01:00
Scott Garman
b5fc6abac9 poky.bbclass: Add second fall-back sources mirror
* Green and newer releases can now use http://autobuilder.pokylinux.org/sources/

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-06-11 10:19:03 +01:00
Joshua Lock
eb3c93f401 rootfs_ipk.bbclass: ensure the package manager can create lock files
The opkg package manager uses /usr/lib/opkg to store lock files in, modify the
remove_package_data_files() function to create an empty directory once the data
files are removed so that the lock can be created.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-10 14:49:50 +01:00
Joshua Lock
6a7549ff00 packaged-staging.bbclass: Use a differnet opkg.conf for each TARGET_ARCH
Assembling an appropriate opkg.conf in the pstage_helper is difficult when
building for multiple target architectures in one Poky directory, work around
this by generating an appropriate opkg.conf for the TARGET_ARCH and using an
${TARGET_ARCH}-opkg.conf for packaged staging.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-10 11:36:23 +01:00
Richard Purdie
61a730184b kernel.bbclass: Drop code which is duplicated later in the function, fixing older kernel builds
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-09 14:27:13 +01:00
Joe Sauer
47e5d86aad metadata_scm.bbclass: Make errors quiet if we're not in a git based scm
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-08 20:54:26 +01:00
Richard Purdie
a06a85ab9b cross/cross-canadian.bbclass: Save target_exec_prefix variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-08 20:30:26 +01:00
Joshua Lock
6a9312cccc sanity.bbclass: Check for Python 2.6 or newer
In relocatable.bbclass and utility-tasks.bbclass we depend on functionality
that was only introduced with Pytrhon 2.6, so we now check that the build
system has it in the sanity class.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-08 17:29:46 +01:00
Richard Purdie
2160dddcc1 base.bbclass: Fix after bb.decodeurl was fixed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-07 21:16:16 +01:00
Joshua Lock
c4a0b5463d sanity.bbclass: version each of the files in the build/conf/ directory
We already have versioning of the local.conf file but it's entirely plausible
for the bblayers.conf and site.conf to change incompatibly so we should version
those too.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-07 16:16:35 +01:00
Nitin A Kamble
fc81ca7d2d insane.bbclass: Throw better error if path is bad
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-07 16:05:12 +01:00
Joshua Lock
8f367b6930 packaged-staging: Add the correct architectures to the opkg conf
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-04 20:02:09 +01:00
Kevin Tian
3161c9b15a utility-tasks.bbclass: automatic upstream version check
Automatic upstream version check can be triggered by "bitbake xxx -c checkpkg".
The rationale behind is to find a automatic way for version comparison between
current in-use one and upstream progress. The tricky thing is how to find out
useful version string from mass diverse information. Fortunately now it mostly
work for wget based protocol, except some sites (e.g. sourceforge) not providing
a directory service. Repo (git/svn/cvs) based protocols are handled in a very
simple manner, by always tagging as update required. This will be further
improved later. Use 'world' target to retrieve a full version check for all
active recipes.

Along with version check, other package information is also collected from
existing fields in .bb file

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-03 12:23:22 +01:00
Joshua Lock
7ada79de07 sanity.bbclass: check for invalid characters in OEROOT
Some characters in the path for OEROOT are known to cause issues, so check for
them in the sanity checker.
Currerently we warn on +'s and spaces.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-02 15:25:00 +01:00
Richard Purdie
9ea69b17f7 utility-tasks: Remove unneeded addtask parameter
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-02 14:07:59 +01:00
Nitin A Kamble
5ae3f65531 do_distro_check: Recipe exists in other distros?
This adds a new task (distro_check) for each recipe.
The task generates the source package list for Fedora OpenSuSE
Ubuntu Debian & Mandriva Linux distros.

As one recipe or source package can generate multiple target packages
the recipe name is compared with the source package name list of LInux
distributions.

Thread locking is used to avoid multiple threads racing for the
package list update.

Then the recipe name (PN) is checked if it exists in the package
list of distros. And if the DISTRO_PN_ALIAS then it is used to copmare
pacakge_name instead of the PN variable. Just for example the
DISTRO_PN_ALIAS can be defined in the recipe (.bb) files like this

In the file xset_1.0.4.bb:

DISTRO_PN_ALIAS = "Fedora=xorg-x11-server-utils;\
   Ubuntu=x11-xserver-utils; Debian=x11-xserver-utils;Opensuse=xorg-x11"

The final results are stored in the tmp/log/distro_check-${DATETIME}.result
file.

FYI this command will generate the results for all recipies:
bitbake world -f -c distro_check

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-02 14:06:02 +01:00
Richard Purdie
7dcf1e47b7 sanity.bbclass: Check for SDKMACHINE=i686 and error if found
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-01 17:25:05 +01:00
Joshua Lock
09536a7592 patch.bbclass: Merge patch enhancements from OE by Chris Larson
Chris made some interesting changes to the patch handling in OE. Firstly the
patch and pnum parameters have been renamed, to better reflect their function,
to apply and striplevel. The apply parameter now takes either yes or no as its
value.

Therefore a patch line would be changed from:
file://some.patch;patch=1;pnum=2
to:
file://some.patch;apply=yes;striplevel=2

Secondly the apply parameter is inferred if not defined. Entries in SRC_URI
with diff or patch filename extensions will be automatically applied as patches
if the apply parameter is not set to no (or an unknown value).

Note: We have disabled the warnings when using the old style parameters for now

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-01 15:17:12 +01:00
Joshua Lock
138df217ef Drop vm_mmap_min_addr checks from scripts and sanity class
QEMU 0.12.x is relocatable so we no longer need these tests, which is good
because it doesn't work reliably with modern kernels.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-28 15:32:41 +01:00
Joshua Lock
cd62d697e1 relocatable.bbclass: reduce the amount of output
Disable the last bb.note call, it's a bit spurious. Only really useful for
debug.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-24 17:25:28 +01:00
Richard Purdie
6bf1f8c76e kernel.bbclass: Simplify the current external module code
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-24 11:14:56 +01:00
Scott Garman
ae9174ef53 kernel.bbclass: Stop staging binaries within scripts/
* Preserves scripts/ directory but excludes binaries known to cause
  "strip command failed" errors during do_package on cross platforms

Signed-off-by: Scott Garman <sgarman@zenlinux.com>
2010-05-24 10:34:40 +01:00
Joshua Lock
5bec733fb1 kernel.bbclass: tidy up staging of headers
The changes merged from upstream used the ASMDIR variable even when it might
not have been set. These changes may be incorrect but at the very least I can
now build a QEMU image (including v86d) with the 2.6.33 kernel now.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-20 16:09:39 +01:00
Joshua Lock
2c3437d0ae kernel-arch.bbclass: merge improved arch detection from OE.dev
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-20 15:15:55 +01:00
Joshua Lock
769cf0b6b0 kernel.bbclass: Package Kernel firmware
Merged change from OE.dev to create packages of the kernel firmware

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-20 14:16:26 +01:00
Joshua Lock
3da120a872 linux-kernel-base.bbclass: merge version detection updates from upstream
Kernels after 2.6.33 store the utrelease.h file, used to detect the kernels
version, in a different location.

Merged from oe.dev

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-20 14:14:22 +01:00
Joshua Lock
e30c5a29d2 kernel.bbclass: match x86 header installation to other architectures
The header installation for x86 was slightly different as to that employed
for other architectures, change them to match for consistency.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-20 12:58:25 +01:00
Joshua Lock
5e07bc9128 kernel.bbclass: fix installing of kernels 2.6.34 and above
Changes merged from upstream to cope with changes to directory structures in
recent kernels when building for x86

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-19 12:20:08 +01:00
Nitin A Kamble
8825d4d455 License Checking: convert an error into warning
If license file md5 information (LIC_FILES_CHKSUMS variable) is
missing in the recipe then just throw a warning instead of the build
failure.
  Once enough recipes' LIC_FILES_CHKSUMS are filled then this warning
will be reverted back to the the fetal error.
  If LIC_FILES_CHKSUMS field is present but invalid then the it still
causes a fetal build error.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-05-12 10:54:05 -07:00
Nitin A Kamble
2ca1f78a95 License Change checking:
Added a new variable in recipe : LIC_FILES_CHKSUM

It is a required field for every recipe.

It describes license text location in the source files. And also stores
md5sum of that license text. Any change in this license text triggers build
error. Which enables developer to review any changes in the license and
update the license fields in the recipe accordingly.

For Example: contents of zlib_1.2.3.bb
LICENSE = "zlib"
LIC_FILES_CHKSUM = "file://README;md5=ae764cfda68da96df20af9fbf9fe49bd \
  file://zlib.h;beginline=1;endline=30;md5=6ab03f03a5ee92d06b809797d4d5586d "

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-05-11 16:25:39 -07:00
Joshua Lock
e7fa3529f3 Update classes to use lib/oe
Adapt modifications from upstream to make Poky classes use lib/oe for the
common Python functionality.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-06 12:53:16 +01:00
Richard Purdie
14196cb031 base.bbclass: Sync minor layout changes with OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-06 12:22:44 +01:00
Richard Purdie
89497d8057 xfce.bbclass: Fix SRC_URI (from OE.dev)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-06 12:03:31 +01:00
Joshua Lock
d425fac6d1 sanity.bbclass: fix typo in earlier commit
Commit fbe3d41eb0 left a trailing bracket which
cause an interpretation error

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-30 20:15:56 +01:00
Joshua Lock
fbe3d41eb0 Version the build configuration directory
The addition of BBLAYERS changes the build/conf directory to be incompatible
with the "old way" in the Purple release.

As such things are likely to occur in future we should bersion the build/conf
directory through local.conf

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-30 16:25:41 +01:00
Joshua Lock
69d788ad5e Fix sanity check for new abi
current_abi is the abi of the tmp directory, not the current abi specified in
the abi file...

Now the sanity check should work sanely.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-29 10:25:39 +01:00
Joshua Lock
19a81653b7 Bump the ABI to alert people that cross has gone
Since we've change the tmpdir layout quite a bit we're going to bump ABI and
force a rebuild.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-28 17:48:08 +01:00
Joshua Lock
6458da896f Fix references to CROSS_DIR now that it has been removed
CROSS_DIR is no longer removed so fix up classes, packages and documentation
which refer to it.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-28 16:47:14 +01:00
Joshua Lock
29813a43b5 cross.bbclass: inherit relocatable to post-process cross binaries
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 18:29:57 +01:00
Joshua Lock
c22ab5fc9f Install cross-packages into the native sysroot
Cross is no longer required so can go away, we now install cross packages into
the native sysroot and use them from there.

This patch includes updates to classes and some recipes which reference
CROSS_DIR. Others still need fixing an image can be built and run with this
patch applied.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 18:29:57 +01:00
Joshua Lock
4d1f39af75 autotools: deprecate autotools_stage class
Move the functionality into autotools and ensure all our Poky recipes are no
longer using it.
Keep the autools_stage class around for OE compatability but just have it
inherit autools.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 17:11:28 +01:00
Joshua Lock
23ff2e0819 relocatable.bbclass: Normalise the generated path
The generated path we create for the binaries RPATH can have a lot of directory
separators in. Use os.path.normpath() to tidy it up and only include the
required directory separators.

This patch is purely to appease my personal sense of niceness...

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 16:58:42 +01:00
Joshua Lock
d1f413ff30 sanity.bbclass: handle lack of permission to read /proc/sys/vm/mmap_min_addr
Patch from OE.dev by Martin Jansa to workaround that we on modern Linux we can
no longer read this file.

We need a better fix but best option will be to update to a newer, relocatable,
QEMU release.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 16:58:42 +01:00
Joshua Lock
7f019514d8 Move STAGING_BINDIR_CROSS into target sysroot, instead of native
Cross scripts now live in sysroot/$arch-distro-os/crossscripts, this conveys
that they are no longer native system dependant and emphasises their purpose.

Bump the staging ABI and implement a simple migration from ABI 3 to ABI 4.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 16:58:42 +01:00
Joshua Lock
e866ea68c7 packaged-staging.bbclass: Fix architecture field
The packages architecture field is incorrect, this patch changes it to:
native - build machine architecture
cross - build and target machine architectures
target - target machine architecture

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 16:58:42 +01:00
Joshua Lock
d3fbb56c2f relocatable.bbclass: Actually skip symlinks
The previous patch to do so was badly merged and didn't actually skip all
symlinks, only ones which where not an absolute path...

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-12 15:56:45 +01:00
Joshua Lock
1ac0a1aebe relocatable.bbclass: ignore symlinks
If this links to a file created by the package install we already handle it
when we process the sysroot. By ignoring symlinks here we don't cause a build
to fail when the symlink is to somewhere in the host OS.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-08 16:41:24 +01:00