summaryrefslogtreecommitdiff
path: root/meta/classes/image.bbclass
AgeCommit message (Collapse)AuthorFiles
2012-07-03image/core-image: Handle conflicting IMAGE_FEATURES.Lianhao Lu1
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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03image.bbclass: Add support to build the SDK in parallel with the imageMark Hatle1
When building an image recipe, you can now build a companion SDK by calling the populate_sdk task: bitbake -c populate_sdk core-image-minimal Note: there are still issues w/ the SDK not working completely with multilibs. A lock is required between rootfs and populate_sdk activities to prevent configuration file clashes and similar package management problems in ipk and deb based systems. (RPM already had a lock for a different reason.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-03Fix manual log file pathsMark Hatle1
When a recent change, the path to log files may be contained within an arbitrary directory. To generate the manual log files in the correct path we should be using the ${BB_LOGFILE}'s path instead of always assuming the logs go into ${WORKDIR}/temp. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-02EXTRA_IMAGEDEPENDS is used to ensure things like qemu-native are built andRichard Purdie1
these are not strictly dependencies of the do_rootfs task. This patch moves them to the do_build task allowing bitbake a little more flexibility about when things need to get built by. I noticed this when qemu-native failed to build and a rootfs was not generated which is not the intended behaviour. Also update the syntax to use appendVarFlag instead of get/setVarFlag Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-27classes/image: Allow openssh empty passwords login.Lianhao Lu1
Allow empty passwords login so that the default root user can login in through openssh. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2012-06-08rootfs_rpm.bbclass: save rpmlib rather than remove itRobert Yang1
The rpmlib was removed when images that add "remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would make the increment rpm image generation doesn't work in the second build, since list_installed_packages would get incorrect value in the second build, move the rpmlib to ${T} rather than remove it, and move it back when INC_RPM_IMAGE_GEN =1. [YOCTO #2440] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25image.bbclass: Ensure ${S} is cleaned at the start of rootfs generationRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06image.bbclass,kernel.bbclass: Use kmod-native instead of module-init-tools-crossKhem Raj1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-03-21gzip/pigz-native: Install into a prefix to avoid clashing with system binariesRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19classes/image: avoid cp race condition when building multiple imagesPaul Eggleton1
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-03-13image.bbclass: fix rootfs generation without package management toolsOtavio Salvador1
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. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie1
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-01image-vmdk: Create image_vmdk class and setup image and image_types to use itSaul Wold1
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. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29image.bbclass: do not create image manifest link if IMAGE_LINK_NAME is emptyOtavio Salvador1
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28image_types: Refactor compression code into a generic compression solutionRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26More quoting fixesMartin Jansa1
* 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. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24image.bbclass: Ensure timestamp matches format used in initscripts after ↵Richard Purdie1
recent changes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11Incremental rpm image generationRobert Yang1
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] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-01-06image.bbclass: Use ?= to set LINGUAS_INSTALLDongxiao Xu1
Hob may dynamically sets BBLAYERS to bitbake server, thus we need a flexible way to load LINGUAS_INSTALL value. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-02classes/image: implement generic locale package installationPaul Eggleton1
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-12-08bitbake.conf/image.bbclass: Ensure images use the correct passwd/group filesRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie1
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 *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08Add new IMAGE_CLASSES variable for classes for image generationMatthew McClintock1
Allows us to import classes only for images and not to the global namespace Signed-off-by: Matthew McClintock <msm@freescale.com>
2011-11-08multilib: Drop MULTILIB_IMAGE_INSTALLDongxiao Xu1
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] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06image.bbclass: No need to run most tasks except do_rootfsRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04image.bbclass: improve comments regarding exported functionsOtavio Salvador1
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-09-16image/package.bbclass: Revise multilib support for DEBIAN_NAME.Lianhao Lu1
[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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-08-30image.bbclass: use ${TARGET_PREFIX}depmodChris Larson1
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. Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23image.bbclass, kernel.bbclass: remove non-standard -n option from cp commandPaul Eggleton1
-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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-18image.bbclass, kernel.bbclass: create warning file about deleting deploydir ↵Paul Eggleton1
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]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-08-10image: add support for generally useful {dev,doc,dbg}-pkgs featuresChris Larson1
Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-08-10image: implement IMAGE_FEATURESChris Larson1
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" Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-07-27image.bbclass: Added variables for multilib support.Lianhao Lu1
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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-07-27classes/image*: Revamp creation of live imagesSaul Wold1
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 Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-07-08image.bbclass: Add LINGUAS_INSTALL to dependency listRichard Purdie1
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] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-01image|kernel.bblass|module-init-tools: do not use depmod-2.6Anders Darander1
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. Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-30Add umask task controlMark Hatle1
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. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-05-17task-core-nfs/image.bbclass: Fix some libc overridesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17image.bbclass: use soft assignment for LDCONFIGDEPENDPhil Blundell1
This allows distros that don't want ldconfig to turn it off. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-20Rename the remaining poky-* scripts to oe-* or runqemu-*Richard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-05image.bbclass: Disable ldconfig-native when using uclibcRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-04image.bbclass: make execution ldconfig verboseNitin A Kamble1
The failure of ldconfig was not getting logged anywhere before. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-03-29image.bbclass: Remove uneeded do_populate_sysroot requirement for imagesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29image.bbclass: Add dependencies on native versions of update-alternatives ↵Richard Purdie1
and updated-rc.d explicitly Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just ↵Richard Purdie1
happens before a build completes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24bitbake.conf/image.bbclass: Move image type information into image_types.bbclassRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24image.bbclass: Move ROOTFS_SIZE into runimagecmd() functionRichard Purdie1
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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24image.bbclass: Improve readability of the image generation codeRichard Purdie1
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-16image.bbclass: Disable shell debug messagesMark Hatle1
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-01-31image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().Lianhao Lu1
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>