Commit Graph

1077 Commits

Author SHA1 Message Date
Richard Purdie 2d9cc7ec31 kernel.bbclass: Add fix from OE.dev for tmpnam() usage
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-01 12:27:20 +00:00
Lianhao Lu 5b7e96d852 image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().
Move function rootfs_xx_log_check() from rootfs_xx.bbclass to relevant
package_xx.bbclass. (Where xx is rpm/ipk/deb).

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-31 16:58:15 +00:00
Richard Purdie eed008baf2 package.bbclass: Disable EXPORT_FUNCTIONS for do_package
As discovered by Lianhao Lu and Kevin Tian:
"""
do_package checksum changes with switching the order In PACKAGE_CLASSES, e.g:

From
PACKAGE_CLASSES = "package_rpm package_ipk"
To
PACKAGE_CLASSES = "package_ipk package_rpm"

This is undesired since the order only matters for final rootfs generation. The actual
cause is related to how do_package is generated, which depends on when
package.bbclass is first brought in.
"""

Since we never need the EXPORT_FUNCTIONS funcationality for do_package we just drop
it which removes this problem and stablisised checksums.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:22:14 +00:00
Kevin Tian eb879e2ef8 license.bbclass: don't mark it as 'nostamp'
'nostamp' is normally used for some standalone tasks like clean, checkuri, etc.
It doesn't make sense to mark do_populate_lic as 'nostamp', which is depended
by do_package. No stamp file in the build dependency chain implicates that
do_package needs to be reinvoked and thus further do_package_write* stuff.

This together with another sstate bug fully confused recent master, that people
keep observing unnecessary do_package rebuilt with or without change. Below is
a short explanation for two behaviors we observed:

a) a fresh build, and then bitbake same target w/o any change. User will observe
one unnecessary rebuild and then later rebuild is fine:
    [1st rebuild]
    * do_populate_lic has no stamp, and thus do_package is thought not current
    * do_package_setscene is then invoked with stamp file created
    * then later do_package_write*** also are rebuilt
    [2nd and later rebuild]
    * do_populate_lic has no stamp, and thus do_package is thought not current
    * do_package_setscene has stamp file and thus no need to re-execute setscene
    * thus no further rebuild required

b) a fresh build, and then adjust order of PACKAGE_CLASSES. There's one bug
regarding to PACKAGE_CLASSES and do_package_setscene, that only switch the
order in PACKAGE_CLASSES generates different checksum. In this case user may
observe up to 3 rebuilds when switching package_rpm/package_ipk back and forth.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-31 16:21:48 +00:00
Joshua Lock 92f1b4976b license.bbclass: handle | (or) in the LICENSE field
The class strips out operators from the LICENSE field and to reduce it to a
list of license, | was missing but is quite frequently used so add it to the
list of replaced characters.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-31 11:11:30 +00:00
Mark Hatle 612d59f7d1 package_rpm: Fix package-split summary
The package-split summaries were being pulled in from the main package, not
the split package metadata.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-30 12:09:53 -08:00
Qing He e67698743e creating the rpmrepo metadata
This includes two method for build rpm repo:
  1. create the metadata in rootfs_rpm
  2. standalone binary for building the metadata

Not both of them are needed, generally #2 fits more for the purpose,
but #1 may have its use on rootfs creation using zypper.

