summaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2012-08-21package_rpm.bbclass: fix and enhance the incremental rpm generationRobert Yang
The incremental rpm generation usually broke when package_rpm.bbclass changed, change its implementation to make it more stable: * It depended on the previous and current saved manifest files in the past, it would break when the manifest changed. Now query the previous and current installed pkgs from rootfs/var/lib and rootfs/install/, this would be more reliable, the manifest's change would not affect it any more. * Add explanations before package_install_internal_rpm to explain what does the function do. * Remove an unwanted "awk '{print $1}'". [YOCTO #2906] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21insane.bbclass: Fix RPATH warning in the face of funny path stringsAndy Ross
In toolchain edge cases it's possible for the RPATH of a library to be set to something like "/usr/lib/../lib". This should be detected as "/usr/lib" and generate a warning. Signed-off-by: Andy Ross <andy.ross@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21meta/classes: Various python whitespace fixesRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-20classes/sanity: remove texi2html from required host utilitiesPaul Eggleton
texi2html is not actually required to build world of OE-Core anymore, so we don't need to mandate it. The only difference without it (verified with buildhistory) is that groff doesn't produce HTML documentation; the rest of its docs are still produced and packaged and no other packages are affected. Part of the work towards [YOCTO #2423]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-20kernel.bbclass: Preserve generated headers only if they existMartin Jansa
* I have 2.6.37 kernel without this directory and do_install now fails after 813256bf7bb6e26d542d5f769e2802564116ebe5 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-19linux-yocto: explicitly export KMETA to scriptsBruce Ashfield
The kern-tools scripts can support a meta branch and directory of a name that isn't "meta", but they need the name passed through the environment variable KMETA. ensuring that KMETA is exported in the shell environment sets the stage to support flexible meta branch name. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-19linux-yocto: make KBRANCH the exception and not the ruleBruce Ashfield
The kernel branch is no longer required by the yocto-kern-tools to locate BSP feature descriptions (it is the MACHINE:KTYPE descriptor), so we no longer require that the BSP branch be explicitly set. If a kernel branch is explicitly set, it is now used to trigger a checks to ensure that the branch really is being built. Otherwise the branch that the machine description creates will be built (just as it always was). This further simplies the use and configuration of a linux-yocto based kernel recipe. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-19kernel.bbclass: Preserve generated headersKhem Raj
asm/unistd.h includes asm/unistd_64.h on x86_64 and asm/unistd_32.h on i386 but these files are generated files in 3.4 and when we do 'make clean' they get deleted and it shows up as an error when building external modules. May be its a 3.4 kernel bug may be not but make clean should have left the tree in a shape to build modules but it does not. Probably we should run make modules_prepare after having run make clean. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-19base.bbclass: fix PACKAGECONFIG handling codeYao Zhao
PACKAGECONFIG flag code only handles that when it has 3 or 4 items in flag, it may have a stale data if some flags doesn't need DEPENDS and RDEPENDS. Signed-off-by: Yao Zhao <yao.zhao@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-18utility-tasks: Set T to alternate location during do_cleanRichard Purdie
There is a race where do_clean tries to clean WORKDIR but there are logfiles written into ${T} by bitbake and this can lead to exceptions due to open files. The easiest solution is to redirect T to a different location for the do_clean task, hence avoiding the errors and also allowing the logfiles to be visible somewhere. ${LOG_DIR} seems an appropriate place for this. [YOCTO #2846] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEBRobert Yang
* There would be race issue if we put the lock to the WORKDIR, for example: bitbake core-image-sato core-image-sato-sdk If the lock is in their own WORKDIR, the apt-rootfs.conf and Packages.gz maybe be written by two tasks at the same time, which would cause unexpected errors. * Create ${target_rootfs}/etc since the "tar -C" needs it. Note: * The rpm has put the lock to DEPLOY_DIR_RPM * The ipk doesn't need it since it has locks for each deploy directory and put the opkg.conf in his own WORKDIR, which doesn't like deb put the apt-rootfs.conf in ${STAGING_ETCDIR_NATIVE}/apt/. [YOCTO #2495] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17Add MPL version 2.0 license in common-licenses dir as well as adding a ↵Florin Sarbu
non-SPDX license name in license.bbclass Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17distutils.bbclass: fix libdir for 64-bit python modules built with distutilsMatthew McClintock
Without this some modules will be intalled in /usr/lib/python2.6/ instead of /usr/${libdir}/python2.6 Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17package_rpm.bbclass: Fix attemptonly install failuresMark Hatle
During an attemptonly install, if you try to install two packages that conflict with each other, a message is generated: error: Failed dependencies: dropbear conflicts with openssh-6.0p1-r4.ppc603e dropbear conflicts with openssh-sshd-6.0p1-r4.ppc603e This is placed onto stderr (vs stdout), which was not being redirected. This allowed the log-check code to find the magic key of "Failed" causing the package installation process to fail. Instead the proper behavior is to simply ignore the error and proceed with the install. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17chrpath.bbclass: Account for case when ORIGIN is in RPATHKhem Raj
This fixes a case when RPATH embedded in program have one of its path already relative to ORIGIN. We were losing that path if such a path existed. This patch appends it to the new edited rpath being created when we see it. so RPATH like below (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] would end up being empty but after this patch its kept intact Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17chrpath.bbclass: Ensure we only process tmpdir in paths which actually ↵Richard Purdie
contain that path Without this change, a path to "/lib/xxx" or "/usr/lib/xxx" would also attempt to be remapped to be relative to $ORIGIN which makes no sense. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17classes/chrpath: improve chrpath failure handlingPaul Eggleton
When chrpath fails, prefix the error message with the name of the recipe that is being processed, and include the the output from chrpath, as well as making the calling task actually fail. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17package.bbclass: change RPATHs for cross-canadian binariesLaurentiu Palcu
When building the meta-toolchain, the binaries didn't get relocatable RPATHs. They were hardcoded to the default path. Hence, if one had already installed one SDK in the default path and one in another location, the later toolchain's binaries would search and load libraries from the first location, ending in a "Segmentation Fault". [YOCTO #2927] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17populate_sdk_base.bbclass: fix SDK relocation issuesLaurentiu Palcu
The problem appears if multiple setup environment scripts are found. In order to find only the script we're interested in, I removed globbing in matching pattern with ${REAL_MULTIMACH_TARGET_SYS} that will be expanded to the correct string. Also, fix a problem when changing the scripts/configs. The grep pattern matched also files that contained "text" in their name. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17base.bbclass: Work even when there's no PNBLACKLIST entriesPeter Seebach
It turns out that the result of getVarFlags is not a list, it's a dict. So "getVarFlags(...) or []" does not reliably produce something with a .items. This escaped detection because our local build environment never ends up running builds without PNBLACKLIST entries. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15classes/chrpath: trigger an error if chrpath failsPaul Eggleton
If chrpath failed here we were just silently ignoring it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15pimlico: RemoveRoss Burton
Remove the Pimlico applications (Contacts, Dates, Tasks). oe-core isn't a reference PIM stack, so we don't need this. Signed-off-by: Ross Burton <ross.burton@intel.com>
2012-08-15classes: add gsettings.bbclassRoss Burton
This class registers postinst/postrm hooks to compile the GSetting schemas, and adds the relevant dependencies. If possible the postinst happens on the host to avoid running it on the target. [ YOCTO #2798 ] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15rpmresolve: improve debug outputPaul Eggleton
Rename rpmresolve's -d option to -t and make -d enable debug output; add a -o option to specify the output file (so rpm debug output doesn't go to the output file) and also add a little more detail to some of the error messages. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-15kernel.bbclass: remove default module_autoload and module_conf valuesBruce Ashfield
kernel.bbclass is a common class for many different kernel versions, and as such the default module_autoload and module_conf values that it contains are not relevant, or out of date for most builds. Individual kernel recipes or distros can better specify these values to meet their needs. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-15base.bbclass: Expand PNBLACKLIST across multilibs tooPeter Seebach
The PNBLACKLIST feature does not currently work with multilibs, because they have different ${PN}. The obvious thing to do is to do this at the same point that we do the PREFERRED_PROVIDER and PREFERRED_VERSION fixups. (Making the PNBLACKLIST check do the for-each-multilib check requires it to do the multilib list generation repeatedly.) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-15base.bbclass: allow specifying an lsb distro hook via the metadataChristopher Larson
This is useful when you have a rather large set of compatible distros. For example: Centos 5.4, 5.5, 5.6, etc, RHEL server 5.x, RHEL workstation 5.x. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-07image-mklibs: pass correct libdir to mklibsJesse Zhang
libdir should be specified, or else mklibs won't work for 64bit targets. It wouldn't be able to find the libs. Traceback (most recent call last): File "<build>/bitbake_build/tmp/sysroots/i686-linux/usr/bin/x86_64-wrs-linux/mklibs", line 553, in <module> header = elf_header(find_lib(libraries.copy().pop())) File "<build>/bitbake_build/tmp/sysroots/i686-linux/usr/bin/x86_64-wrs-linux/mklibs", line 89, in elf_header raise Exception("Cannot find lib: " + obj) Exception: Cannot find lib: Signed-off-by: Jesse Zhang <sen.zhang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-07kernel.bbclass: Revert ${base_libdir} changeRichard Purdie
The base_libdir change in 5b8a4798ea2ea7df66bb53c26448251ea7da3dd9 breaks the kernel build for 64 bit machines. Revert this part of the change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/package: don't make locale pkgs depend on PN pkg if not in PACKAGESPaul Eggleton
If ${PN} is not in PACKAGES then don't add it as an RDEPENDS for each locale package. This fixes the installation of gcc-runtime locale packages, for example. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: save metadata revisionsPaul Eggleton
Always write the metadata revisions for each layer into a machine- readable "metadata-revs" file so that you can potentially link changes in the output back to changes in the metadata. (Unlike the existing similar build-id file, this is not specific to image changes.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: record PKG/PKGE/PKGV/PKGRPaul Eggleton
Save PKG (the actual output package name, which is often different due to debian renaming), and PKGE/PKGV/PKGR (which may be manipulated in certain special cases e.g. gitpkgv.bbclass in meta-oe, the external-sourcery-toolchain recipe, etc.) Note that these are only written when they are different from the normal package name in the case of PKG, or PE/PV/PR for the other variables. Also, use PKGE/PKGV/PKGR instead of PE/PV/PR when comparing package versions since these actually represent the version that the package manager sees. Implements [YOCTO #2787]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: save preinst/postinst/prerm/postrmPaul Eggleton
Write the value of these package script variables into the packageinfo so that any changes to them can be tracked (in separate files since they are multi-line). Inspired by an earlier patch from Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: remove unused functionsPaul Eggleton
getlastrecipeversion and readRecipeInfo weren't called anywhere. Remove them so we don't have to keep them up-to-date with future additions to the recipe info file. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: ensure old package info is removedPaul Eggleton
If a package is removed from PACKAGES, ensure that the package info file and directory are removed from buildhistory so that we don't have stale data lying around. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: remove obsolete flat package history featurePaul Eggleton
Remove the ability to set BUILDHISTORY_KEEP_VERSIONS = "1" to save the package history as flat versioned files rather than relying on git to keep previous versions of the package information. git has proven to work quite well in this capacity. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06kernel.bbclass: use ${base_libdir} and ${sysconfdir} instead of /lib and /etcJavier Martinez Canillas
It is considered good practice to use the build system provided variables instead of directly specify hardcoded paths. Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06populate_sdk_rpm.bbclass: Depend do_populate_sdk task on createrepo-nativeKhem Raj
Now that we have moved the rpm-createsolvedb.py script to createrepo-native for good reason of python-native dependency, we have to make sure that it is staged before its used, unlike before where it was under scripts/ dir and always existed outside the realm of package management. Fixes build error when doing meta-toolchain builds from scratch | /home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/run.populate_sdk_image.26712: line 610: rpm-createsolvedb.py: command not found | DEBUG: Python function do_populate_sdk finished | ERROR: Function failed: populate_sdk_image (see /home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/log.do_populate_sdk.26712 for further information) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02Complete recipe enablementBogdan Marinescu
RP: The list of recipes in multilib.conf needs to go away and we need to just be able to extend all recipes with the multilib class. Tested by building and running lib32-core-image-sato-sdk. [YOCTO #1563] Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02package.bbclass: change RPATHs for nativesdk packagesLaurentiu Palcu
Change binaries RPATHs, to include $ORIGIN, to make them relocatable. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02relocatable.bbclass: split it up, to reuse codeLaurentiu Palcu
Most of the code in relocatable.bbclass will be used for relocating the SDK binaries. So, create another class chrpath.bbclass that will contain the core of the relocatable.bbclass, so we can reuse it. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02populate_sdk_base.bbclass: create self-extracting archiveLaurentiu Palcu
In order for the SDK to be relocatable, the user would need to call a setup script to change the binaries acordingly. Having an auto-extracting archive has the advantage of being more user friendly and the user does not have to call the setup script separately after extracting the SDK. It is called automatically. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02sip.bbclass: fix sip-native dependencyMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02watchdog: Upgrade to upstream v5.12Radu Moisan
sourceforge.net link is broken at the time of this patch, so I added a mirror. License changed to GPLv2+ Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01core-image.bbclass: Fix typo in comment, "IMAGE_FEAETURES"Robert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01createrepo 0.4.11: add rpm-createsolvedb.pyRobert Yang
Move scripts/rpm-createsolvedb.py to meta/recipes-support/createrepo/createrepo/ since we should wrap it to use the native python. [YOCTO #2822] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01imagetest-qemu.bbclass: Fix whitespace issuesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31package_rpm.bbclass: Accomodate dash when using arraysKhem Raj
we were assigning local variable to an array coming through positional arguments. local is a non posix contruct thats also supported by dash luckily but operates differently in this case it exapnds the array before assignment. so local pkgs="$@" turns into pkgs=locale-base-en-us locale-base-en-gb ant we see errors run.do_rootfs.25593: 932: local: locale-base-en-gb: bad variable name So lets not use defining and assigning local in one go first define a local and then the assignment Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31package.bbclass: fix TypeError in runstripMartin Jansa
* some packages have .ko files which are not elf, without this change it fails with TypeError, with this change only runstip fails and reports where: ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31qt4: allow recipes building commercial editionPaul Eggleton
To enable building the commercial edition of Qt (through additional recipes that are *not* provided by OE-Core) we need to tweak a few things: * Don't make recipes that inherit qt4x11.bbclass depend on qt4-x11-free - instead add qt4-x11 to DEPENDS and then have qt4-x11-free include this in its PROVIDES. A commercial equivalent recipe should do the same. * Add a QT_LICENSE_FILE variable that can be used to specify the license file required by the commercial edition. * Add a QT_LICENSE_FLAGS variable which the recipe can set to select the license option being used. The default of "-opensource" retains the current behaviour; a commercial recipe should set it to "-commercial". Fixes [YOCTO #2505]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>