summaryrefslogtreecommitdiff
path: root/meta
AgeCommit message (Collapse)AuthorFiles
2014-02-11lib/oe/package_manager.py: OpkgPM, bad recommendation handling changeLaurentiu Palcu1
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. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: do not use stampsLaurentiu Palcu1
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. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: OpkgRootfs, fix issue in _get_delayed_postinsts()Laurentiu Palcu1
Status file path was not created correctly. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: OpkgPM/DpkgPM fixesLaurentiu Palcu1
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/ Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/image.py: fix image size calculation routineLaurentiu Palcu1
The IMAGE_ROOTFS_EXTRA_SPACE value was not correctly added to the base size. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: DpkgPM, use lock on deploy dirLaurentiu Palcu1
Lock deploy directory against concurrent index creation. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: warn the user if intercept hooks failLaurentiu Palcu1
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. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: RpmPM fixesLaurentiu Palcu1
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; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: moving global SCRIPTLET_FORMAT and ↵Hongxu Jia1
DB_CONFIG_CONTENT to RpmPM The tweak made the code looks better. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11package_manger.py/rootfs.py: rename save_rpmpostinist with save_rpmpostinstHongxu Jia2
The tweak made the code looks better. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11populate_sdk_rpm.bbclass: remove old shell codeHongxu Jia1
The old code no more needed since the job is done in python now. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: fix invoking _run_intercepts failedHongxu Jia1
- The variable D is needed by intercepts scripts; Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: fix invoking rpm save_rpmpostinist failedHongxu Jia1
- Use self.target_rootfs instead of self.image_rootfs as saved dir; - Remove redundant comment line; Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: fix invoking rpm _handle_intercept_failure failedHongxu Jia1
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11Cleanup rootfs_rpm,package_rpm bbclass filesHongxu Jia2
This commit cleans up the functions that were ported to python. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11image.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary ↵Hongxu Jia2
install definition The sdk complementary install operation was defined in image.bbclass, but the sdk recipe (such as meta-toolchain.bb) didn't inherit this bbclass but populate_sdk, and both of image and populate_sdk bbclass inherited populate_sdk_base bbclass, so move the sdk complementary install definition to populate_sdk_base bbclass fixed this issue. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/sdk.py: support RpmRootfsHongxu Jia1
- Implementation RpmSdk class Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11license.bbclass: fix license_create_manifest failedHongxu Jia1
While rpm incremental image generation enabled, invoked license_create_manifest failed. ... | ln: failed to create symbolic link 'tmp/work/qemux86_ 64-poky-linux/core-image-base/1.0-r0/rootfs/usr/share/ common-licenses/alsa-conf-base/generic_GPLv2':File exists | WARNING:tmp/work/qemux86_64-poky-linux/core-image-base/ 1.0-r0/temp/run.license_create_manifest.26327:1 exit 1 from | ln -s ../${lic}/home/jiahongxu/yocto/build-20140120- yocto-qemux86-64/tmp/work/qemux86_64-poky-linux/core-image -base/1.0-r0/rootfs/usr/share/common-licenses/${pkg}/${lic} ... Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11image.bbclass/license.bbclass: ajustment list_installed_packages invokingHongxu Jia2
Since the list_installed_packages() function has refactored in python, do the necessary adjustments to license_create_manifes- t() and write_image_manifest() in license.bbclass and image.bb- class respectively; Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/image.py: fix get rootfs_extra_space failedHongxu Jia1
The value of IMAGE_ROOTFS_EXTRA_SPACE is "0 + 51200", we should use eval rather than int in python. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11rootfs.py: strip kernel-abiversion useless readlineHongxu Jia1
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) ... Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11rootfs.py: fix uninstall uneeded pkgs failedHongxu Jia1
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 ... Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: Tweak the rootfs removing operationHongxu Jia1
Move the bb.utils.remove(self.image_rootfs, True) from the base class constructor, to Opkg/Ipkg constructors after super's constructor is called. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: support RpmRootfsHongxu Jia1
- Implementation RpmRootfs class - Refactor list_installed_packages in python Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: support RpmPMHongxu Jia1
- Implementation RpmPM class - Support rpm incremental image generation Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/manifest.py: add rpm image manifest creationHongxu Jia1
Implementation RpmManifest class. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11populate_sdk_(deb|ipk).bbclass: remove old shell codeLaurentiu Palcu2
The old code no more needed since the job is done in python now. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11image.bbclass: change POPULATE_SDK_POST_TARGET_COMMANDLaurentiu Palcu1
Since rootfs_install_complementary() is now implemented in python for each backend, remove it from POPULATE_SDK_POST_TARGET_COMMAND. Call it directly in python. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11populate_sdk_base.bbclass: activate the new python routinesLaurentiu Palcu1
Lose the old shell populate_sdk_image() function and use the new python implementation. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/sdk.py: add SDK classLaurentiu Palcu1
This new file contains the python 'populate sdk' implementation of the old bash populate_sdk_image() function for Opkg and Dpkg. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: fixes for dpkg backendLaurentiu Palcu1
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; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: use Manifest.INSTALL_ORDERLaurentiu Palcu1
Since the Manifest class has this property, use it. This contains the default package installation order. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/manifest.py: create manifests for SDK tooLaurentiu Palcu1
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; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directoryLaurentiu Palcu2
Remove the directory, manually, in the Rootfs.create() function. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11Cleanup image,rootfs_ipk,package_ipk bbclass filesLaurentiu Palcu3
This commit cleans up the functions that were ported to python. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: add support for opkg backendLaurentiu Palcu1
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: add support for opkg backendLaurentiu Palcu1
Additionaly, the commit contains a couple of minor changes (comments, error printing, etc). Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: use the bitbake APT_ARGS variableLaurentiu Palcu1
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. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: add deploy dir locking mechanismLaurentiu Palcu1
This is needed in order to serialize the index file creation when multiple do_rootfs tasks are running in the same time. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/manifest.py: create global variables for package typesLaurentiu Palcu1
Manifest class clients don't really need to know how package types are encoded. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11package_(deb|ipk).bbclass: remove the stamp when creating package from cacheLaurentiu Palcu2
If the packages are created from cache, we need to remove the stamp so that we re-generate the index files at do_rootfs time. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11oe/manifest.py: Add manifest creation for opkgLaurentiu Palcu1
In this commit: * add ability to create initial manifest for opkg; * make var_map available to all backends; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11Activate the new python rootfs/image creation routinesLaurentiu Palcu4
This commit will: * remove old bash code common to all backends; * create a new do_rootfs() python function that will use the new rootfs/image creation routines; * allow creation of dpkg based images; * fail for rpm/opkg (not implemented yet); Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/rootfs.py: add new library for rootfs creationLaurentiu Palcu1
This library will be used to generate the rootfs. Recommended usage: create_rootfs(d, manifest_file) this will determine the PM backend used, save the shell environment and will call the appropriate backend implementation (DpkgRootfs(d, manifest_file).create()). NOTE: this commit adds Dpkg support. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/package_manager.py: add new package management libraryLaurentiu Palcu1
This new library is intended to be used by the new python rootfs creation code. It implements the rpm/dpkg/opkg package management backends: RpmPM, DpkgPM and OpkgPM. The base API is this: update() install() install_complementary() remove() write_index() remove_packaging_data() list_installed() All implementations have to provide these functions. Some backends may need to implement additional functions though. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/manifest.py: add library for image manifest creationLaurentiu Palcu1
This new library allows for the creation of 2 types of manifests: * initial manifest - used by the new rootfs creation routines to generate the rootfs; * final_manifest - this will contain all the packages in the image, after all installations finished; Usage: Manifest(d, manifest_dir).create_initial() Manifest(d, manifest_dir).create_final() or using the provided wrapper function: create_manifest(d, False, manifest_dir) -> creates initial manifest create_manifest(d, True, manifest_dir) -> creates final manifest If manifest_dir argument is ommited, it defaults to ${WORKDIR}. NOTE: this commit creates fixed manifests for minimal/sato/sato-sdk images, for Rpm & Opkg backends, in order to help speed up development of rootfs refactoring. Dpkg initial manifest creation is implemented. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/image.py: add new image creation libraryLaurentiu Palcu1
This will replace the old bash image creation code. This needs the rootfs to be already generated in order to work. Usage: Image(d).create() or using the provided wrapper function: create_image(d) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-11lib/oe/utils.py: add pre/post process helper functionLaurentiu Palcu1
This helper function will be used to execute pre/post process commands. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2014-02-08python-pycurl: upgrade to 7.19.3Laurentiu Palcu2
Changes: * Refreshed no-static-link.patch; * LGPL&MIT license files changed names; * MIT license file added a contributor to the list; * README.rst license snippet changed to reflect the filename changes and the new contributor; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-08xserver-xorg: upgrade to 1.15.0Laurentiu Palcu2
License file changed slightly: a new person has been added to the list of authors. Add dependency of presentproto. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>