Commit Graph

286 Commits

Author SHA1 Message Date
Chen Qi 2b204500bd openssh: fix for read-only rootfs
If the rootfs is read-only and the ssh keys are not available at system
start-up, the init script will generate ssh keys into /etc/ssh, thus
causing a 'read-only file system' error.

In order for Yocto based image to work correctly for read-only rootfs,
we use the following logic for openssh.

If the rootfs is read-only and there are pre-generated keys under /etc/ssh,
we use the pre-generated keys. Note the pre-generated keys are mainly for
debugging or development purpose.
If the rootfs is read-only and there are no pre-generated keys under
/etc/ssh, we use /var/run/ssh as the location for ssh keys. That is, at
system boot-up, the generated ssh keys will put into /var/run/ssh.

[YOCTO #4887]

(From OE-Core rev: 2ed44745024f04aa4e00ddba3009153c6b47c8e9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:36 +01:00
Chen Qi 033baea93d image.bbclass: create device table after package installation
Now that the makedevs supports using user/group names in the devcie
table files, and it uses passwd and group files under the rootfs which
is provided by the base-passwd package, we should let package installation
finish first, so that makedevs can get a correct mapping from user/group
names to uid/gid.

The check for existence of ${IMAGE_ROOTFS}/dev is removed. This is because
do_rootfs doesn't have 'nostamp' flag any more, so the do_rootfs task will
not be rerun for every build. Checking for the existence of ${IMAGE_ROOTFS}/dev
is not necessary any more. Besides, as base-files package also installs the
/dev directory, this checking does not serve as a good criteria.

[YOCTO #1159]

(From OE-Core rev: d073ca77ba886c7912abd3ec0640881c00aea3bb)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:34 +01:00
Mark Hatle 0bc564af07 image.bbclass: Move runtime_mapping_rename to avoid conflict w/ multilib
[YOCTO #4993]

Move the runtime_mapping_rename into a prefunc for the do_rootfs function.
Otherwise doing it in the python section could occur BEFORE the multilib
classes renaming.

If the package 'b' is a kernel module, then lib32-b and b should both
point to the same package.  The runtime_mapping code will do this
automatically.

Before if you ran: bitbake lib32-<image>

It may do:

start PACKAGE_INSTALL (a b c)
remap  (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)

What we want is:

start PACKAGE_INSTALL (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)
remap (lib32-a b lib32-c)

(From OE-Core rev: 836662c9a9c175521dbcd29cdfc0a7c144d8770f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:01 +01:00
Paul Eggleton face212d60 classes/image: ensure BAD_RECOMMENDATIONS supports pre-renamed package names
Use runtime remapping on BAD_RECOMMENDATIONS just as we do with
variables such as IMAGE_INSTALL, so that we're specifying the name prior
to any renaming e.g. that done by debian.bbclass. Note that this is a
change in behaviour for renamed packages, however this is the correct
thing to be doing; a search of existing layers suggests this shouldn't
cause widespread incompatibilities.

(From OE-Core rev: aea9d379ea217c78b64a81853ec3744188158008)

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>
2013-07-29 13:09:15 +01:00
Laurentiu Palcu 1ce182e79e image.bbclass: remove unneeded files from the image
This patch creates a new function, rootfs_remove_unneeded(), that will
be called after rootfs_*_do_rootfs is called and which will handle
delayed postinstalls in a generic fashion, for all backends in the same
way.

(From OE-Core rev: d3d810faf8e93ce2d3faaa70da6deeb25b1cec26)

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>
2013-06-11 15:38:04 +01:00
Chen Qi d837fb346d image.bbclass: add postinst_enable_logging
Add a function postinst_enable_logging, so that when 'debug-tweaks'
is in IMAGE_FEATURES, we create ${sysconfdir}/default/postinst config
file, which is sourced by run-postinst scripts to determine whether
to log or not, and where to log.

[YOCTO #4262]

(From OE-Core rev: 99175cabc3936733dd92fac5ebc6f865b864fe92)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-23 10:28:04 +01:00
Khem Raj 0c8173d7dc image.bbclass: Add package-management image feature to validitems
Some images dont use core-image bbclass and add this feature directly

Fixes parsing errors like

/builds1/angstrom/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 34734, PID:
24551 Parsing recipes...ERROR: Unable to parse
/builds1/angstrom/sources/meta-kde/recipes-images/angstrom-kde-desktop-imag
e.bb: Exited with "1" ERROR: 'package-management' in IMAGE_FEATURES is
not a
valid image feature. Valid features: dbg-pkgs debug-tweaks dev-pkgs
doc-pkgs ptest-pkgs read-only-rootfs splash staticdev-pkgs ERROR:
'package-management' in IMAGE_FEATURES is not a valid image feature.
Valid
features: dbg-pkgs debug-tweaks dev-pkgs doc-pkgs ptest-pkgs
read-only-rootfs splash staticdev-pkgs ERROR: Command execution failed:
Exited with 1

(From OE-Core rev: f9f1397d688cc4eb8d736066b1280bee40a8916a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-14 15:02:36 +03:00
Paul Eggleton d63c8a1597 classes/image: show an error on invalid IMAGE_FEATURES
If the user specifies an invalid feature in IMAGE_FEATURES, show an
error during parsing. Valid IMAGE_FEATURES are drawn from
PACKAGE_GROUP_ definitions, COMPLEMENTARY_GLOBS and a new 'validitems'
varflag on IMAGE_FEATURES (so that additional non-package group features
can be added elsewhere.)

Implements [YOCTO #3308].

(From OE-Core rev: 8d25442ab795ff0f8e072da2022108eff128e2b2)

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>
2013-05-12 09:37:31 +01:00
Richard Purdie 534325fd1f image/kernel-module-split/eglibc-ld.inc: Remove has_key() usage
The has_key() attribute has been removed in python 3 since there is better
syntax available. Use the improved syntax.

(From OE-Core rev: 3dff13793e875ff58cc38c4a960caca9b6969843)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09 14:06:51 +01:00
Phil Blundell db92131201 image.bbclass: Don't mark do_rootfs and do_build as nostamp
When image.bbclass was first conceived (as rootfs_ipk.bbclass), oemake
was unable to figure out when the inputs to do_rootfs had changed in
such a way that it would need to be rerun.  Absent any reliable
information of this kind, it was necessary to adopt the conservative
assumption that images always needed rebuilding and, to this end,
do_rootfs and do_build in image recipes were marked as nostamp.  (The
nostamp annotation for do_build was added in oe-classic commit
80d622e0c1dbc284858e01d3eb670303a6d8cdf9 from January 2005; the exact
point at which do_rootfs was made nostamp is obscure, but it predates
oe-classic revision 63fad339e01d4b16105146c32a61f24460397126.)

This situation persisted for the following eight years but, during that
period, oemake evolved into today's sstate-enabled bitbake, oe itself
gained the OEBasicHash algorithm which can reliably detect changes to
the input data for do_rootfs or any other task, and OEBasicHash was made
the default for oe-core in 4199efed48005a62267fa3374c33b13627d85f44
(June 2012).

Given these various changes in the wider landscape, there is no longer
any obvious benefit to having these two tasks marked as nostamp, and
indeed having them so marked causes needless rebuilds which can be
annoying.  Anybody who does genuinely wish to rerun these tasks when
nothing in the input has changed can run "bitbake -f", just like with
any other task.  So, let's remove the nostamp annotations and just let
bitbake figure out when to rerun them.

(From OE-Core rev: 8505008c115efb54d18e5f25441c7a938a32ffaf)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03 16:19:20 +01:00
Paul Eggleton 58412ca75b classes/image: allow complementary package globs to be extended
Make it easy for the wildcard specifications for complementary package
features to be extended outside of image.bbclass. For example, to add a
new "foo-pkgs" item that could be added to IMAGE_FEATURES that would
cause *-foo packages to be installed for all packages currently in the
image, you can now use this line at the global level:

COMPLEMENTARY_GLOB[foo-pkgs] = "*-foo"

Implements [YOCTO #4228].

(From OE-Core rev: 4e39c1b9dbba1d2b07ffc2c6a1a252fc8f7680ee)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03 16:19:20 +01:00
Laurentiu Palcu d9f153f489 image.bbclass: change the logic when intercepts fail
Due to some issues with postinstalls that register hooks, we changed the
logic a bit. Now, all postinstalls that register hooks will return
successfully and only after, if hooks fail, mark the package as unpacked.

(From OE-Core rev: 82dae98d0eb771c05e57635f0f8763b118d8177e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22 14:45:02 +01:00
Richard Purdie 093dec12e6 package/image.bbclass: Fix multilib rprovides
allarch multilib recipes are meant to provide a list of different multilib variants.
Unfortunately since the pkgdata also has mappings for these, they get mapped back to
the original package name which means the effect is undone at package creation time
when the remapping code is called.

This patch adds in a conditional to break that chain meaning the packages get
the correct RPROVIDES and image builds work correctly with opkg.

[YOCTO #3453]

(From OE-Core rev: 1a1927f8a04fe0a2b3b853ebdd33ccb807f00b59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13 23:49:28 +01:00
Laurentiu Palcu 51f8dffecc image.bbclass: fix postinstall intercepts fallback
The wrong type of paranthesis was used so 'continue' did nothing (was in
another context) and the packages were marked as installed.

(From OE-Core rev: 0bdde53e885aae3506c7b070b6e21f64a7cd4115)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-08 16:56:46 +01:00
Richard Purdie 354bb63f02 image.bbclass: Drop legacy export of IMAGE_BASENAME
We used to export this in the days an external script handled the image
generation. This is no longer the case and hence we no longer need this
export.

(From OE-Core rev: 919613c0e75362ee0eace99b51cc77d34a05372f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18 13:18:21 +00:00
Chen Qi 142ae3bb06 image.bbclass: add a hook funtion to support readonly rootfs
read_only_rootfs_hook: this funtion is invoked only if 'read-only-rootfs'
is in IMAGE_FEATURES. It tweaks some basic files and makes populate-
volatile.sh script run at rootfs time.

For now, it has real effect only if the init system is sysvinit.

[YOCTO #3406]

(From OE-Core rev: cae51a169e37b54becc08162aaa643acd53ffe2f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-07 11:20:02 +00:00
Richard Purdie 44260c2c48 populate_sdk_base/image: Fix races for variable mappings
When using the -c populate_sdk option, images are not generated quite as
they should be under certain circumstances. For example the dropbear
feature may not get replaced with openssh, leading to both being installed
with an appropriate rootfs failure.

This patch moves the remapping logic to later points in the code, ensuring
there is no conflict. The result is slightly simpler too as an added bonus.

[YOCTO #3749]

(From OE-Core rev: 90cfa16bd4a02ada84ef94f6ae6f182beb8bdc01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05 13:14:57 +00:00
Mark Hatle 86d6ec51f0 module.bbclass: Create a new depmodwrapper to assist cross-installs
Previously the build path to STAGING_KERNEL_DIR was being embedded into the
package post install scripts.  We avoid this behavior by generating a special
depmodwrapper script.  This script contains that hard-coded path, ensuring
that re-use of the sstate-cache (and/or packages) will always run through the
wrapper generated by the current build with a checksum that includes
STAGING_KERNEL_DIR.

[ YOCTO #3962 ]

(From OE-Core rev: b18c61bae4d7161c087a004bba3c696006f7a2f6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01 14:44:40 +00:00
Laurentiu Palcu 6cca7efa6f image.bbclass: add fall-back functionality when running intercepts
If an intercept script fails, it would be helpful to fall-back to
running the postinstall on target's first boot. In order to achieve
that, the postinstalls that install a host intercept hook will have to
return 1, so that the postinstall is marked as unpacked only. If the
intercept hook fails, then we're ok, the postinstalls will be run on
target anyway. If it succeeds, then mark the packages as installed.

This logic was chosen mainly because of rpm backend which saves the
failed postinstalls in /etc/rpm-postinsts. Hence, in order to mark the
packages as installed, all we have to do is delete the scriptlets from
there.

(From OE-Core rev: ed8ac4ee43132ae974794038821f7ca5465ae556)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-13 16:52:28 +00:00
Richard Purdie c920f1a7cc image.bbclass: Add MLPREFIX to DEPENDS
Add MLPREFIX to DEPENDS to ensure the correct qemuwrapper is dependended upon. Its searched
for in PATH so we need to do this to ensure the correct version is present.

(From OE-Core rev: 41163fc5e6662251ec264fd5194a649342d11de1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-07 15:25:06 +00:00
Laurentiu Palcu 5479aa4869 image.bbclass: add a proper error message if hook script fails
(From OE-Core rev: 5e737d3c6e6546c1368e804f4c45ab25d8791ea3)

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>
2013-02-06 09:37:24 +00:00
Richard Purdie 3247292683 Split do_packagedata task from do_package
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:

bitbake xxxx-image -c rootfs

you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.

This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.

Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.

(From OE-Core rev: 6107ee294afde395e39d084c33e8e94013c625a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25 12:42:47 +00:00
Paul Eggleton 411413aa28 classes/image: improve debug-tweaks ssh server configuration
Create a single postprocessing function that enables no-password logins
for both openssh and dropbear when debug-tweaks is in IMAGE_FEATURES,
changing its behaviour slightly:
* Run it regardless of whether ssh-server-* are in IMAGE_FEATURES so
  that it still takes effect if these are installed by adding
  dropbear/openssh to IMAGE_INSTALL.
* Enable it to be run from image.bbclass rather than core-image.bbclass
  so that it works for images that are using the former.

Second half of the fix for [YOCTO #2578].

(From OE-Core rev: 0937054e6e3e02565f57e60a8bdc14b0ad62e249)

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>
2013-01-18 13:28:05 +00:00
Enrico Scholz 41a15a9af9 image.bbclass: quote TARGET_VENDOR
The buildsystem does not install locale files anymore, when
TARGET_VENDOR is empty.  This regression was introduced by
ff01518c6667e1b6e87df4e5a435a701d0f38fa7

(From OE-Core rev: 7d64232f370817c0536412589bd4ed612f214e18)

Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-07 13:50:39 +00:00
Björn Stenberg 1d2c6833ae Add a new distro feature "ptest".
This patch creates a new distro feature "ptest", which creates -ptest
packages containing the test suite of the package for running on the
target. Test files are installed in /usr/lib/<pkg>/ptest.

The patch also includes a change to automake, splitting the "make check"
target into separate steps for building and running the tests.

(From OE-Core rev: 6f92e7f8891008dd3c89325d3fbe2da853372326)

Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-26 11:34:04 +00:00
Paul Eggleton 84a5c63a57 classes/image: handle multilibs in complementary package lookup
For multilib the vendor string is altered, so we need to iterate over
all of the multilib vendors when we do the glob processing for
complementary packages.

(From OE-Core rev: ff01518c6667e1b6e87df4e5a435a701d0f38fa7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

In addition, the RPM package arch have been munged by adding the multilib
identifier.  This identifier needs to be stripped when generating the
installed_packages list for the complementary lookup code to work.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-19 17:55:00 +00:00
Richard Purdie 0e486c7112 image/populate_sdk: Simplify imagetest inclusion and drop dummy class file
Having to include some dummy class is suboptimal and we no longer need to
do this. Also move this check to populate_sdk_base since we then don't
need to include it in toolchains specifically.

(From OE-Core rev: 2ee979ff71d31e497be856ea1443667c6d799d34)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-07 17:13:12 +00:00
Laurentiu Palcu 6b76f04195 image.bbclass: run postinst scripts once, at rootfs time
This patch will allow the repeating postinst scriptlets to be run
only once, on host, at do_rootfs time. This will lower the time for
rootfs generation and, also, instead of running some time consuming
scriptlets at target's first boot, we will do on the host.

(From OE-Core rev: 0d239328b1c6b9e4afadad75972d359181fbe1a5)

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>
2012-12-06 12:31:08 +00:00
Richard Purdie 265f69a593 image.bbclass: Add missing dependency on do_package data
Since the packaging functions now reference the pkgdata files written out during
do_package, we need to reference this dependency explicitly.

(From OE-Core rev: 1e9c9d164f8d12c8de205e04bf7c1dae3660f12a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-20 15:31:49 +00:00
Mark Hatle a6359e9710 image.bbclass: Enable the complementary install to be called w/ globbing params
If the image.bbclass is called with arguments, and these arguments are not
"populate_sdk", they will be passed in as the expected GLOBS.

This enables external components and scripting to use the
rootfs_install_complementary code.

(From OE-Core rev: f44c5f227a170290f567d0a0a24baaa870048788)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:35 +01:00
Saul Wold 24288740d0 core-image: allow root login when debug-tweaks is enabled
This allows root to login over ssh with an empty password just like
dropbear when the debug-tweaks are enabled, it's important to disable
debug-tweaks for a production system as this will leave open a security
hole!

Thanks to Marc for the settings.
Cc: Marc Ferland <marc.ferland@gmail.com>

[Yocto #3078]

(From OE-Core rev: 13e6aa8bba6ab1ebba1efa23f94af379a8fcb6a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:52 +01:00
Paul Eggleton 2a21c83300 packagegroup-core-console: remove
This provides one package group, packagegroup-core-apps-console, which
is usually brought in by adding "apps-console-core" to IMAGE_FEATURES.
Aside from the naming inconsistencies, this is a group of mostly
unrelated packages, none of which are actually "apps". Handling each
one:

* dbus: should mostly be brought in by package runtime dependencies
* avahi-daemon: if you are using packagegroup-base (as all images that
  inherit from core-image do) this is brought in by having "zeroconf" in
  DISTRO_FEATURES.
* portmap: not very useful by itself; should be brought in by selecting
  NFS server/client through other means.
* psplash (or whatever SPLASH is set to): this has been changed to be
  an explicit item "splash" in IMAGE_FEATURES. Since this is a fairly
  fundamental feature, a piece of code has been added to automatically
  handle this for images still using apps-console-core (and show a
  warning).

(From OE-Core rev: 592d6e602466628d10704835a7b07d3d713f58e1)

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>
2012-09-04 12:53:00 +01:00
Richard Purdie 8cb5c02167 image.bbclass: Convert runtime_mapping_rename to event handler
(From OE-Core rev: 05e67417ca3174d1f9279f0de308a9d40933b461)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-02 05:52:11 -07:00
Paul Eggleton 98b0f956e7 classes/image: add staticdev-pkgs IMAGE_FEATURES feature
Add a staticdev-pkgs feature that can be added to IMAGE_FEATURES in
order to install all staticdev packages.

Fixes [YOCTO #2531].

(From OE-Core rev: 3ba9c0757eb51a0bb5873f4faae023587a33cc1d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:14 +01:00
Paul Eggleton fa5640d143 Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.

The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.

This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.

The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".

Fixes [YOCTO #2614].

(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:14 +01:00
Robert P. J. Day 6c93f7095e image.bbclass: Fix a couple innocuous typoes, should cause no functional change
"error_promt" -> "error_prompt" changed in both places
"subfolers" -> "subfolders" since it's not referenced anyway

(From OE-Core rev: cc1f824778c023686b4ea75c64a182a138ff2267)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-28 09:20:52 +01:00
Richard Purdie bfd279de32 Convert tab indentation in python functions into four-space
(From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 10:24:50 +01:00
Lianhao Lu 286b2666dc image/core-image: Handle conflicting IMAGE_FEATURES.
IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
can't be both enabled. User can use the following variables to define
the relationship of image features:

IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
would replace the image feature "bar".

IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
"foo" and "bar" would cause an parsing error.

(From OE-Core rev: e36d12a9c1cf69540079e48a1dfadbc343758e48)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03 14:55:01 +01:00
Mark Hatle b70c9154e4 image.bbclass: Add support to build the SDK in parallel with the image
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.)

(From OE-Core rev: a0de2a56f19ae4d8cd88e46e96917a7a019fe1ab)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03 14:55:00 +01:00
Mark Hatle 9870fbc9f8 Fix manual log file paths
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.

(From OE-Core rev: 779db325d407f0bade84572ef99fdad4d0c88011)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03 14:54:57 +01:00
Richard Purdie 4147d2e52f EXTRA_IMAGEDEPENDS is used to ensure things like qemu-native are built and 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

(From OE-Core rev: fa13e83ec3f91dce866ac212e91b62db24b6486d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-02 16:47:45 +01:00
Lianhao Lu 41ed2e6532 classes/image: Allow openssh empty passwords login.
Allow empty passwords login so that the default root user can login in
through openssh.

(From OE-Core rev: 39ef0a705ca059f9a7c68aa1710c81411fb7c762)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-28 16:26:42 +01:00
Robert Yang ea2a85035a rootfs_rpm.bbclass: save rpmlib rather than remove it
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]

(From OE-Core rev: c30e79510c06701f10f659eedaa0fe785538ac17)

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>
2012-06-08 11:43:23 +01:00
Richard Purdie fcd8021409 image.bbclass: Ensure ${S} is cleaned at the start of rootfs generation
Some image classes such as bootimg save files into ${S} as part of rootfs
generation. For correctness we should therefore clean this at the start of
image generation to ensure reproducibility.

I found this issue when some files I thought should disappear from my rootfs
would not disappear.

(From OE-Core rev: 363424cdc78cafa278008f973c2b4288297ebf8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:28:49 +01:00
Khem Raj f22cf1bedf image.bbclass,kernel.bbclass: Use kmod-native instead of module-init-tools-cross
(From OE-Core rev: 74fcf61224dc3e12e753c5de793591677275dffd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:47 +01:00
Richard Purdie 40f95685e6 gzip/pigz-native: Install into a prefix to avoid clashing with system binaries
Due to the system providing a copy of gzip, we face some issues when we
'shadow' that copy with our own leading to a varient of race type bugs,
and issues for example if a dependency such as libz is missing but the
binary is still present. We usually rely on our dependency logic to protect
us from this but for gzip, we don't have this protection since its not listed
by all its users (and doing so would be impractical).

This patch installed pigz and gzip into their own directory which we only
add to PATH when we explictly want these binaries in much the same way we do
with perl-native. This means dependency logic is correct when we use the binary
and everything should work well.

The patch adds an explict dependency into image.bbclass since the accelerated
speed of compression is most appreciated at rootfs time.

(From OE-Core rev: 7a98c0ef28822ae1fcee45b14db3edcfd4c7ad8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Paul Eggleton c569fcee08 classes/image: avoid cp race condition when building multiple images
Avoid a race condition when building multiple images by ignoring a
failure to copy the README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
to DEPLOY_DIR_IMAGE.

(From OE-Core rev: 5a321f5840d4ed813e2a768871b33eff433d748c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:41 +00:00
Otavio Salvador f9bdcb2eb1 image.bbclass: fix rootfs generation without package management tools
When building without package management tools the
ROOTFS_BOOTSTRAP_INSTALL packages need to be available to provide the
bare minimal for rootfs unconfigure postinsts to be on first boot.

Those packages where being include in core-image.bbclass' based images
however every image needs those available for proper rootfs generation.

(From OE-Core rev: 4f2845739fc7a1f2c784f4d3be048ee111e7d093)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:08 +00:00
Richard Purdie 06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:

sed \
 -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
 -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
 -i `grep -ril getVar *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:56 -08:00
Saul Wold 0e56519b33 image-vmdk: Create image_vmdk class and setup image and image_types to use it
This creates a new image_vmdk class similar to live. The image_vmdk
class needs to have a hddimg created by the image-live class, so it
inherits it directly.

The changes to image_types is to ensure that both live and vmdk images
get the ext3 tools and dependencies.

(From OE-Core rev: aa961e112b07d42c272e01f2d69f3c139e9ae70f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Otavio Salvador 05c7d5d512 image.bbclass: do not create image manifest link if IMAGE_LINK_NAME is empty
(From OE-Core rev: d0f1ae1f8cf8ef4e5adc24cc6246d3849e51aa98)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:56:44 +00:00
Richard Purdie 126f634207 image_types: Refactor compression code into a generic compression solution
The current approach of adding each different compressed image type doesn't
scale. This patch changes the code so compressed images for each form are
automatically available using the form <type>.<compression type> in
IMAGE_FSTYPES. This doesn't change any existing externally visible behaviour
and the image generation process becomes more efficient as a result too.

(From OE-Core rev: b7e4ed41ee480f00b7265341e9e2d2c2b9135143)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:53 +00:00
Martin Jansa 3349b88a76 More quoting fixes
* We have various variables which are either not quoted at all or are half
  quoted. This patch fixes the bad exmaples so everything is consistent.

(From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 22:51:58 +00:00
Richard Purdie e6230da00e image.bbclass: Ensure timestamp matches format used in initscripts after recent changes
(From OE-Core rev: 173a48f79f8f2f18737f1901fc5992223d456348)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 10:25:40 +00:00
Robert Yang 9d1823b2a0 Incremental rpm image generation
Incremental rpm image generation, the rootfs would be totally removed and
re-created in the second generation by default, but with
INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will do
update(remove/add some pkgs) on it.

NOTE: This is not suggested when you want to create a productive rootfs

For example:
  1) Add the follow config option to a conf file:
     INC_RPM_IMAGE_GEN = "1"

  2) bitbake core-image-sato
     modify a package
     bitbake core-image-sato

The rootfs would not be totally removed and re-created in the second
generation, it would be simply updated based on the "package".

Implatation:
1) Figure out the pkg which need to be removed or re-installed, then use
'rpm -e to remove the old one. Use the rpm's BUILDTIME to determine
which pkg has been rebuilt.

2) Figure out the pkg which is newly added, and use 'rpm -U' to install
it.

This only for the rpm based rootfs, the deb and ipk based rootfs would
be done later.

[YOCTO #1651]

(From OE-Core rev: 575ba3c9e153a1d8ac228a99a03ca2df5fbca151)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:36:22 +00:00
Dongxiao Xu 5a03cf2ba2 image.bbclass: Use ?= to set LINGUAS_INSTALL
Hob may dynamically sets BBLAYERS to bitbake server, thus we need a
flexible way to load LINGUAS_INSTALL value.

(From OE-Core rev: c5c3689b7102cc0c281de736c215d66dd4f1e874)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:36 +00:00
Paul Eggleton 38c2f66ea7 classes/image: implement generic locale package installation
Let each package-specific rootfs implementation provide basic functions
to query the existence of a package and install a list of packages and
then have a generic install function so this logic is in one place.

Note: unlike previous versions of this code in OE-Core this uses the
IMAGE_LINGUAS variable and not IMAGE_LOCALES - note that IMAGE_LINGUAS
was what was used in OE-Classic and it is already used in OE-Core in
order to install locale-base-*. This will mean that if IMAGE_LINGUAS is
left at the default you will now get more packages installed. If you
don't want these language support packages then you should set
IMAGE_LINGUAS explicitly.

This restores locale installation to the same state as OE-Classic, only
we now support all the packaging backends.

(From OE-Core rev: c0fc36f8629a6abb9a7b542df8a2857526547a31)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:26 +00:00
Richard Purdie 2e02727860 bitbake.conf/image.bbclass: Ensure images use the correct passwd/group files
We need pseudo to use the rootfs passwd/group files belonging to the
rootfs when building images. This patch ensures that we use the rootfs
files instead of those in the sysroot which can lead to incorrect file
ownership issues.

(From OE-Core rev: c4da803ef78322b758380eb0af0dcb73cae6553c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:27 +00:00
Richard Purdie c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Matthew McClintock 4115f94f22 Add new IMAGE_CLASSES variable for classes for image generation
Allows us to import classes only for images and not to the global
namespace

(From OE-Core rev: 49dcb301ab39327554d86d23cf6f8d435d7a7351)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:18 +00:00
Dongxiao Xu 1ef442561d multilib: Drop MULTILIB_IMAGE_INSTALL
There should just be a single IMAGE_INSTALL variable. If the package
backends need this split into different multilib components they should
be responsible for doing this, not the user.

This commit removes the MULTILIB_IMAGE_INSTALL variable.

[YOCTO #1564]

(From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Richard Purdie 6706c7bdd2 image.bbclass: No need to run most tasks except do_rootfs
Running fetch/unpack/patch/compile/install etc. is pointless
since the only image task that does anything is the rootfs task.

Hence mark the useless tasks as noexec so we don't bother running them.

(From OE-Core rev: b3d1c440feb7fd7b3e3374ca528195ab9bd3a7ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:42 +01:00
Otavio Salvador 2884c48743 image.bbclass: improve comments regarding exported functions
(From OE-Core rev: 2097874dab4d6b77d7ece026808283381c2cbe1a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:11 +01:00
Lianhao Lu 99dd3c0b2c image/package.bbclass: Revise multilib support for DEBIAN_NAME.
[YOCTO #1486]
1. image.bbclass: In multilib_sanity_check, duplicated files except
those matching to MULTILIBRE_ALLOW_REP are allowed if they're equal.

2. pacakge.bbclass: Allow DEBIAN_NOAUTONAMES variable to be
automatically mapped in multilib case.

(From OE-Core rev: 66f9045e17c39f5c64a0699b72ea460a0701717a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Chris Larson a6b35d9613 image.bbclass: use ${TARGET_PREFIX}depmod
Currently it uses ${TARGET_SYS}-. This is inconsistent, as the recipe
and kernel bbclass both use the prefix. While there aren't many cases
where the two differ, it is harmless to ensure that we are behaving
consistently.

(From OE-Core rev: 8aec52f4fd1ad3e4148e2ad32700a4378e69dcd3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:56 +01:00
Paul Eggleton 472f050077 image.bbclass, kernel.bbclass: remove non-standard -n option from cp command
-n is not a POSIX option and does not work on some systems (e.g. Debian
Lenny); in any case it is not strictly necessary here, so remove it.

(From OE-Core rev: 13e14763f14b5b84051ecb158404dcef937cc4e0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:32:39 -07:00
Paul Eggleton 333d571b36 image.bbclass, kernel.bbclass: create warning file about deleting deploydir files
New users sometimes delete files in tmp/deploy/images assuming they will
be re-created just by re-running the build, and then are confused when
this doesn't work. To discourage people from doing this, create a file
called README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt in
tmp/deploy/images containing an explanation of what needs to be done to
re-create files there.

Fixes [YOCTO #1315] and [YOCTO #1346].

(From OE-Core rev: 4316c5e9eec67d71f4699102a63a5f968bd8d1d9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:18 -07:00
Chris Larson a86252db8b image: add support for generally useful {dev,doc,dbg}-pkgs features
(From OE-Core rev: 7fd8fe53072d3bebb31da4e556878d3c25a10478)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson 073caff599 image: implement IMAGE_FEATURES
IMAGE_FEATURES is analagous to DISTRO_FEATURES and MACHINE_FEATURES, for
root filesystem construction. Currently, the only supported features are
any defined package groups, as used by the oe.packagegroup python
module.

Example usage:

    PACKAGE_GROUP_myfeature = "vim iptables"
    IMAGE_FEATURES += "myfeature"

(From OE-Core rev: f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Lianhao Lu af1cd61210 image.bbclass: Added variables for multilib support.
1. Added MULTILIB_PACKAGE_INSTALL for multilib instances of packages to
be installed in the rootfs.

2. MULTILIBRE_ALLOW_REP contains the regular expression to match the
files allow to be replaced by the conflicting files.

3. MULTILIBRE_FORCE_SAME contains the regular expression to match the
files allow to be replaced only if the conflicting files are identical.

4. Added shell function multilib_sanity_check() to check whether the
overwring for multilib situation is allowed.

(From OE-Core rev: 137a4626a7e8107fc8a71724d5124f44236293b9)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 16:25:35 +01:00
Saul Wold ba8a726b7d classes/image*: Revamp creation of live images
This creates a live image as an IMAGE_FSTYPES, thus removing the
need to have additional -live.bb recipes.  To create a live image
one just needs to add live to the IMAGE_FSTYPES list

(From OE-Core rev: b3ff63796cd6629975ff0a726ba18cc168e0a2b2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 12:02:46 +01:00
Richard Purdie f7b11f2fd5 image.bbclass: Add LINGUAS_INSTALL to dependency list
Currently if there are locales to install in the image the appropriate
packages might not automatically get built since there is no dependency
being exposed to bitbake.

This patch exposes the missing dependencies to bitbake through the RDEPENDS
field hence ensuring images build successfully when locales are added but
not depended upon anywhere else in the build.

[YOCTO #1215]

(From OE-Core rev: 2f731352aa21b43b35247eafd873de775eb0de34)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-08 16:39:07 +01:00
Anders Darander 586ccf2a3f image|kernel.bblass|module-init-tools: do not use depmod-2.6
Change to only depend on virtual/*/depmod.
Change all calls to only use depmod.
Do not install depmod as depmod-2.6
Bump PR in module-init-tools-cross.

(From OE-Core rev: 351e352c2e44a3d8103594ca7e1d8404979a220c)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-01 23:34:17 +01:00
Mark Hatle 477f685ce0 Add umask task control
Bitbake now allows the umask to be specified per task.  The
following tasks will have a umask of 022 set by default:

do_configure
do_compile
do_install
do_package
do_populate_sysroot
do_rootfs

do_configure and do_compile need a umask of 022 set because -many- recipes
directly copy generated files out of recipe's build directory.  Instead of
fixing each existing and future recipe, it was shown to be much easier to
just set the umask.

(From OE-Core rev: 0cfa7ebcf661aa0645c6d4d858b04946ebacb7e4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-30 20:57:05 +01:00
Richard Purdie 5527983bcc task-core-nfs/image.bbclass: Fix some libc overrides
(From OE-Core rev: 4616095d75c0c13953e0bb339b0cafc3c3eb8314)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 15:14:46 +01:00
Phil Blundell 594d886f09 image.bbclass: use soft assignment for LDCONFIGDEPEND
This allows distros that don't want ldconfig to turn it off.

(From OE-Core rev: cd9662ff326de05332afabea3ec35bbbd861687c)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 15:14:45 +01:00
Richard Purdie 2c2e61743c Rename the remaining poky-* scripts to oe-* or runqemu-*
(From OE-Core rev: 877b3d84597fcfc3abf5aa332019d412f2717896)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 00:29:31 +01:00
Richard Purdie 751f42b943 image.bbclass: Disable ldconfig-native when using uclibc
(From OE-Core rev: 58286c2bc19f073d273895ad760689e2074489e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-05 22:20:53 +01:00
Nitin A Kamble d0adbfd6d9 image.bbclass: make execution ldconfig verbose
The failure of ldconfig was not getting logged anywhere before.

(From OE-Core rev: 880b0a222fdc11ee088bcaf8c832edae23bc28a7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-04 23:56:29 +01:00
Richard Purdie e7f52f8f4c image.bbclass: Remove uneeded do_populate_sysroot requirement for images
(From OE-Core rev: 68d19cc52869d7732fac0d185be811bc38334970)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29 14:01:50 +01:00
Richard Purdie 89fee17fae image.bbclass: Add dependencies on native versions of update-alternatives and updated-rc.d explicitly
(From OE-Core rev: c7ab6c5697b5ab18848576ffd0b5cc8e5f89de01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29 14:01:50 +01:00
Richard Purdie b5e03a1a17 base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just happens before a build completes
(From OE-Core rev: a3b80688465ba5ba7e6d514f9a40ee224a9d3a28)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29 14:01:49 +01:00
Richard Purdie ed41be01dc bitbake.conf/image.bbclass: Move image type information into image_types.bbclass
Image generation code in .conf files is hard to read as it needs to be
single line. By moving this to a separate class, multiline functions
can be used instead improving readability. It also declutters
bitbake.conf.

There is no real functional change with this patch but it highlights
the need for improvements in places such as the IMAGE_EXTRA_OPTION
ext* specific variable which makes no sense.

(From OE-Core rev: a5c403f0fc71f38c0669691da7f637303ea09a27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-25 16:34:23 +00:00
Richard Purdie adac5a690f image.bbclass: Move ROOTFS_SIZE into runimagecmd() function
Image type specific size overrides for IMAGE_ROOTFS were being ignored.
Moving the size calculation to after the overide expansion point addresses
this problem.

[YOCTO #928]

(From OE-Core rev: 2f676dadebebc461c1e01e0b6da3cb2258829048)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24 12:34:05 +00:00
Richard Purdie b94de9a24a image.bbclass: Improve readability of the image generation code
The quoting in get_imagecmds() is hard to read. We can simplify the constuction
a little to make this easier to parse and reduce complexity slightly.

(From OE-Core rev: da5d038f955bf47155a0f217dba2f96e263bcad8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24 12:34:04 +00:00
Mark Hatle 110f1f9418 image.bbclass: Disable shell debug messages
By default image had a "set -x" to enable shell debug messages,
this adds a lot of overhead to the system due to logging.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-16 07:34:51 -08:00
Lianhao Lu 5b7e96d852 image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().
Move function rootfs_xx_log_check() from rootfs_xx.bbclass to relevant
package_xx.bbclass. (Where xx is rpm/ipk/deb).

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-31 16:58:15 +00:00
Richard Purdie e427f251a4 image.bbclass: Use the dedicated BB_WORKERCONTEXT, not bitbake internals to detect context
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-14 11:57:48 +00:00
Gary Thomas 2078af333d image.bbclass/initscripts: Make /etc/timestamp usage consistent.
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>
2010-11-14 21:08:22 -08:00
Richard Purdie 0e0fadb400 rootfs_rpm: Add lock file in the rpm deploy directory to allow mutliple rootfs creation tasks to coexist without breaking each other
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:41:17 +01:00
Saul Wold 1f65837e78 image.bbclass: change IMAGE_EXTRA_SPACE to IMAGE_OVERHEAD_FACTOR
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>
2010-09-08 16:36:53 -07:00
Joshua Lock 29d5edffb0 Use pseudo rather than fakeroot for fake root privileges
Make use of the ability to configure the fake root provider and use Wind
River's pseudo utility.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:40:32 +01:00
Jiajun Xu fd1d661b39 test: add automation framework and sanitytest
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>
2010-07-15 12:48:25 +01:00
Richard Purdie 4e0ee648b4 image.bbclass: Don't perform mapping renaming until we're running the task itself.
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>
2010-07-02 14:34:14 +01:00
Richard Purdie b772c8cde5 bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the populate_staging task to populate_sysroot
This change makes the purpose of the staging directory more obvious and
the taskname more true to what it now actually does.

The layout version number is increased due to the change in layout
but code to convert existing directories and insert a symlink for
backwards compatibility is included.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:42 +00:00
Richard Purdie c54117458a classes: Remove and sanitise import statements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:28 +00:00
Richard Purdie d5341fb796 Add poky-trim-schemas post install script to remove unneeded schema locale translations from images (credit to Ross Burton for the initial script)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-08-28 17:11:57 +01:00
Richard Purdie c92acf4b05 image.bbclass: Use IMAGE_ROOTFS_SIZE if the image will fit into it and only add extra space if the image is too small (ported from OE by hrw) 2009-01-23 16:24:46 +00:00
Richard Purdie 30238161a6 image.bbclass: Generate the image after running the kernel modules and ldconfig commands, not before 2009-01-07 16:31:48 +00:00
Richard Purdie 13ee3030f3 image.bbclass: Fix typo 2008-11-10 21:47:49 +00:00
Richard Purdie 793dc948e6 image.bbclass: Add function to write out an image manifest 2008-11-10 21:39:34 +00:00
Samuel Ortiz 31aee0a9f9 image.bbclass: Add routine for disabling x startup when needed 2008-11-10 17:21:10 +01:00
Richard Purdie 436c5f4716 classes: Add mechanism to install packages into images only if they've been built 2008-11-06 16:23:32 +00:00
Richard Purdie 774485d133 image.bbclass: Add INHIBIT_DEFAULT_DEPS 2008-10-28 15:14:00 +00:00
Richard Purdie fc467314f8 image.bbclass: Make the kernel depmod dependent on the presence of a kernel - some images eg an initramfs don't have this
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5473 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-09 19:08:11 +00:00
Marcin Juszkiewicz 2eadfa913f image.bbclass: generate modules.dep
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5468 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-09 09:36:00 +00:00
Marcin Juszkiewicz 6ae402ea3f image.bbclass: make ext2/ext3 images autoresize
New variable IMAGE_EXTRA_SPACE contains amount of kilobytes which has
to be added to size of IMAGE_ROOTFS. Resulting size is then passed to
genext2fs util.

As a result we do not have to specify size for ROOTFS_SIZE anymore.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5269 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-09-25 14:09:22 +00:00
Richard Purdie 7438d56cae image.bbclass: Make sure DEPLOY_DIR_IMAGE exists before running image generation
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4633 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-06-12 20:18:24 +00:00
Richard Purdie c209f853b6 image.bbclass: Drop bbimage command
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4527 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-21 20:20:08 +00:00
Richard Purdie f7dd25d3f3 image.bbclass: Fix whitespace
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4525 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-21 20:16:49 +00:00
Richard Purdie aa3141e979 image.bbclass: Fix locking so multiple image targets work
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4491 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-18 17:56:29 +00:00
Richard Purdie 90c86153a7 image.bbclass: Run runtime_mapping_rename over PACKAGE_INSTALL so debian renaming doesn't break the variable
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4211 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-04-08 17:23:04 +00:00
Marcin Juszkiewicz 14d5f585a9 image.bbclass: s/ipkg/opkg/ - spotten by Koen Kooi
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4044 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-03-18 11:43:59 +00:00
Marcin Juszkiewicz 280f86eb2c rootfs_ipk/image.bbclass: removing of opkg lists data to rootfs_ipk class where it should belong
Signed-off-by: Marcin Juszkiewicz <hrw@openedhand.com>


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4028 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-03-17 13:18:54 +00:00
Richard Purdie b4e9ef8979 image.bbclass: Add ldconfig-native dependency, run ldconfig at image generation time
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3218 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-23 17:05:35 +00:00
Richard Purdie c518632b24 image.bbclass: Fix IMAGE_BASENAME and PACKAGE_INSTALL variables
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2691 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-05 07:51:46 +00:00
Richard Purdie 903bd14738 image.bbclass: Revert some changes as bitbake can't seem to cope with them :-(
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2661 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-02 23:24:51 +00:00
Richard Purdie 3cb6c768ef image.bbclass/poky-image.bbclass: Add a function to create /etc/timestamp during image construction to give a reasonably sane default time setting
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2649 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-02 11:08:01 +00:00
Richard Purdie 47ea9ba712 image.bbclass: Allow partial backwards compatibility
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2646 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-02 09:47:41 +00:00
Richard Purdie 63b739f0fe classes: Sync various tweaks from OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2643 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-01 23:49:12 +00:00
Richard Purdie f2ddfbb308 classes: Sync with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2630 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-01 15:25:40 +00:00
Richard Purdie 48fd37f5f9 packaging: Split deb and ipk creation into separate tasks so changing the packaging type means the new type of packages are automatically generated.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2526 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-21 09:37:30 +00:00
Richard Purdie d3c18ace38 image.bbclass: Add MACHINE_POSTPRECESS_COMMAND hook
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2391 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-08 12:40:01 +00:00
Richard Purdie ef8532ad2e image.bbclass: Ensure the system python is used, not the one in staging
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2250 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-01 11:25:15 +00:00
Richard Purdie 73a06a99b0 images: Merge common functionality into image.bbclass, add copyright headers
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1732 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-05-16 13:33:27 +00:00
Marcin Juszkiewicz ba370feada image.bbclass: Removed wildcard rm as it broke building multiple rootfs image types (from OE)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1586 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-04-30 14:59:49 +00:00
Marcin Juszkiewicz 7f3bb9d637 image.bbclass: remove not-needed list of packages after populating rootfs
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1584 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-04-30 14:42:14 +00:00
Marcin Juszkiewicz bb59ece118 image.bbclass: install only en-gb locales
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1560 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-04-25 15:36:57 +00:00
Richard Purdie 409335beae classes: Rework core dependencies to work properly at the task level
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1427 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-04-03 11:31:02 +00:00
Richard Purdie 7b5b56cf19 image.bbclass: We need to make sure all do_populate_staging tasks have fun so postinsts run correcting at image generation time
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1283 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-02-21 20:19:32 +00:00
Richard Purdie c09b109c6d image.bbclass: Make relative symlinks
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1222 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-01-30 14:45:48 +00:00
Richard Purdie 81fc6532fb image.bbclass: Sync minor changes with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1125 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-01-08 21:07:10 +00:00
Richard Purdie 034861cf5b image.bbclass: Add export machine as needed by bbimage
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@992 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-12-01 15:48:24 +00:00
Richard Purdie e2f9e1a4aa Factor common code out of rootfs_xxx.bbclass into image.bbclass. Add error detection code for roofs_deb.bbclass
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@936 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-21 23:21:06 +00:00
Richard Purdie ec30e86122 image.bbclass: Fix image task dependencies after package.bbclass updates
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@809 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-10-20 22:19:42 +00:00
Chris Larson 4fa2d11bb1 Sync up.. all the deb/dpkg changes which I have locally are now in svn.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@728 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-09-19 09:04:09 +00:00