Age | Commit message (Collapse) | Author | Files |
|
Since generic compression solution has been introduced
(see revision b7e4ed41ee480f00b7265341e9e2d2c2b9135143),
CPIO_TOUCH_INIT() is only called by IMAGE_CMD_cpio.
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
diffconfig() is a new task that makes a diff between the
old and new config files and writes to the fragment.cfg result file.
menuconfig() always copy the original config file, so the user
doesn't need to copy it.
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Instead of using 'diff' command between two kernel config files,
the task diffconfig does the job creating the file
$WORKDIR/fragment.cfg that user should review and use.
[YOCTO #3862]
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
below commit
commit 9d9bca8785911e8ae06d507bbfb99d6a811f072e
Author: Jonathan Liu <net147@gmail.com>
Date: Mon Feb 17 21:46:28 2014 +1100
lib/oe/image.py: fix working directory
The working directory needs to be changed before the image creation
commands instead of afterwards.
exposed an issue when generating tar images, where it would cd into
rootfs and then create the rootfs tarball and remain there since the
cmd to cd into deploy dir moved up the immediate following cmd like
tar.bz2 or tar.gz were still looking for tarball in current directory
which esentially was not deploy dir but IMAGE_ROOTFS instead
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
License formatting and address for FSF in the COPYING and COPYING.LIB
has changed.
Dropped patched already upstream and patches that were workarounds for
older glibc and busybox
for e500 we have should pass --without-fp to eglibc/glibc 2.19 onwards
the code is merged from eglibc into glibc upstream under nofpu/ pretext
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
We don't need to depend on do_package anymore after the split out of
do_packagedata (which happened a while back in OE-Core commit
6107ee294afde395e39d084c33e8e94013c625a9). We do need dependencies on
do_packagedata though since the SDK construction needs to make use of
the pkgdata files.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
do_rootfs has ${S} in cleandirs, and during do_populate_sdk we call
exec_func() several times, which by default uses ${B} as the working
directory. If do_populate_sysroot and do_rootfs race against eachother,
the directory may not exist at the exact instant that the setup code
for do_populate_sdk tries to cd into it. We don't actually use ${B}
for do_populate_sysroot so we can set it to something else just for that
task to avoid the race.
NOTE: because this task name contains an underscore, the override will
not work; the BitBake patch that changes these to hyphens for the
task override is required for this patch to work (but won't break things
without it.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
So far, when do_split_packages is passed a non-existing folder, it will return nothing.
While building Mesa with PACKAGECONFIG="egl gles" for qemux86, do_package threw a nice exception on a line reading "pkgs += do_split_packages":
"Exception: TypeError: 'NoneType' object is not iterable"
I think a function should always return something, and in this specific case, returning an empty list should be right.
This patch simply fixes the return statement to do just that.
Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The previous fix for this same issue (OE-Core rev
f31f6a70ec24e8c9515d69c5092e15effc5e7d4d) was not sufficient - we are
setting the PERLVERSION variable from the get_perl_version function, but
we're setting it using immediate expansion; thus the value is going into
the signature and is still different between the time the recipe is
cached on an empty TMPDIR and after perl is in the sysroot and we run
bitbake -S perf. We could remove the immediate expansion, but that would
mean the get_perl_version function would be called more often, so just set
vardepvalue on the PERLVERSION variable to fix the problem instead.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Previous commit added support for sum 'compression' (rather
postprocessing) of jffs2 images. Drop support for sum.jffs2 image type.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
I got hit by a missing dependency in generation of sum.jffs2 images - at
runtime, when images are generated using bitbake pool, it is possible
for sum.jffs2 image to be scheduled for generation before jffs2 image is
fully generated.
Insted of adding additional hacks, reimplement sum.jffs2 generation as a
compression scheme on top of plain jffs2 images. For now support for
sum.jffs2 images is left in, it will be removed by the subsequent
commit.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Class is used to save data about errors after every task that failed.
Errors saved as json files in ERROR_REPORT_DIR (defaults to tmp/log/error-report).
To use this class one has to add INHERIT += "report-error" to local.conf.
scripts/send-error-report is a simple script that sends the json file
to a HTTP server that collects data (git://git.yoctoproject.org/error-report-web
is a Django web interface that can be used to receive and visualize
the error reports). The script will give you an URL where you can
find your report.
Signed-off-by: Andreea Proca <andreea.b.proca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Package indexing is done in python and package-index.bb uses the new
routines.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
buildhistory_get_sdk_installed
bb.build.exec_func() does not allow passing arguments to the executed
scripts. Use wrappers instead.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This solves a regression introduced by OE-Core:9b75f6a (kernel:
use oldnoconfig before yes '' | make oldconfig).
The original oe_runmake explicitly calls 'die' command in case of
failure so the fallback code never runs. The fallback code needs
to handle the oe_runmake return code to call the backward
compatible callback so we introduced a new command called
oe_runmake_call which is used by oe_runmake.
This does not change the functional behaviour of oe_runmake so it
avoids any change except for the code which does need to handle
the oe_runmake exit code.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This commit whitelists some common directories, so the multilib sanity
checks pass and also fixes an issue in lib/oe/rootfs.py when the
compared files do not exist.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, if you bitbake xxxx, it will restore the package_write_,
packagedata, populate_sysroot *and* the package data from sstate.
We generally care about the packagedata and the actual packages, we
no longer need/care about the do_package data itself unless something
is going to repackage.
By relaxing this constraint (and relying on the packagedata target), we
can save things being installed from sstate and hence speedup build times.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The virtclass overrides will go away at some point (apart from the multilib one).
Change them all to class-xxx instead since people enjoy copy and pasting them.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
After the change to allow target recipes to depend on native recipes, the
native checksums becomes all the more critical. Add to this that we're now
accounting for pre/postfuncs and we have a cache reuse issue since the
distro LSB string is getting coded in when it shouldn't be.
This excludes that string and allows one set of native sstate to share
checksums with another set from a different host distro. They're separated
into different directories so this is fine for our use cases.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Postfuncs are now incorporated into task signatures as of BitBake
rev b84d010144de687667cf855ddcb41c9b863c236e, so we need to exclude
the one we're adding to do_fetch. The change to the SSTATEPOSTINSTFUNCS
variable value was also entering the signatures of do_populate_sysroot
and probably other tasks, so we need to use a slightly hacky trick to
avoid that as well.
Apart from the final do_rootfs / do_populate_sysroot, this now means
that adding and removing INHERIT += "buildhistory" will not cause tasks
to be re-run.
Also update the copyright date, properly this time.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Wihtout this patch, FEEDS functionality is broken, and creating
a manifest from recipe metadata may be faulty when using FEEDS.
Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The USERADD_ERROR_DYNAMIC needs to check that both users and groups that are
defined need to be represented as static ids, or an error should occur.
For the user check, we want to make sure the uid is a numeric value. (The gid
can be name, as the GROUPADD check will validate for a number there -- or
during install useradd will fail if that group is not defined.)
For the group check, we verify that the gid is specified and not left as a name.
Also two statements that can be uncommented for debugging were added so that
future development work on this code would be easier to do.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When --user-group is selected (it's on by default as well) we want
to translate that to a groupname and disable the --user-group. Before
we just disabled --user-group, but didn't always add the group to the
system.
This change ensures that we add the group (as long as we have enough
information to actually add the group), and we disable --user-group
in that case. If a static groupid is not specified we continue to
use the groupname, but via an explicit groupadd.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Marks original commit message and variable documentation state that stripping and splitting are independent of eachother, but package.bbclass ANDs the two INHIBIT flags to see which files can be stripped and/or split.
Original behaviour:
INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACAKGE_DEBUG_SPLIT: no strip, no debug split
Behaviour after this patch:
INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACKAGE_DEBUG_SPLIT: strip, no split
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The default value for HOMEPAGE of "unknown" has been in place since the
early OE-Classic days, but it doesn't really make sense - "unknown" is
not a valid URL and it just means we have to explicitly check for this
hardcoded string if we're displaying the value in some form of UI, such
as Toaster.
This has required some changes to the packaging classes as they
previously did not expect the value to be blank.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Sometimes we may forget to actually build the image
we want to test (when testimage task is called manually).
Instead of an ugly traceback we should fail nicely.
The manifest is written after the rootfs so this ensures
the image was actually built.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When using a defconfig, using yes '' | make oldconfig may not result in
the correct configuration being set. For example:
$ ARCH=mips make qi_lb60_defconfig
#
# configuration written to .config
#
$ grep USB_ETH .config
CONFIG_USB_ETH=y
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
$ cp arch/mips/configs/qi_lb60_defconfig .config
$ yes '' | make ARCH=mips oldconfig
[...]
$ grep USB_ETH .config
CONFIG_USB_ETH=m
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
Using make olddefconfig solves that but we'll use the oldnoconfig alias
for backward compatibility with older kernels.
$ cp arch/mips/configs/qi_lb60_defconfig .config
$ make ARCH=mips oldnoconfig
scripts/kconfig/conf --olddefconfig Kconfig
#
# configuration written to .config
#
$ grep USB_ETH .config
CONFIG_USB_ETH=y
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Removing files from the source tree via find, exec and rm is not the
most efficient operation, due to (among other things) the many forked
processes.
If we use -delete, it saves a significant amount of time. But -delete
does not work with -prune (since it forces -depth). To maintain the
lib, tools and scripts source files, we can hide them temporarily,
skip their hidden directories and then finally restore them.
Time for install before this change:
real 2m48.563s
user 0m35.220s
sys 0m33.036s
Time for install after this change:
real 1m21.301s
user 0m33.160s
sys 0m28.388s
We could further speed this up by using inline perl to delete the files,
but that complexity is avoided for now.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When using opkg as the PM backend, one has the option to provide custom
feeds to create the rootfs from.
This commit:
* fixes this in the refactored code;
* moves the custom config creation code to python;
* clean up the package-ipk.bbclass;
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
The old code no more needed since the job is done in python now.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
This commit cleans up the functions that were ported to python.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
install definition
The sdk complementary install operation was defined in image.bbclass,
but the sdk recipe (such as meta-toolchain.bb) didn't inherit this
bbclass but populate_sdk, and both of image and populate_sdk bbclass
inherited populate_sdk_base bbclass, so move the sdk complementary
install definition to populate_sdk_base bbclass fixed this issue.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
While rpm incremental image generation enabled, invoked
license_create_manifest failed.
...
| ln: failed to create symbolic link 'tmp/work/qemux86_
64-poky-linux/core-image-base/1.0-r0/rootfs/usr/share/
common-licenses/alsa-conf-base/generic_GPLv2':File exists
| WARNING:tmp/work/qemux86_64-poky-linux/core-image-base/
1.0-r0/temp/run.license_create_manifest.26327:1 exit 1 from
| ln -s ../${lic}/home/jiahongxu/yocto/build-20140120-
yocto-qemux86-64/tmp/work/qemux86_64-poky-linux/core-image
-base/1.0-r0/rootfs/usr/share/common-licenses/${pkg}/${lic}
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
Since the list_installed_packages() function has refactored in
python, do the necessary adjustments to license_create_manifes-
t() and write_image_manifest() in license.bbclass and image.bb-
class respectively;
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
The old code no more needed since the job is done in python now.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
Since rootfs_install_complementary() is now implemented in python for
each backend, remove it from POPULATE_SDK_POST_TARGET_COMMAND. Call it
directly in python.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
Lose the old shell populate_sdk_image() function and use the new python
implementation.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
Remove the directory, manually, in the Rootfs.create() function.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
This commit cleans up the functions that were ported to python.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
If the packages are created from cache, we need to remove the stamp so
that we re-generate the index files at do_rootfs time.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
This commit will:
* remove old bash code common to all backends;
* create a new do_rootfs() python function that will use the new
rootfs/image creation routines;
* allow creation of dpkg based images;
* fail for rpm/opkg (not implemented yet);
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
|
Some recipes are installing libraries into ${base_libdir} (typically /lib) and
also use a foo-config binary to identify compile paths, for example
libusb-compat. Without mangling ${base_libdir} the ${base_libdir} path is
passed to the compiler, where it looks like a host path and results in
compile-host-path QA errors.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #5436]
Automatic selection of static uid/gid is needed for a dynamically generated
passwd and group file to have a deterministic outcome.
When a package is installed and instructs the system to add a new user or
group, unless it selects a static uid/gid value, the next available uid/gid
will be used. The order in which packages are installed is dynamically
computed, and may change from one installation to the next. This results
in a non-deterministic set of uid/gid values.
Enabling this code by adding USERADDEXTENSION = "useradd-staticids", and
adding a preconfigured passwd/group file will allow the continued dynamic
generation of the rootfs passwd/group files, but will ensure a deterministic
outcome. (Dynamic generation is desired so that users and groups that have
no corresponding functionality are not present within the final system image.)
The rewrite params function will override each of the fields in the
useradd and groupadd calls with the values specified. Note, the password
field is ignored as is the member groups field in the group file. If the
field is empty, the value will not be overridden. (Note, there is no way
to 'blank' a field, as this would only generally affect the 'comment' field
and there really is no reason to blank it.)
Enabling USERADD_ERROR_DYNAMIC will cause packages without static uid/gid
to generate an error and be skipped for the purpose of building. This is
used to prevent non-deterministic behavior.
USERADD_UID_TABLES and USERADD_GID_TABLES may be used to specify the name
of the passwd and group files. By default they are assumed to be
'files/passwd' and 'files/group'. Layers are searched in BBPATH order.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When the system attempts to populate the sysroot's passwd/group files, it
does so in a single block. However, with the way it was previously
implemented, the system would always run through the code necessary to
populate the sysroot, even in the case of target packages. This had
the side effect that a cross-installed filesystem may not match a
target installed filesystem.
The code was slightly reorganized to ensure that the cross/target installed
pre-install script behavior is the same. It also moves the block that
configures the sysroot parameters to the sysroot specific section of
the code.
Also some minor validation was occuring even on nativesdk packages.
Nativesdk packages should be skipped when processing useradd ops.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fixing the following warning:
WARNING: Variable rootfs_deb_bad_recommendations contains tabs, please remove these (/srv/ssd/sgw/poky/meta/recipes-extended/images/core-image-lsb-dev.bb)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Add the ability to export the tests so that they can run independently of
the build system, as is required if you want to be able to hand the test
execution off to a scheduler.
Booting/deployment of the target is still handled by the build system,
as before, only the execution of the tests happens outside of the build system.
Tests exported are the ones defined in TEST_SUITES.
No tests have been changed as interesting parts of the data store have been
exported and tests can continue to query them as before. Small adjustments were made
for a couple of oeqa modules though.
[YOCTO #5613]
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
We've removed nostamp from do_rootfs in image.bbclass in OE-Core commit
8505008c115efb54d18e5f25441c7a938a32ffaf, and we should do the same for
do_populate_sdk here for the same reason - we can now rely on task
signatures so if nothing has changed, we don't need to re-run it.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
If the package information contained unicode characters (for example, in
the package file listing) then writing them out as ASCII would fail, so
write them out using codecs.open() instead of open() using UTF-8. This
fixes ca-certificates failing in do_packagedata when buildhistory is
enabled.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Now that bitbake is recursing into pre/postfuncs, we need to ensure
the dependencies of these functions is correct. We don't want dependencies
on MACHINE or other related variables. This patch adds in appropriate
variable exclusions to achieve this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|