Both share some problems and are subjected for future improvement:
  1. the createrepo now builds metadata for the whole directory,
     if there are more than one arch, it builds for all, which means
     rootfs_rpm may run longer if more builds have been run.
  2. createrepo builds metadata for stale rpms

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Richard Purdie 74cffe7a91 poky-image.bbclass: If not including package management, ensure the basics to handle postinstalls in images are present
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 18:00:28 +00:00
Richard Purdie be4ad69f4a rootfs_rpm: Drop bogus inclusion of the run-postinsts package
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:57:23 +00:00
Mark Hatle e7fb63bf6b rootfs_rpm: Setup the platform configuration
The RPM platform configuration file lists all of the supported architectures,
while RPM itself doesn't use this information, other tools may use it to
determine compatibility.  The first item is the default architecture for a
system, while the following items specify alternative compatible architectures.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:56 +00:00
Mark Hatle f6ddba2a9d rpm: Uprev to RPM 5.4.0
Update RPM to the latest release, RPM 5.4.0.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:55 +00:00
Lianhao Lu e8dfc44a0c cross-canadian.bbclass: Correct deb package arch.
Set DPKG_ARCH to make debian package to be generated with correct
architecture.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-28 17:00:59 +00:00
Beth Flanagan 4bda50f289 Initial commit of license reporting:
This is an intial commit for the license reporting system. A few notes:
The LICENSE fields needs to be standardized throughout poky. As it
stands, we throw a warning if the license file is not found (either
because it does not exist or because LICENSE_FILE_CHKSUM is munged)
in the generic license directory. This should eventually become an
error.

I've seen a few places where Apache-v2.0 is written differently and
I'm sure this will throw the above warning. This does not put the
license data on the rootfs. Also, I provide both the actual license
text and a link to the best guess of the generic_license. That guessing
is not very robust and I'm loath to get into a bunch of pattern matching
rather than standardize LICENSE.

This adds one new param to poky.conf and one new to license.bbclass:

LICENSE_DIR: the base directory we copy all the license results to (set
in license.bbclass)
COMMON_LICENSE_DIR: this is the directory that holds all the common
generic license files. currently meta/files/common-licenses (set in
poky.conf)

TODO:
- We should verify the common-licenses. I stripped these from my Ubuntu
  10.10 system.
- We should allow the capability of licenses on the rootfs, although the
  resulting image created would be a lot larger.
- More common-licenses. I don't include bzip, zlib, ICS.... I should,
  but that means tracking down a lot of licenses.
- General cleanup of licensing and standardization of names. We should
  standardize on a naming convention. What's in licenses.conf should
  match up with what is in the recipes which should match with what is
  in common-licenses. Outside the scope of this though. See:
  http://bugzilla.pokylinux.org/show_bug.cgi?id=650
2011-01-28 16:49:13 +00:00
Richard Purdie 8cae183a22 staging.bbclass: Only clean out the sysroot if we rerun configure, not at setscene time
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:28:19 +00:00
Richard Purdie c7ad2dada7 sstate: Ensure stale stamp files are removed as part of sstate_clean()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:28:06 +00:00
Richard Purdie 754047b6ec sstate.bbclass: Fix stupid typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 23:26:10 +00:00
Richard Purdie 021cf7dabf sstate.bbclass: No need to dump the contents of the sstate package to stdout
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 22:38:11 +00:00
Richard Purdie bb7a42ee4e sstate.bbclass: Handle whitespace in the list of files to 'fixup' to resolve log warning
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 22:34:52 +00:00
Richard Purdie 8a6e8623b4 sstate.bbclass: Optimise to check if the manifest exists without taking locks
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 20:52:33 +00:00
Richard Purdie e8e9f56057 rm_work.bbclass: Update to convert stamps to setscene stamps
We need to manipulate the stamps when removing WORKDIR to indicte that
tasks like compile or install can't just rerun. The most effective method
to do this is to convert the layout to match that which would have been the
case had the system been build from sstate packages.

For example, we'd task stamps like:

xxx-1.4.7-r3.do_compile
xxx-1.4.7-r3.do_configure
xxx-1.4.7-r3.do_fetch
xxx-1.4.7-r3.do_generate_toolchain_file
xxx-1.4.7-r3.do_install
xxx-1.4.7-r3.do_package.emenlow
xxx-1.4.7-r3.do_package_write
xxx-1.4.7-r3.do_package_write_ipk
xxx-1.4.7-r3.do_package_write_rpm
xxx-1.4.7-r3.do_patch
xxx-1.4.7-r3.do_populate_sysroot.emenlow
xxx-1.4.7-r3.do_setscene
xxx-1.4.7-r3.do_unpack

and after rm_work, we'd have stamps of:

