Age | Commit message (Collapse) | Author | Files |
|
When building an image recipe, you can now build a companion SDK by
calling the populate_sdk task:
bitbake -c populate_sdk core-image-minimal
Note: there are still issues w/ the SDK not working completely with
multilibs.
A lock is required between rootfs and populate_sdk activities to prevent
configuration file clashes and similar package management problems in ipk
and deb based systems. (RPM already had a lock for a different reason.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Most of the time skipping per file dependency generation is a bad idea, but
when building a nativesdk or similar you may be required to pickup host
dependencies. These host dependencies can not always be reconciled within
the scope of other nativesdk components, so if we skip them we can facilitate
this unique situation.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
The libc-common attempts to rewrite the package information in a way similar
to debian.bbclass. When it does this, it should be appending to the
dependency variables (RPROVIDES, RREPLACES, and RCONFLICTS), instead
of simply setting a hard coded value. Otherwise the lib package can not
tailor the dependency variables to suite it's needs.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
When configure fails, it usually says "see config.log" yet nobody ever shares
the config.log file meaning the person trying to help invariably has to ask
for more information.
This patch dumps all the config.log files into the main bitbake log files when
configure fails, meaning all the information is present to help someone debug
such failures. It does make the log rather larger but this is preferable to
not having enough information in most cases.
[YOCTO #2463]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In order to enable basic multilib support for the export of an SDK
image, a number of minor changes had to be made:
The value of MULTIMACH_TARGET_SYS needs to be variable. This way we
can define the value to the appropriate multilib. (Also in some cases
the default PACKAGE_ARCH is set to MACHINE_ARCH which is incorrect for
the SDK.) Add a companion REAL_MULTIMACH_TARGET_SYS, based on code
from meta-environment, to allow for this.
We have to convert the do_populate_sdk into a python call, and then
break up the previous items into three parts.
* Image construction
* Setup of environment files
* Generation of the tarball
Then we can iterate over the multilibs to populate the environment files.
Finally, matching changes were needed in the toolchain-scripts file. And
what I presume is an optimization of immediate evaluation for
TOOLCHAIN_CONFIGSITE_NOCACHE and ..._SYSROOTCACHE needed to be done at
runtime, otherwise the wrong values may be used.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
If we combine the do_populate_sdk with the image generation, we want
to avoid the dependency processing unless do_populate_sdk is run.
This requires the bitbake change to implement task based rdepends.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
We want to be able to supply attempt only packages in the SDK in order to
support more advanced SDK images that more closely match specific image
recipes.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
populate_sdk was renamed to populate_sdk_base in order to allow for changes
that may break existing SDK recipes. Any such changes need an analog
in populate_sdk (new version) to restore previous desired behavior.
In addition to the rename, one minor change was made. The _base version
only had the do_populate_sdk as an added task, but no before or after defined.
For compatibility, populate_sdk has do_populate_sdk defined as "after"
do_install and before do_build, this is identical to the original behavior.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
When a recent change, the path to log files may be contained within an
arbitrary directory. To generate the manual log files in the correct path
we should be using the ${BB_LOGFILE}'s path instead of always assuming the
logs go into ${WORKDIR}/temp.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
PACKAGEVARS
These variables all take package name extensions and should be considered in sstate
dependency processing.
This may also fix some multilib alternatives issues (unconfirmed).
[YOCTO #2056]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If we don't do this it will match on expressions like "NOTE:" which
are not fatal errors.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
these are not strictly dependencies of the do_rootfs task. This patch
moves them to the do_build task allowing bitbake a little more flexibility
about when things need to get built by.
I noticed this when qemu-native failed to build and a rootfs was not generated
which is not the intended behaviour.
Also update the syntax to use appendVarFlag instead of get/setVarFlag
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The autogen-native built error on FC17:
ccache: failed to create /dev/null/.ccache
This is because the default gcc command of FC17 is a symlink to ccache,
so the ccache will always be used regardless to the setting of CCACHE,
ccache uses $HOME/.ccache as the CACHE_DIR by default, but autogen set
HOME=/dev/null, so the error happens.
Disable ccache explicitly if it is not enabled would fix the problem,
otherwise it would always use ccache regardless to the setting of CCACHE
on Fedora 17.
The ccache 3.1.7 has a bug, it would always create $CCCHE_DIR/.ccache
even CCACHE_DISABLE=1.
Unset CCACHE_DISABLE in ccache.bbclass, since ccache only checks whether
there is a CCACHE_DISABLE in the environment or not, it doesn't care about
its value, so we need unset it explicitly when enable ccache.
[YOCTO #2554]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
This function can miss packages whose license is in
"COPYLEFT_LICENSE_EXCLUDE" and tarball packages with license in
"COPYLEFT_LICENSE_INCLUDE".
[YOCTO #2473]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
|
|
Previously this was installing schemas in the sysroot, which is wrong for native
packages as nothing should touch the sysroot directly, and even more wrong for
non-native packages as the sysroot is irrelevant.
So, export the environment variable that stops the registration happening at
install time. The postinst script will handle the non-native case, and for the
sysroot I've opened #2648. This isn't a massive problem as nothing to my
knowledge actually installs schemas to the sysroot.
[YOCTO #2245]
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This was needed since it was after the sysroots and thus in some cases
the native sysroot chown was being found and used instead of the script
provided by native-intercept/chown. This was noticed by the non-gplv3
build since it's coreutils depends on coreutils-native.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Updating the kern-tools SRCREV to pickup the following functionality:
- buildall: provides the ability to build all kernel branches
without a build system, only a cross compiler and configme
are required.
- robustness/cleanups: obselete/unused code removal and general robustness
fixes from Paul Gortmaker and Bruce Ashfield
The following kern-tools commits are part of this series:
b8dfd3d buildall: add whitelist/blacklist support
0ef039c configme: catch errors found during fragment sanitization
5b6498c buildall: remove all instances of it using/reading scc files
2e57550 buildall: support semi seamless restarts
4b5dd4d kconf_check: simplify cmdline args, dont store data per branch
58fbb6e configme: relieve it of all knowledge of scc files
a03e291 configme: strip out alternative meta series logic.
96d2bcf kgit-init: check for valid branchpoint
5598db6 buildall: allow a max cap on the number of builds done
b46abec buildall: add support for randomizing build order
68a04e9 buildall: dont copy failed build logs into main build dir
5575d85 buildall: script to independently build all board kernels
86d6200 configme: delete unused variable
8d4e29d configme: delete unused KPROFILE setting
7e15436 configme: ensure we have a valid machine type set
152b9cb scc: remove depreciated/unused commands
bb4e96a scc: allow includes within conditional statements
7da7951 configme: derive path to tools from $0
152dc45 configme: test for BUILD_DIR != ""
129f7b0 kgit-scc: add warnings about bad input args.
e977662 kgit-scc: add text for no arg and invalid arg case.
[YOCTO #843]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Allow empty passwords login so that the default root user can login in
through openssh.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Rather than pause for 5 seconds, test the return code of the command and
require user input before exiting on failure. This avoids pausing after
successful command execution as well as possibly not waiting long enough
if the user happens to be doing something else for 5 seconds.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
|
|
perf has been coupled to the kernel packages via kernel.bbclass.
While maintaining the build of perf out of the kernel source tree
is desired the package coupling has proved to be awkward in
several situations such as:
- when a kernel recipe doesn't want to build/provide perf
- when licensing of dependencies would prohibit perf and hence
the kernel from being built.
To solve some of these problems, this recipe is the extraction of
the linux-tools.inc provided perf compilation into a standalone
perf recipe that builds out of the kernel source, but is otherwise
independent.
No new functionality is provided above what the linux-tools.inc
variant provided, but the separate recipe provides baseline for
adding new functionality.
Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The kernel source tree in the sysroot has all unecessary source
code removed. The existing use case is to support module building
out of the sysroot, but as more toolsa are moved into the kernel
tree itself there are new use cases for the kernel sysroot source.
To avoid putting dependencies on the kernel, and to be able to
individually build and package these tools out of the source tree,
we can save $kerndir/tools and $kernddir/lib from being removed.
This enables tools like perf to be built our of the kernel source
in the sysroot, without significantly increasing the amount of
source in the sysroot.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fixes:
* Remove the "echo '# Remove manifest padding....' > remove.manifest,
The remove.manifest would be used via "rpm -e `remove.manifest`",
there would be error since there is no pkg called: Remove, manifest or
padding
* The incremental.manifest can't be null when used by rpm, so check it
before use.
* The rpm needs:
--root "${target_rootfs}/install"
when use:
-D "_dbpath ${target_rootfs}/install"
Otherwise it would use the ${target_rootfs} as the root, and use the
${target_rootfs}/var/lib/rpm as the dbpath, this is OK in a fresh
installation, but there would be errors when increment rpm generation.
[YOCTO #2617]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Ensure the following results in the kernel being rebuilt, repackaged and
re-deployed in the final step:
bitbake virtual/kernel
bitbake -c menuconfig virtual/kernel
[ make changes to the kernel configuration and save ]
bitbake virtual/kernel
If there are no changes to the configuration saved, the rebuild will not
be triggered.
Note that this relies on a function recently added to BitBake and
requires full hashing (i.e. BB_SIGNATURE_HANDLER must be set to a
signature handler that inherits from BasicHash) - if this is not the
case or the function is not available in the version of BitBake being
used this change will do nothing.
Fixes [YOCTO #2256].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
* without this, kernel upgrades where KERNEL_VERSION is changed
e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends
up without any module loaded to make it worse after reboot nothing is upgraded
to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Since we now have PN as the end of the package list, we can almost get rid of
lib_package, each recipe can just add PACKAGES =+ PN-bin instead of the inherit
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Since we have re-order the full PACKAGES list, we do not need to reset
the -dev list, we still need this since the -bin package needs to be inserted.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This is part of the the package reorder, by having binconfig add -config
will the files first due to the order being greedy.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Using the host objdump can lead to errors like:
objdump: library.so.1.0.0: File format is ambiguous
objdump: Matching formats: elf32-littlearm elf32-littlearm-symbian elf32-littlearm-vxworks
with certain configurations of binutils.
Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Remove some of the older fields that are not in the new list as we
are able to better automagically generate this directly from the
recipe files the extra files will go away.
To use this, one will have to include the appropirate files, such
as maintainers.inc, upstream_status.inc
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If BBPATH references the working directory, the user is warned and asked
to fix the problem.
[Yocto #1465]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, the task just exits if something goes wrong. This adds the
ncurses-native dependency. It also adds a small delay before closing the
window so any messages displayed there can be seen.
Trying to get the kernel build system to correctly find and link with
our copy of ncurses is some kind of nightmare. I ended up having to add
it to HOST_LOADLIBES globally for this task which is rather nasty but I
couldn't find any other way.
[YOCTO #2513]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
An empty manifest will cause a failure condition. We ensure that any install
actions occur only with a manifest larger then size 0. Also ensure that padding
is added to the end of the manifest, instead of the beginning to enable this
size check. (Padding is required for very small manifest files..)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Move the creation of the database configuration files to just before we
perform the install actions. This ensures they will exist even in SDK or
other non-target filesystem images.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add functionality to RPM to directly query the packageorigin (path) from
the resolver database, instead of having to do this via an indirect method.
This results in a minor performance improvement.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
RPM 5.4.8 requires db 5.3.x, so both are upgraded together.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Upstream Gnome projects are starting to migrate to the .xz compress format,
so we need to add this to allow recipes to override the default of .bz2 as
the upstreams make the transition.
[YOCTO #2241]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In some cases we need to specify linker flags and right
now we do not have a way to communicate that to cmake
based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS
for these needs. This patch therefore defines two local variables
namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which
can be altered by recipes to tweak linker flags
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
The rpmlib was removed when images that add
"remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would
make the increment rpm image generation doesn't work in the second
build, since list_installed_packages would get incorrect value in the
second build, move the rpmlib to ${T} rather than remove it, and move it
back when INC_RPM_IMAGE_GEN =1.
[YOCTO #2440]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The content to modify this bbclass is as follow:
- Use the existing functions to get license as a directory instead of
rewriting it for avoiding code duplication.
- Use SPDXLICENSEMAP to map licenses
[YOCTO #2473]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Remove the long obtuse sysroot path from the ldd output.
Make the error message significantly easier to read and understand.
Old Style:
WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix
WARNING: QA Issue: ldd reports: libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000)
libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000)
/lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000)
New style:
WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This fixes an ugly way I was trying to find pkg runtime
data for package and license manifest creation.
rootfs generation times for core-image-minimal:
Prior to patch
real 0m41.570s
user 1m40.466s
sys 0m6.768s
With patch
real 0m27.527s
user 0m9.833s
sys 0m3.496s
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Conflicts:
meta/classes/license.bbclass
|
|
Per request, adding the package version to the package manifest
file.
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
|
|
The usability of the archiver classes can be improved, beyond the
simple addition of default values for the variables. A user could
well inherit just archiver rather than the individual useful classes,
and not realize it will do nothing.
[YOCTO #2472]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
|
|
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile
will be placed in ${B}/.pc/xxx.patch/ after do_patch.
And no Makefile will be generated for *this* Makefile.PL.
While do_configure, the original code tries to sed Makefiles
matching with each Makefile.PL in {B}, so this would fail.
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
|
|
After the class changes, absolute symlinks are not being handled correctly
by the class file. This adds handling for absolute symlinks to account for the
pkgdest directory, removing dangling symlink messages from recipes like bzip2.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
'//' in a FILES variable causes hard to track down issues with
packaging. This adds a warning and attempts to auto-correct the issue to
try and make the problem more user friendly.
[YOCTO #2448]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.
|
|
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|