summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/utils: targetbuild: take proxy into accountStefan Stanacar2014-02-114-5/+21
| | | | | | | | | | A previous commit broke downloads when proxies are involved, let's fix it. (From OE-Core rev: 97e263b99cbe8184a74f80738fd471cfdef29e0c) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: use oldnoconfig before yes '' | make oldconfigAlexandre Belloni2014-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel: stop using -exec rm for deleting filesBruce Ashfield2014-02-111-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* systemd: Fix misc journald memory bugsKhem Raj2014-02-116-0/+203
| | | | | | | | | | | | | | | | | | These set of patches fix journald exhibiting some issues under load. One of the prevelant issues is that when appending to journal it is not able to allocate memory and starts taking 100% cpu spewing errors like systemd-journald[2934]: Failed to write entry (19 items, 452 bytes), ignoring: Cannot allocate memory Other memory issues crept up with time e.g.vacuuming (From OE-Core rev: b1bdc1c6fb6914d85f888acde9d806d5560c84d8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Fix setscene hard dependency problemsRichard Purdie2014-02-111-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c54e738e2b5dc0d8e6fd8e93b284ed96e7a83051 added in the idea of hard dependencies such as the case a setscene has a hard dependency on pseudo-native and that dependency wasn't available from sstate for some reason. Unfortunately the implementation was a bit too enthusiastic, causing rebuilds of things when it wasn't necessary. A test case was: bitbake quilt-native bitbake quilt-native -c clean bitbake <some-image> and then you'd watch quilt-native get rebuilt for no good reason. The clue to the problem is in the for loop where it never depends on the item being iterated over. The fix is to include the exact list of hard dependencies rather than guessing. With these changes, the use case above works, the one in the original commit also works. This patch also adds in or cleans up various pieces of logging to allow issues like this to be more easily debugged in future. (Bitbake rev: 81bd475585ff1b44b390036b1eca0feae7c149eb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.py, package_manager.py, rootfs.py: dump command output on errorLaurentiu Palcu2014-02-113-43/+44
| | | | | | | | | Print the entire command output in case of errors. (From OE-Core rev: 2253c9ac2caa61dee0bd4fea04d4d77b79be7b36) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: RpmPM: fix issue with multilib buildsLaurentiu Palcu2014-02-111-7/+6
| | | | | | | | | | | Use python sets instead of lists, to avoid duplicates. When doing a multilib build, "smart channel --add" fails because it tries to add 'all' channel twice. (From OE-Core rev: 730d675090eec5c03e444f0448d96a52035d0bef) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: check that package list is not emptyLaurentiu Palcu2014-02-111-1/+7
| | | | | | | | | | If we're just attempting to install packages and the package list is empty, just return. (From OE-Core rev: 8bf5d80e3502a71fdda688aace0799b47ae19b3b) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkgLaurentiu Palcu2014-02-114-35/+52
| | | | | | | | | | | | | | | 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>
* lib/oe/package_manager.py: OpkgPM, bad recommendation handling changeLaurentiu Palcu2014-02-111-6/+4
| | | | | | | | | | | | | | | The following commit: rootfs_ipk: Ensure that BAD_RECOMMENDATIONS are honoured for all architectures changed the way BAD_RECOMMENDATIONS are handled. Make the change in the new code too. (From OE-Core rev: 7e518e399da51de3b159bd6804735b2f14c39357) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: do not use stampsLaurentiu Palcu2014-02-111-8/+0
| | | | | | | | | | | | | | Using stamps shortens rootfs/image creation because the package indexes are not created again if no new package was installed in the deploy dir. Unfortunately, there are some syncronization issues with do_package_write_*() and the indexes are not properly created. Will have to revisit this issue in the near future. For now, lose it. (From OE-Core rev: 276f2a8a072ce243daa74210934ee63046e9c480) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/rootfs.py: OpkgRootfs, fix issue in _get_delayed_postinsts()Laurentiu Palcu2014-02-111-1/+1
| | | | | | | | | Status file path was not created correctly. (From OE-Core rev: 628c4bce36ca0bc2b316ec78cf58b02a42e7f35f) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: OpkgPM/DpkgPM fixesLaurentiu Palcu2014-02-111-12/+42
| | | | | | | | | | | | | | | | | This commit: * adds missing mark_packages() function for OpkgPM. This is needed to * manually change the packages installation status in the status file; * fix OpkgPM remove_packaging_data() issue; * fix OpkgPM handle_bad_recommendations() issue; * improve OpkgPM/DpkgPM mark_packages() regex pattern; * fix DpkgPM list_installed() problem; * fix DpkgPM _create_configs() problem: status file should not be truncated if it already exists/ (From OE-Core rev: d50a40100763dcbfabec2c147fdfcb46aa909329) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/image.py: fix image size calculation routineLaurentiu Palcu2014-02-111-2/+2
| | | | | | | | | | The IMAGE_ROOTFS_EXTRA_SPACE value was not correctly added to the base size. (From OE-Core rev: f3ac2a68ae0ae9bdf2a03c1b6d0f83c9918d58bd) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: DpkgPM, use lock on deploy dirLaurentiu Palcu2014-02-111-0/+8
| | | | | | | | | Lock deploy directory against concurrent index creation. (From OE-Core rev: 127d19b84e78b5e650d0e6d7eaf29a8b7d799e5e) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/postinst-intercepts: do not redirect errors to /dev/nullLaurentiu Palcu2014-02-112-2/+2
| | | | | | | | | | | | | The redirection was necessary with the old bash code because the log checking routine was searching for error strings in the log and abort the build in case failures occured. With the new python code, redirecting the intercept stderr is no longer necessary. This also makes the intercept hooks easier to debug. (From OE-Core rev: e2c3c59b26d84cd4052a953adafcd4d456264c26) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/rootfs.py: warn the user if intercept hooks failLaurentiu Palcu2014-02-111-2/+2
| | | | | | | | | | | | | | | The idea of postinstall intercept hooks is to run CPU intensive postinstalls (like the ones generating font/pixbuf/icon caches) on host, at rootfs generation time. So, ideally, the user would like to know if the intercepts fail on host. With this patch, the user will see warnings on console if intercept hooks fail to execute. (From OE-Core rev: 5666ce9720132a76b5ff6e99712e240b8dc8e47a) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: RpmPM fixesLaurentiu Palcu2014-02-111-12/+12
| | | | | | | | | | | | | | | | | | | This commit: * fixes a crash when handling interecept hook failures which happened when MULTILIB_GLOBAL_VARIANTS was not set; * convert dashes to underscores and use sets (so that we make sure the items are unique) when creating RPM repos; * uses a regex pattern to search for packages in the feeds list. The old method could match also strings in the middle. For example: 'rpm' matched 'kernel-module-lttng-probe-rpm" in qemux86_64 feeds; * issue a bb.fatal if smart returns error while installing packages. Otherwise we might end up with an incomplete image... * fixes the /etc/rpm/platform file creation; (From OE-Core rev: b98c7e4945f1c36a6e4f98144a3af4f3049450ae) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: moving global SCRIPTLET_FORMAT and ↵Hongxu Jia2014-02-111-52/+51
| | | | | | | | | | | | DB_CONFIG_CONTENT to RpmPM The tweak made the code looks better. (From OE-Core rev: 8e06be633222635c549d7f067218e8b833e76bda) 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>
* package_manger.py/rootfs.py: rename save_rpmpostinist with save_rpmpostinstHongxu Jia2014-02-112-3/+3
| | | | | | | | | | The tweak made the code looks better. (From OE-Core rev: 61981755b4738ccc49be0e790de828f4166ef0e8) 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>
* populate_sdk_rpm.bbclass: remove old shell codeHongxu Jia2014-02-111-152/+0
| | | | | | | | | | 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>
* lib/oe/rootfs.py: fix invoking _run_intercepts failedHongxu Jia2014-02-111-0/+1
| | | | | | | | | | - The variable D is needed by intercepts scripts; (From OE-Core rev: 3d37dcdb836b59d8a7f880ce22d06760eb8af232) 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>
* lib/oe/package_manager.py: fix invoking rpm save_rpmpostinist failedHongxu Jia2014-02-111-2/+3
| | | | | | | | | | | - Use self.target_rootfs instead of self.image_rootfs as saved dir; - Remove redundant comment line; (From OE-Core rev: 41d6edab676277afbcaa6cf41cd64a5663f09dc7) 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>
* lib/oe/rootfs.py: fix invoking rpm _handle_intercept_failure failedHongxu Jia2014-02-111-1/+1
| | | | | | | | (From OE-Core rev: 7858c8ac141a7bf66c65ddc7e4b39ad937a7e084) 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>
* Cleanup rootfs_rpm,package_rpm bbclass filesHongxu Jia2014-02-112-656/+0
| | | | | | | | | | 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>
* image.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary ↵Hongxu Jia2014-02-112-19/+21
| | | | | | | | | | | | | | | | 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>
* lib/oe/sdk.py: support RpmRootfsHongxu Jia2014-02-111-2/+136
| | | | | | | | | | - Implementation RpmSdk class (From OE-Core rev: 417b27ce5c1ea2fe2057caa898291cce0c043359) 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>
* license.bbclass: fix license_create_manifest failedHongxu Jia2014-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* image.bbclass/license.bbclass: ajustment list_installed_packages invokingHongxu Jia2014-02-112-6/+14
| | | | | | | | | | | | | 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>
* lib/oe/image.py: fix get rootfs_extra_space failedHongxu Jia2014-02-111-1/+1
| | | | | | | | | | | The value of IMAGE_ROOTFS_EXTRA_SPACE is "0 + 51200", we should use eval rather than int in python. (From OE-Core rev: dd3418e2db732ca1bc78fd93efa3f08da88a1183) 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>
* rootfs.py: strip kernel-abiversion useless readlineHongxu Jia2014-02-111-1/+1
| | | | | | | | | | | | | | | It failed to read Kernel version from kernel-abiversion file, the reason was it didn't strip the readline. ... Error: Kernel version 3.10.25-yocto-standard does not match kernel-abiversion (3.10.25-yocto-standard) ... (From OE-Core rev: 17a0a8f44fe344ab1ae49730d9f17705b43987e5) 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>
* rootfs.py: fix uninstall uneeded pkgs failedHongxu Jia2014-02-111-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The refactor of shell function rootfs_uninstall_unneeded is incorrect, it should check and update the installed_pkgs.txt file for the existance of the packages that were removed. ... rootfs_uninstall_unneeded () { if ${@base_contains("IMAGE_FEATURES", "package-management", "false", "true", d)}; then if [ -z "$(delayed_postinsts)" ]; then # All packages were successfully configured. # update-rc.d, base-passwd, run-postinsts are no further # use, remove them now remove_run_postinsts=false if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then remove_run_postinsts=true fi # Remove package only if it's installed pkgs_to_remove="update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" for pkg in $pkgs_to_remove; do # regexp for pkg, to be used in grep and sed pkg_regexp="^`echo $pkg | sed 's/\./\\\./'` " if grep -q "$pkg_regexp" ${WORKDIR}/installed_pkgs.txt; then rootfs_uninstall_packages $pkg sed -i "/$pkg_regexp/d" ${WORKDIR}/installed_pkgs.txt fi done ... (From OE-Core rev: 9cdecb3935962653733705ad6313558bfd4fda29) 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>
* lib/oe/rootfs.py: Tweak the rootfs removing operationHongxu Jia2014-02-111-3/+4
| | | | | | | | | | | | Move the bb.utils.remove(self.image_rootfs, True) from the base class constructor, to Opkg/Ipkg constructors after super's constructor is called. (From OE-Core rev: 66d86c4bbb9423c9fe0fc89005530be54068d401) 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>
* lib/oe/rootfs.py: support RpmRootfsHongxu Jia2014-02-111-6/+205
| | | | | | | | | | | - Implementation RpmRootfs class - Refactor list_installed_packages in python (From OE-Core rev: b3eeb0edf3f0296d30d7e62628bde722402bdb9d) 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>
* lib/oe/package_manager.py: support RpmPMHongxu Jia2014-02-111-5/+651
| | | | | | | | | | | - Implementation RpmPM class - Support rpm incremental image generation (From OE-Core rev: ca5203d6b1bb0cbf7830ea4f46109c6867138efc) 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>
* lib/oe/manifest.py: add rpm image manifest creationHongxu Jia2014-02-111-1/+41
| | | | | | | | | | Implementation RpmManifest class. (From OE-Core rev: a0ef59ef9263653877db4853633883f2684d7a30) 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>
* populate_sdk_(deb|ipk).bbclass: remove old shell codeLaurentiu Palcu2014-02-112-113/+0
| | | | | | | | | 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>
* image.bbclass: change POPULATE_SDK_POST_TARGET_COMMANDLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | | | 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>
* populate_sdk_base.bbclass: activate the new python routinesLaurentiu Palcu2014-02-111-32/+10
| | | | | | | | | | 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>
* lib/oe/sdk.py: add SDK classLaurentiu Palcu2014-02-111-0/+209
| | | | | | | | | | This new file contains the python 'populate sdk' implementation of the old bash populate_sdk_image() function for Opkg and Dpkg. (From OE-Core rev: 6247efaba592db924e6466c39aef441f0e07c62a) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: fixes for dpkg backendLaurentiu Palcu2014-02-111-8/+16
| | | | | | | | | | | | | | | | This commit contains the following fixes: * pass the apt config directory to the DpkgPM constructor, so one can instantiate this class multiple times and give it different config files (like for creating SDK); * change constructor argument name from 'dpkg_archs' to 'base_archs'; * export APT_CONFIG environment variable before calling apt-get, not in constructor. If done in constructor, the last class instantiation, sets the environment, which is note desireable; (From OE-Core rev: dc626cbcfd37c940bb8739b14d3ab8097e1760ea) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/rootfs.py: use Manifest.INSTALL_ORDERLaurentiu Palcu2014-02-111-5/+1
| | | | | | | | | | Since the Manifest class has this property, use it. This contains the default package installation order. (From OE-Core rev: bb1fb4ceb544c161ed30cd102155657e3771859b) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/manifest.py: create manifests for SDK tooLaurentiu Palcu2014-02-111-18/+57
| | | | | | | | | | | | | | | | | | | | This commit contains several changes: * it is possible to create manifests for following types of images: regular image, target SDK and host SDK. To distinguish between these types of manifests, one has to pass the manifest_type argument to the contructor or create_manifest() wrapper. The manifest type can have the following values: image, sdk_host, sdk_target; * move image_rootfs variable to _create_dummy_initial() since it's used only here. This function will probably be removed in the future; * fix a bug in the Dpkg class; * add INSTALL_ORDER property to Manifest class which contains the default install order for the packages and will be used Rootfs/Sdk classes; (From OE-Core rev: a8c1b7504bf9cd5625fdecfdc3c3adce53aa164c) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directoryLaurentiu Palcu2014-02-112-1/+3
| | | | | | | | | 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>
* Cleanup image,rootfs_ipk,package_ipk bbclass filesLaurentiu Palcu2014-02-113-340/+4
| | | | | | | | | 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>
* lib/oe/rootfs.py: add support for opkg backendLaurentiu Palcu2014-02-111-9/+149
| | | | | | | (From OE-Core rev: 0650e1f2354cdb6f925040d9d07e2c785274a592) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: add support for opkg backendLaurentiu Palcu2014-02-111-8/+210
| | | | | | | | | | Additionaly, the commit contains a couple of minor changes (comments, error printing, etc). (From OE-Core rev: ef3faaef6b1a25c943a8d5594ce55b0e558b62f3) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: use the bitbake APT_ARGS variableLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | | This commit will revert on using the bitbake APT_ARGS variable, so users can alter the way apt is called without needing to change it in code. (From OE-Core rev: ae337edc8ac441c947d1543c2800f37104a0be70) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager.py: add deploy dir locking mechanismLaurentiu Palcu2014-02-111-0/+17
| | | | | | | | | | This is needed in order to serialize the index file creation when multiple do_rootfs tasks are running in the same time. (From OE-Core rev: cb03d15482569c2e56232c921526938dcecfdb68) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/manifest.py: create global variables for package typesLaurentiu Palcu2014-02-111-10/+20
| | | | | | | | | | Manifest class clients don't really need to know how package types are encoded. (From OE-Core rev: bac2e279005b601daff4d53549612ceb76a6a857) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>