Commit Graph

776 Commits

Author SHA1 Message Date
Joshua Lock 971907567c Enable build dir outside of the poky directory
You need to first set up the build directory by sourcing the poky build script,
after that builds can be run in that directory so long as bitbake is in $PATH
removing the need to source the init script for each build.

i.e:
$ . poky-init-build-env ~/my-build
$ bitbake some-image
<<later, in a different shell>>
$ cd ~/my-build
$ export PATH=/path/to/bitbake/bin:$PATH
$ bitbake an-image

This patch also removes use of OEROOT in recipes, etc.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-21 15:39:53 +01:00
Bruce Ashfield d39ae18df2 qemu/mips: arrange for vmlinux to be bootable
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Bruce Ashfield ae6c323a0b qemu: update kernel mapping to return x86 for i586 TARGET_ARCH
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Nitin A Kamble 6915c7e8be cpan-base.bbclass: fix perl version finding function
Now perl version is in two digits like 12 in 5.12.1. Fix the old
function to work with multi digit version strings.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:38:12 +01:00
Joshua Lock 29d5edffb0 Use pseudo rather than fakeroot for fake root privileges
Make use of the ability to configure the fake root provider and use Wind
River's pseudo utility.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:40:32 +01:00
Joshua Lock f23aa92f08 staging: fix staging of empty directories and add localstatedir
If a program creates an empty directory during its build it's probably for a
good reason, so if it exists it seems sensible to stage it.
Some programs require localstatedir to operate so we should be sure to stage
it.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:31:04 +01:00
Nitin A Kamble 23363c990c insane.class: print the recipe name in the warning.
Now Warning includes the package name like zlib is printed bellow:

WARNING: zlib: Recipe file does not have license file information
(LIC_FILES_CHKSUM)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-15 13:46:06 +01:00
Jiajun Xu fd1d661b39 test: add automation framework and sanitytest
Automation test is disabled by default. User need set TESTCLASS
to qemu in conf/local.conf and run bitbake command "bitbake
poky-image-xxx" or "bitbake poky-image-xxx -c qemuimagetest" to
trigger it. Currently only the sanity test with two testcases are
added.

To run the test, user need prepare a testing environment:
1) "expect" should be installed on system
2) NOPASSWD should be set for user to run bitbake

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-07-15 12:48:25 +01:00
Richard Purdie 3b154ffbb6 crosssdk.bbclass: Ensure target layout variables are set correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:14:27 +01:00
Joshua Lock 04472ecf9d insane.bbclass: move license check to after configure
Only checking the license at packaging time means we don't check native builds,
so move the check to after do_configure

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-15 09:54:48 +01:00
Richard Purdie abf39a181a sanity.bbclass: Fix SDKMACHINE sanity check. We need to check the SDK_ARCH variable, not SDKMACHINE directly.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 12:54:44 +01:00
Nitin A Kamble f516cfcac0 siteinfo.bbclass: add mips-common to mips targets
siteinfo_get_files() was broken for mips. It was missing the mips-common
site config file for all the mips targets. Fixed it by adding it.

This will also fix building of flex recipe on mips.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Kevin Tian 90ceeff258 utility-tasks.bbclass: add automatic version check for GIT/SVN proto
both git/svn supports remote information query: 'git ls-remote', and
'svn info'. With them, now upstream version will be automatically
checked for git/svn packages.

In the meantime, manual latest version tagged in distro tracking
fields are also compared as one alternative if upstream check fails.
Also such check is one indicator whether tracking field is missing.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:08:19 -07:00
Richard Purdie fae8d5e985 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-08 23:51:06 +01:00
Joshua Lock 4e3cb2adf5 Merge branch 'tk/master' 2010-07-08 12:45:02 +01:00
Richard Purdie b44d32ef41 insane.bbclass: Portions of code were not running, fix this and sync with OE.dev. Also add tests for bad sysroot rpaths in binaries
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-08 10:24:15 +01:00
Richard Purdie 4d4b7922b1 package_*.bbclass: Only set pkg in overrides. These are the only values we're interested in expanding and this makes sure we obtain the expected data
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-07 12:53:46 +01:00
Richard Purdie 1497af07fa Revert "classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when packaging"
This reverts commit 3abe7a0624 which was incorrect
in some assumptions about OVERRIDE handling order.
2010-07-07 12:15:11 +01:00
Richard Purdie 061df5abaf meta-toolchain: Improve layout
* Switch from /usr/local/poky to /opt/poky
* Use a sysroots directory for both the "native" sdk binaries and the target
* Drop the meta-toolchain extras packages. These are replaced with packaged-staging.
* Change the nativesdk layout to match our usual filesystem layout
* Clean up various hardcoded prefix references

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 14:35:08 +01:00
Richard Purdie 4e0ee648b4 image.bbclass: Don't perform mapping renaming until we're running the task itself.
Need to extend bitbake to provide this information rather than refer to a bitbake
internal variable.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 14:34:14 +01:00
Kevin Tian e0a1238b22 siteinfo.bbclass: remove duplicated 'common' appendent
'common' site file is already appended in get_siteinfo_list. No need
for another duplication later

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 17:28:00 +08:00
Richard Purdie 968d00de15 package_deb.bbclass: Fix packaging functions to use versioned dependency package functions correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 00:06:50 +01:00
Joshua Lock 3abe7a0624 classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when packaging
The OVERRIDES variable was being incorrectly set with the end result of the
runtime dependencies of the package not being encoded in it's package metadata.

This broke opkg-native in meta-toolchain.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-01 16:14:21 +01:00
Kevin Tian 4057e1a811 insane.bbclass: allow reporting all md5 mismatch warnings
instead of exiting when once one md5 mismatch is seen. This would be
helpful to save time on filling md5sum for multiple license check
files.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 13:19:05 +01:00
Richard Purdie 99d883f81a classes/package_ipk|_deb.bbclass: Make sure versions correctly make it into output packages
The version information part of package dependency strings was not ending up
in the output packages correctly. This patch fixes this and ensures the version
information isn't lost.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-30 09:48:59 +01:00
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