Commit Graph

7759 Commits

Author SHA1 Message Date
Laurentiu Palcu
f866b2e4b7 image*.bbclass, bootimg.bbclass: add image type dependencies
The following dependencies were manually added in the image creation
code. However, in order to have an image dependency mechanism in place,
use a new variable, IMAGE_TYPEDEP, to declare that an image type depends
on another being already created.

The following dependencies are added by this commit:

elf -> cpio.gz
live -> ext3
vmdk -> ext3
iso -> ext3
hddimg -> ext3

This commit adds also another new variable: IMAGE_TYPES_MASKED. Currently,
masking out certain types from IMAGE_FSTYPES was hardcoded in the image
creation code.

[YOCTO #5830]

(From OE-Core rev: 5e2796aa28e02ae3a076c6593c6533753720b13d)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:10 +00:00
Matthieu Crapet
bc124dab9e image_types: minor, inline CPIO_TOUCH_INIT()
Since generic compression solution has been introduced
(see revision b7e4ed41ee480f00b7265341e9e2d2c2b9135143),
CPIO_TOUCH_INIT() is only called by IMAGE_CMD_cpio.

(From OE-Core rev: e856e04e6134ce98e89027864f69b2ab48d40dcc)

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:10 +00:00
João Henrique Ferreira de Freitas
4166062ea7 cml1.bbclass: Add diffconfig task to cml1
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.

(From OE-Core rev: f0dcbbdcc37da12f84f730b8235f50be8c150c50)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:10 +00:00
João Henrique Ferreira de Freitas
07e59b5ff6 kernel-yocto: Add do_diffconfig task
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]

(From OE-Core rev: db2a44c8f08f2371a52ff6662d6bc64bc42ad551)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:09 +00:00
Khem Raj
54562006c1 image_types.bbclass: Fix tar IMAGE_CMD to not change directories
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

