A new default SUMMARY and DESCRIPTION was defined for any package that
previously did not contain one. This value is based on the original
SUMMARY_${PN} value.
The new default SUMMARY and DESCRIPTION is used as a basis for all of
the automatic summary and descriptions for the various package splits,
include ${PN}, ${PN}-dbg, ${PN}-dev, ${PN}-doc, and locales.
A recipe may also override any of the automatic summaries by simply
specifying the value.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Fixes [BUGID #692]
Previously the information dumped by the kernel configuration audit
scripts was only placed in log files. This isn't as useful as it
could be, since they are rarely checked. This change takes the
output from kconf_check and explicitly displays it to the user.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Imporve some regular expression when checking recipes' upstream version, reduce the number of invalid recipes' upstream version and imporve the precision
Generate some data for package report system.
Signed-off-by: Mei Lei<lei.mei@intel.com>
Move the populate_sdk task out of meta-toolchain. Made it more generic
to support rpm/deb package format.
This commit is dependant on a series of commit:
2ea0406e4516fc59dff86cb4adc35c82cb774c2f
7ffa45b7cfea24dae1b51f40cfc807bf78b21b66
bf201a74c243942af3fcae6f174496bdd819dbc0
3d29933f2925efe8a84f10efdf50396031c33ae4
3d29933f2925efe8a84f10efdf50396031c33ae4
9c724dbf57e610a9e06bbdce38383dee3ac49281
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
package_deb.bbclass:
1. Modified package_update_index_rpm() and package_generate_rpm_conf()
to generate sperate depsolver db and rpm configuration, for target
packages and host packages respectively.
2. Added new function package_install_internal_rpm() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.
3. Added new function resolve_package_rpm() to resolve package names to
filepaths.
rootfs_deb.bbclass:
Used the above new functions to install the rootfs.
[sgw: merged changes for createrepo]
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
package_ipk.bbclass:
Added new function package_install_internal_ipk() to install a list of
ipk packages to a specified root directory, with the specified package
architecutre information.
rootfs_ipk.bbclass:
Used the above new functions to install rootfs.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
package_deb.bbclass:
1. Added new function package_update_index_deb() to generate package
index files.
2. Added new function package_install_internal_deb() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.
rootfs_deb.bbclass:
Used the above new functions to install the rootfs.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Setting this flag disables the normal additions to RRECOMMENDS for a package
(useful when splitting dev / dbg packages).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Changes from the meta-openembedded version:
* Change the order of includes so that embedded takes precedence (ensuring
SRC_URI additions from qt-embedded.inc work)
* Specify -embedded in qt-embedded.inc
* Remove SRC_URI and S which should come from qt-${PV}.inc
* Remove QT_DIR_NAME and QT_LIBINFIX as these come from qt4e.bbclass
* Correct LICENSE
* Set DESCRIPTION instead of SUMMARY as SUMMARY will inherit by default
* Add qthelp-lib-qtclucene.patch (required to build)
* Whitespace fixes
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Differences from meta-openembedded version:
* SRC_URI and S now come from qt-${PV}.inc since these are version specific
* Source checksums are also now in qt-${PV}.inc
* Remove do_compile as this is handled in qt-${PV}.inc
* Move contents of do_install_append from qt-${PV}.inc to do_install in
qt4.inc as this is the same for 4.6.3 and 4.7.1 and will get in the way of
do_install_append in qt-embedded.inc.
* Don't enable PostgreSQL, MySQL or SQLite 2.x plugins as we don't currently
have recipes for these DBMSs in Poky. These can be re-enabled easily when
or if we do.
* Use INC_PR in qt4-x11-free_4.6.3.bb
* Don't always specify -embedded config option in qt4.inc
* Don't add qte.sh to SRC_URI in qt-4.6.3.inc (this is embedded-specific)
Differences from what we have currently in Poky (plus the above):
* Set DESCRIPTION based on embedded/X11
* Move out arch-specific settings to qt4-arch.inc
* Add qt4x11.bbclass which can be inherited by application recipes to select
the X11 version (this makes more sense once the embedded version is added).
* Update HOMEPAGE
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
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>
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>
'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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Updating gtk+ to 2.23.2 requires gdk-pixbuf, which is originaly a module in gtk+.
Borrow hardcoded_libtool.patch from original gtk+, and add configure_fix.patch
to fix build failure in cross-compile environment.
As gdk-pixbuf is a stand-alone package now, gdk-pixbuf-csource-native can be
safely removed. So extend gdk-pixbuf with native support, and make related
packages depend on it.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
The previous implementation of invalid commit ID checks would
error early when a bad object was detected. Rather than changing
to set +e for the entire routine, we'll capture the output and
do an explicit check for a bad object and throw a useful error
message when it is detected.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
By setting BOOTSTRAP to the branch that should be used for a
currently undefined BSP a build can be completed and an
environment for streamlining the BSP created.
With the appropriate machine.conf, and a defconfig any MACHINE
can be built against and inherit the configuration of the
standard yocto kernel.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Keep the la files in source directories unchanged,
and do relocation in destination directories (sysroot-destdir).
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
{e}glibc should install the scsi/*.h files, which are needed by hal.
Currently hal can build because eglibc-initial (which has its own do_install)
installs the files. In future eglibc will have its own sysroot, so hal
won't build.
BTW: in OE side, eglibc's do_install also doesn't remove the files.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Fixes [BUGID #595]
Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder
may suffer a timeout issue when running sanity test. We introduce variable
SHARE_IMAGE here to fix the issue. It is by default set to 1. Poky will copy
latest built-out image and keep using it in sanity testing. If it is set to 0,
latest built-out image will be copied and tested for each case, which will take
much time.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
This makes 'kernel-modules' installable again when perf isn't enabled in the kernel config
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We use host perl while building target perl modules. When some of the
prebuilt perl modules such as scalar::util are used in the build process
directly or indirectly, perl needs to load the arch specific .so library
file. If perl can not find the .so library files, then perl
tries to use the target pm files which ends up in circular perl module
depedancy causing build time perl invocation to fail.
Adding this new parameter viz EXTRA_PERLFLAGS to cpan.bbclass allows perl
module recipes to specify the location of such host .so files for hostperl,
so that build time invocation of perl does not fail.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
perl 5.12.2 does not use /usr/share/perl path, and all that stuff goes
in /usr/lib/perl. This commit fixes cpan class which depends on
/usr/share/perl.
cpan.base/build.bbclass: change /usr/lib/perl5 to /usr/lib/perl
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
configme used to be able to calculate the output/build directory
when branches were always <machine>-<kernel type>. Branch names
can now be widely different and to avoid embedding complexity
in the scripts it is easier to just pass ${B} from the build system
down to the scripts.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
During a poky-image-minimal build I ran into the following error:
rm: cannot remove `/vol/1/dvhart/poky.git/build/tmp/work/atom-pc-poky-linux/poky-image-minimal-initramfs-1.0-r0/rootfs/install': Is a directory
This is caused by a missing -r (recursive) argument to rm. This patch
adds that to the rm command of rootfs_rpm.bbclass.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
This patch intend to fix the random unpack failure of linux-libc-headers-yocto
and linux-yocto.
The root cause of the unpack failure is that: these two recpies has the same URL, thus
has the same dest file during the fetch and unpack phase:
do_fetch : create tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz
do_unpack : extract tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz
fetch phase is protected by lockfile, so it works fine. but unpack phase is not lock protected,
thus there is race condition like: when linux-yocto do_unpack is extracting the tar ball,
linux-libc-headers-yocto do_fetch starts to create tar ball thus overwrite linux-yocto's
tar ball and cause linux-yocto do_unpack failure
To fix this issue, do_unpack also need to be protected by lock
Signed-off-by: Yu Ke <ke.yu@intel.com>
previously you could only build one set of packages for multiple machines:
MACHINE=foo bitbake task-base
MACHINE=bar bitbake task-base
would only create task-base packages for foo, but not for both foo and bar.
Doing MACHINE=bar bitbake task-base -c cleanall would remove the packages for foo.
The solution is to use MULTIMACH_ARCH as suggested by Richard Purdie.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
This fixes various incorrect sysroot usages observed by people with sstate.
Thanks to Kevin Tian for figuring out where the problem was and Gary Thomas
for confirming the fix.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
BSPs are built from a particular branch of the kernel repository
which is specfied via the mapping of MACHINE to KMACHINE. Unless
a global branch is being forced (like libc headers), KMACHINE
is an override on a per machine basis.
Because KMACHINE is typically override we must first try the
most specific variant KMACHINE_<machine> and if that is undefined
look for a fallack default. This allows any combination of
variables to work (and at the time the anonymous python
executes) safely and get us a properly defined branch for the
fetcher and build.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The recent environment changes mean TOPDIR/BUILDDIR need to be exported
specifcially to the enviromnent so the qemu scripts can find the correct
build directory.
Without this, qemu can fail to run.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
There needs to be a space at the end of DEPENDS_prepend or otherwise it can
collide with the contents of DEPENDS. The OE version of this file has this.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
The existing 2.6.34 kernel tree uses _ where poky typically
uses -. This is a historical artifact, since working with
gnu Make and shells means avoiding - is wise. The opposite
is true in Yocto.
To avoid using the _ reserved character wherever possible
we can simply remove it from the branch names in the
new 2.6.37 kernel, but to keep the content stable in the
0.9 2.6.34 kernel, we map _ to - for the purposes of
packaging.
To further faciliate this switch, the branch names no
longer need to be shortened in the KMACHINE mappings, but
can be fully specified and the tools/processing adapt as
required. This gives us the flexibility to map multiple
boards to a single branch for building.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
environment files.
[BUGID #565] Fixing bug #565, added package of
meta-environment-${TARGET_ARCH} for environment files used by
cross-canadian toolchain.
Also corrected the situation of empty config site file for target.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
This fixes the cleanall task to actually delete the sstage cache files. This
was not working correctly before due to attempting to use the current task's
hash in the package file name to be deleted, which of course is the hash of
the cleanall task when doing cleanall. The siginfo files are now deleted as
well.
Signed-off-by: Paul Eggleton <paul.eggleton@intel.com>
Detect and fail if filesystem in use for TMPDIR or SSTATE_DIR has an
unreasonably short file name length limit (eg. eCryptFS). This can cause
"file name too long" errors during poky builds (e.g. when writing sstate
files for packages with a git revision as the version).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Add a mechanism to avoid running more invasive checks every time bitbake is
invoked. Adds a file in conf/ (i.e. under user's build directory) that
tracks a new variable SANITY_VERSION (set in sanity.conf) as well as TMPDIR
and SSTATE_DIR, allowing checks to be run when these are changed.
Fixes [BUGID #562]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Exclude the DATETIME variable from the KERNEL_IMAGE_BASE_NAME variable.
This avoids the last road block linux-yocto for sstate.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [BUGID: 594]
In imagetest-qemu.bbclass, we depend on DISPLAY to start qemu in
a X desktop. When user wants to run qemu sanity test, we need to
check if the variable is set.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
An investigation into undocumented variables uncovered a mispelled
instance of PARALLEL_MAKE in image-swab.bbclass.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
In order to extend and create more kernel recipes based on the
supported yocto kernel common routines need to be placed in
re-usable blocks.
To accomplish this meta/recipes-kernel/linux/linux-yocto_git.bb
is broken into three parts:
- meta/classes/kernel-yocto.bbclass: contains common routines
for checking out and configuring a yocto kernel git repository.
This should be inherited by recipes that need this functionality.
- meta/recipes-kernel/linux/linux-yocto.inc: Contains the machine
mappings, compatibility, build directives and common task
definitions for a yocto kernel based recipe. This inherits
kernel-yocto, and is the typical point of entry for other recipes.
- meta/recipes-kernel/linux/linuux-tools.inc: tasks and function definitions
for kernel recipes that want to build/export perf
It also updates the linux-yocto recipe to default to 2.6.37.
As part of the update to 2.6.37 the branch naming and conventions
have been modified to show inheritance, and be more generic.
For example:
master
meta
yocto/base
yocto/standard/arm_versatile_926ejs
yocto/standard/base
yocto/standard/beagleboard
yocto/standard/common_pc/atom-pc
yocto/standard/common_pc/base
yocto/standard/common_pc_64
yocto/standard/fsl-mpc8315e-rdb
yocto/standard/intel_atom_z530
yocto/standard/intel_core_qm57_pch
yocto/standard/mti_malta32_be
yocto/standard/preempt_rt/base
yocto/standard/preempt_rt/common_pc
yocto/standard/preempt_rt/common_pc_64
yocto/standard/preempt_rt/intel_atom_z530
yocto/standard/preempt_rt/intel_core_qm57_pch
yocto/standard/qemu_ppc32
yocto/standard/routerstationpro
In this structure:
master: tracks the mainline kernel
meta: meta information for the BSPs and kernel features
yocto/base: baseline kernel branch
yocto/standard/base: 'standard' kernel, contains features
and configs for all BSPs
yocto/standard/<machine>: represents a BSP with specific
features or configurations
The tools, tree and libc-headers have all been updated to
deal with this new structure. Also in addition to dealing with
the new structure, they continue to work with the existing
tree and will adapt at runtime to the differences.
The linux-yocto-stable_git.bb recipe continues to build the
2.6.34 based tree,and linux-yocto_git.bb builds 2.6.37. As
boards are enabled for the new kernel they will move from
-stable to the development kernel. As of now, only the
emulated targets have moved to 2.6.37-rcX
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Becaues of the error library path definition in cpan-base.class, libxml-parser-perl package is empty.
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
This patch massively simplifies the canadian packaging and allows
multiple toolchain targets to be parallel installed into the same
nativesdk sysroot without package name conflits. Since we now do
this, we can simplify cross-canadian to become more like nativesdk.
This is a first pass over this task, similar changes would be
desireable to cross and the whole MULTIMACH_ARCH mess can then
probably be similified much further.
Signed-off-by: Richgard Purdie <rpurdie@linux.intel.com>
Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH for
cross-canadian packages. This is due to the TARGET_ARCH of x86_64
would results incorrect packaging in cross-canadian packages.
The pacakge name appendix of x86_64 target in cross-canadian
packages is x86-64.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
One bitbake invocation can cause multiple images to be generated. We should test
each one and we cna do this by running after the rootfs task. Running the tests
standlone is also still possible with a new separate standlone task.
Acked-by: Scott Garman <scott.a.garman@intel.com>
Acked-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
We default to gnome-terminal for TERMCMD (and TERMRUNCMD) so should check that
this program actually exists during sanity checking.
As a corollary document how to change these variables in the local.conf
Signed-off-by: Joshua Lock <josh@linux.intel.com>
OEROOT isn't used outside the init script so stop exporting it into the environment
where it can "corrupt" sstate packages.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Most of the d.keys() used in file parsing are variables in
distro_tracking_fields.inc, which are not used in normal build.
Therefore remove the inclusion of distro_tracking_fields.inc from
poky.conf. Besides, move distro related tasks to distrodata.bbclass,
which includes that tracking field file.
By this change, the file parsing time could save about 25%.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Or else absolute paths may be expanded which then breaks sstate signature
comparison.
I'm not sure whether pre/post funcs can be expanded or not. They are
invoked at image build or on the target, and thus need be expanded some
place. But if one recipe does use directories under TMP in its postinst
helpers, this would be an issue again.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Remove the temp sstate-build-* directoies.
Take poky-image-minimal as an example, this saves about 17% disk space.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
scp test is to check if file copying via network work or not in target.
shutdown test is to check if target can be poweroff with qemu process off.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
Timestamp is kept in UTC
Remove superfluous 'create_etc_timestamp()' function
- seems to be a duplicate of 'rootfs_update_timestamp()'
Remove External function reference
[sgw@linux.intel.com: merged 2 patches and cleanup commit message]
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
The custom uImage produced by the kernel classes by default
does not universally boot and working with existing uboot
configurations and setups.
This changes the preference to the uImage constructed by
the kbuild processes and falls back to the other techniques
if uImage is requested by the kernel does not produce one.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Add a test case for error log check with command dmesg in target. The
case introduces a new folder in target, "/opt/test", which holds test
scripts running in target.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
package sstate requires a lock under sysroots/, which however may not be
created when sstate_setscene functions are executed and then causes failures.
here we make sure 'sysroots' created before do_package_setscene is executed.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
The fetcher has special handling for file:// mirror urls, being efficient and
just providing an updated path. Unfortunately the sstate fetching code wasn't
able to handle this. This patch detects this and injects a symlink to ensure
everything works. It also fixes some datastore references to be correct and
ensures the sstate download directory exists if it doesn't already.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
If sstate was used to accelerate a build, the pseudo directory might not have
been created leading to subsequent task failures.
Also, sstate packages were not being installed under pseudo context meaning
file permissions could have been lost.
Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures
exists before running tasks and running the appropriate setscene tasks under
fakeroot context.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
If a sstate package exists for the package task but not for the rpm packaging
task, the output from the package task will be used. The directory pointed
to by dvar will not exist under this scenario.
Since the directory is never used by the packaging process remove the
check, substituting the pkgd variable which is always present and used.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
The message "WARNING: Function do_build doesn't exist" doesn't look professional,
so fix the underlying problem even if this warning is harmless.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
When installing a sstate package, directories tracked by plaindirs were being installed
to the incorrect location. With the current implementation this was limited to
the do_package task.
This patch ensures plaindirs tracked files are created in the correct location, fixing
the bug where these files would go missing.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This change didn't work as expected as ld.so.cache doesn't preseve any search
path ordering, therefore revert the change.
This reverts commit b2c3ce6d17.
Fix the library search path so that libs in the toolchain in /opt/
have priority over those in base system but ones from the base system
can still be found.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This class needs to wipe out the contents of the pseudo database but also
ensure the pseudo directory exists for any subsequent tasks and also ensure
any pseudo server has shut down before removing the database. This patch
does all of these things.
[BUGID #222]
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
[BUGID #281]
Add the ability for the deb, ipk and rpm classes to use the new summary
and description fields. The Description is wrapped around 75 characters
to ensure a reasonably nice, presentable description.
(Summary defaults to the description if Summary is not defined.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This addresses [BUGID #410], require implict action by someone to enable
functionality that may have license implications.
By default this diables mp3 and mpeg decoding
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Along with qemu this provides another option to generate locales for
[e]glibc. The new method is to use cross-localedef with appropriate arch
specific parameters.
The cross-localedef method is found to be 15 times faster than qemu's
emnualted method.
LOCALE_GENERATION_WITH_CROSS-LOCALEDEF : This is new config variable
introduced to selet qemu or cross-localedef method for locale generation.
Thanks to Mark Hatle from Windriver for providing the rich
information for cross locale generation.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
[BUGID #376]
Update to the insane class to detect the new gcc and binutils poison
messages located within the config.log. (Continue to scan for the old
style message.)
Add a new compile and install log check to the package_qa that scans the
logs for the same types of messages "unsafe for cross-compilation".
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
[BUGID #379]
In a strange configuration, siteconfig could have already generated it's
directory, but decided it needs to regenerate the site config. The lack
of -p in the mkdir causes a failure.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
[BUGID #327]
RPM attempts to validate all of the directories on the system are
owned by a package. While the root "/" directory was not owned, so
in some cases an error could be thrown. Resolve this by informing
RPM that yes, "/" is in fact a directory on the system that was
properly constructed and is "owned".
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This reverts commit 138df217ef.
We still need the vm_mmap_min_addr set to 0 to run locale generation for
qemu-arm
Signed-off-by: Joshua Lock <josh@linux.intel.com>
The directory list in the manifest file needs to be sorted such that child
directories are deleted first. Fortunately as the list is generated by walking
the directory tree achieving this is as simple as reversing the directory list.
Fixes [BUGID #269]
Signed-off-by: Joshua Lock <josh@linux.intel.com>
With new batch ability, we can use below simple 2 lines for multiple alternatives
updates:
ALTERNATIVE_LINKS = "${bindir}/cmd1 {sbindir}/cmd2 ..."
ALTERNATIVE_PRIORITY = "100"
Then for each command "/path/cmd" listed in ALTERNATIVE_LINKS, below is done
automatically:
${D}/path/cmd is renamed to ${D}/path/cmd.{PN}
a new alternative named 'cmd' is created which:
links /path/cmd to /path/cmd.{PN} with priority specified in ALTERNATIVE_PRIORITY
This way the recipe with multiple alternatives could be simplified a lot. There
are still some cases where above assumptions may break, but I expect more recipes
should benefit from this simple enhancement
Fix [BUGID #257]
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Fix PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH to make them point
to the correct directory path.
This fixes [BUGID #340].
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
siteconfig: use SITECONFIG_SYSROOTCACHE and use sstate-interceptfuncs
Use the new sstate-interceptfuncs functionality to interpose do_siteconfig
between the sstate_install and package.
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Adds the ability to impose intercept function call(s) after
sstate_install and before sstate_package in sstate_task_postfunc.
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
This solution is what Mark Hatle recommended.
To disable pseudo, while already running, you need to set:
PSEUDO_RELOADED=YES, and then exec something...
This causes pseudo to disable itself from LD_PRELOAD, and thus fall
out of memory on the exec.
This Fixes [BUGID #226]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
The exit 0 in the workaround seems to have causes the filesystem creation
process to stop. Instead change it to an if that can never succeed.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This change allows the IMAGE_OVERHEAD_FACTOR (default to 1.2) to
adjust dynamicly how much space to add for each image, thus there
is 20% overhead space by default.
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
By defining the perf package in the shared kernel class bitbake will be able to
find the package provider even when the preferred kernel doesn't build perf,
preventing dependency resolution failures.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Export the location of the native sysroot for use in the scripts to
determine the location of native binaries.
Also add a POKY_DISTRO_VERSION to the external toolchain environment as a
method of determining if we're running under a build directory or not
i.e. not if the variable is empty
Signed-off-by: Joshua Lock <josh@linux.intel.com>
In order to resolve a host-contamination problem, we re-work the way that
autoconf and friends are invoked during the compilation of RPM.
This has a side effect of fixing another bug where RPM was being renamed
HOST_ARCH-HOST_OS-rpm. So we remove the "fixes" for that behavior as well.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
With the new checksum changes, the system is no longer able to determine
if the function resolve_package is used. So it doesn't get emitted. The
workaround resolves this by triggering an exit 0, followed by a bogus usage
of the function.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
siteinfo: Use configuration caches when available
Generate cached configuration data for autoconf for the package
based on a list of header, types, and functions to eliminate the
need for all subesequent package builds to do the actual tests
via the cross compiler and sysroot. The cache files are
stored in the sysroot in ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d.
Siteinfo appends any files it finds in that directory to the normal
CONFIG_SITE. All of the cache values set the variables only if not
already set so they may be overridden by any of the normal site files.
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Support installing all locales similarly to how it is done within the ipk
support. This has had basic testing, but it's not a normally used function
so there could still be some flaws.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Within RPM there is a field called "Suggests". This filed behaves like
"Recommends" does in ipk. So we write out the packages using the Suggests
field with the Poky 'Recommends' values... and then use the arbitrary tags to
capture the Poky 'Suggests' within a new "Recommends" tag.
Slightly confusing, but the end result is a functioning install.
Also some performance enhancements were add at the same time.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Enable debian style tags including suggests, enhances, recommends
Note, these are not yet used by the dependency resolver.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Optimize the creation of the solverdb by disabling fsyncs and
database caches that are not used when generating a solution.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Switch the per file dependency handing to passing the information to
rpm via the standard 'external' dependency scripting. This ensures that
the dependencies found by RPM exactly match the ones presented by
package.bbclass.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Other enhancements:
print qemu's stdio & error on failure
glibc: enable locale generation for all arches
eglibc: enable binary locale generation for mips
And cleanup of code based on the code review.
[e]glibc: move common definition in the common file
bitbake was complaining about duplicate definition of
get_libc_fpu_setting in eglibc.inc & glibc.inc
files.
And bump PRs
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
datetime checking is changed to be once per day
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
distro_check: fix for natives, cross, and initial recipe types
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
this fixes:
- toolchain detection error (e.g. ar and ranlib)
changes from openembedded:
- reformatting
- cmake modules search path
- use 'cat <<EOF' instead of echos for clarity
Signed-off-by: Qing He <qing.he@intel.com>
dir name in manifest is incorrect:
/media/disk/builds/master-arm/tmp/sysroots/usr/
/media/disk/builds/master-arm/tmp/sysroots/lib/
/media/disk/builds/master-arm/tmp/sysroots/include/
Also add one debug note when removing manifest entries
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
there's a bug in creating manifest_pattern, which means actually with
new sstate do_cleanup hasn't worked yet
We can use PSTAGE2_MANFILEPREFIX easily for this purpose.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
qmake2 bbclass is a class to make QT appplication. This commit update qmake2 bbclass for QT4. The code is from OE with minor cleanup.
Signed-off-by: Yu Ke <ke.yu@intel.com>
Just adding xz-native as DEPENDS in one bb file could not make its unpack run
after xz-native build done.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Different test cases are needed for different targets. A folder "scenario"
is created under scripts/qemuimage-tests to hold scenario files for different
targets.
Single case running is supported now. User can run single case together with
a whole test suite by setting variable TEST_SCEN in local.conf.
By default test cases in sanity suite will be ran. If you want to run other
test suite or specific test case(e.g. bat or boot test case under sanity suite),
list them like following.
TEST_SCEN = "sanity bat sanity:boot"
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>