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>
commit 1d0757f16b changes opkg run state from
/usr/lib/opkg to /var/lib/opkg, which however is incomplete and still many
important information is kept under old directory including postinst methods.
This makes latest boot into a mess.
So finalize this movement to /var here. Fix [BUGID #229]
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Using TARGET_ARCH as the pacakge architecture for sstate archives lead to some
issues when using two machines with different BASE_PACKAGE_ARCH's but the same
TARGET_ARCH such as netbook and qemux86 machines.
Probable fix for [BUGID #223]
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Until the pseudo code is fully integrated, we need to roll up the
per file dependencies into package dependencies for rpm.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Update package_rpm.bbclass to generate dep solver databases for each
package arch. Following the example of the deb and ipk integration
Revise the rootfs_rpm to solve the installation based on the multiple
dep solvers.
Note, recommends, locale and attemptonly pckages are still to be
implemented.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Use a single spec file to generate all of the split packages. This allows
us to ensure the RPM package source package meta data is correct, and also
speeds up the package generation process.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
The overall file list was being constructed with the wrong variable, it
should have had FLIST in the name.
Also it was possible to construct the system with some illegal variable
names. Names that would have include "[]". So translate these away...
Finally fix an issues where a filename with an _ could cause a package
variable conflict. Again translate this away..
Signed-off-by: Mark Hatle <mhatle@windriver.com>
The current packages shlibs processing is written to a local temporary file.
This file is not consulted when evaluting the provider of the dependency,
instead we need to cache the local values into the dictionary while we write
the temp file.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Using the rpmdeps commands, we enable the discovery of per-file dependencies.
These dependencies are generated for all packages, and may or may not be used
by any given packaging mechanism. Currently RPROVIDES and RDEPENDS are
generated in this process.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
All tasks which implement a do_deploy should inherit this class to have the
changes in the deploy task staged.
Update recipes which include a do_deploy function to inherit this class and
to use DEPLOYDIR rather than DEPLOY_DIR_IMAGE.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Add pre clean hook
Add sstate_installpkg
sstate: Tie all pieces together with a setscene function
Use pythonic functions rather than os.system()
Implement sstate_clean function
package_ipk: clean shared state in prestate
packaged-staging2: implement fetching packages from mirror
Copy add staging_fetch() from packaged-staging.bbclass
packaged-staging2: make the output slightly friendlier
packaged-staging2: handle directories in the shared state
Add directories to the manifest when installing and remove them if empty when
cleaning.
Move most of the sstate code into the class itself removing the need for heavy boilderplate
packaged-staging2: Programatically ensure directories are last in the manifest
packaged-staging2: add cleanall
packaged-staging2.bbclass: Connect in cleanall function to do_clean
We want to ensure that directories appear at the end of the manifest so that
when we test to see if they should be deleted any contents added by the task
will have been removed first.
pstage2: Use oe.path.copytree
packaged-staging2: support lockfiles and plaindirs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
So far unlike prerm/postrm, update-rc.d has its own postinst method prepended
to pkg_postinst, which may result "System startup links for xxx already exist"
warning in the 1st boot of target image. Some pkg_postinst requires to run on
the target, and thus prepend here makes update-rc.d method executed twice: one
in rootfs creation and the other in the 1st target boot. So adjust the order
to append.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
currently staging.bbclass mangle *.la to ensure sysroot prefix attached to
dependency_libs if other *.la is referenced, however it only happens on
${libdir}. libpam is special with its libraries under ${base_libdir}. So
this extends mangle to ${base_libdir} too
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Add the ability to specify user level classes via the local.conf.
Use this new capability to add an image-prelink class that does an
image wide cross-prelink activity.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Fix an issue where pseudo could try to compile incorrectly on an
x86_64 host system. Now it verifies that it should be trying to build
a 32-bit library, and if so the necessary prereqs are available.
Also uprev to the latest version of pseudo changes to enable wrapping
of execl, local variable storage and misc fixes.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Move the environment-setup script generation into a separate class and adapt
meta-toolchain to use it.
Add a new dummy target, meta-ide-support, to install an appropriately
configured script to TMPDIR and ensure all of the required packages for target
development are available.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Change the pseudo integration:
* Uprev to latest open source version
* Restructure the patches to allow for many local DBs, as well as
pseudo specific lib dirs.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Use the virtual fakeroot program when installing a package and also
during packaging. This is important as it allows us to track full
permissions, owners, groups and special files generated by packages.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Once ipk meet errors, the log will show "Collected errors:\n xxxx ".
so keyword "Collected errors" is more general to catch errors.
Signed-off-by: Yu Ke <ke.yu@intel.com>
Fix parse error with packages such as spectrum-fw whose name has no
version string. Later we may have per-recipe option to disable automatic
check for those known with troubles, to reduce complexity in this part.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
default cmake behavior for FIND_***, is to first search listed directories prefixed
with CMAKE_FIND_ROOT_PATH, and if not found then go to unprefixed directories. This
is not desired as build system may be referenced.
this commit refine the search path only on prefixed directories, and thus fix
libmusicbrains build failure on some systems
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Re implement the rootfs generation using rpm5. This also gets rid of the
need for yum, and handles all dep resolving internal to the script itself.
The new file scripts/rootfs_rpm-extract-postinst.awk comes from the original
yum integration work. It has been unchanged, but since yum is no longer used
we needed to move the script somewhere else.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Switch to RPM5 as our rpm provider of choice and update the recipe to the latest
stable release.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Modify the package_rpm.bbclass to understand the macro and command line changes
present in rpm5.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Enable changing the data directory on the fly from the environment and then use
this feature within poky to confine pseudo usage to each WORKDIR.
This fixes issues that could be seen under heavy inode reusage e.g.
with rm_work.
Work based mainly off a patch from Joshua Lock but finished by Richard
Purdie.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Per bpo#109 dependency failure during rootfs generation did not cause an error
despite that it would cause errors later on in the process. This patch updates
the key phrases searched for in the log checking function.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
this is one existing for stale reason when package's own Makefile doesn't
handle .pc correctly. After previous commits to remove unnecessary inheritage
on it (sqlite3, libpng), the only remaining is libgcrypt. Libgcrypt itself
doesn't ship a .pc and poky generates one. In this case, simply move the
manual installation to its own do_install.
Then it's safe to remove this class file
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Since scripts is now in PATH thanks to the layer functionality there is
no longer any need to have this recipe full of special cases, the scripts
can just be placed there.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This package changed from autoconf to cmake during the last recipe
upgrade. This made the existing EXTRA_OECONF, which disabled wekbit
support among other things, non-functional, which in turn, broke the
build.
This patch disables webkit in a CMAKE way by adding EXTRA_OECMAKE to
the cmake class description, and setting it to "-DWEBKIT=no" in the
libproxy recipe and also reproduces the EXTRA_OECONF settings.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>