xxx-1.4.7-r3.do_package_setscene.emenlow
xxx-1.4.7-r3.do_package_write_ipk_setscene
xxx-1.4.7-r3.do_package_write_rpm_setscene
xxx-1.4.7-r3.do_populate_sysroot_setscene.emenlow

We also need to handle stamps in the form xxx-1.4.7-r3.do_package.MACHINE.TASKHASH
as used by some signature generators.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Richard Purdie 7476df3fa2 autotools.bbclass: Drop unused autotools_stage_dir dummy function
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Richard Purdie 35d44a438d autotools.bbclass: Only include aclocal directories if the exist, no point in creating them
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Richard Purdie 6a0abfa82d crosssdk: Drop PACKAGES setting as its set in cross.bbclass already
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:06:52 +00:00
Richard Purdie 4c55d2bd04 sstate.bbclass: Correctly handle empty sstate packages
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:02:30 +00:00
Richard Purdie 82745e4f32 cross.bbclass: Move sysroot_stage_all function to the only place that uses it now (gcc-cross-intermediate)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie 70301cc433 staging.bbclass: No need to create these directories any more, also remove invalid comment
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie 222796ed93 sanity/sstate: Due to the sysroot layout changes, the toolchain bootstrap process changes and the recent pseudo bug, bump the tmpdir layout version number and the sstate version numbers
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:32:50 +00:00
Yu Ke e2ac26e7b1 base/sstate.bbclass: Rename fetcher "go" method to "download" when using fetch v2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke 8615b0e282 base.bbclass: use bb.fetch2 unpack API
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Dongxiao Xu 7f41f1a888 bitbake: machine specific sysroots implementation
This commit changes the sysroots path to be machine specific.

Changes includes:

1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific
paths.

2) task stamp files. Adding ${MACHINE} info into stamp files for
do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST
to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged.

3) siteconfig path. Separate the site config path for different machines
to avoid one machine adopting the cache file of another machine.

4) sstate. Add machine name to sstate manifest file.
Change relocation code for sstate paths since sysroot is machine.
Keep native, nativesdk, crosssdk, and cross-canadian unchanged.

5) toolchain scripts. Change the environment path to point to machine
specific sysroots in toolchain scripts bbclass.

6) Relocate la files when populating to a different machine of the same
architecture.

7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate
siginfo since they contain ${MACHINE} information.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-25 12:25:46 +00:00
Richard Purdie c0e1272d15 gcc/libc: Change bootstrap to use an intermediate sysroot and hence no longer overwrite files
Based upon patches from Dexuan Cui <dexuan.cui@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:25:45 +00:00
Dexuan Cui 46395d4856 sstate.bbclass: allow each step of toolchain bootstrap processes to do populate_sysroot independently
Some steps (like gcc-cross-initial, gcc-cross-intermediate and eglibc-initial)
will install to new locations to avoid file overwriting.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:17 +00:00
Dexuan Cui 7109712a25 cross.bbclass: make MULTIMACH_TARGET_SYS adjustable for bindir, libdir, libexecdir
This will be used by gcc-cross-initial and gcc-cross-intermediate.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:17 +00:00
Bruce Ashfield 97cb3124ec linux-yocto: allow multiple BSPs per branch
By default the linux-yocto recipes operate on the current branch
and use it as a trigger to locate the description of a board. This
model works well when using the git repo outside of a build system
since the commands can be simply invoked and will do something
useful. However, it does mean that you can't have two BSPs that
differ only by configuration, building out of a single branch
in the repository.

This means that you must have many branches for very similar
BSPs. This model is still preferred, but having the choice of
branching strategies is better.

With this change we can have multiple BSPs using a single branch
with the preferred description being hinted from the build
system by passing the $machine value to updateme/configme.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:42:55 -08:00
Saul Wold e144427cb9 update-rc.d.bbclass: Changed RDEPENDS for native
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-24 14:09:14 -08:00
Richard Purdie 070b7ee367 package_deb: Remove access to the D directory which isn't used and might not exist (same problem as the previous patch to package_ipk fixes)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 16:47:01 +00:00
Dongxiao Xu 9e7eb5955a package_ipk: Do not depend on the existence of "D" to create ipk package
If build from sstate results, the ${D} will not be installed. In this
case the creation of ipk package will be skipped, which will cause
the build failure.

