summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_ipk.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* opkg: Convert select-higher-version option to prefer-arch-to-versionRichard Purdie2012-10-021-1/+1
| | | | | | | | | | This converts the option to maintain the existing behaviour unless the option is specified. We do specify the option during the builds themselves to ensure what the users expects is built. (From OE-Core rev: 0cc479699fe885049625d54c712b500c1b719e75) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Update to use corrected bb.utils.explode_dep_versions2 APIRichard Purdie2012-10-021-10/+11
| | | | | | | | | | | | | | | | | The bb.utils.explode_dep_versions function has issues where dependency information can be lost. The API doesn't support maintaining the correct information so this changes to use a new function which correctly handles the data. This patch also fixes various points in the code to ensure that we do not have any duplicates in things that use explode_dep_versions. A new sanity test to test the contents of the R* variables is also added. [Some changes from Mark Hatle <mark.hatle@windriver.com>] (From OE-Core rev: 16a892431d0c0d03f8b561b92909cf2f11af4918) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb/ipk: Remap < and > to << and >>Mark Hatle2012-10-021-0/+18
| | | | | | | | | | | In deb and ipk, < means <=, while > means >=... there is a different operator << and >> that means < and >, so we map them when constructing the packages. (From OE-Core rev: bbcc78d8ff03725ce5b3b65ce24025c3da45f2ab) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: Remove spurious '-i' in grep command for log_checkPhil Blundell2012-09-261-1/+1
| | | | | | | | | | | | | | | ipk_log_check uses a case-sensitive grep (which is correct) when deciding whether there were any errors or not. But if it decides that there were, it then uses a case-insensitive grep to display them. This results in a large amount of irrelevant and confusing output which makes it hard to see the real errors amongst the noise. Suppress this by removing the unwanted -i. (From OE-Core rev: 57dcacbd6f35ae2d6b505f044bbefad35da66959) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Replace "echo -e" with "printf" to have the same behavior in dash or bashAndrei Gherzan2012-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | oe-core removed the prerequisite to have sh as bash. POSIX doesn't define any options and furthermore allows 'echo -e' to be the default behavior. This means that in dash 'echo -e' will actually print '-e' and interpret backslashes by default. We use instead 'printf' builtin command with or without '\n' to simulate 'echo -e' or 'echo -n'. 'printf' needs format while 'echo' can be used without any arguments. So 'echo >' was replaced by 'printf "" >'. 'echo' without '-n' flag adds a new line by default so to keep the same behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is used. [YOCTO #3138] (From OE-Core rev: a19880ad10ccb5d7d909dcf9de5c3dc58a0ebcd3) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: Various python whitespace fixesRichard Purdie2012-08-211-17/+17
| | | | | | | | | | | It was pointed out we have a number of weird indentations in the python functions. This patch cleans up 3, 7 and other weird indentations for the core bbclass files. It also fixes some wierd (odd) shell function indentation which my searches picked up. (From OE-Core rev: 8385d6d74624000d68814f4e3266d47bc8885942) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk.bbclass: Fix python whitespaceRichard Purdie2012-07-191-219/+219
| | | | | | (From OE-Core rev: 8a6c2278377edd63af54a469f0fb2b23f90e056b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Fix manual log file pathsMark Hatle2012-07-031-1/+1
| | | | | | | | | | | | 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>
* meta: replace os.system with subprocess.callRobert Yang2012-05-301-5/+8
| | | | | | | | | | | | | | | Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] (From OE-Core rev: a07d03cc6f67c88feb9813ae7deb6e4a93552dfe) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hookRichard Purdie2012-05-111-1/+1
| | | | | | | | | | | | | | The usage of this function renaming and it being called using bb.build.exec_func() causes needless indirection loops, confusing log files and seems generally pointless. This simplification makes the process much simpler and faster. I can't come up with a good reason why the export_functions functionality is needed for this function. (From OE-Core rev: 74daad03ca29a03b0005f7d2b90a0347d5b583a5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk.bbclass: fixing muttilib prefix extracting.Lianhao Lu2012-04-061-2/+2
| | | | | | | | | Fixed an error in multilib prefix extracting. (From OE-Core rev: 0e66900cbe6438b9b3ecfef1c348a5575bd27c41) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: don't generate Packages.filelistMartin Jansa2012-04-061-1/+1
| | | | | | | | | | * it works only with 'new' packages and with fixed opkg-utils it will unpack *all* packages, because filelist doesn't support 'cache' like Packages does (From OE-Core rev: ad77d367e1526a805c383ce20f8f81ef3082c3d8) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_{deb,ipk,rpm}: apply umask to files generated in ↵Andreas Oberritter2012-04-041-0/+1
| | | | | | | | | | | | do_package_write_{deb,ipk,rpm} * Explicitly set umask to 022. Otherwise the build system's umask may leak into the image. (From OE-Core rev: d2a54427481856238bdfec9723cf575088320512) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk.bbclass: Ensure Source is set to something else packaging can failRichard Purdie2012-03-081-1/+1
| | | | | | (From OE-Core rev: a91d7a0c27d0ec763cb794be5282f7d34a3135fe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-051-21/+21
| | | | | | | | | | | | 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>
* meta/classes: Convert to use appendVar and appendVarFlagsRichard Purdie2012-03-051-4/+2
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-mklibs/package_ipk: Remove bashismsRichard Purdie2012-01-051-2/+6
| | | | | | | | | We now support using dash but these bashisms triggered build failures for me when using it. This replaces the code with something which works on dash. (From OE-Core rev: 4a85312568a6bb052cc511c15b4ae842ff7f8e59) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* opkg: Update svn 625 -> 633 and fix preinst issuesRichard Purdie2011-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a major issue with opkg images at the moment as preinst functions are not being executed before their dependencies are installed and this is leading to corruption of images containing avahi/dbus in particular. There are various changes in upstream opkg in the last 8 revisions which make changes in this area but sadly these aren't enough to get things working for us. I've updated to the latest svn revision with this patch since it makes sense to pull in those changes first and then supplement them with the attached patches. There is a full description of the patches in the patch headers but in summary they: a) Ensure preinst functions execute with their dependencies installed. This is a pretty invasive change as it changes the package install ordering in general. b) Ensure opkg sets $D, not $PKG_ROOT which we don't use c) Change opkg to allow execution of postinstall functions which fail resulting in execution on the target device as rootfs_ipk.bbclass currently does manually. The remaining changes interface this with the rest of the OE build infrastructure, adding in the option to tell opkg to run the preinst and postinst functions, ensure the correct environment is present for the postinst scripts and removing the now unneeded rootfs_ipk class code which opkg now does itself. [YOCTO #1711] (From OE-Core rev: 2feba313c991170747381c7cf821a45c2cd04632) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* getVar/setVar cleanupsRichard Purdie2011-11-271-2/+2
| | | | | | | | | Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. (From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-41/+41
| | | | | | | | | | | | | | | | | 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>
* multilib: Drop MULTILIB_IMAGE_INSTALLDongxiao Xu2011-11-081-3/+28
| | | | | | | | | | | | | | | 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>
* package_ipk: There is no longer any need to force owners/groups to rootRichard Purdie2011-11-011-0/+3
| | | | | | | | | | | Since the packaging process is run under pseudo, the default user is now root so there is no longer any need to hardcode this. Also take this opportunity to move the variable to package_ipk.bbclass since this is the only user of it. (From OE-Core rev: ea11f71432e2741d5f8c7cecec41c6155db34393) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* debian/_ipk.bbclass: Added multilib support for package_name_hook()Lianhao Lu2011-09-161-0/+1
| | | | | | | | | | | | | [YOCTO #1486] 1. Added multilib support for package_name_hook() so MLPREFIX is kept in the final package name. 2. clean the output of log_check_ipk. (From OE-Core rev: e59c4e34daa688c033dd4ac07a69099610ac5705) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHSLianhao Lu2011-08-171-22/+8
| | | | | | | | | | | | | | [YOCTO #1345] The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this new value insteald of the PACKAGE_ARCHS to update the opkg indexes and to generate the opkg configuration files. This allows the normal packages and multilib packages may be installed into the same rootfs. (From OE-Core rev: b774bf44ef004276da12a83ebd69715c00b596ac) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: SDK generation workaroundMark Hatle2011-08-021-2/+4
| | | | | | | | | | | | | During SDK generation the multilib_sanity_check function is being called, however it is not available unless we've been called from the image.bbclass. Disable the check if MULTILIB_CHECK_FILE (also set in image.bbclass) doesn't exist or is empty. (From OE-Core rev: 0611cceca1595ea4656ebcb985cbd92bb9774ec8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Add SDK_PACKAGE_ARCHSMark Hatle2011-08-021-20/+17
| | | | | | | | | | | | | | | | Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing inside of the variouns populate_sdk functions and related items. Also add documentation to populate_sdk to explain when the various functions are expected to be doing. Finally fix a bug in populate_sdk_rpm where the wrong value was being set, noticed while working on this change. (From OE-Core rev: 587c1d5bac71fa6faa65ee3a271391cbf931e8f7) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_{deb, rpm, ipk}.bbclass: fix 'lingusa' typoKoen Kooi2011-08-011-3/+3
| | | | | | | (From OE-Core rev: 5e22d7d1fea7dfb14380de5692e4b2940781b518) Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package(rootfs)_ipk.bbclass: support multilib in opkg backend.Lianhao Lu2011-07-271-0/+51
| | | | | | | | | | | | | | | | | | | | | Support install multiple multilib in opkg backend. The installation is done in 3 phases. Phase 1: install normal packages to IMAGE_ROOTFS. Phase 2: install multilib packages under MULTILIB_TEMP_ROOTFS. Packages belongs to the same multilib arch would be installed to a unique directory. Phase 3: check file confliction between IMAGE_ROOTFS and MULTILIB_TEMP_ROOTFS, install multilib packages to IMAGE_ROOTFS only if the sanity check passed. (From OE-Core rev: 9d81c2166be7ed388e5616e01ca2b4059e524c8e) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: add License field to control fileKoen Kooi2011-07-141-0/+1
| | | | | | | | | | Port of oe.dev Revision e35d1ffad1553f259b084578992f15d10f590f98 (From OE-Core rev: 258b40a324c0191544dd9a74b3bd22948f4fb989) Signed-off-by: Koen Kooi <koen@openembedded.org> Signed-off-by: Khem Raj <raj.khem@gmail.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package_xxx.class: Use PKGE/PKGV/PKGR.Lianhao Lu2011-05-271-4/+4
| | | | | | | | | Use PKGE/PKGV/PKGR to build various package feed in tasks of pacakge_write_xxx. (From OE-Core rev: c2872315905fcdf6e4bf11fe96e5ca62af3475f8) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package-index.bb: add support for deb and rpm.Dexuan Cui2011-05-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #1024] Currently package-index.bb only supports ipk. This commit adds the support for rpm and deb, too. ------------------------------ How to generate and use repos: 1) run "bitbake package-index" after building some target, e.g., core-image-sato-sdk; 2) export ${DEPLOY_DIR_RPM}, ${DEPLOY_DIR_IPK} and ${DEPLOY_DIR_DEB} by a webserver on the host, assuming the host IP is 192.168.7.1, at http://192.168.7.1/rpm http://192.168.7.1/ipk http://192.168.7.1/deb 3) inside the target, according to the packaging system (rpm, ipk or deb) used when we generate the target image, we can use different ways to manage packages: 3.1) RPM run "zypper addrepo http://192.168.7.1/rpm main; zypper refresh" to retrieve info about the repo; next, we can use "zypper install/remove" to manage packages. 3.2) IPK add the repo info into opkg config file, i.e., in /etc/opkg/arch.conf, we can add something like "src i586 http://192.168.7.1/ipk/i586", and next, we run "opkg update" to make opkg update the list of available packages. And later, we can use "opkg install/remove" to manage packages. 3.3) DEB Currently in target, some important config files, like /var/lib/dpkg/status and /etc/apt/sources.list, for deb/apt are missing. So we can't install/remove package in target at present. (From OE-Core rev: 01e34bdb43e0cc27c1cfffd6730c384f40c404c1) Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_ipk/package_ipk.bbclass: Move func from rootfs_ipk to package_ipkLianhao Lu2011-02-011-0/+43
| | | | | | | | | | | | package_ipk.bbclass: Added new function package_install_internal_ipk() to install a list of ipk packages to a specified root directory, with the specified package architecutre information. rootfs_ipk.bbclass: Used the above new functions to install rootfs. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().Lianhao Lu2011-01-311-0/+20
| | | | | | | 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>
* package_ipk: Do not depend on the existence of "D" to create ipk packageDongxiao Xu2011-01-211-6/+1
| | | | | | | | | | If build from sstate results, the ${D} will not be installed. In this case the creation of ipk package will be skipped, which will cause the build failure. Fix the issue by removing the judgement of ${D} existence. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
* cross-canadian: Update after PN changes to include TARGET_ARCHRichard Purdie2010-12-101-6/+0
| | | | | | | | | | | | | This patch massively simplifies the canadian packaging and allows multiple toolchain targets to be parallel installed into the same nativesdk sysroot without package name conflits. Since we now do this, we can simplify cross-canadian to become more like nativesdk. This is a first pass over this task, similar changes would be desireable to cross and the whole MULTIMACH_ARCH mess can then probably be similified much further. Signed-off-by: Richgard Purdie <rpurdie@linux.intel.com>
* classes: Only enable fakeroot on setscene tasks with packagingRichard Purdie2010-10-221-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* pseudo/fakeroot: Move the pseudo directory creation into bitbakeRichard Purdie2010-10-221-0/+1
| | | | | | | | | | | | | | If sstate was used to accelerate a build, the pseudo directory might not have been created leading to subsequent task failures. Also, sstate packages were not being installed under pseudo context meaning file permissions could have been lost. Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures exists before running tasks and running the appropriate setscene tasks under fakeroot context. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Add Summary/Description support to packagingMark Hatle2010-10-111-1/+10
| | | | | | | | | | | | [BUGID #281] Add the ability for the deb, ipk and rpm classes to use the new summary and description fields. The Description is wrapped around 75 characters to ensure a reasonably nice, presentable description. (Summary defaults to the description if Summary is not defined.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* Revert "classes: Disable setscene tasks for initial testing"Richard Purdie2010-10-051-1/+1
| | | | This reverts commit 084ec86402bba92418898a4c47667a0574a3b3ee.
* meta/classes: Fix whitespace mismatch and broken functionsRichard Purdie2010-08-311-2/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Disable setscene tasks for initial testingRichard Purdie2010-08-191-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package_*.bbclass: Always run these tasks under fakerootRichard Purdie2010-08-191-0/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package_ipk.bbclass: Convert to new task based stagingRichard Purdie2010-08-191-2/+15
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package_ipk.bbclass: Fix variable nameRichard Purdie2010-08-041-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package_ipk: Clean up initial variablesRichard Purdie2010-08-041-22/+14
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Use pseudo rather than fakeroot for fake root privilegesJoshua Lock2010-07-161-1/+1
| | | | | | | 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>
* package_*.bbclass: Only set pkg in overrides. These are the only values ↵Richard Purdie2010-07-071-4/+1
| | | | | | we're interested in expanding and this makes sure we obtain the expected data Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Revert "classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when ↵Richard Purdie2010-07-071-1/+1
| | | | | | | packaging" This reverts commit 3abe7a0624e1215124799f97c872682a98659760 which was incorrect in some assumptions about OVERRIDE handling order.
* classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when packagingJoshua Lock2010-07-011-1/+1
| | | | | | | | | The OVERRIDES variable was being incorrectly set with the end result of the runtime dependencies of the package not being encoded in it's package metadata. This broke opkg-native in meta-toolchain. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* classes/package_ipk|_deb.bbclass: Make sure versions correctly make it into ↵Richard Purdie2010-06-301-12/+13
| | | | | | | | | | output packages The version information part of package dependency strings was not ending up in the output packages correctly. This patch fixes this and ensures the version information isn't lost. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>