(From OE-Core rev: 9a98b8bfe13b94d89a9e39cca821f26fdeaeffc3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-18 08:38:52 +00:00
Khem Raj
2e7dd298b1 eglibc: Upgrade from 2.18 -> 2.19
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

(From OE-Core rev: 875df27e56b82fcf970410b6d78e3672471c336a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-18 08:38:51 +00:00
Paul Eggleton
b5829577bc classes/populate_sdk_base: optimise task dependencies
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.

(From OE-Core rev: 8491b998d290f9717d537ca84bc2beb475cf3ced)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-17 15:34:45 +00:00
Paul Eggleton
77a53c5a2a classes/populate_sdk_base: fix race condition with do_rootfs
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.)

(From OE-Core rev: 53578cef2cbc59dcc637d1cc561f63b3c448425a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-17 15:34:45 +00:00
Josua Mayer
a204c1e1be package.bbclass: do_split_packages should always return something.
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.

(From OE-Core rev: 39737e00e85bd4a6053f63f0c959fd424aa009be)

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-17 15:28:59 +00:00
Paul Eggleton
2d05f5763c classes/cpan-base: fix signatures changing when perl is in sysroot
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.

(From OE-Core rev: 262a62dff2d7f0902d717c734fcf5563e96a38bc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-17 15:28:58 +00:00
Dmitry Eremin-Solenikov
0db0bb61bf image_types: sum.jffs2 is replaced by jffs2.sum
Previous commit added support for sum 'compression' (rather
postprocessing) of jffs2 images. Drop support for sum.jffs2 image type.

(From OE-Core rev: 295c6c1452c8789a8b1d0090ff09a5cd7cf16507)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:20 +00:00
Dmitry Eremin-Solenikov
aed1f0cbac image_types bbclass: use compression framework for jffs2 sum images
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.

(From OE-Core rev: 2a15a364fdf85b0b18ba63fdb2a745a52b96478e)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:20 +00:00
Andreea Proca
da0a4c7f8d report-error.bbclass: new class to save build information when errors occur
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.

(From OE-Core rev: f186b4c7c6c975638e60b30a512d669dc6dc390f)

Signed-off-by: Andreea Proca <andreea.b.proca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:20 +00:00
Laurentiu Palcu
4cc0a43449 package_*.bbclass: remove references to the old bash indexing routines
Package indexing is done in python and package-index.bb uses the new
routines.

(From OE-Core rev: 2ab1a2bccfbb4ed90fe3b877d1be80817ba32099)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:20 +00:00
Laurentiu Palcu
6a6cdadf31 buildhistory.bbclass: create wrapper functions around buildhistory_get_sdk_installed
bb.build.exec_func() does not allow passing arguments to the executed
scripts. Use wrappers instead.

(From OE-Core rev: c3dd44b751e351be52512e2aff885bf571c95fe5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 17:53:30 +00:00
Otavio Salvador
937a12ddb8 kernel.bbclass, base.bbclass: Fix support for old kernel configuration
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.

(From OE-Core rev: 51707282fc2c5a74588b2d79b2229513a883924f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:22 +00:00
Laurentiu Palcu
e091548568 (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
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.

(From OE-Core rev: 4615ac771175cd413f461c081f7d3191c49ccc4b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:22 +00:00
Richard Purdie
716557ae35 package: Remove the before do_build constraint of the do_package task
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.

(From OE-Core rev: 4fda89477a2d7c1b3186bf4896297338ed64c448)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:21 +00:00
Richard Purdie
4db39d233c meta/recipes: Remove virtclass references
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.

(From OE-Core rev: d1c073d2813bd913617990cd047507353ea0c09e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:21 +00:00
Richard Purdie
8d17c39cd6 sstate: Exclude SSTATE_EXTRAPATH from checksums
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.

(From OE-Core rev: 1fa7d4331d994b9eeb6f973d1a1f04cb4df92c13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 17:15:54 +00:00
Paul Eggleton
4021080d8e classes/buildhistory: avoid buildhistory triggering rebuilds (again)
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.

(From OE-Core rev: 953df67eb877a6d0fc68d122964440a9a47de3c3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 17:15:54 +00:00
David Nyström
f60f802a0f license.bbclass: Dont create a manifest when using BUILD_IMAGES_FROM_FEEDS
Wihtout this patch, FEEDS functionality is broken, and creating
a manifest from recipe metadata may be faulty when using FEEDS.

(From OE-Core rev: d926c0bdc58ab6dda55eed52b66dbd5834ced64f)

Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 17:15:54 +00:00
Mark Hatle
287efe1494 useradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error message
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.

(From OE-Core rev: f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 12:04:38 +00:00
Mark Hatle
39d9414b95 useradd-staticids: Fix groupadd when --user-group is selected
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.

(From OE-Core rev: ae83db0fdcf0b807ffdfc901f4d1c463fffee82a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 12:04:38 +00:00
Koen Kooi
afc4431250 package.bbclass: fix strip and split logic
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

(From OE-Core rev: 8ea3cc2c45d4e34bb68bd3e0bc359204c772133c)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Paul Eggleton
f9623968f0 conf/bitbake.conf: default HOMEPAGE to blank instead of unknown
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.

(From OE-Core rev: 244e1d73ef58e92d73c098044c66bd784644b933)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Stefan Stanacar
2882b132cc testimage: fail if no package manifest is found
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.

(From OE-Core rev: 85c8dd4170a88a5d7f3d9ca181e75720302727c5)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Alexandre Belloni
2bdc00fe74 kernel: use oldnoconfig before yes '' | make oldconfig
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

(From OE-Core rev: 9b75f6a5786ff7b2e6219d78b38f0032f100c660)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Bruce Ashfield
b6bfcaa312 kernel: stop using -exec rm for deleting files
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.

(From OE-Core rev: 01932d6bbc71e86fd903097b5339e91f76846388)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Laurentiu Palcu
f4fa44cf91 rootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkg
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;

(From OE-Core rev: 19c538f57c8fa7c566e88a6dbe13ea4826d4f26c)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Hongxu Jia
9d3c187b1a populate_sdk_rpm.bbclass: remove old shell code
The old code no more needed since the job is done in python now.

(From OE-Core rev: 96bf2a93bb75fea23732014106039e14d72cd1c7)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
62c625e3c1 Cleanup rootfs_rpm,package_rpm bbclass files
This commit cleans up the functions that were ported to python.

(From OE-Core rev: a4fe5263a683b73d0318fe3c0c55382c084f25b5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
4d8982a1c6 image.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary 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.

(From OE-Core rev: 907458935bab391f5bfba8f581ea9835078548d9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
e28b78a3db license.bbclass: fix license_create_manifest failed
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}
...

(From OE-Core rev: 39f8658033c886fedefc9038a673f9a5edad7d26)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
1a1ba04df7 image.bbclass/license.bbclass: ajustment list_installed_packages invoking
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;

(From OE-Core rev: 4477991633d2971c17afbd0874b1ab2efb7d6eef)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Laurentiu Palcu
cb137719f2 populate_sdk_(deb|ipk).bbclass: remove old shell code
The old code no more needed since the job is done in python now.

(From OE-Core rev: 58f06621aa1a5618dc969e8d1b537e32763a9461)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:41 +00:00
Laurentiu Palcu
e5a164231d image.bbclass: change POPULATE_SDK_POST_TARGET_COMMAND
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.

(From OE-Core rev: c941fce37eb1ca7b77e5885c3e3e776f9538754b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:40 +00:00
Laurentiu Palcu
039ba41ecc populate_sdk_base.bbclass: activate the new python routines
Lose the old shell populate_sdk_image() function and use the new python
implementation.

(From OE-Core rev: 5a81b8a0820ceac972a68af2caebdc8d2f3945a1)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:40 +00:00
Laurentiu Palcu
aaa92a67d8 image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directory
Remove the directory, manually, in the Rootfs.create() function.

(From OE-Core rev: 37a9dc05272e7e49c8a475ccb3d10880dcee4763)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:39 +00:00
Laurentiu Palcu
f52391a919 Cleanup image,rootfs_ipk,package_ipk bbclass files
This commit cleans up the functions that were ported to python.

(From OE-Core rev: d950ef40a3eae4b54cc62828e66d84a62d78c447)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:39 +00:00
Laurentiu Palcu
ab14336a25 package_(deb|ipk).bbclass: remove the stamp when creating package from cache
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.

(From OE-Core rev: dc06a91144b79a152eb481f6d36f6c328321b7c4)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:38 +00:00
Laurentiu Palcu
7fc9bdaeed Activate the new python rootfs/image creation routines
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);

(From OE-Core rev: a83144bac8d67704ff66f5dc0fc56f5b63979694)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:38 +00:00
Ross Burton
9203c879b3 binconfig: mangle ${base_libdir}
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.

(From OE-Core rev: ccd9abdccb84d713427541b6ee29a0e217360e74)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:42:52 +00:00
Mark Hatle
4bc6982ea6 useradd.bbclass: Add ability to select a static uid/gid automatically
[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.

(From OE-Core rev: 18c99dac52b746b88cd084eb4c2a2ef0329a6ff3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:41 +00:00
Mark Hatle
72288dd499 useradd.bbclass: Fix build time install issues
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.

(From OE-Core rev: 99fd0f14fd774c9194f62795e6023880e3aa5612)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:01 +00:00
Saul Wold
a1240a563b rootfs_deb: Fix whitespace issue
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)

(From OE-Core rev: aec771c113ae4347af7ef98bef8c289e3a5069e2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:01 +00:00
Stefan Stanacar
731acba417 testimage: add ability to export tests
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]

(From OE-Core rev: 155dd52e0f707e06f50756584a50f744ba6b7844)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:00 +00:00
Paul Eggleton
da1331b4ce classes/populate_sdk_base: remove nostamp from do_populate_sdk
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.

(From OE-Core rev: de9b693f4ff311f1310a1c6005e0d5c225aabef6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:00 +00:00
Paul Eggleton
618931eb02 classes/buildhistory: write out files in UTF-8 format
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.

(From OE-Core rev: dcf228fe69bfee4e22baad477ad407248c0f9cdb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-06 15:30:44 +00:00
Richard Purdie
4e9eb77108 sstate: Improve funciton checksums
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.

(From OE-Core rev: 8461283a648d7c5affd51971ebd9b35a8a4c625f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 22:51:43 +00:00