Fix the issue by removing the judgement of ${D} existence.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-21 16:44:09 +00:00
Dongxiao Xu bc9d2fbfd4 staging: Use relative path in sysroot-destdir for target recipes
Original we used absolute path in sysroot-destdir for both native and
target recipes. This commit changes target recipes to use relative path
which is same as the image directory.

[sgw: merged with libtool sysroot work]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-21 11:18:37 +00:00
Scott Garman 6656381714 insane.bbclass: skip checks on .la installed status
Enabling libtool sysroot support triggers these errors but they
are a valid change in behavior.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman 14770205c1 staging.bbclass, utils.bbclass: remove la mangling code
libtool v2.4 --with-libtool-sysroot eliminates the need for
la mangling.

Based on Khem Raj's OE commits.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman 1a7509d673 autotools.bbclass: libtool sysroot support changes
We do not do it for native recipes, as the native compiler should
fall back to a prefix of /usr and not solely depend on the sysroot.
Otherwise we end up staging everything in the native sysroot before
we start to build target recipes.

Also remove la mangling code, which is no longer necessary.

Commit derived from Khem Raj's OE commits.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Saul Wold 7d9a8fc931 distrodata.bbclass: add .xz file type
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 16:56:04 -08:00
Jingdong Lu 811a9f7a33 qt4: Enable accessibility and sm option for LSB.
LSB library checks will look for some symbols of qt4 libraries. Enable "accessibility" and "sm" in order to pass the LSB test.

Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:01 +00:00
Koen Kooi 6f31e13e81 distutils(-common-base) bbclass: sync with OE
When using python recipes imported from OE (e.g. python-cheetah) parsing only succeeds when python has already been built due to the PYTHON_DIR references.

This commit syncs the classes with OE to make it work, but keeps the *.pyo removal from yocto.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Koen Kooi 943f80f2aa python-dir bbclass: import from OE
This will be used later on when updating the distutils classes

A small deviation from OE is the use of PYTHON_BASEVERSION instead of non-deterministic python code. See https://lists.yoctoproject.org/pipermail/poky/2011-January/002320.html for some background info

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Koen Kooi 7cb39ad37f setuptools bbclass: import from OE
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Jessica Zhang fe9f7162f9 sanity.bbclass: remove SDK_ARCH check
remove sanity check for SDK_ARCH=i686 due to recent fixes in cross toolchain areas, etc. the old issue no longer exists

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-01-20 21:36:59 +00:00
Paul Eggleton 297f2a7afc base.bbclass: fix parse error on recipes with '++' in their name
Fixes "multiple repeat" or "nothing to repeat" errors when parsing recipes
with '++' in the file name.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:59 +00:00
Mark Hatle 4de544015b sanity.bbclass: Disable TERMCMD checking with noop patching
If PATCHRESOLVE is set to "noop", then it isn't supposed to try and
resolve patches at all, and thus does not need TERMCMD. Therefore,
make sure Poky doesn't check for (and possibly fail at finding)
TERMCMD if it isn't needed in the first place.

Signed-off-by: Derek Buitenhuis <dbuitenh@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-20 21:36:58 +00:00
Jiajun Xu 3e052919c9 qemuimagetest: Use same image during sanity testing instead of copying a new image for each case
To reduce the time on sanity testing, we remove variable SHARE_IMAGE and use
a new variable TEST_SERIALIZE in local.conf. It is by default set to 1. Poky
will copy and boot the to-be tested image for only once. It will not remove
or kill the image and test cases will be serialized executed against the same
image. If it is set to 0, image is always be copied for each cases, which takes
much time. I had a experiment that latest qemuppc sato only takes 7 minutes to
finish 9 sanity test cases, which takes more than 20 minutes before.

I also removed sanity case "boot" from sato/sdk/lsb because the other cases for
these targets already cover the check point of "boot".

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-20 21:36:57 +00:00